28#ifndef __albaGizmoCrossTranslatePlane_H__
29#define __albaGizmoCrossTranslatePlane_H__
36#include "vtkConeSource.h"
37#include "vtkTransform.h"
38#include "vtkTransformPolyDataFilter.h"
39#include "vtkCylinderSource.h"
40#include "vtkAppendPolyData.h"
52class vtkTransformPolyDataFilter;
136 void SetColor(
int part,
double colR,
double colG,
double colB);
Implementation of the message object for the Subject/Observer design pattern.
Basic gizmo component used to perform constrained translation on a plane.
albaInteractorCompositorMouse * m_IsaComp[2]
isa compositor
vtkTransform * m_RotationTr
rotation transform for cylinder and cone
vtkTransform * m_VerticalFeedbackCylinderTransform
vtkConeSource * m_FeedbackConeSource
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.
void CreateISA()
Create isa stuff.
bool m_IsActive
Register Gizmo status.
albaVMEGizmo * m_Gizmo[3]
Segments gizmo.
albaGizmoCrossTranslatePlane(albaVME *input, albaObserver *listener=NULL)
virtual void OnEvent(albaEventBase *alba_event)
Events handling.
vtkTransform * m_DownFeedbackConeTransform
vtkTransform * m_UpFeedbackConeTransform
vtkTransformPolyDataFilter * m_HorizontalFeedbackCylinderTransformPDF
void SetColor(int part, double col[3])
Gizmo color setting facilities for gizmo segments;.
void ShowTranslationFeedbackArrows(bool show)
Show the translation feedback arrows
void SetAbsPose(albaMatrix *absPose)
Set the abs pose.
vtkTransformPolyDataFilter * m_LeftFeedbackConeTransformPDF
vtkAppendPolyData * m_FeedbackStuffAppendPolydata
void SetConstrainRefSys(albaMatrix *constrain)
Set the constrain ref sys.
void SetIsActive(bool highlight)
Set/Get the activation status of the gizmo, When the gizmo is active it is sending pose matrices to t...
vtkTransformPolyDataFilter * m_RotatePDF[3]
rotate PDF for gizmo parts
vtkTransformPolyDataFilter * m_RightFeedbackConeTransformPDF
vtkTubeFilter * m_LineTF[2]
Tube filter for lines.
void Show(bool show)
Show plane translation gizmo.
vtkTransform * m_RightFeedbackConeTransform
void SetPlane(int axis)
Set/Get gizmo plane, default plane is X_NORMAL.
friend class albaGizmoTranslatePlaneTest
void SetSizeLength(double length)
Set/Get the side length of the gizmo.
albaInteractorGenericMouse * m_IsaGen[2]
isa generic
albaObserver * m_Listener
Register the event receiver object.
vtkTransformPolyDataFilter * m_DownFeedbackConeTransformPDF
vtkTransformPolyDataFilter * m_UpFeedbackConeTransformPDF
albaMatrix * GetAbsPose()
Get the gizmo abs pose.
vtkTransform * m_HorizontalFeedbackCylinderTransform
void CreateFeedbackGizmoPipeline()
Create feedback gizmo vtk objects.
int GetPlane()
Get gizmo Plane.
void CreatePipeline()
Create vtk objects needed.
vtkCylinderSource * m_FeedbackCylinderSource
void SetColor(int part, double colR, double colG, double colB)
albaVME * m_InputVme
Register input vme.
void SetConstraintModality(int axis, int constrainModality)
Set the constraint modality for the given axis; allowed constraint modality are: LOCK,...
albaVMEGizmo * m_TranslationFeedbackGizmo
Translation feedback arrows gizmo.
void SetListener(albaObserver *Listener)
Set the event receiver object.
vtkLineSource * m_Line[2]
Line source.
double m_Length
Register the gizmo square plane side length.
int m_ActivePlane
Register the gizmo plane.
virtual ~albaGizmoCrossTranslatePlane()
void Highlight(bool highlight)
Highlight gizmo.
vtkTransform * m_PivotTransform
Used by albaInteractorGenericMouse.
vtkTransformPolyDataFilter * m_VerticalFeedbackCylinderTransformPDF
vtkTransform * m_LeftFeedbackConeTransform
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.