17#ifndef __albaGizmoScaleAxis_H__
18#define __albaGizmoScaleAxis_H__
37class vtkCylinderSource;
38class vtkTransformPolyDataFilter;
136 vtkTransformPolyDataFilter *m_TranslatePDF[2];
139 vtkTransform *m_TranslateTr[2];
142 vtkTransformPolyDataFilter *m_RotatePDF[2];
161 void SetColor(
int part,
double colR,
double colG,
double colB);
162 void SetColor(
double cylCol[3],
double coneCol[3]);
163 void SetColor(
double cylR,
double cylG,
double cylB,
double coneR,
double coneG,
double coneB);
178 friend class albaGizmoScaleAxisTest;
Implementation of the message object for the Subject/Observer design pattern.
Base class for operations and views gizmos.
Basic gizmo component used to perform constrained scaling along one axis.
void SetColor(double cylR, double cylG, double cylB, double coneR, double coneG, double coneB)
albaGizmoScaleAxis(albaVME *input, albaObserver *listener=NULL)
albaObserver * m_Listener
Register the event receiver object.
void SetAxis(int axis)
Set/Get gizmo axis, default axis is X.
void CreateISA()
Create isa stuff.
vtkTransform * m_RotationTr
rotation transform for cylinder and cube
void CreatePipeline()
Create vtk objects needed.
void SetCubeLength(double length)
Set/Get the length of the cone.
void SetListener(albaObserver *Listener)
Set the event receiver object.
albaVMEGizmo * m_CubeGizmo
Cube gizmo.
void SetInput(albaVME *vme)
Set the gizmo generating vme; the gizmo will be centered on this vme.
void SetAbsPose(albaMatrix *absPose)
Set the abs pose.
bool m_Highlight
Register the highlight status.
virtual void OnEvent(albaEventBase *alba_event)
Events handling.
void SetColor(int part, double col[3])
Gizmo color setting facilities; part can be CYLINDER or CUBE.
void Show(bool show)
Show the gizmo.
albaMatrix * GetAbsPose()
Get the gizmo abs pose.
double GetCubeLength() const
void SetRefSysMatrix(albaMatrix *constrain)
Set the constrain ref sys.
double GetCylinderLength() const
void SetColor(int part, double colR, double colG, double colB)
void Highlight(bool highlight)
Highlight the gizmo.
vtkCubeSource * m_Cube
Cube source.
albaVME * m_InputVme
Register input vme.
bool m_Show
register the show status
void SetColor(double cylCol[3], double coneCol[3])
albaVMEGizmo * m_CylGizmo
cylinder gizmo
int m_Axis
Register the gizmo axis.
vtkCylinderSource * m_Cylinder
Cylinder source.
void SetCylinderLength(double length)
Set/Get the length of the cylinder.
virtual ~albaGizmoScaleAxis()
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.