#include <sprk_exchange.h>

Public Types | |
enum | MeasurementType { PointToPoint, EdgeAndRadius, FeatureToFeature, FaceAngle } |
![]() | |
enum | Tags { Name = 0, MeasurementType, Radius, Inverted, VectorX, VectorY, VectorZ } |
![]() | |
enum | Priority { Low, Default, High } |
Public Member Functions | |
HighlightOptionsKit | GetHighlightOptions () |
MeasurementType | GetMeasurementType () |
bool | GetMouseOverHighlighting () |
virtual HPS::UTF8 | GetName () const OVERRIDE |
bool | IsMeasurementActive () |
MeasurementOperator (Exchange::CADModel const &in_cad_model, MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
virtual bool | OnKeyDown (KeyboardState const &in_state) OVERRIDE |
virtual bool | OnMouseDown (MouseState const &in_state) OVERRIDE |
virtual bool | OnMouseMove (MouseState const &in_state) OVERRIDE |
virtual bool | OnMouseUp (MouseState const &in_state) OVERRIDE |
virtual void | OnViewAttached () OVERRIDE |
virtual void | OnViewDetached () OVERRIDE |
void | SetMeasurementType (MeasurementType in_measurement_type) |
void | SetMouseOverHighlighting (bool in_highlighting) |
void | SetMouseOverHighlighting (bool in_highlighting, HighlightOptionsKit const &in_highlight_options_kit) |
![]() | |
CommonMeasurementOperator (Exchange::CADModel const &in_cad_model, MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
void | DeleteMeasurements () |
Exchange::CADModel | GetCADModel () const |
MaterialMappingKit | GetMaterial () const |
SegmentKey | GetMeasurementSegment () const |
size_t | GetPrecision () const |
TextAttributeKit | GetTextAttributes () const |
void | SetCADModel (Exchange::CADModel const &in_cad_model) |
void | SetMaterial (MaterialMappingKit const &in_material_mapping) |
void | SetPrecision (size_t in_precision) |
void | SetTextAttribute (TextAttributeKit const &in_text_attributes) |
![]() | |
virtual void | Assign (Operator const &in_that) |
void | DetachView () |
virtual bool | Equals (Operator const &in_that) const |
View | GetAttachedView () const |
ModifierKeys | GetModifierTrigger () const |
MouseButtons | GetMouseTrigger () const |
virtual bool | IsMouseTriggered (MouseState const &in_state) |
HPS::Type | ObjectType () const |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual void | OnModelAttached () |
virtual void | OnModelDetached () |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
virtual bool | OnMouseWheel (MouseState const &in_state) |
virtual bool | OnTextInput (HPS::UTF8 const &in_text) |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
virtual bool | OnTouchDown (TouchState const &in_state) |
virtual bool | OnTouchMove (TouchState const &in_state) |
virtual bool | OnTouchUp (TouchState const &in_state) |
Operator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
Operator (Operator const &in_that) | |
virtual bool | operator!= (Operator const &in_that) const |
virtual Operator & | operator= (Operator const &in_that) |
virtual bool | operator== (Operator const &in_that) const |
void | SetModifierTrigger (ModifierKeys in_modifiers) |
void | SetMouseTrigger (MouseButtons in_buttons) |
![]() | |
Sprocket (Sprocket &&in_that) | |
![]() | |
virtual bool | Empty () const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
bool | HasType (HPS::Type in_mask) const |
Object (Object const &that) | |
Object (Object &&in_that) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
static UTF8 | GetNewMeasurementSegmentName (HPS::UTF8 const &in_prefix) |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
void | GetCameraDirection () |
float | GetModelScale (Exchange::Component const &component) |
void | GetUnits () |
void | PositionLinearMeasurementGeometry (WindowPoint const &window_cursor_location, KeyPath const &event_path, LineKey &leader_line_one, LineKey &leader_line_two, LineKey &measurement_line, LineKey &line_to_cursor, Point &original_point_one, Point &original_point_two, TextKey &text, UTF8 const &text_string, Point &distance_point_one, Point &distance_point_two, SegmentKey ¤t_measurement_segment, Plane const &measurement_plane=Plane(), Vector const &explicit_direction=Vector()) |
void | SetGlyphColor () |
void | SetMaterialsOnMeasurementSegment (HPS::SegmentKey const &set_materials_here, HPS::MaterialMappingKit const &materials_to_apply) |
void | SetupConstructionSegment () |
void | Tag (HPS::Key &tag, const char *message, Tags tag_index) |
![]() | |
Exchange::CADModel | cad_model |
Vector | camera_direction |
HighlightOptionsKit | highlight_options |
GlyphDefinition | left_arrow |
bool | manipulate_measurement |
MaterialMappingKit | materials |
size_t | measurement_precision |
SegmentKey | measurement_segment |
PortfolioKey | portfolio |
GlyphDefinition | right_arrow |
SelectionOptionsKit | selection_options |
SegmentKey | style_segment |
TextAttributeKit | text_attributes |
UTF8 | units |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
![]() | |
static size_t | angle_measurement_index |
static size_t | distance_measurement_index |
static size_t | length_measurement_index |
static size_t | radius_measurement_index |
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.
- Point to Point measurement: The Point to Point measurement mode allows the user to measure the distance between two arbitrary points. Usage:
- Click where you want to insert the first measurement point.
- Click where you want to insert the second measurement point
- Move the mouse to move the measurement geometry around.
- Click to position the measurement.
- 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:
- Click on the edge you want to measure
- Move the mouse to move the measurement geometry around.
- Click again to position the measurement.
- If the edge you clicked on is part of a cir cle, the circle radius will be measured, otherwise the edge length will be measured.
- Feature to Feature measurement: The Feature to Feature measurement mode allows the user to measure the shortest distance between two features. Usage:
- Click on a face
- Click on a different face
- Move the mouse to move the measurement geometry around.
- Click again to position the measurement.
- If both faces are planar, the shortest distance between them is measured
- 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
- If both faces are conical or cylindrical, the shortest distance between the two center lines is measured
- Face Angle measurement: The Face Angle measurement mode allows the user to measure the angle between two planar, non-parallel faces. Usage:
- Click on a face
- Click on a different face, which is not parallel to the first face
- Move the mouse to move the measurement geometry around.
- Click again to position the measurement.
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. 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
MeasurementType HPS::Exchange::MeasurementOperator::GetMeasurementType | ( | ) |
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.
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::Exchange::CommonMeasurementOperator.
|
virtual |
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.
|
virtual |
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.
|
virtual |
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 geometry along a specific vector. If the user has selected an already existing measurement, this function allows the measurement geometry to be moved anywhere in the view plane.
- 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.
|
virtual |
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.
|
virtual |
This function is called whenever a view is attached to this operator.
Reimplemented from HPS::Exchange::CommonMeasurementOperator.
|
virtual |
This function is called whenever a view is detached from this operator.
Reimplemented from HPS::Exchange::CommonMeasurementOperator.
The documentation for this class was generated from the following file:
- include/sprk_exchange.h