
Public Types | |
enum | MeasurementType { PointToPoint = 0, EdgeAndRadius = 1, FeatureToFeature = 2, FaceAngle = 3 } |
![]() | |
enum | Tags { Name = 0, MeasurementType = 1, Radius = 2, Inverted = 3, VectorX = 4, VectorY = 5, VectorZ = 6 } |
![]() | |
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) |
![]() | |
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) |
![]() | |
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) |
![]() | |
Sprocket (HPS.Sprocket in_that) | |
![]() | |
virtual bool | Empty () |
IntPtr | GetClassID () |
IntPtr | GetInstanceID () |
bool | HasType (HPS.Type in_mask) |
Object (HPS.Object that) | |
virtual void | Reset () |
virtual HPS.Type | Type () |
Additional Inherited Members | |
![]() | |
static string | GetNewMeasurementSegmentName (string in_prefix) |
![]() | |
static bool | operator!= (HPS.Operator a, HPS.Operator b) |
static bool | operator== (HPS.Operator a, HPS.Operator b) |
![]() | |
static IntPtr | ClassID< T > () |
![]() | |
HandleRef | sptr |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
![]() | |
static Dictionary< IntPtr, Operator > | cachedObjects = 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()
|
inline |
Delete the current measurement and brings the operator back to a state to start a new measurement
◆ 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()
|
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()
|
inline |
Whether measurable geometry is highlighted when mousing over it
- Returns
- true if measurable geometry is highlighted on mouse over, false otherwise.
◆ GetName()
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS.Exchange.CommonMeasurementOperator.
◆ IsMeasurementActive()
|
inline |
Whether a measurement is currently being inserted or edited.
- Returns
- true if a measurement is being inserted or manipulated, false otherwise.
◆ OnKeyDown()
|
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()
|
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_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS.Operator.
◆ OnMouseMove()
|
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_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS.Operator.
◆ OnMouseUp()
|
inlinevirtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was released.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS.Operator.
◆ OnTouchDown()
|
inlinevirtual |
This function is called whenever HPS receives a TouchEvent that signals the device was touched. This function inserts the measuring points.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS.Operator.
◆ OnTouchMove()
|
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_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS.Operator.
◆ OnTouchUp()
|
inlinevirtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS.Operator.
◆ OnViewAttached()
|
inlinevirtual |
This function is called whenever a view is attached to this operator.
- Parameters
-
in_attached_view The view attached to this operator.
Reimplemented from HPS.Exchange.CommonMeasurementOperator.
◆ OnViewDetached()
|
inlinevirtual |
This function is called whenever a view is detached from this operator.
- Parameters
-
in_detached_view The view detached from this operator.
Reimplemented from HPS.Exchange.CommonMeasurementOperator.
◆ SetMeasurementType()
|
inline |
Sets the type of measurement to insert.
- Parameters
-
in_measurement_type The type of measurement to insert.
◆ SetMouseOverHighlighting() [1/2]
|
inline |
Whether measurable geometry should be highlighted when mousing over it
- Parameters
-
in_highlighting Whether measurable geometry should be highlighted when mousing over it.
◆ SetMouseOverHighlighting() [2/2]
|
inline |
Whether measurable geometry should be highlighted when mousing over it
- Parameters
-
in_highlighting Whether measurable geometry should be highlighted when mousing over it. in_highlight_options_kit The 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