The HOpCreateNurbs3D class provides support for the interactive construction of various surface types. More...
#include <HOpCreateNurbs3D.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
virtual const char * | GetName () |
HOpCreateNurbs3D (HBaseView *view, int DoRepeat=0, int DoCapture=1) | |
virtual int | OnLButtonDown (HEventInfo &hevent) |
virtual int | OnLButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnLButtonUp (HEventInfo &hevent) |
Static Public Member Functions | |
static void | EmitFinishNurbsEditing (HBaseView *pView, HC_KEY key, bool emit_message) |
static void | EmitModifyControlPointMessage (HBaseView *pView, HC_KEY key, int control_point, float x, float y, float z) |
static void | FinishNurbsEditingFromMessage (const char *in_data, unsigned int data_length, HBaseView *pView) |
static HC_KEY | InsertNurbs (HBaseView *pView, HNurbsSurface *pNurbsSurface, bool emit_message) |
static void | InsertNurbsFromMessage (const char *in_data, unsigned int data_length, HBaseView *m_pView) |
static void | ModifyControlPointFromMessage (const char *in_data, unsigned int data_length, HBaseView *pView) |
The HOpCreateNurbs3D class provides support for the interactive construction of various surface types.
HOpCreateNurbs3D implements three of the mouse event handlers defined on the base class to allow the user to interactively modify a nurbs surface by dragging it's control points with the mouse.
The operation consists of the following steps:
More Detailed Description: see event methods.
HOpCreateNurbs3D::HOpCreateNurbs3D | ( | HBaseView * | view, |
int | DoRepeat = 0 , |
||
int | DoCapture = 1 |
||
) |
Constructs an HOpCreateNurbs3D object.
view | A pointer to an HBaseView object. |
DoRepeat | An integer denoting whether this is a repeatable operator. This parameter has been deprecated. |
DoCapture | An integer denoting whether the mouse state should be captured, which means that all mouse events should be received after a mousedown, even if it leaves the window. This parameter has been deprecated. |
virtual HBaseOperator* HOpCreateNurbs3D::Clone | ( | ) | [virtual] |
Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.
Reimplemented from HBaseOperator.
static void HOpCreateNurbs3D::EmitFinishNurbsEditing | ( | HBaseView * | pView, |
HC_KEY | key, | ||
bool | emit_message | ||
) | [static] |
This method emits the finalized Nurbs editing message to other clients.
pView | A pointer to the current view object. |
key | The surface key. |
emit_message | Indicates that a message should be sent to the emit_message_function, which (if implemented) would typically use the HOOPS/Net 'Send' function to dispatch the message to clients |
static void HOpCreateNurbs3D::EmitModifyControlPointMessage | ( | HBaseView * | pView, |
HC_KEY | key, | ||
int | control_point, | ||
float | x, | ||
float | y, | ||
float | z | ||
) | [static] |
This method sends a modify control point message to other clients.
pView | A pointer to the current view object. |
key | The surface key. |
control_point | The number identifying the manipulated control point of surface. |
x | The new control point x position. |
y | The new control point y position. |
z | The new control point z position. |
static void HOpCreateNurbs3D::FinishNurbsEditingFromMessage | ( | const char * | in_data, |
unsigned int | data_length, | ||
HBaseView * | pView | ||
) | [static] |
This method receives the Finish Nurbs editing message.
in_data | A character pointer indicating the end of surface editing. |
data_length | The size of the message. |
pView | A pointer to the current view object. |
Referenced by HNurbsMessageHandler::ProcessMessage().
virtual const char* HOpCreateNurbs3D::GetName | ( | ) | [virtual] |
Reimplemented from HBaseOperator.
static HC_KEY HOpCreateNurbs3D::InsertNurbs | ( | HBaseView * | pView, |
HNurbsSurface * | pNurbsSurface, | ||
bool | emit_message | ||
) | [static] |
This method insert the given surface into the scene.
pView | A pointer to the current view object. |
pNurbsSurface | A pointer to the nurbs surface object. |
emit_message | Indicates that a message should be sent to the emit_message_function, which (if implemented) would typically use the HOOPS/Net 'Send' function to dispatch the message to clients |
static void HOpCreateNurbs3D::InsertNurbsFromMessage | ( | const char * | in_data, |
unsigned int | data_length, | ||
HBaseView * | m_pView | ||
) | [static] |
This method has been deprecated. This method inserts the surface into the scene based on the HNet message.
in_data | A character pointer containing the surface data. |
data_length | The size of the message. |
pView | A pointer to the current view object. |
Referenced by HNurbsMessageHandler::ProcessMessage().
static void HOpCreateNurbs3D::ModifyControlPointFromMessage | ( | const char * | in_data, |
unsigned int | data_length, | ||
HBaseView * | pView | ||
) | [static] |
This method receives a modify control points based on an HNet message.
in_data | A character pointer containing the new control point data. |
data_length | The size of the message. |
pView | A pointer to the current view object. |
Referenced by HNurbsMessageHandler::ProcessMessage().
virtual int HOpCreateNurbs3D::OnLButtonDown | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDown records the control point that will be used to manipulate the surface.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpCreateNurbs3D::OnLButtonDownAndMove | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDownAndMove receives control point manipulation information in plane parallel to viewplane and update the scene.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpCreateNurbs3D::OnLButtonUp | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonUp finalizes nurbs manipulation.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.