#include <sprk_ops.h>

Public Member Functions | |
CuttingSectionOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
float | GetIndicatorScale () const |
bool | GetIndicatorVisibility () |
bool | GetMouseOverHighlighting () const |
virtual HPS::UTF8 | GetName () const |
HighlightOptionsKit | GetPlaneHighlightOptions () const |
MaterialMappingKit | GetPlaneMaterial () const |
PlaneArray | GetPlanes () |
bool | GetPlaneVisibility () |
bool | GetSectioning () |
virtual void | OnModelAttached () |
virtual bool | OnMouseDown (MouseState const &in_state) |
virtual bool | OnMouseMove (MouseState const &in_state) |
virtual bool | OnMouseUp (MouseState const &in_state) |
virtual bool | OnTimerTick (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) |
virtual void | OnViewAttached (HPS::View const &in_attached_view) |
virtual void | OnViewDetached (HPS::View const &in_detached_view) |
void | SetIndicatorScale (float in_scale) |
void | SetIndicatorVisibility (bool in_use_indicator) |
void | SetMouseOverHighlighting (bool in_enable_mouse_over_highlighting) |
void | SetPlaneHighlightOptions (HighlightOptionsKit const &in_highlight_options) |
void | SetPlaneMaterial (MaterialMappingKit const &in_plane_material) |
void | SetPlanes (PlaneArray const &in_planes) |
void | SetPlaneVisibility (bool in_visibility) |
void | SetSectioning (bool in_sectioning) |
![]() | |
HPS::SelectionResults | GetActiveSelection () const |
HPS::SelectionOptionsKit | GetSelectionOptions () const |
SelectOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
void | SetSelectionOptions (HPS::SelectionOptionsKit const &in_options) |
![]() | |
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 | 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) |
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 | |
![]() | |
enum | Priority { Low, Default, High } |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
static const HPS::Type | staticType = HPS::Type::Operator |
![]() | |
static const HPS::Type | staticType = HPS::Type::None |
![]() | |
HPS::SelectionResults | active_selection |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
Detailed Description
The CuttingSectionOperator class defines an operator which allows the user to insert and interact with cutting sections. This Operator works for both mouse- and touch-driven devices. Each instance of the operator supports inserting and interacting with a single cutting plane. Multiple instances of the operator can be pushed to the View’s operator stack when the user wants to add an additional cutting plane to the scene. The cutting plane associated with an instance of the operator will be removed when the operator is popped from the View’s operator stack.
Mouse-driven devices:
Action | Result |
---|---|
Mouse move | When the operator is first activated, moving the mouse over the model will display a indicator representing the normal of the face the user is currently hovering over. Once a cutting section has been inserted, it will be highlighted when the user hovers over it. The highlight options can also be customized, or this behavior can be disabled entirely. |
Left click | When the operator is first activated, a left click will insert a cutting section at this position. |
Double left click | Flips the cutting section the user double clicked on. |
Left mouse down and move | Translates the cutting section the user clicked on along its normal. |
Touch-driven devices:
Action | Result |
---|---|
Touch down | Inserts a cutting section at the position of the touch. |
Double tap | Flips the cutting section the user double tapped. |
Touch down and drag | Translates the cutting section the user tapped along its normal. |
Member Function Documentation
|
inline |
Returns the scale used for the normal indicator displayed while mousing over the model when the operator is first started.
- Returns
- The scale of the normal indicator.
|
inline |
Whether the plane normal indicator is visible
- Returns
- true if the plane normal indicator is visible, false otherwise.
|
inline |
Whether mouse-over highlighting is enabled
- Returns
- true if mouse-over highlighting is enabled, false otherwise.
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::SelectOperator.
|
inline |
Returns the highlight options kit used when hovering over geometry, when mouse-over highlighting is enabled.
- Returns
- the highlight options kit used when hovering over geometry, when mouse-over highlighting is enabled.
|
inline |
Returns the material mapping kit applied to the cutting plane geometry.
- Returns
- The material mapping kit applied to the cutting plane geometry.
PlaneArray HPS::CuttingSectionOperator::GetPlanes | ( | ) |
This function returns the planes associated with the active cutting sections
- Returns
- planes associated with the active cutting sections.
bool HPS::CuttingSectionOperator::GetPlaneVisibility | ( | ) |
Whether the cutting sections plane representations are visible
- Returns
- true if the cutting sections plane representations are visible, false otherwise.
|
inline |
Whether sectioning is enabled
- Returns
- true if sectioning is enabled, false otherwise.
|
virtual |
This function is called whenever a model is attached to the view that is attached to this operator. If no view is attached to this operator, this function will not be called.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. This function starts the operator and computes the position of the starting point. When the operator is first started, this function inserts a cutting section.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::SelectOperator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse moved When the operator is first started this function displays a normal indicator when the user mouses over geometry. After a cutting section has been inserted this function allows the user to translate a cutting section along its normal
- 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 HPS receives a TimerTickEvent This function moves the camera
- Parameters
-
in_state A TimerTickEvent object describing the current timer tick.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals the device was touched. This function starts the operator and computes the position of the starting point. When the operator is first started, this function inserts a cutting section.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::SelectOperator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. After a cutting section has been inserted this function allows the user to translate a cutting section along its normal
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.
- Parameters
-
in_state A TouchState object describing the current touch 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.
- Parameters
-
in_attached_view The view attached to this operator.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever a view is detached from this operator.
- Parameters
-
in_detached_view The view detached from this operator.
Reimplemented from HPS::Operator.
|
inline |
Sets the scale of the normal indicator displayed while mousing over the model when the operator is first started.
- Parameters
-
in_scale The scale of the normal indicator
void HPS::CuttingSectionOperator::SetIndicatorVisibility | ( | bool | in_use_indicator | ) |
This function allows the user to pick a cutting sections through the aid of a normal indicator when moving the mouse By default this mode is active when the operator is fist attached to a View
- Parameters
-
in_use_indicator Whether to insert cutting sections through a normal indicator.
|
inline |
Sets the mouse-over highlighting behavior
- Parameters
-
in_enable_mouse_over_highlighting Whether to enable mouse-over highlighting.
|
inline |
Sets the highlight options kit used when hovering over geometry, when mouse-over highlighting is enabled.
- Parameters
-
in_highlight_options The highlight options kit used when hovering over geometry, when mouse-over highlighting is enabled.
void HPS::CuttingSectionOperator::SetPlaneMaterial | ( | MaterialMappingKit const & | in_plane_material | ) |
Sets the material mapping kit applied to the cutting plane geometry.
- Parameters
-
in_plane_material The material mapping kit applied to the cutting plane geometry.
void HPS::CuttingSectionOperator::SetPlanes | ( | PlaneArray const & | in_planes | ) |
This function programmatically assigns cutting planes to this operator from plane equations. If this operator has already had cutting planes associated with it, the cutting planes set using this function replace the previous cutting planes.
- Parameters
-
in_planes An array of Plane objects describing the cutting planes to be inserted.
void HPS::CuttingSectionOperator::SetPlaneVisibility | ( | bool | in_visibility | ) |
Sets the visibility of cutting sections plane representation The cutting sections plane representation visibility is on by default.
- Parameters
-
in_visibility Whether to enable the visibility of the cutting sections plane representation.
void HPS::CuttingSectionOperator::SetSectioning | ( | bool | in_sectioning | ) |
Sets the sectioning behavior When sectioning is turned on the cutting planes are grouped together into a section
- Parameters
-
in_sectioning Whether to enable sectioning.
The documentation for this class was generated from the following file:
- include/sprk_ops.h