#include <sprk_ops.h>

Classes | |
class | GeometryTransformedEvent |
Public Member Functions | |
void | GetHandlesAppearance (float &out_length, float &out_radius, float &out_offset, float &out_angle, size_t &out_handles_points, float &out_tip_size) const |
MaterialKitArray | GetHandlesColors () const |
RGBAColor | GetHighlightColor () const |
virtual HPS::UTF8 | GetName () const OVERRIDE |
bool | GetTrailingGeometry () const |
HandlesOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
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 bool | OnTouchDown (TouchState const &in_state) OVERRIDE |
virtual bool | OnTouchMove (TouchState const &in_state) OVERRIDE |
virtual bool | OnTouchUp (TouchState const &in_state) OVERRIDE |
virtual void | OnViewAttached () OVERRIDE |
virtual void | OnViewDetached () OVERRIDE |
void | SetHandlesAppearance (float in_length=0.2f, float in_radius=0.005f, float in_offset=0.2f, float in_angle=25.0f, size_t in_handles_points=30, float in_tip_size=0.15f) |
void | SetHandlesColors (MaterialKitArray const &in_colors) |
void | SetHighlightColor (RGBAColor const &in_highlight_color) |
void | SetTrailingGeometry (bool in_state) |
![]() | |
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 | 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) |
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 () |
HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
enum | Priority { Low, Default, High } |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
Detailed Description
The HandlesOperator class defines an operator which allows the user to move geometry. This Operator works for both mouse- and touch-driven devices.
To operate this operator on a mouse-driven device: Double click on a piece of geometry to activate the handles Click and drag the handles to move the selected geometry Click on the background to dismiss the handles
To operate this operator on a touch-driven device: Double tap on a piece of geometry to activate the handles Tap and drag the handles to move the selected geometry Tap on the background to dismiss the handles
This operator works on the segment containing the geometry selected. An event of type GeometryTransformedEvent in injected after the handles are dismissed, containing the information on which segment was affected and what transform was applied to it.
Member Function Documentation
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. If the user double clicks on a piece of geometry, handles will be inserted there. If the user clicks on a handle, the segment containing that handle will be translated or rotated appropriately. The user can click on the background to remove the handles.
- 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 the mouse moved When users click and drag a handle, the associated geometry will be translated or rotated as appropriate.
- 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 TouchEvent that signals the device was touched. If the user double taps a piece of geometry, handles will be inserted there. If the user taps on a handle, the segment containing that handle will be translated or rotated appropriately. The user can tap on the background to remove the handles.
- 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 moved. When users click and drag a handle, the associated geometry will be translated or rotated as appropriate.
- 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.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever a view is detached from this operator.
Reimplemented from HPS::Operator.
|
inline |
This function is used to provide a set of colors which will be applied to the handles. The changes will take effect the next time the handles are inserted. The materials need to contain a diffuse color, and will be applied as follows: Entry 0 - translation handle in the x direction Entry 1 - translation handle in the y direction Entry 2 - translation handle in the z direction Entry 3 - rotation handle in the x direction Entry 4 - rotation handle in the y direction Entry 5 - rotation handle in the z direction
- Parameters
-
in_colors An array of materials to be applied to the handles.
The documentation for this class was generated from the following file:
- include/sprk_ops.h