sprk_ops.h
26 (51 + std::hash<float>()(x.red)) * 51 + std::hash<float>()(x.green) * 51 + std::hash<float>()(x.blue));
70 PanOrbitZoomOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
139 PanOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
193 OrbitOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
249 RelativeOrbitOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonMiddle(), ModifierKeys in_modifier_trigger = ModifierKeys());
285 ZoomOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
338 ConstructRectangleOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys(), bool draw_faces = false);
386 ZoomBoxOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
421 SelectAreaOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
441 void SetSelectionOptions(HPS::SelectionOptionsKit const & in_options) { selection_options = in_options; }
449 bool SelectCommon(HPS::WindowKey & in_window, HPS::ModifierKeys in_modifiers = HPS::ModifierKeys());
465 HighlightAreaOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
479 void SetHighlightOptions(HPS::HighlightOptionsKit const & in_options) { highlight_options = in_options; }
518 SelectOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
534 void SetSelectionOptions(HPS::SelectionOptionsKit const & in_options) { selection_options = in_options; }
545 bool SelectCommon(HPS::Point const & in_loc, HPS::WindowKey & in_window, HPS::ModifierKeys in_modifiers = HPS::ModifierKeys());
558 HighlightOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
568 void SetHighlightOptions(HPS::HighlightOptionsKit const & in_options) { highlight_options = in_options; }
594 MouseWheelOperator(ZoomType in_default_type = ZoomType::Accurate, HPS::ModifierKeys in_alternate_type_modifiers = HPS::ModifierKeys::KeyControl());
627 TurntableOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
735 FlyOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger = ModifierKeys());
818 /* Keyboard sensitivity affects the speed of movement of action triggered from the keyboard, such as walking forward by pressing W */
820 void SetKeyboardSensitivity(float in_keyboard_sensitivity) { keyboard_sensitivity = in_keyboard_sensitivity; }
822 /* Mouse sensitivity affects the speed of movement of action triggered from the mouse, such as rotating */
824 void SetMouseSensitivity(float in_mouse_sensitivity) { mouse_sensitivity = in_mouse_sensitivity; }
826 /* Left Joystick sensitivity affects the speed of movement of action triggered from the left joystick on touch devices */
828 void SetLeftJoystickSensitivity(float in_left_joystick_sensitivity) { left_joystick_sensitivity = in_left_joystick_sensitivity; }
830 /* Right Joystick sensitivity affects the speed of movement of action triggered from the right joystick on touch devices */
832 void SetRightJoystickSensitivity(float in_right_joystick_sensitivity) { right_joystick_sensitivity = in_right_joystick_sensitivity; }
835 The dead zone is an area around the initial touch down position where the user can move its finger
870 bool MoveWithTouch(HPS::Point & position, HPS::Point & target, HPS::Vector & up, HPS::Vector const & walking_direction);
968 WalkOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonRight(), ModifierKeys in_modifier_trigger = ModifierKeys());
1012 void AdjustWalkingDirection(HPS::Vector const & camera_direction, HPS::Vector const & camera_up);
1042 SimpleWalkOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1057 virtual bool OnKeyDown(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1061 virtual bool OnKeyUp(KeyboardState const & in_state) { HPS_UNREFERENCED(in_state); return false; }
1185 bool Move(HPS::Point const & start, HPS::Point const & current, int directions, HPS::CameraKit & camera, ScaleFactor const & scale);
1281 CuttingSectionOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1365 void SetPlaneHighlightOptions(HighlightOptionsKit const & in_highlight_options) { highlight_options = in_highlight_options; }
1373 void SetMouseOverHighlighting(bool in_enable_mouse_over_highlighting) { enable_mouse_over_highlighting = in_enable_mouse_over_highlighting; }
1391 bool GetIndicatorVisibility() { return (op_state == OpState::Uninitialized || op_state == OpState::FacePicking) ? true : false; }
1408 void TranslateCuttingPlane(KeyPath const & in_event_path, WindowPoint const & in_event_location);
1498 MarkupOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1577 void SetTextAttribute(TextAttributeKit const & in_text_attributes) { current_attributes.text_attributes = in_text_attributes; }
1584 void SetLineAttribute(LineAttributeKit const & in_line_attributes) {current_attributes.line_attributes = in_line_attributes; }
1749 AnnotationOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
1834 AnnotationInsertedEvent(HPS::SegmentKey const & in_text_key, HPS::View const & in_view) : Event()
1908 SelectionOptionsKit annotation_selection_options; //selection options used when trying to select annotations
1911 UTF8 annotation_user_data; //the user data set on annotation geometry to distinguish it from non annotation geometry
1912 UTF8 annotation_shape; //the name of the shape definition used to draw the annotation background
1914 PortfolioKey current_portfolio; //the portfolio used to store the default definitions used by this operator
1925 //touch only flags -- these flags are only relevant when running the operator on a touch enabled device
1928 CameraKit original_camera; //the camera setting as they were just before the annotation text is edited
1929 KeyboardHiddenEventHandler handler; //a handler that takes care of resetting the camera when the software keyboard is hidden
1931 bool always_show_keyboard_on_touch_up; //true if we are just inserting the annotation, false if we are editing a previously inserted one.
1954 HandlesOperator(MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
2055 void SetHandlesAppearance(float in_length = 0.16f, float in_radius = 0.005f, size_t in_handles_points = 30);
2062 void SetRotationHandleAppearance(float in_offset = 0.045f, float in_angle = 25.0f, float in_tip_size = 0.15f);
2069 void SetPlaneTranslationAppearance(float in_plane_offset = 0.2f, float in_plane_length = 0.6f, float in_center_radius = 0.2f);
2075 void GetHandlesAppearance(float & out_length, float & out_radius, size_t & out_handles_points) const;
2081 void GetRotationHandleAppearance(float & out_offset, float & out_angle, float & out_tip_size) const;
2087 void GetPlaneTranslationAppearance(float & out_plane_offset, float & out_plane_length, float & out_center_radius) const;
2119 GeometryTransformedEvent(HPS::View const & in_view, HPS::SegmentKey const & in_segment_key, HPS::MatrixKit const & in_transform) : Event()
2177 CanvasArray canvases; //A list of Canvas objects that the View attached to this operator belongs to. This value only gets updated on OnViewAttached.
2182 SegmentKey handles_segment; //segment where the matrices for the handles transformations are accumulated
2187 SegmentKey temporary_segment_to_move; //segment where we accumulate changes while the handles are active
2226 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].
2229 float tip_size; //The size of the tips at the end of the handles, specified as a percentage of the handles length
2230 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.
2231 float plane_length; //The length of the plane translation handle, specified as a percentage of handles_length.
2257 bool InputDown(size_t in_click_count, WindowKey const & in_window, KeyArray const & in_event_path, Point const & in_location);
2269 bool HighlightHandles(WindowKey & in_window, KeyArray const & in_event_path, Point const & in_location);
2274 //copies the accumulated transform from the reference geometry segment back into the original place.
Definition: hps.h:6201
Event * Clone() const
Definition: sprk_ops.h:1860
MarkupInsertedEvent(Event const &in_event)
Definition: sprk_ops.h:1618
Definition: sprk.h:267
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5816
Definition: sprk_ops.h:1039
Definition: sprk_ops.h:282
Event * Clone() const
Definition: sprk_ops.h:2147
RGBAColor GetHighlightColor() const
Definition: sprk_ops.h:2048
Definition: hps.h:36890
HPS::HighlightOptionsKit GetHighlightOptions() const
Definition: sprk_ops.h:484
Definition: sprk_ops.h:406
HPS::SelectionOptionsKit GetSelectionOptions() const
Definition: sprk_ops.h:539
void SetMarkupType(MarkupType in_markup_type)
Definition: sprk_ops.h:1563
Definition: hps.h:47549
Definition: hps.h:7707
Definition: sprk_ops.h:67
AnnotationInsertedEvent()
Definition: sprk_ops.h:1828
Definition: hps.h:3534
Definition: hps.h:6571
void SetIndicatorScale(float in_scale)
Definition: sprk_ops.h:1349
Definition: hps.h:16052
HPS::SelectionOptionsKit GetSelectionOptions() const
Definition: sprk_ops.h:446
Definition: sprk_ops.h:624
GeometryTransformedEvent(Event const &in_event)
Definition: sprk_ops.h:2130
void SetHandlesColors(MaterialKitArray const &in_colors)
Definition: sprk_ops.h:2022
void SetPlaneHighlightOptions(HighlightOptionsKit const &in_highlight_options)
Definition: sprk_ops.h:1365
Definition: sprk_ops.h:2109
Definition: sprk_ops.h:503
Definition: sprk_ops.h:190
TextAttributeKit GetTextAttributes()
Definition: sprk_ops.h:1574
GeometryTransformedEvent()
Definition: sprk_ops.h:2113
Definition: hps.h:1549
Definition: hps.h:8934
void SetLineAttribute(LineAttributeKit const &in_line_attributes)
Definition: sprk_ops.h:1584
Definition: sprk_ops.h:335
Definition: sprk_ops.h:1598
Definition: sprk_ops.h:688
HPS::Rectangle GetInnerWindowRectangle() const
Definition: sprk_ops.h:362
void SetSelectionOptions(HPS::SelectionOptionsKit const &in_options)
Definition: sprk_ops.h:534
Definition: sprk_ops.h:1269
Definition: sprk_ops.h:1951
Definition: hps.h:47447
virtual HPS::UTF8 GetName() const
Definition: sprk_ops.h:339
Definition: sprk_ops.h:732
Definition: sprk_ops.h:456
virtual HPS::UTF8 GetName() const override
Definition: sprk_ops.h:1752
std::vector< MaterialKit, Allocator< MaterialKit > > MaterialKitArray
Array of type HPS::MaterialKit.
Definition: hps.h:6646
Definition: hps.h:32721
Definition: hps.h:4502
Definition: sprk_ops.h:1487
bool GetTrailingGeometry() const
Definition: sprk_ops.h:2097
AnnotationInsertedEvent(Event const &in_event)
Definition: sprk_ops.h:1844
bool GetIndicatorVisibility()
Definition: sprk_ops.h:1391
Definition: hps.h:4441
Definition: hps.h:7078
Definition: hps.h:46918
Definition: hps.h:26716
Definition: hps.h:43881
Definition: hps.h:6035
Definition: hps.h:45813
Definition: hps.h:43031
Definition: hps.h:47334
void SetTrailingGeometry(bool in_state)
Definition: sprk_ops.h:2092
Definition: sprk_ops.h:551
Definition: hps.h:15442
Definition: hps.h:14682
Definition: hps.h:44160
Definition: hps.h:46425
bool GetMouseOverHighlighting() const
Definition: sprk_ops.h:1369
Definition: hps.h:6285
void SetSelectionOptions(HPS::SelectionOptionsKit const &in_options)
Definition: sprk_ops.h:441
Definition: hps.h:13689
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk_ops.h:1057
void SetMouseOverHighlighting(bool in_enable_mouse_over_highlighting)
Definition: sprk_ops.h:1373
Definition: sprk_ops.h:239
LineAttributeKit GetLineAttributes()
Definition: sprk_ops.h:1581
Definition: sprk_ops.h:1824
void SetHighlightOptions(HPS::HighlightOptionsKit const &in_options)
Definition: sprk_ops.h:479
float GetIndicatorScale() const
Definition: sprk_ops.h:1345
Definition: sprk_ops.h:1746
HPS::HighlightOptionsKit GetHighlightOptions() const
Definition: sprk_ops.h:573
Definition: hps.h:45738
std::vector< Key, Allocator< Key > > KeyArray
Array of type HPS::Key.
Definition: hps.h:6639
std::vector< Plane, Allocator< Plane > > PlaneArray
Array of type HPS::Plane.
Definition: hps.h:6622
Definition: sprk_ops.h:581
Definition: sprk_ops.h:965
Definition: hps.h:9092
MaterialMappingKit GetPlaneMaterial() const
Definition: sprk_ops.h:1353
Definition: hps.h:7625
HPS::Rectangle GetWindowRectangle() const
Definition: sprk_ops.h:357
Definition: hps.h:9321
Definition: hps.h:10870
void SetTextAttribute(TextAttributeKit const &in_text_attributes)
Definition: sprk_ops.h:1577
MaterialKitArray GetHandlesColors() const
Definition: sprk_ops.h:2039
Definition: hps.h:23881
Definition: hps.h:24243
Definition: sprk.h:1100
Definition: sprk_ops.h:136
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk_ops.h:1061
HighlightOptionsKit GetPlaneHighlightOptions() const
Definition: sprk_ops.h:1361
Definition: hps.h:40549
MarkupInsertedEvent()
Definition: sprk_ops.h:1602
void SetHighlightOptions(HPS::HighlightOptionsKit const &in_options)
Definition: sprk_ops.h:568
Definition: sprk_ops.h:383
std::vector< size_t, Allocator< size_t > > SizeTArray
Array of type size_t.
Definition: hps.h:6627