HandlesOperator
-
class
HPS.HandlesOperator: HPS.Operator The HandlesOperator class defines an operator which allows the user to translate geometry in the view plane or along an axis. This operator works for both mouse- and touch-driven devices.
To use this operator on a mouse-driven device: <orderedlist><listitem>
Activate the operator
</listitem><listitem>
Double click on a piece of geometry to activate the handles
</listitem><listitem>
Click and drag the handles to transform the selected geometry
</listitem><listitem>
Click on the background to dismiss the handles
</listitem></orderedlist>
To use this operator on a touch-driven device: <orderedlist><listitem>
Activate the operator
</listitem><listitem>
Double tap on a piece of geometry to activate the handles
</listitem><listitem>
Tap and drag the handles to move the selected geometry
</listitem><listitem>
Tap on the background to dismiss the handles
</listitem></orderedlist>
This operator works on the segment containing the geometry selected. An event of type GeometryTransformedEvent is dispatched after the handles are dismissed, containing the information on which segment was affected and what transform was applied to it.
This operator does not work on Exchange models which have a Drawing structure. This includes CATDrawing models and 2D DWG models loaded through Exchange. Any attempt to use this operator on such a model will produce a warning.
Public Types
-
enum
HandleType Values:
-
Rotation Represents three all rotation handles.
-
RotationX Represents handle for rotation around the X axis.
-
RotationY Represents handle for rotation around the Y axis.
-
RotationZ Represents handle for rotation around the Z axis.
-
AxisTranslation Represents three all axis translation handles.
-
AxisTranslationX Represents handle for translation along the X axis.
-
AxisTranslationY Represents handle for translation along the Y axis.
-
AxisTranslationZ Represents handle for translation along the Z axis.
-
PlaneTranslation Represents three all plane translation handles.
-
PlaneTranslationXY Represents handle for translation along the XY plane.
-
PlaneTranslationYZ Represents handle for translation along the YZ plane.
-
PlaneTranslationZX Represents handle for translation along the ZX plane.
-
CenterPoint Represents handle for translation along the view plane.
-
Public Functions
-
void
AddHandles(HPS.HandlesOperator.HandleType handle_type) Add a type of handle to those displayed by this operator. Changes take place the next time handles are inserted, by either double clicking or double tapping on geometry.
Param handle_type: The type of handle to be added to those displayed.
-
void
DismissHandles()
-
override void
Dispose()
-
HPS.CADModel
GetCADModel() Returns the CADModel associated with this operator. If no CADModel was associated with this operator, the returned object will be invalid and have type HPS.Type.None.
Return: The CADModel associated with this operator.
-
void
GetHandlesAppearance(out float out_length, out float out_radius, out ulong out_handles_points) Returns the parameters used to decide the appearance of the handles.
Param out_length: The length of the handles, specified as a percentage of the view containing it. Param out_radius: The radius of the handles, specified as a percentage of the view containing it. Param out_handles_points: The number of points used to draw the handles. A higher number will yield a smoother appearance.
-
HPS.MaterialKit[]
GetHandlesColors() This function returns the materials used to color the handles. Only the diffuse color field of the materials is guaranteed to have a value. The materials are used as follows: Entry 0 - translation handle in the x direction Entry 1 - translation handle in the y direction Entry 2 - translation handle in the z direction Entry 3 - rotation handle in the x direction Entry 4 - rotation handle in the y direction Entry 5 - rotation handle in the z direction Entry 6 - xz plane translation Entry 7 - xy plane translation Entry 8 - yz plane translation Entry 9 - center-sphere
Return: An array of materials associated with the handles
-
HPS.RGBAColor
GetHighlightColor() Returns the color used to highlight the handles then the user mouses over them.
Return: the color used to highlight the handles then the user mouses over them.
-
override string
GetName() Returns the name of the operator.
-
void
GetPlaneTranslationAppearance(out float out_plane_offset, out float out_plane_length, out float out_center_radius) Returns the parameters used to decide the appearance of the rotation handles.
Param out_plane_offset: The distance between the axis translation handle and the start of the plane translation handle, specified as a percentage of handle length. Param out_plane_length: The size of plane translation handles, specified as a percentage of handle length. Param out_center_radius: The radius of the sphere at the center of the handles, specified as a percentage of handle length.
-
void
GetRotationHandleAppearance(out float out_offset, out float out_angle, out float out_tip_size) Returns the parameters used to decide the appearance of the rotation handles.
Param out_offset: The distance between the end of a translation handle and the rotation handle associated with it, specified as a percentage of handle length. Param out_angle: The angle formed by the rotation handles, specified in degrees. Param out_tip_size: The size of the tip at the end of the handles, specified as a percentage of handle length.
-
bool
GetTrailingGeometry() Whether trailing geometry will be drawn when using the handles. Trailing geometry is geometry which shows you the path of the last movement operation you performed through the handles.
Return: true if trailing geometry will be drawn, false otherwise.
-
HandlesOperator()
-
HandlesOperator(HPS.HandlesOperator in_that)
-
HandlesOperator(HPS.MouseButtons in_mouse_trigger)
-
HandlesOperator(HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
-
override bool
OnMouseDown(HPS.MouseState in_state) This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. If the user double clicks on a piece of geometry, handles will be inserted there. If the user clicks on a handle, the segment containing that handle will be translated or rotated appropriately. The user can click on the background to remove the handles.
Param in_state: A MouseState object describing the current mouse state. Return: true if the input event was handled, false otherwise.
-
override bool
OnMouseMove(HPS.MouseState in_state) This function is called whenever HPS receives a MouseEvent that signals the mouse moved When users click and drag a handle, the associated geometry will be translated or rotated as appropriate.
Param in_state: A MouseState object describing the current mouse state. Return: true if the input event was handled, false otherwise.
-
override bool
OnMouseUp(HPS.MouseState in_state) This function is called whenever HPS receives a MouseEvent that signals a mouse button was released
Param in_state: A MouseState object describing the current mouse state. Return: true if the input event was handled, false otherwise.
-
override bool
OnTouchDown(HPS.TouchState in_state) This function is called whenever HPS receives a TouchEvent that signals the device was touched. If the user double taps a piece of geometry, handles will be inserted there. If the user taps on a handle, the segment containing that handle will be translated or rotated appropriately. The user can tap on the background to remove the handles.
Param in_state: A TouchState object describing the current touch state. Return: true if the input event was handled, false otherwise.
-
override bool
OnTouchMove(HPS.TouchState in_state) This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. When users click and drag a handle, the associated geometry will be translated or rotated as appropriate.
Param in_state: A TouchState object describing the current touch state. Return: true if the input event was handled, false otherwise.
-
override bool
OnTouchUp(HPS.TouchState in_state) This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
Param in_state: A TouchState object describing the current touch state. Return: true if the input event was handled, false otherwise.
-
override void
OnViewAttached(HPS.View in_attached_view) This function is called whenever a view is attached to this operator.
Param in_attached_view: The view attached to this operator.
-
override void
OnViewDetached(HPS.View in_detached_view) This function is called whenever a view is detached from this operator.
Param in_detached_view: The view detached from this operator.
-
void
RemoveHandles(HPS.HandlesOperator.HandleType handle_type) Remove a type of handle from those displayed by this operator. Changes take place the next time handles are inserted, by either double clicking or double tapping on geometry.
Param handle_type: The type of handle to be removed from those displayed.
-
void
SetCADModel(HPS.CADModel in_cad_model) Sets the CADModel associated with this operator. If a CADModel is set, the underlying PRC or Parasolid data associated with any Components moved by the user with the handles operator will be changed to reflect how the CADModel appears on the user’s screen. This function needs to be called before the user starts transforming geometry through the handles operator.
Param in_cad_model: The CADModel associated with this operator.
-
void
SetHandlesAppearance() This function can be used to modify the appearance of handles. Changes will take effect the next time handles are inserted.
-
void
SetHandlesAppearance(float in_length) This function can be used to modify the appearance of handles. Changes will take effect the next time handles are inserted.
Param in_length: The length of the handles, specified as a percentage of the view containing it. Valid range is (0, 1].
-
void
SetHandlesAppearance(float in_length, float in_radius) This function can be used to modify the appearance of handles. Changes will take effect the next time handles are inserted.
Param in_length: The length of the handles, specified as a percentage of the view containing it. Valid range is (0, 1]. Param in_radius: The radius of the handles, specified as a percentage of the view containing it. Valid range is (0, 1].
-
void
SetHandlesAppearance(float in_length, float in_radius, ulong in_handles_points) This function can be used to modify the appearance of handles. Changes will take effect the next time handles are inserted.
Param in_length: The length of the handles, specified as a percentage of the view containing it. Valid range is (0, 1]. Param in_radius: The radius of the handles, specified as a percentage of the view containing it. Valid range is (0, 1]. Param in_handles_points: The number of points used to draw the handles. A higher number will yield a smoother appearance. Valid range is > 0.
-
void
SetHandlesColors(HPS.MaterialKit[] in_colors) This function is used to provide a set of colors which will be applied to the handles. The changes will take effect the next time the handles are inserted. The materials need to contain a diffuse color, and will be applied as follows: Entry 0 - translation handle in the x direction Entry 1 - translation handle in the y direction Entry 2 - translation handle in the z direction Entry 3 - rotation handle in the x direction Entry 4 - rotation handle in the y direction Entry 5 - rotation handle in the z direction Entry 6 - xz plane translation Entry 7 - xy plane translation Entry 8 - yz plane translation Entry 9 - center-sphere
Param in_colors: An array of materials to be applied to the handles.
-
void
SetHighlightColor(HPS.RGBAColor in_highlight_color) Sets the highlight color used when the user mouses over the handles. The default value for the highlight color is RGBAColor(1.0f, 0.55f, 0.0f)
Param in_highlight_color: The color used to highlight handles when the user mouses over them.
-
void
SetPlaneTranslationAppearance() This function can be used to modify the appearance of the handles used to perform plane-translation. Changes will take effect the next time handles are inserted.
-
void
SetPlaneTranslationAppearance(float in_plane_offset) This function can be used to modify the appearance of the handles used to perform plane-translation. Changes will take effect the next time handles are inserted.
Param in_plane_offset: The distance between the axis translation handle and the start of the plane translation handle, specified as a percentage of handle length.
-
void
SetPlaneTranslationAppearance(float in_plane_offset, float in_plane_length) This function can be used to modify the appearance of the handles used to perform plane-translation. Changes will take effect the next time handles are inserted.
Param in_plane_offset: The distance between the axis translation handle and the start of the plane translation handle, specified as a percentage of handle length. Param in_plane_length: The size of plane translation handles, specified as a percentage of handle length.
-
void
SetPlaneTranslationAppearance(float in_plane_offset, float in_plane_length, float in_center_radius) This function can be used to modify the appearance of the handles used to perform plane-translation. Changes will take effect the next time handles are inserted.
Param in_plane_offset: The distance between the axis translation handle and the start of the plane translation handle, specified as a percentage of handle length. Param in_plane_length: The size of plane translation handles, specified as a percentage of handle length. Param in_center_radius: The radius of the sphere at the center of the handles, specified as a percentage of handle length.
-
void
SetRotationHandleAppearance() This function can be used to modify the appearance of handles used to perform rotations. Changes will take effect the next time handles are inserted.
-
void
SetRotationHandleAppearance(float in_offset) This function can be used to modify the appearance of handles used to perform rotations. Changes will take effect the next time handles are inserted.
Param in_offset: The distance between the end of a translation handle and the start of then rotation handle associated with it, specified as a percentage of handle length. Valid range is (0, 1].
-
void
SetRotationHandleAppearance(float in_offset, float in_angle) This function can be used to modify the appearance of handles used to perform rotations. Changes will take effect the next time handles are inserted.
Param in_offset: The distance between the end of a translation handle and the start of then rotation handle associated with it, specified as a percentage of handle length. Valid range is (0, 1]. Param in_angle: The angle formed by the rotation handles, specified in degrees. Valid range is > 0
-
void
SetRotationHandleAppearance(float in_offset, float in_angle, float in_tip_size) This function can be used to modify the appearance of handles used to perform rotations. Changes will take effect the next time handles are inserted.
Param in_offset: The distance between the end of a translation handle and the start of then rotation handle associated with it, specified as a percentage of handle length. Valid range is (0, 1]. Param in_angle: The angle formed by the rotation handles, specified in degrees. Valid range is > 0 Param in_tip_size: The size of the tip at the end of the handles, specified as a percentage of the handle length. Valid range is [0, 1].
-
void
SetTrailingGeometry(bool in_state) Whether to draw trailing geometry when using the handles. Trailing geometry is geometry which shows you the path of the last movement operation you performed through the handles.
Param in_state: Whether to draw trailing geometry when using the handles.
-
class
GeometryTransformedEvent: public HPS.Event Public Functions
-
override string
ClassName()
-
override HPS.Event
Clone() Allocates and returns a copy of this GeometryTransformedEvent.
Return: A copy of this GeometryTransformedEvent.
-
override void
Dispose()
-
GeometryTransformedEvent() The default constructor creates an empty GeometryTransformedEvent object.
-
GeometryTransformedEvent(HPS.Event in_event) This constructor converts an Event Object to a GeometryTransformedEvent object.
Param in_event: The Event Object to be converted.
-
GeometryTransformedEvent(HPS.HandlesOperator.GeometryTransformedEvent in_that)
-
GeometryTransformedEvent(HPS.View in_view, HPS.SegmentKey in_segment_key, HPS.MatrixKit in_transform)
-
override string
-
enum