ImFusion SDK 4.3
CurveEditorManipulator Class Reference
+ Inheritance diagram for CurveEditorManipulator:

Public Member Functions

 CurveEditorManipulator (GlPointBasedAnnotation &annotation)
 
- Public Member Functions inherited from PointBasedAnnotationManipulator
 PointBasedAnnotationManipulator (GlPointBasedAnnotation &annotation)
 
bool sceneEvent (QEvent *event, const GlView &view) override
 
virtual bool sceneEvent3D (const MouseEvent &ev, const GlVolumeView &view)
 
bool get3dPos (const MouseEvent &ev, const GlVolumeView &view, vec3 &result)
 
virtual void setInteractionMode (PointBasedAnnotationManipulator::InteractionMode mode, bool finalize=true)
 Sets the interaction mode.
 
InteractionMode interactionMode () const
 Returns the interactions mode.
 
void setAllowedInteractions (Flags< PointBasedAnnotationManipulator::InteractionMode > allowedInteractions)
 Sets allowed interactions.
 
Flags< PointBasedAnnotationManipulator::InteractionMode > allowedInteractions () const
 Returns the allowed interactions.
 
void setHovering (bool hovering)
 Sets the hovering behavior (i.e.
 
bool hovering () const
 Returns whether hovering support is enabled.
 
void reset ()
 Resets all parameters to their default value.
 
void setPoints (const std::vector< vec3 > &points)
 
void setAxisManip (int axis)
 Set axis along which points can be moved. Point coordinates will be fixed on other axes. Only applies to move and edit interactions.
 
void clearAxisManip ()
 Make point movable along all axes.
 
void setBounds (double x0, double x1, double y0, double y1, double z0, double z1)
 Set bounds for allowed point coordinates.
 
void clearBounds ()
 Clear bounds.
 
MouseEvent::Button lastButton () const
 Return button with which last interaction was performed.
 
virtual void setHoverCursor ()
 Sets cursor to open hand.
 
virtual void setInteractionCursor ()
 Sets cursor to closed (grabbing) hand.
 
void resetCursor ()
 Resets cursor to default.
 
void setInteractiveAnnotation (InteractiveAnnotation *annot)
 
bool requiresFocus () override
 Derived classes that need priority scene events can override this.
 
void setVolumeViewPickingMode (VolumeViewPickingMode pickingMode)
 
void setChangeCursorOnEdit (bool change)
 
Qt::Key finishCreationKey () const
 
void setFinishCreationKey (Qt::Key key)
 
Qt::Key abortCreationKey () const
 
void setAbortCreationKey (Qt::Key key)
 
- Public Member Functions inherited from Manipulator
void addListener (ManipulatorListener *listener)
 
void removeListener (const ManipulatorListener *listener)
 
virtual void openContextMenu (QPoint pos, QPoint globalPos, Qt::KeyboardModifiers modifiers)
 
GUI::EventResult handleInputEvent (const GUI::InputEvent &event, const GUI::View &view) override
 This function is called by sources of input events in order to dispatch them to the handlers.
 

Protected Member Functions

bool onMove (const MouseEvent &event, vec3 &X, bool &update) override
 Handler for mouse events in the InteractionMove mode.
 
bool onEdit (const MouseEvent &event, vec3 &X, bool &update, const GlView &view) override
 Handler for mouse events in the InteractionEdit mode.
 
bool onAdd (const MouseEvent &event, vec3 &X, bool &update) override
 Handler for mouse events in the InteractionAdd mode.
 
bool onRemove (const MouseEvent &event, vec3 &X, bool &update) override
 Handler for mouse events in the InteractionRemove mode.
 
bool sceneEvent (QEvent *event, const GlView &view) override
 
- Protected Member Functions inherited from PointBasedAnnotationManipulator
virtual InteractionMode selectInteraction (const MouseEvent &ev, bool hitLine)
 Selects the next interaction given the mouse event and hitLine.
 
virtual bool onCreate (const MouseEvent &event, vec3 &X, bool &update, const GlView &view)
 Handler for mouse events in the InteractionCreate mode.
 
virtual bool onScale (const MouseEvent &event, vec3 &X, bool &update)
 Handler for mouse events in the InteractionScale mode.
 
virtual bool onRotate (const MouseEvent &event, vec3 &X, bool &update, const GlView &view)
 Handler for mouse events in the InteractionRotate mode.
 
void finalizeInteraction ()
 
virtual bool pickingNeeded ()
 
bool computeCursorMeshIntersection (const MouseEvent &event, const GlVolumeView &view, const GlMesh *mesh, vec3 &result)
 
void enablePicking (GlVolumeView &view)
 
void disablePicking ()
 
- Protected Member Functions inherited from Manipulator
void notifyListeners (void *eventData)
 

Additional Inherited Members

- Public Types inherited from PointBasedAnnotationManipulator
enum  InteractionMode {
  InteractionNone = 0 , InteractionCreate = 1 , InteractionMove = 2 , InteractionAdd = 4 ,
  InteractionRemove = 8 , InteractionEdit = 16 , InteractionScale = 32 , InteractionRotate = 64
}
 
enum class  VolumeViewPickingMode { On , Off , Automatic }
 Enumeration to describe when PointBasedAnnotationManipulator should perform 3D position picking in GlVolumeViews. More...
 
- Public Attributes inherited from PointBasedAnnotationManipulator
Signal< const PointBasedAnnotationManipulator * > signalCreatingFinished
 Emitted when the manipulator leaves the InteractionCreate mode.
 
- Protected Attributes inherited from PointBasedAnnotationManipulator
GlPointBasedAnnotationm_annotation
 
GlObject::RenderingOrderGroup m_originalAnnotationRenderingOrder = GlObject::RenderingGroupRest
 
vec3 m_pos0
 
int m_selectedPoint
 
InteractionModeWrapper m_interactionMode
 
Flags< InteractionMode > m_allowedInteractions
 
bool m_hovering
 
std::vector< vec3 > m_points0
 
int m_axisManip
 
bool m_useBounds
 
double m_bounds [6]
 
bool m_changeCursorOnEdit = false
 
bool m_interactionCursor = false
 
bool m_hoverCursor = false
 
bool m_wantsFocus
 
bool m_suppressNextContextMenuEvent
 If true, the context menu is not shown after right mouse release (usually set after a move)
 
bool m_isPressed = false
 
VolumeViewPickingMode m_3dPickingMode = VolumeViewPickingMode::On
 
InteractiveAnnotationm_interactiveAnnotation
 
vec3 m_center
 
vec2i m_mouse0
 
vec2i m_mouse
 
vec3 m_depthAxis
 
vec3 m_xAxis
 
vec3 m_yAxis
 
std::unique_ptr< GlVolumeView::PickingTokenm_pickingToken
 
std::map< GlMesh *, int > m_originalMeshPickingModes
 
MouseEvent::Button m_lastButton
 
Qt::Key m_abortCreationKey
 
Qt::Key m_finishCreationKey
 

Member Function Documentation

◆ onMove()

bool onMove ( const MouseEvent & event,
vec3 & X,
bool & update )
overrideprotectedvirtual

Handler for mouse events in the InteractionMove mode.

Parameters
eventmouse event
updatetrue if the point set was changed (output parameter)

Reimplemented from PointBasedAnnotationManipulator.

◆ onEdit()

bool onEdit ( const MouseEvent & event,
vec3 & X,
bool & update,
const GlView & view )
overrideprotectedvirtual

Handler for mouse events in the InteractionEdit mode.

Parameters
eventmouse event
updatetrue if the point set was changed (output parameter)

Reimplemented from PointBasedAnnotationManipulator.

◆ onAdd()

bool onAdd ( const MouseEvent & event,
vec3 & X,
bool & update )
overrideprotectedvirtual

Handler for mouse events in the InteractionAdd mode.

Parameters
eventmouse event
updatetrue if the point set was changed (output parameter)

Reimplemented from PointBasedAnnotationManipulator.

◆ onRemove()

bool onRemove ( const MouseEvent & event,
vec3 & X,
bool & update )
overrideprotectedvirtual

Handler for mouse events in the InteractionRemove mode.

Parameters
eventmouse event
updatetrue if the point set was changed (output parameter)

Reimplemented from PointBasedAnnotationManipulator.

◆ sceneEvent()

bool sceneEvent ( QEvent * event,
const GlView & view )
overrideprotectedvirtual

Implements Manipulator.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close