#include <sprk_exchange.h>

Inheritance diagram for HPS::Exchange::CommonMeasurementOperator:
HPS::Operator HPS::Sprocket HPS::Object HPS::Exchange::MeasurementOperator


class  MeasurementDeletedEvent
class  MeasurementInsertedEvent

Public Types

enum  Tags {
  Name = 0, MeasurementType, Radius, Inverted,
  VectorX, VectorY, VectorZ

- Public Types inherited from HPS::Operator
enum  Priority { Low, Default, High }

Public Member Functions

 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
virtual HPS::UTF8 GetName () const override
size_t GetPrecision () const
TextAttributeKit GetTextAttributes () const
virtual void OnViewAttached (HPS::View const &in_attached_view) override
virtual void OnViewDetached (HPS::View const &in_detached_view) override
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)
- Public Member Functions inherited from HPS::Operator
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 OnKeyDown (KeyboardState const &in_state)
virtual bool OnKeyUp (KeyboardState const &in_state)
virtual void OnModelAttached ()
virtual void OnModelDetached ()
virtual bool OnMouseDown (MouseState const &in_state)
virtual bool OnMouseEnter (MouseState const &in_state)
virtual bool OnMouseLeave (MouseState const &in_state)
virtual bool OnMouseMove (MouseState const &in_state)
virtual bool OnMouseUp (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 Operatoroperator= (Operator const &in_that)
virtual bool operator== (Operator const &in_that) const
void SetModifierTrigger (ModifierKeys in_modifiers)
void SetMouseTrigger (MouseButtons in_buttons)
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (Sprocket &&in_that)
- Public Member Functions inherited from HPS::Object
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)
Objectoperator= (Object const &other_object)
Objectoperator= (Object &&in_that)
virtual void Reset ()
virtual HPS::Type Type () const

Static Public Member Functions

static UTF8 GetNewMeasurementSegmentName (HPS::UTF8 const &in_prefix)
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()

Protected Member Functions

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 &current_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)

Protected Attributes

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
- Protected Attributes inherited from HPS::Operator
HPS::ModifierKeys modifier_trigger
HPS::MouseButtons mouse_trigger

Static Protected Attributes

static size_t angle_measurement_index
static size_t distance_measurement_index
static size_t length_measurement_index
static size_t radius_measurement_index

Additional Inherited Members

- Static Public Attributes inherited from HPS::Operator
static const HPS::Type staticType = HPS::Type::Operator
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None

Detailed Description

The CommonMeasurementOperator class defines an operator which contains many often used functions when inserting measurements. Users can build a custom measurement operator by deriving from this class. This operator requires the model be loaded using the Exchange bridge, and the model must contain B-rep.

Member Function Documentation

◆ GetMaterial()

MaterialMappingKit HPS::Exchange::CommonMeasurementOperator::GetMaterial ( ) const

Returns the material used for the measurements

◆ GetMeasurementSegment()

SegmentKey HPS::Exchange::CommonMeasurementOperator::GetMeasurementSegment ( ) const

Returns the top measurement segment containing all measurements

◆ GetName()

virtual HPS::UTF8 HPS::Exchange::CommonMeasurementOperator::GetName ( ) const

Returns the name of the operator.

Reimplemented from HPS::Operator.

Reimplemented in HPS::Exchange::MeasurementOperator.

◆ GetNewMeasurementSegmentName()

static UTF8 HPS::Exchange::CommonMeasurementOperator::GetNewMeasurementSegmentName ( HPS::UTF8 const &  in_prefix)

Returns the name to be used for the new measurement segment name

◆ GetPrecision()

size_t HPS::Exchange::CommonMeasurementOperator::GetPrecision ( ) const

Returns the precision used in the measurement (number of digits after the decimal point)

◆ GetTextAttributes()

TextAttributeKit HPS::Exchange::CommonMeasurementOperator::GetTextAttributes ( ) const

Returns the text attributes used for the measurements

◆ OnViewAttached()

virtual void HPS::Exchange::CommonMeasurementOperator::OnViewAttached ( HPS::View const &  in_attached_view)

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

in_attached_viewThe view attached to this operator.

Reimplemented from HPS::Operator.

Reimplemented in HPS::Exchange::MeasurementOperator.

◆ OnViewDetached()

virtual void HPS::Exchange::CommonMeasurementOperator::OnViewDetached ( HPS::View const &  in_detached_view)

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

in_detached_viewThe view detached from this operator.

Reimplemented from HPS::Operator.

Reimplemented in HPS::Exchange::MeasurementOperator.

◆ SetMaterial()

void HPS::Exchange::CommonMeasurementOperator::SetMaterial ( MaterialMappingKit const &  in_material_mapping)

Changes the material used for the measurements. Affects all measurements, even those already inserted.

◆ SetPrecision()

void HPS::Exchange::CommonMeasurementOperator::SetPrecision ( size_t  in_precision)

Changes the precision used in the measurement (number of digits after the decimal point) Only affects future measurements.

◆ SetTextAttribute()

void HPS::Exchange::CommonMeasurementOperator::SetTextAttribute ( TextAttributeKit const &  in_text_attributes)

Changes the text attributes used for the measurements. Affects all measurements, even those already inserted.

The documentation for this class was generated from the following file: