17#ifndef __albaGizmoInteractionDebugger_h
18#define __albaGizmoInteractionDebugger_h
43class vtkAppendPolyData;
44class vtkTransformPolyDataFilter;
46class albaVMEPolylineGraph;
58 albaObserver *Listener = NULL,
const char *name =
"GizmoPath",
bool showOnlyDirectionAxis =
false,
bool testMode =
false)
86 inline void SetConstraintPolylineGraph(albaVMEPolylineGraph* constraintPolylineGraph);
89 virtual void SetCurvilinearAbscissa(vtkIdType branchId,
double s);
92 inline double GetCurvilinearAbscissa();
95 inline vtkIdType GetActiveBranchId();;
148 vtkArrowSource* m_AxisSource[3];
149 vtkTransformPolyDataFilter* m_Axis[3];
170#pragma region inlines
198#pragma endregion inlines
Decorate input vme with curvilinear abscissa interface for albaVMEPolylineGraph constrained interacti...
vtkIdType GetActiveBranchId()
Get the active branch ie the branch to which inputVME is currently constrained.
void SetConstraintPolylineGraph(albaVMEPolylineGraph *constraintPolylineGraph)
Set the polyline graph constraint.
double GetCurvilinearAbscissa()
Get the curvilinear abscissa.
int SetCurvilinearAbscissa(vtkIdType branchId, double s)
Set the curvilinear abscissa value s on branchId branch, return ALBA_OK or ALBA_ERROR.
Implementation of the message object for the Subject/Observer design pattern.
albaEvent - Class implementing ALBA application events.
Base class for operations and views gizmos.
Gizmo Helper Object for interaction stuff debug: this class should be expanded and refactored increme...
virtual void DestroyInteractor()
Destroys the interactor of the gizmo.
virtual void SetGizmoLength(double lineLength)
Set the length of the gizmo.
vtkSphereSource * m_SphereSource
albaCurvilinearAbscissaOnSkeletonHelper * m_CurvilinearAbscissaHelper
void LogTransformEvent(albaEvent *e)
bool m_ShowOnlyDirectionAxis
albaVMEGizmo * m_VmeGizmo
virtual void OnTransform(albaEvent *e)
Handles ID_TRANSFORM event.
double GetCurvilinearAbscissa()
Get curvilinear abscissa along given constraint skeleton branch.
virtual void Show(bool show)
Show/Hide the gizmos using actor visibility instead of pipe creation/destruction: this is used for fa...
albaVMEGizmo * GetOutput()
void SetConstraintPolylineGraph(albaVMEPolylineGraph *constraintPolylineGraph)
Set the constraint polyline graph.
virtual void CreateGizmoVTKData()
Creates VTK pipeline for the gizmo.
static albaGizmoPolylineGraph * New(albaVME *inputVme, albaObserver *Listener=NULL, const char *name="GizmoPath", bool showOnlyDirectionAxis=false, bool testMode=false)
The only way to construct correctly the instance.
void SetInput(albaVME *vme)
Not used since this gizmo is not moving anything.
albaInteractorGenericMouse * m_LeftMouseInteractor
virtual void SetCurvilinearAbscissa(vtkIdType branchId, double s)
Set curvilinear abscissa along given constraint skeleton branch.
vtkPlaneSource * m_PlaneSource
vtkAppendPolyData * m_AppendPolyData
@ CONSTRAINT_MODALITY_NUMBERS
virtual void CreateInteractor()
Creates the interactor for the gizmo.
vtkIdType GetActiveBranchId()
Get the active branch ie the branch to which gizmo is currently constrained.
albaGizmoPolylineGraph(albaVME *inputVme, albaObserver *Listener=NULL, const char *name="GizmoPath", bool showOnlyDirectionAxis=false, bool testMode=false)
void OnEvent(albaEventBase *alba_event)
Events handling method.
virtual void Delete()
The only way to destruct correctly the instance.
virtual void InternalInitInstance()
Initializes the object.
virtual void DestroyVMEGizmo()
Destroys the gizmo.
virtual void CreateVMEGizmo()
Creates the gizmo.
virtual void DestroyGizmoVTKData()
Destroys VTK pipeline for the gizmo.
albaInteractorCompositorMouse * m_GizmoInteractor
virtual void InternalRelease()
Finalizes the object.
virtual void SetColor(double col[3])
Set the gizmo color.
Associates instances of albaInteractorGenericMouse to mouse buttons and ctrl/shift keys combinations.
Constrained interaction with mouse device.
Interface implementing the Observer of the Subject/Observer design pattern.
albaString - performs common string operations on c-strings.