18#ifndef __albaGizmoCrossTranslateAxis_H__
19#define __albaGizmoCrossTranslateAxis_H__
26#include "vtkConeSource.h"
37class vtkCylinderSource;
38class vtkTransformPolyDataFilter;
40class vtkAppendPolyData;
113 void SetColor(
double cylR,
double cylG,
double cylB);
Implementation of the message object for the Subject/Observer design pattern.
Basic gizmo component used to perform constrained translation on one axis.
vtkTransformPolyDataFilter * m_LeftDownFeedbackConeTransformPDF
vtkConeSource * m_FeedbackConeSource
vtkCylinderSource * m_LeftCylinder
Cylinder source.
void CreateTranslationGizmoPipeline()
Create vtk objects needed.
void SetAbsPose(albaMatrix *absPose)
Set the abs pose.
vtkAppendPolyData * m_Append
append two cylinders
void SetColor(double col[3])
Gizmo color setting facilities; part can be CYLINDER or CONE.
albaObserver * m_Listener
Register the event receiver object.
vtkTransform * m_RightUpFeedbackConeTransform
vtkTransform * m_RightTranslateTr
translation transform for cylinder and cone
albaInteractorGenericMouse * m_IsaGen
isa generic
void CreateISA()
Create isa stuff.
int m_Axis
Register the gizmo axis.
void SetConstraintModality(int axis, int constrainModality)
Set the constraint modality for the given axis; allowed constraint modality are: LOCK,...
vtkTransform * m_RightCylinderRotationTr
rotation transform for cylinder and cone
vtkTransformPolyDataFilter * m_RightFeedbackCylinderTransformPDF
vtkTransform * m_LeftUpFeedbackConeTransform
vtkTransformPolyDataFilter * m_RightUpFeedbackConeTransformPDF
vtkTransform * m_LeftDownFeedbackConeTransform
double m_CylinderLength
Cylinder length.
vtkAppendPolyData * m_FeedbackStuffAppendPolydata
void SetAxis(int axis)
Set/Get gizmo axis, default axis is X.
void SetCylinderLength(double length)
Set/Get the length of the cylinder.
albaGizmoCrossTranslateAxis(albaVME *input, albaObserver *listener=NULL)
void SetColor(double cylR, double cylG, double cylB)
vtkTransformPolyDataFilter * m_LeftTranslatePDF
translate PDF for cylinder and cone
vtkTransform * m_RightDownFeedbackConeTransform
void SetInput(albaVME *vme)
Set the gizmo generating vme; the gizmo will be centered on this vme.
void SetStep(int axis, double step)
Set the step value for snap step constraint type for the given axis.
virtual void OnEvent(albaEventBase *alba_event)
Events handling.
albaInteractorCompositorMouse * m_IsaComp
isa compositor
void SetRefSysMatrix(albaMatrix *constrain)
Set the constrain ref sys.
albaVMEGizmo * m_TranslationCylinderGizmo
Pickable translation cylinder gizmo.
double GetCylinderLength()
albaVMEGizmo * m_TranslationFeedbackGizmo
Translation feedback arrows gizmo.
vtkTransformPolyDataFilter * m_RightCylinderRotatePDF
rotate PDF for cylinder and cone
vtkTransform * m_RightFeedbackCylinderTransform
void Highlight(bool highlight)
Highlight the gizmo.
vtkTransformPolyDataFilter * m_RightDownFeedbackConeTransformPDF
albaVME * m_InputVme
Register input vme.
vtkTransformPolyDataFilter * m_LeftUpFeedbackConeTransformPDF
vtkTransformPolyDataFilter * m_LeftCylinderRotatePDF
rotate PDF for cylinder and cone
vtkCylinderSource * m_RightCylinder
Cylinder source.
void ShowTranslationFeedbackArrows(bool show)
Show the translation feedback arrows
vtkTransformPolyDataFilter * m_LeftFeedbackCylinderTransformPDF
void SetListener(albaObserver *Listener)
Set the event receiver object.
vtkCylinderSource * m_FeedbackCylinderSource
vtkTransform * m_LeftFeedbackCylinderTransform
void Show(bool show)
Show the gizmo.
vtkTransformPolyDataFilter * m_RightTranslatePDF
Cylinder and cone gizmo vme data.
virtual ~albaGizmoCrossTranslateAxis()
vtkTransform * m_LeftCylinderRotationTr
rotation transform for cylinder and cone
void CreateFeedbackGizmoPipeline()
Create translation feedback arrows stuff.
vtkTransform * m_LeftTranslateTr
translation transform for cylinder and cone
albaMatrix * GetAbsPose()
Get the gizmo abs pose.
friend class albaGizmoTranslateAxisTest
test friend
Base class for operations and views gizmos.
Associates instances of albaInteractorGenericMouse to mouse buttons and ctrl/shift keys combinations.
Constrained interaction with mouse device.
albaMatrix - Time stamped 4x4 Matrix.
Interface implementing the Observer of the Subject/Observer design pattern.