sprk_ops.h
27 (51 + std::hash<float>()(x.red)) * 51 + std::hash<float>()(x.green) * 51 + std::hash<float>()(x.blue));
71 PanOrbitZoomOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
140 PanOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
194 OrbitOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
250 RelativeOrbitOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonMiddle(), ModifierKeys in_modifier_trigger = ModifierKeys());
286 ZoomOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
339 ConstructRectangleOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys(), bool draw_faces = false);
387 ZoomBoxOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
422 SelectAreaOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
442 void SetSelectionOptions(HPS::SelectionOptionsKit const & in_options) { selection_options = in_options; }
450 bool SelectCommon(HPS::WindowKey & in_window, HPS::ModifierKeys in_modifiers = HPS::ModifierKeys());
466 HighlightAreaOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
480 void SetHighlightOptions(HPS::HighlightOptionsKit const & in_options) { highlight_options = in_options; }
519 SelectOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
535 void SetSelectionOptions(HPS::SelectionOptionsKit const & in_options) { selection_options = in_options; }
546 bool SelectCommon(HPS::Point const & in_loc, HPS::WindowKey & in_window, HPS::ModifierKeys in_modifiers = HPS::ModifierKeys());
559 HighlightOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
569 void SetHighlightOptions(HPS::HighlightOptionsKit const & in_options) { highlight_options = in_options; }
595 MouseWheelOperator(ZoomType in_default_type = ZoomType::Accurate, HPS::ModifierKeys in_alternate_type_modifiers = HPS::ModifierKeys::KeyControl());
628 TurntableOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
736 FlyOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger = ModifierKeys());
819 /* Keyboard sensitivity affects the speed of movement of action triggered from the keyboard, such as walking forward by pressing W */
821 void SetKeyboardSensitivity(float in_keyboard_sensitivity) { keyboard_sensitivity = in_keyboard_sensitivity; }
823 /* Mouse sensitivity affects the speed of movement of action triggered from the mouse, such as rotating */
825 void SetMouseSensitivity(float in_mouse_sensitivity) { mouse_sensitivity = in_mouse_sensitivity; }
827 /* Left Joystick sensitivity affects the speed of movement of action triggered from the left joystick on touch devices */
829 void SetLeftJoystickSensitivity(float in_left_joystick_sensitivity) { left_joystick_sensitivity = in_left_joystick_sensitivity; }
831 /* Right Joystick sensitivity affects the speed of movement of action triggered from the right joystick on touch devices */
833 void SetRightJoystickSensitivity(float in_right_joystick_sensitivity) { right_joystick_sensitivity = in_right_joystick_sensitivity; }
836 The dead zone is an area around the initial touch down position where the user can move its finger
871 bool MoveWithTouch(HPS::Point & position, HPS::Point & target, HPS::Vector & up, HPS::Vector const & walking_direction);
969 WalkOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger = ModifierKeys());
1013 void AdjustWalkingDirection(HPS::Vector const & camera_direction, HPS::Vector const & camera_up);
1043 SimpleWalkOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1058 virtual bool OnKeyDown(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1062 virtual bool OnKeyUp(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1186 bool Move(HPS::Point const & start, HPS::Point const & current, int directions, HPS::CameraKit & camera, ScaleFactor const & scale);
1282 CuttingSectionOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1366 void SetPlaneHighlightOptions(HighlightOptionsKit const & in_highlight_options) { highlight_options = in_highlight_options; }
1374 void SetMouseOverHighlighting(bool in_enable_mouse_over_highlighting) { enable_mouse_over_highlighting = in_enable_mouse_over_highlighting; }
1392 bool GetIndicatorVisibility() { return (op_state == OpState::Uninitialized || op_state == OpState::FacePicking) ? true : false; }
1409 void TranslateCuttingPlane(KeyPath const & in_event_path, WindowPoint const & in_event_location);
1499 MarkupOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1578 void SetTextAttribute(TextAttributeKit const & in_text_attributes) { current_attributes.text_attributes = in_text_attributes; }
1585 void SetLineAttribute(LineAttributeKit const & in_line_attributes) {current_attributes.line_attributes = in_line_attributes; }
1750 AnnotationOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1835 AnnotationInsertedEvent(HPS::SegmentKey const & in_text_key, HPS::View const & in_view) : Event()
1909 SelectionOptionsKit annotation_selection_options; //selection options used when trying to select annotations
1912 UTF8 annotation_user_data; //the user data set on annotation geometry to distinguish it from non annotation geometry
1913 UTF8 annotation_shape; //the name of the shape definition used to draw the annotation background
1915 PortfolioKey current_portfolio; //the portfolio used to store the default definitions used by this operator
1926 //touch only flags -- these flags are only relevant when running the operator on a touch enabled device
1929 CameraKit original_camera; //the camera setting as they were just before the annotation text is edited
1930 KeyboardHiddenEventHandler handler; //a handler that takes care of resetting the camera when the software keyboard is hidden
1932 bool always_show_keyboard_on_touch_up; //true if we are just inserting the annotation, false if we are editing a previously inserted one.
1960 HandlesOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
2071 void SetHandlesAppearance(float in_length = 0.16f, float in_radius = 0.005f, size_t in_handles_points = 30);
2078 void SetRotationHandleAppearance(float in_offset = 0.045f, float in_angle = 25.0f, float in_tip_size = 0.15f);
2085 void SetPlaneTranslationAppearance(float in_plane_offset = 0.2f, float in_plane_length = 0.6f, float in_center_radius = 0.2f);
2098 void GetHandlesAppearance(float & out_length, float & out_radius, size_t & out_handles_points) const;
2104 void GetRotationHandleAppearance(float & out_offset, float & out_angle, float & out_tip_size) const;
2110 void GetPlaneTranslationAppearance(float & out_plane_offset, float & out_plane_length, float & out_center_radius) const;
2150 GeometryTransformedEvent(HPS::View const & in_view, HPS::SegmentKey const & in_segment_key, HPS::MatrixKit const & in_transform) : Event()
2214 CanvasArray canvases; //A list of Canvas objects that the View attached to this operator belongs to. This value only gets updated on OnViewAttached.
2219 SegmentKey handles_segment; //segment where the matrices for the handles transformations are accumulated
2224 SegmentKey temporary_segment_to_move; //segment where we accumulate changes while the handles are active
2232 ComponentPath component_path_to_move; //Analogous to path_to_segment_to_move in the case where a CADModel is valid.
2233 Component component_to_move; //Analogous to segment_to_move in the case where a CADModel is valid.
2270 float arc_offset; //Distance between the end of the translation handle and the start of the translation arc. Expressed in percentage of handles_length [0 - 1].
2273 float tip_size; //The size of the tips at the end of the handles, specified as a percentage of the handles length
2274 float plane_offset; //The distance between the axis translation handle and the start of the plane translation handle, specified as a percentage of handles_length.
2275 float plane_length; //The length of the plane translation handle, specified as a percentage of handles_length.
2301 bool InputDown(size_t in_click_count, WindowKey const & in_window, KeyArray const & in_event_path, Point const & in_location);
2311 bool HighlightHandles(WindowKey & in_window, KeyArray const & in_event_path, Point const & in_location);
2316 //copies the accumulated transform from the reference geometry segment back into the original place.
2318 //if a CADModel is associated with this operator, it propagates the changes to the Component and PRC/Parasolid geometry
Definition: hps.h:6280
Definition: hps.h:85
MaterialKitArray GetHandlesColors() const
Definition: sprk_ops.h:2055
MarkupInsertedEvent(Event const &in_event)
Definition: sprk_ops.h:1619
HPS::Rectangle GetWindowRectangle() const
Definition: sprk_ops.h:358
Definition: sprk.h:273
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5884
Definition: sprk_ops.h:1040
float GetIndicatorScale() const
Definition: sprk_ops.h:1346
Definition: sprk_ops.h:283
Definition: hps.h:37701
Definition: sprk_ops.h:407
void SetMarkupType(MarkupType in_markup_type)
Definition: sprk_ops.h:1564
Definition: hps.h:48825
Definition: hps.h:7787
Definition: sprk_ops.h:68
AnnotationInsertedEvent()
Definition: sprk_ops.h:1829
Definition: hps.h:3579
Definition: hps.h:6650
void SetIndicatorScale(float in_scale)
Definition: sprk_ops.h:1350
HPS::SelectionOptionsKit GetSelectionOptions() const
Definition: sprk_ops.h:540
Definition: hps.h:16454
Definition: sprk_ops.h:625
GeometryTransformedEvent(Event const &in_event)
Definition: sprk_ops.h:2161
void SetHandlesColors(MaterialKitArray const &in_colors)
Definition: sprk_ops.h:2038
void SetPlaneHighlightOptions(HighlightOptionsKit const &in_highlight_options)
Definition: sprk_ops.h:1366
Definition: sprk_ops.h:2140
Definition: sprk_ops.h:504
Definition: sprk_ops.h:19
Definition: sprk_ops.h:191
TextAttributeKit GetTextAttributes()
Definition: sprk_ops.h:1575
GeometryTransformedEvent()
Definition: sprk_ops.h:2144
Definition: hps.h:1564
Definition: hps.h:9031
RGBAColor GetHighlightColor() const
Definition: sprk_ops.h:2064
void SetLineAttribute(LineAttributeKit const &in_line_attributes)
Definition: sprk_ops.h:1585
Definition: sprk_ops.h:336
Definition: sprk_ops.h:1599
Definition: sprk_ops.h:689
void SetSelectionOptions(HPS::SelectionOptionsKit const &in_options)
Definition: sprk_ops.h:535
HPS::SelectionOptionsKit GetSelectionOptions() const
Definition: sprk_ops.h:447
Definition: sprk_ops.h:1270
Definition: sprk_ops.h:1957
Definition: hps.h:48723
Definition: sprk_ops.h:733
Definition: sprk_ops.h:457
virtual HPS::UTF8 GetName() const override
Definition: sprk_ops.h:1753
std::vector< MaterialKit, Allocator< MaterialKit > > MaterialKitArray
Array of type HPS::MaterialKit.
Definition: hps.h:6725
Definition: hps.h:33516
Definition: hps.h:4547
Definition: sprk_ops.h:1488
AnnotationInsertedEvent(Event const &in_event)
Definition: sprk_ops.h:1845
bool GetIndicatorVisibility()
Definition: sprk_ops.h:1392
Event * Clone() const
Definition: sprk_ops.h:2178
Definition: hps.h:4486
Definition: hps.h:7158
Definition: hps.h:48194
Definition: hps.h:27511
Definition: hps.h:45033
HPS::Rectangle GetInnerWindowRectangle() const
Definition: sprk_ops.h:363
Definition: hps.h:6114
Definition: hps.h:47087
Definition: hps.h:44113
Definition: hps.h:48610
void SetTrailingGeometry(bool in_state)
Definition: sprk_ops.h:2115
Definition: sprk_ops.h:552
Definition: hps.h:15841
HighlightOptionsKit GetPlaneHighlightOptions() const
Definition: sprk_ops.h:1362
Definition: hps.h:15084
bool GetMouseOverHighlighting() const
Definition: sprk_ops.h:1370
Definition: hps.h:45312
Definition: hps.h:47701
bool GetTrailingGeometry() const
Definition: sprk_ops.h:2120
Event * Clone() const
Definition: sprk_ops.h:1861
Definition: hps.h:6364
void SetSelectionOptions(HPS::SelectionOptionsKit const &in_options)
Definition: sprk_ops.h:442
Definition: hps.h:14089
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk_ops.h:1058
void SetMouseOverHighlighting(bool in_enable_mouse_over_highlighting)
Definition: sprk_ops.h:1374
Definition: sprk_ops.h:240
LineAttributeKit GetLineAttributes()
Definition: sprk_ops.h:1582
Definition: sprk_ops.h:1825
void SetHighlightOptions(HPS::HighlightOptionsKit const &in_options)
Definition: sprk_ops.h:480
Definition: sprk_ops.h:1747
MaterialMappingKit GetPlaneMaterial() const
Definition: sprk_ops.h:1354
Definition: hps.h:47012
std::vector< Key, Allocator< Key > > KeyArray
Array of type HPS::Key.
Definition: hps.h:6718
std::vector< Plane, Allocator< Plane > > PlaneArray
Array of type HPS::Plane.
Definition: hps.h:6701
Definition: sprk_ops.h:582
HPS::HighlightOptionsKit GetHighlightOptions() const
Definition: sprk_ops.h:485
Definition: sprk_ops.h:966
Definition: hps.h:9189
Definition: hps.h:7705
HPS::HighlightOptionsKit GetHighlightOptions() const
Definition: sprk_ops.h:574
Definition: hps.h:9418
Definition: hps.h:11101
void SetTextAttribute(TextAttributeKit const &in_text_attributes)
Definition: sprk_ops.h:1578
Definition: hps.h:24676
Definition: hps.h:25038
Definition: sprk.h:3041
Definition: sprk.h:1107
Definition: sprk_ops.h:137
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk_ops.h:1062
Definition: hps.h:41596
MarkupInsertedEvent()
Definition: sprk_ops.h:1603
void SetHighlightOptions(HPS::HighlightOptionsKit const &in_options)
Definition: sprk_ops.h:569
Definition: sprk_ops.h:384
std::vector< size_t, Allocator< size_t > > SizeTArray
Array of type size_t.
Definition: hps.h:6706