#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) |
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:
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.