|
void | ComputeExplosionData (bool in_recompute) |
| Calculates which parts of the scene to explode, and along which vectors. This function is the most computationally intensive part of the operator. It is invoked automatically by StartExplosion, unless the user has already called it. If the geometry in the Model changes it will be necessary to call this function again before exploding the Model in order to obtain the added geometry to participate in the explosion. More...
|
|
void | ComputeExplosionData () |
| Calculates which parts of the scene to explode, and along which vectors. This function is the most computationally intensive part of the operator. It is invoked automatically by StartExplosion, unless the user has already called it. If the geometry in the Model changes it will be necessary to call this function again before exploding the Model in order to obtain the added geometry to participate in the explosion. More...
|
|
override void | Dispose () |
|
void | EndExplosion (bool in_propagate_transforms) |
| Concludes a series of explosions. If a CADModel is associated with this operator, the transformations resulting from explosions are passed on to the underlying PRC or Parasolid data. More...
|
|
void | EndExplosion () |
| Concludes a series of explosions. If a CADModel is associated with this operator, the transformations resulting from explosions are passed on to the underlying PRC or Parasolid data. More...
|
|
void | Explode (float in_magnitude) |
| Explodes the model by a specified magnitude A positive magnitude explodes the model outwards, a negative magnitude implodes the model inwards. It is not possible to implode the model past its initial status. A value of 1 will explode the model by the size of its bounding box radius. More...
|
|
| ExplodeOperator (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger) |
|
| ExplodeOperator (HPS.MouseButtons in_mouse_trigger) |
|
| ExplodeOperator (HPS.ExplodeOperator in_that) |
|
HPS.CADModel | GetCADModel () |
| Returns the CADModel currently associated with this operator. If there is no CADModel associated with the operator, an invalid CADModel will be returned (its type will be HPS.Type.None). More...
|
|
override string | GetName () |
| Returns the name of the operator. More...
|
|
override void | OnModelAttached () |
| This function is called whenever a model is attached to the view that is attached to this operator. If no view is attached to this operator, this function will not be called. More...
|
|
override bool | OnMouseDown (HPS.MouseState in_state) |
| This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. The explode operator prepares the scene for the explosion when it receives this event. More...
|
|
override bool | OnMouseMove (HPS.MouseState in_state) |
| This function is called whenever HPS receives a MouseEvent that signals the mouse moved The explode operator explodes the model based on the mouse movement. Dragging the mouse to the right while holding down the trigger button will cause the scene to explode outwards from the center. Dragging the mouse to the left while holding down the trigger will gradually undo the explosion until the initial state is reached. More...
|
|
override bool | OnMouseUp (HPS.MouseState in_state) |
| This function is called whenever HPS receives a MouseEvent that signals a mouse button was released The explode operator undoes some changes made during OnMouseDown for the purpose of providing a smoother performance during the explosion. If an Exchange or Parasolid CADModel is set on this operator, the transforms applied to the parts as part of the explosion are propagated to the native PRC or Parasolid data. More...
|
|
override bool | OnTouchDown (HPS.TouchState in_state) |
| This function is called whenever HPS receives a TouchEvent that signals the device was touched. The explode operator prepares the scene for the explosion when it receives this event. More...
|
|
override bool | OnTouchMove (HPS.TouchState in_state) |
| This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. The explode operator explodes the model based on the touch movement. Dragging the touch to the right will cause the scene to explode outwards from the center. Dragging the touch to the left will gradually undo the explosion until the initial state is reached. More...
|
|
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. The explode operator undoes some changes made during OnTouchDown for the purpose of providing a smoother performance during the explosion. If an Exchange or Parasolid CADModel is set on this operator, the transforms applied to the parts as part of the explosion are propagated to the native PRC or Parasolid data. More...
|
|
override void | OnViewAttached (HPS.View in_attached_view) |
| This function is called whenever a view is attached to this operator. More...
|
|
override void | OnViewDetached (HPS.View in_detached_view) |
| This function is called whenever a view is detached from this operator. More...
|
|
void | SetCADModel (HPS.CADModel in_cad_model) |
| Associates a CADModel with this operator. Doing so with a Parasolid or Exchange CADModel allows the operator to explode topological bodies. Associating a CADModel causes the explosion transformations to be propagated to the source PRC or Parasolid data. This function should be called right after the operator is created. More...
|
|
void | SetExcludedPaths (HPS.SegmentKey[] in_excluded_segments) |
| Excludes the provided segments from the explosion. This function is used when a CADModel is NOT associated with this operator. Not calling this function, or supplying an empty array results in all eligible segments in this Model to be eligible for explosions. More...
|
|
void | SetExcludedPaths (HPS.ComponentPath[] in_paths) |
| Excludes the provided components from the explosion. This function is used when a CADModel IS associated with this operator. Component Paths passed to this function need to either contain a component of type Exchange Representation Item, or of type ParasolidTopoBody Not calling this function, or supplying an empty array results in all eligible components in this Model to be eligible for explosions. More...
|
|
void | SetExplosionOrigin (HPS.Point in_origin) |
| Sets the point around which the Model will explode. If this function is not called the operator will automatically compute an origin point for the explosion. More...
|
|
void | SetIncludedPaths (HPS.KeyPath[] in_paths, bool in_explode_from_model_center) |
| Determines which KeyPaths will participate in the explosion. A KeyPath is a uniquely identifying array of SegmentKeys and IncludeKeys ordered from leaf to root. This function is used when a CADModel is NOT associated with this operator. Not calling this function, or supplying an empty array results in all eligible segments in this Model to be eligible for explosions. More...
|
|
void | SetIncludedPaths (HPS.KeyPath[] in_paths) |
| Determines which KeyPaths will participate in the explosion. A KeyPath is a uniquely identifying array of SegmentKeys and IncludeKeys ordered from leaf to root. This function is used when a CADModel is NOT associated with this operator. Not calling this function, or supplying an empty array results in all eligible segments in this Model to be eligible for explosions. More...
|
|
void | SetIncludedPaths (HPS.ComponentPath[] in_paths, bool in_explode_from_model_center) |
| Determines which Component Paths will participate in the explosion. A ComponentPath is a uniquely identifying array of Components ordered from leaf to root. This function is used when a CADModel IS associated with this operator. Component Paths passed to this function need to either contain a component of type Exchange Representation Item, or of type ParasolidTopoBody Not calling this function, or supplying an empty array results in all eligible components in this Model to be eligible for explosions. More...
|
|
void | SetIncludedPaths (HPS.ComponentPath[] in_paths) |
| Determines which Component Paths will participate in the explosion. A ComponentPath is a uniquely identifying array of Components ordered from leaf to root. This function is used when a CADModel IS associated with this operator. Component Paths passed to this function need to either contain a component of type Exchange Representation Item, or of type ParasolidTopoBody Not calling this function, or supplying an empty array results in all eligible components in this Model to be eligible for explosions. More...
|
|
void | SetView (HPS.View in_view) |
| Associates a View with this operator. This function is required for users who wish to use this operator without attaching it to a View's OperatorControl. For example, this would be done if you want to explode the model based on the user interacting with GUI widgets, rather than by the user dragging the mouse or their finger. This function should be called right after the operator is created. More...
|
|
bool | ShowExcludedPaths (out HPS.SegmentKey[] out_excluded_segments) |
| Returns the Segments which will not be affected by the explosion. A return value of false indicates that the whole Model will participate in the explosion. More...
|
|
bool | ShowExcludedPaths (out HPS.ComponentPath[] out_paths) |
| Returns the ComponentPaths which will not be affected by the explosion. A return value of false indicates that the whole Model will participate in the explosion. More...
|
|
bool | ShowExplosionOrigin (out HPS.Point out_origin) |
| Returns the point around which the explosion will happen. More...
|
|
bool | ShowIncludedPaths (out HPS.KeyPath[] out_paths) |
| Returns the KeyPaths which will participate in the explosion. A return value of false indicates that the whole Model will participate in the explosion. More...
|
|
bool | ShowIncludedPaths (out HPS.ComponentPath[] out_paths) |
| Returns the ComponentPaths which will participate in the explosion. A return value of false indicates that the whole Model will participate in the explosion. More...
|
|
void | StartExplosion () |
| Prepares the scene for the explosion operation, and collects any needed information. This function should be called before starting a series of calls to Explode() More...
|
|
void | UnsetExcludedPaths () |
| Removes the previously specified preferences about which segments and components will not participate in the explosion. More...
|
|
void | UnsetExplosionOrigin () |
| Removes the previously specified preference for the explosion origin point. More...
|
|
void | UnsetIncludedPaths () |
| Removes the previously specified preferences about which segments and components will participate in the explosion. More...
|
|
virtual void | Assign (HPS.Operator in_that) |
| Assigns the parameter in_that to this operator, resulting in a clone. More...
|
|
void | DetachView () |
| Detaches the Operator from the View it was previously attached to. More...
|
|
delegate void | DtorDelegate (IntPtr cPtr) |
|
override bool | Equals (System.Object obj) |
|
virtual bool | Equals (HPS.Operator in_that) |
| Tests this operator for equality against the parameter in_that. Same as Operator.operator== More...
|
|
HPS.View | GetAttachedView () |
| Returns the View the Operator is currently attached to. More...
|
|
override int | GetHashCode () |
|
HPS.ModifierKeys | GetModifierTrigger () |
| Gets the modifier trigger associated with this operator. More...
|
|
HPS.MouseButtons | GetMouseTrigger () |
| Gets the mouse trigger associated with this operator. More...
|
|
virtual bool | IsMouseTriggered (HPS.MouseState in_state) |
| Returns true if the MouseButtons and ModifierKeys are active. More...
|
|
override HPS.Type | ObjectType () |
|
virtual bool | OnKeyDown (HPS.KeyboardState in_state) |
| This function is called whenever HPS receives a KeyboardEvent that signals a key was pressed. More...
|
|
virtual bool | OnKeyUp (HPS.KeyboardState in_state) |
| This function is called whenever HPS receives a KeyboardEvent that signals a key was released. More...
|
|
virtual void | OnModelDetached () |
| This function is called whenever a model is detached from the view that is attached to this operator. If no view is attached to this operator, this function will not be called. More...
|
|
virtual bool | OnMouseEnter (HPS.MouseState in_state) |
| This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window. More...
|
|
virtual bool | OnMouseLeave (HPS.MouseState in_state) |
| This function is called whenever HPS receives a MouseEvent that signals the mouse left the window. More...
|
|
virtual bool | OnMouseWheel (HPS.MouseState in_state) |
| This function is called whenever HPS receives a MouseEvent that signals the mouse wheel was scrolled. More...
|
|
virtual bool | OnTextInput (string in_text) |
|
virtual bool | OnTimerTick (HPS.TimerTickEvent in_event) |
| This function is called whenever HPS receives a TimerTickEvent. More...
|
|
| Operator (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger) |
|
| Operator (HPS.MouseButtons in_mouse_trigger) |
|
| Operator (HPS.Operator in_that) |
|
delegate HPS.Type | OperatorDelegate_0 (IntPtr cPtr) |
|
delegate void | OperatorDelegate_1 (IntPtr cPtr, IntPtr in_that) |
|
delegate bool | OperatorDelegate_10 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_11 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_12 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_13 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_14 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_15 (IntPtr cPtr, string in_text) |
|
delegate bool | OperatorDelegate_16 (IntPtr cPtr, IntPtr in_event) |
|
delegate void | OperatorDelegate_17 (IntPtr cPtr, IntPtr in_attached_view) |
|
delegate void | OperatorDelegate_18 (IntPtr cPtr, IntPtr in_detached_view) |
|
delegate void | OperatorDelegate_19 (IntPtr cPtr) |
|
delegate bool | OperatorDelegate_2 (IntPtr cPtr, IntPtr in_that) |
|
delegate void | OperatorDelegate_20 (IntPtr cPtr) |
|
delegate bool | OperatorDelegate_21 (IntPtr cPtr, IntPtr in_state) |
|
delegate HPS.Type | OperatorDelegate_22 (IntPtr cPtr) |
|
delegate bool | OperatorDelegate_23 (IntPtr cPtr) |
|
delegate void | OperatorDelegate_24 (IntPtr cPtr) |
|
delegate int | OperatorDelegate_3 (IntPtr cPtr, int ret_maxsize, IntPtr ret_str) |
|
delegate bool | OperatorDelegate_4 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_5 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_6 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_7 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_8 (IntPtr cPtr, IntPtr in_state) |
|
delegate bool | OperatorDelegate_9 (IntPtr cPtr, IntPtr in_state) |
|
delegate void | RemoveCacheItemDelegate (IntPtr cPtr) |
|
void | SetModifierTrigger (HPS.ModifierKeys in_modifiers) |
| Sets the modifier trigger associated with this operator. More...
|
|
void | SetMouseTrigger (HPS.MouseButtons in_buttons) |
| Sets the mouse trigger for this operator More...
|
|
| Sprocket (HPS.Sprocket in_that) |
|
virtual bool | Empty () |
| Indicates whether this object has any values set on it. More...
|
|
IntPtr | GetClassID () |
|
IntPtr | GetInstanceID () |
| Returns an identifier that can be used to identify which instance of a class an object is. Different keys and controls will return the same value if they are backed by the same database resource. More...
|
|
bool | HasType (HPS.Type in_mask) |
| This function indicates whether this Object has the given Type mask. More...
|
|
| Object (HPS.Object that) |
|
virtual void | Reset () |
| Resets this object to its initial, uninitialized state. More...
|
|
virtual HPS.Type | Type () |
| This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types. More...
|
|
The ExplodeOperator class defines an operator which allows the user to explode the model. This Operator works for both mouse- and touch-driven devices.
To operate this operator on a mouse-driven device: Click and drag to start an explosion. Dragging towards the right increases the size of explosion, while dragging towards the left decreases it.
To operate this operator on a touch-driven device: Touch the screen and drag to start an explosion. Dragging towards the right increases the size of explosion, while dragging towards the left decreases it.
Exchange and Parasolid CADModel can be associated to this operator before starting an explosion. When you do so, the changes caused by the explosion are propagated to the underlying PRC and Parasolid data when the explosion ends, and topological information is taken into account.
This operator can be used in connection with GUI elements instead of directly through mouse and touch interaction with the 3D scene. To do so this procedure can be followed:<orderedlist><listitem>
Call SetView() and optionally SetCADModel(), if a CADModel is loaded in the scene
</listitem><listitem>
Call ComputeExplosionData()
</listitem><listitem>
When the user starts interacting with the GUI element associated with the explosion, call StartExplosion()
</listitem><listitem>
As the user changes the explosion value, call Explode()
</listitem><listitem>
When the user is done with the explosion, call EndExplosion()
</listitem></orderedlist>
The value passed to Explode should be the difference between the current and previous explosion values.