#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 |
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 (HPS::Sprocket const &in_that)=default | |
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 () |
HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
static UTF8 | GetNewMeasurementSegmentName (HPS::UTF8 const &in_prefix) |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
double | ConvertFromMillimeters (double in_measurement, UTF8 const &in_measurement_units) |
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 |
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.
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.
MeasurementType HPS::Exchange::MeasurementOperator::GetMeasurementType | ( | ) |
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.
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.
in_state | A MouseState object describing the current mouse state. |
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.
in_state | A MouseState object describing the current mouse state. |
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was released.
in_state | A MouseState object describing the current mouse state. |
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.