HPS.Exchange.MeasurementOperator Class Reference
Inheritance diagram for HPS.Exchange.MeasurementOperator:
HPS.Exchange.CommonMeasurementOperator HPS.Operator HPS.Sprocket HPS.Object

Public Types

enum  MeasurementType { PointToPoint = 0, EdgeAndRadius = 1, FeatureToFeature = 2, FaceAngle = 3 }
 
- Public Types inherited from HPS.Exchange.CommonMeasurementOperator
enum  Tags {
  Name = 0, MeasurementType = 1, Radius = 2, Inverted = 3,
  VectorX = 4, VectorY = 5, VectorZ = 6
}


 
- Public Types inherited from HPS.Operator
enum  Priority { Low = 0, Default = 1, High = 2 }
 

Public Member Functions

void DeleteLastMeasurement ()
 
override void Dispose ()
 
HPS.HighlightOptionsKit GetHighlightOptions ()
 
HPS.Exchange.MeasurementOperator.MeasurementType GetMeasurementType ()
 
bool GetMouseOverHighlighting ()
 
override string GetName ()
 
bool IsMeasurementActive ()
 
 MeasurementOperator (HPS.Exchange.CADModel in_cad_model, HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
 
 MeasurementOperator (HPS.Exchange.CADModel in_cad_model, HPS.MouseButtons in_mouse_trigger)
 
 MeasurementOperator (HPS.Exchange.CADModel in_cad_model)
 
 MeasurementOperator (HPS.Exchange.MeasurementOperator in_that)
 
override bool OnKeyDown (HPS.KeyboardState in_state)
 
override bool OnMouseDown (HPS.MouseState in_state)
 
override bool OnMouseMove (HPS.MouseState in_state)
 
override bool OnMouseUp (HPS.MouseState in_state)
 
override bool OnTouchDown (HPS.TouchState in_state)
 
override bool OnTouchMove (HPS.TouchState in_state)
 
override bool OnTouchUp (HPS.TouchState in_state)
 
override void OnViewAttached (HPS.View in_attached_view)
 
override void OnViewDetached (HPS.View in_detached_view)
 
void SetMeasurementType (HPS.Exchange.MeasurementOperator.MeasurementType in_measurement_type)
 
void SetMouseOverHighlighting (bool in_highlighting)
 
void SetMouseOverHighlighting (bool in_highlighting, HPS.HighlightOptionsKit in_highlight_options_kit)
 
- Public Member Functions inherited from HPS.Exchange.CommonMeasurementOperator
 CommonMeasurementOperator (HPS.Exchange.CADModel in_cad_model, HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
 
 CommonMeasurementOperator (HPS.Exchange.CADModel in_cad_model, HPS.MouseButtons in_mouse_trigger)
 
 CommonMeasurementOperator (HPS.Exchange.CADModel in_cad_model)
 
 CommonMeasurementOperator (HPS.Exchange.CommonMeasurementOperator in_that)
 
void DeleteMeasurements ()
 
HPS.Exchange.CADModel GetCADModel ()
 
HPS.MaterialMappingKit GetMaterial ()
 
HPS.SegmentKey GetMeasurementSegment ()
 
ulong GetPrecision ()
 
HPS.TextAttributeKit GetTextAttributes ()
 
void SetCADModel (HPS.Exchange.CADModel in_cad_model)
 
void SetMaterial (HPS.MaterialMappingKit in_material_mapping)
 
void SetPrecision (ulong in_precision)
 
void SetTextAttribute (HPS.TextAttributeKit in_text_attributes)
 
- Public Member Functions inherited from HPS.Operator
virtual void Assign (HPS.Operator in_that)
 
void DetachView ()
 
delegate void DtorDelegate (IntPtr cPtr)
 
override bool Equals (System.Object obj)
 
virtual bool Equals (HPS.Operator in_that)
 
HPS.View GetAttachedView ()
 
override int GetHashCode ()
 
HPS.ModifierKeys GetModifierTrigger ()
 
HPS.MouseButtons GetMouseTrigger ()
 
virtual bool IsMouseTriggered (HPS.MouseState in_state)
 
override HPS.Type ObjectType ()
 
virtual bool OnKeyUp (HPS.KeyboardState in_state)
 
virtual void OnModelAttached ()
 
virtual void OnModelDetached ()
 
virtual bool OnMouseEnter (HPS.MouseState in_state)
 
virtual bool OnMouseLeave (HPS.MouseState in_state)
 
virtual bool OnMouseWheel (HPS.MouseState in_state)
 
virtual bool OnTextInput (string in_text)
 
virtual bool OnTimerTick (HPS.TimerTickEvent in_event)
 
 Operator (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
 
 Operator (HPS.MouseButtons in_mouse_trigger)
 
 Operator (HPS.Operator in_that)
 
delegate void RemoveCacheItemDelegate (IntPtr cPtr)
 
void SetModifierTrigger (HPS.ModifierKeys in_modifiers)
 
void SetMouseTrigger (HPS.MouseButtons in_buttons)
 
- Public Member Functions inherited from HPS.Sprocket
 Sprocket (HPS.Sprocket in_that)
 
- Public Member Functions inherited from HPS.Object
virtual bool Empty ()
 
IntPtr GetClassID ()
 
IntPtr GetInstanceID ()
 
bool HasType (HPS.Type in_mask)
 
 Object (HPS.Object that)
 
virtual void Reset ()
 
virtual HPS.Type Type ()
 

Protected Member Functions

override void deleteCptr ()
 
override bool DerivedClassHasMethod (string methodName, System.Type[] methodTypes)
 
override IntPtr GetNonDirectorClassID ()
 
override bool IsUserDerived ()
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS.Exchange.CommonMeasurementOperator
static string GetNewMeasurementSegmentName (string in_prefix)
 
- Static Public Member Functions inherited from HPS.Operator
static bool operator!= (HPS.Operator a, HPS.Operator b)
 
static bool operator== (HPS.Operator a, HPS.Operator b)
 
- Static Public Member Functions inherited from HPS.Object
static IntPtr ClassID< T > ()
 
- Protected Attributes inherited from HPS.Operator
HandleRef sptr
 
- Protected Attributes inherited from HPS.Object
bool cMemOwn
 
HandleRef cptr
 
- Static Protected Attributes inherited from HPS.Operator
static Dictionary< IntPtr, OperatorcachedObjects = new Dictionary<IntPtr, Operator>()
 
static Dictionary< IntPtr, WeakReference > cachedWeakRefs = new Dictionary<IntPtr, WeakReference>()
 
static ReaderWriterLockSlim mapLock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion)
 

Detailed Description

The MeasurementOperator class defines an operator which allows the user to insert measurements into the scene This operator requires the model be loaded using the Exchange bridge, and the model must contain B-rep.

The behavior of the operator, and its usage, vary based on the type of measurement the user wishes to insert.

<itemizedlist> <listitem>

Point to Point measurement: The Point to Point measurement mode allows the user to measure the distance between two arbitrary points. Usage:

</listitem> <listitem>

Click or tap where you want to insert the first measurement point.

</listitem> <listitem>

Click or tap where you want to insert the second measurement point

</listitem> <listitem>

Move the mouse or drag your finger to move the measurement geometry around.

</listitem> <listitem>

Click or lift your finger to position the measurement.

</listitem> <listitem>

Edge and Radius measurement: The Edge and Radius measurement mode allows the user to measure the length of an edge, or the radius of a circle, based on whether the edge clicked on is a line or a circle. Usage:

</listitem> <listitem>

Click or tap on the edge you want to measure

</listitem> <listitem>

Move the mouse or drag your finger to move the measurement geometry around.

</listitem> <listitem>

Click again or lift your finger to position the measurement.

</listitem> <listitem>

If the edge you selected is part of a circle, the circle radius will be measured, otherwise the edge length will be measured.

</listitem> <listitem>

Feature to Feature measurement: The Feature to Feature measurement mode allows the user to measure the shortest distance between two features. Usage:

</listitem> <listitem>

Click or tap on a face

</listitem> <listitem>

Click or tap on a different face

</listitem> <listitem>

Move the mouse or drag your finger to move the measurement geometry around.

</listitem> <listitem>

Click again or lift your finger to position the measurement.

</listitem> <listitem>

If both faces are planar, the shortest distance between them is measured

</listitem> <listitem>

If one face is planar and the other is id conical or cylindrical, the shortest distance between the center line and the face is measured

</listitem> <listitem>

If both faces are conical or cylindrical, the shortest distance between the two center lines is measured

</listitem> <listitem>

Face Angle measurement: The Face Angle measurement mode allows the user to measure the angle between two planar, non-parallel faces. Usage:

</listitem> <listitem>

Click or tap on a face

</listitem> <listitem>

Click or tap on a different face, which is not parallel to the first face

</listitem> <listitem>

Move the mouse or drag your finger to move the measurement geometry around.

</listitem> <listitem>

Click again or lift your finger to position the measurement.

</listitem> </itemizedlist>

Once a measurement has been inserted, its position can be modified by clicking on it, moving the mouse, and clicking once more once it is in the desired position. On touch-enabled devices measurements can be repositioned by dragging them into a new position. Pressing Escape will delete the measurement currently being inserted.

The operator will inject an Event of type MeasurementInsertedEvent every time a new measurement is inserted. The user can handle this event to obtain the segment key associated with every inserted measurement.

A valid CADModel needs to be passed to the constructor of this class.

Member Function Documentation

◆ DeleteLastMeasurement()

void HPS.Exchange.MeasurementOperator.DeleteLastMeasurement ( )
inline

Delete the current measurement and brings the operator back to a state to start a new measurement

◆ GetHighlightOptions()

HPS.HighlightOptionsKit HPS.Exchange.MeasurementOperator.GetHighlightOptions ( )
inline

Returns the highlight option kit currently used for mouse over highlighting.

Returns
the highlight option kit currently used for mouse over highlighting.

◆ GetMeasurementType()

HPS.Exchange.MeasurementOperator.MeasurementType HPS.Exchange.MeasurementOperator.GetMeasurementType ( )
inline

Returns the type of measurement the operator is currently set up to insert.

Returns
The type of measurement the operator is currently set up to insert.

◆ GetMouseOverHighlighting()

bool HPS.Exchange.MeasurementOperator.GetMouseOverHighlighting ( )
inline

Whether measurable geometry is highlighted when mousing over it

Returns
true if measurable geometry is highlighted on mouse over, false otherwise.

◆ GetName()

override string HPS.Exchange.MeasurementOperator.GetName ( )
inlinevirtual

Returns the name of the operator.

Reimplemented from HPS.Exchange.CommonMeasurementOperator.

◆ IsMeasurementActive()

bool HPS.Exchange.MeasurementOperator.IsMeasurementActive ( )
inline

Whether a measurement is currently being inserted or edited.

Returns
true if a measurement is being inserted or manipulated, false otherwise.

◆ OnKeyDown()

override bool HPS.Exchange.MeasurementOperator.OnKeyDown ( HPS.KeyboardState  in_state)
inlinevirtual

This function is called whenever HPS receives a KeyDownEvent that signals a key was pressed. Pressing Escape while in the process of inserting a measurement deletes that measurement.

Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnMouseDown()

override bool HPS.Exchange.MeasurementOperator.OnMouseDown ( HPS.MouseState  in_state)
inlinevirtual

This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. This function inserts the measuring points.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnMouseMove()

override bool HPS.Exchange.MeasurementOperator.OnMouseMove ( HPS.MouseState  in_state)
inlinevirtual

This function is called whenever HPS receives a MouseEvent that signals the mouse moved When the user has just inserted the second measurement point, this function allows the user to move the measurement If the user has selected an already existing measurement, this function allows the user to reposition the measurement

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnMouseUp()

override bool HPS.Exchange.MeasurementOperator.OnMouseUp ( HPS.MouseState  in_state)
inlinevirtual

This function is called whenever HPS receives a MouseEvent that signals a mouse button was released.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnTouchDown()

override bool HPS.Exchange.MeasurementOperator.OnTouchDown ( HPS.TouchState  in_state)
inlinevirtual

This function is called whenever HPS receives a TouchEvent that signals the device was touched. This function inserts the measuring points.

Parameters
in_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnTouchMove()

override bool HPS.Exchange.MeasurementOperator.OnTouchMove ( HPS.TouchState  in_state)
inlinevirtual

This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. When the user has just inserted the second measurement point, this function allows the user to move the measurement If the user has selected an already existing measurement, this function allows the user to reposition the measurement

Parameters
in_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnTouchUp()

override bool HPS.Exchange.MeasurementOperator.OnTouchUp ( HPS.TouchState  in_state)
inlinevirtual

This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.

Parameters
in_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnViewAttached()

override void HPS.Exchange.MeasurementOperator.OnViewAttached ( HPS.View  in_attached_view)
inlinevirtual

This function is called whenever a view is attached to this operator.

Parameters
in_attached_viewThe view attached to this operator.

Reimplemented from HPS.Exchange.CommonMeasurementOperator.

◆ OnViewDetached()

override void HPS.Exchange.MeasurementOperator.OnViewDetached ( HPS.View  in_detached_view)
inlinevirtual

This function is called whenever a view is detached from this operator.

Parameters
in_detached_viewThe view detached from this operator.

Reimplemented from HPS.Exchange.CommonMeasurementOperator.

◆ SetMeasurementType()

void HPS.Exchange.MeasurementOperator.SetMeasurementType ( HPS.Exchange.MeasurementOperator.MeasurementType  in_measurement_type)
inline

Sets the type of measurement to insert.

Parameters
in_measurement_typeThe type of measurement to insert.

◆ SetMouseOverHighlighting() [1/2]

void HPS.Exchange.MeasurementOperator.SetMouseOverHighlighting ( bool  in_highlighting)
inline

Whether measurable geometry should be highlighted when mousing over it

Parameters
in_highlightingWhether measurable geometry should be highlighted when mousing over it.

◆ SetMouseOverHighlighting() [2/2]

void HPS.Exchange.MeasurementOperator.SetMouseOverHighlighting ( bool  in_highlighting,
HPS.HighlightOptionsKit  in_highlight_options_kit 
)
inline

Whether measurable geometry should be highlighted when mousing over it

Parameters
in_highlightingWhether measurable geometry should be highlighted when mousing over it.
in_highlight_options_kitThe highlight kit used for mouse over highlights

The documentation for this class was generated from the following file:
  • internals/hps_sprk_exchange/source/cs/HPS.Exchange.cs