ALBA
albaAxes.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: ALBA (Agile Library for Biomedical Applications)
4 Module: albaAxes
5 Authors: Silvano Imboden , Stefano perticoni
6
7 Copyright (c) BIC
8 All rights reserved. See Copyright.txt or
9
10
11 This software is distributed WITHOUT ANY WARRANTY; without even
12 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the above copyright notice for more information.
14
15=========================================================================*/
16
17#ifndef __albaAxes_h
18#define __albaAxes_h
19
20//----------------------------------------------------------------------------
21// Forward declarations :
22//----------------------------------------------------------------------------
23class albaVME;
24class vtkRenderer;
25class vtkAxes;
26class vtkPolyDataMapper2D;
27class vtkCoordinate;
28class vtkActor2D;
29class vtkLookupTable;
30class vtkMatrix4x4;
31class vtkPolyData;
32class vtkALBAAnnotatedCubeActor;
33class vtkALBAOrientationMarkerWidget;
34class vtkALBAGlobalAxesPolydataActor;
35
36//----------------------------------------------------------------------------
37class ALBA_EXPORT albaAxes
72{
73public:
74
76 {
77 TRIAD = 0, // default: 2D actor representing 3 small axes attached to the main render window camera
78 CUBE, // 3D actor representing a rotating cube with anatomical directions annotations attached to the main render window camera
79 HEAD, // 3D actor representing a rotating head attached to the main render window camera
80 BODY, // 3D actor representing a rotating body attached to the main render window camera
82 };
83
85 albaAxes(vtkRenderer *ren, albaVME* vme = NULL, int axesType = TRIAD);
86 virtual ~albaAxes();
87
89 void SetVisibility(bool show);
90
93 void SetPose( vtkMatrix4x4 *abs_pose_matrix = NULL);
94
95protected:
96
98 vtkRenderer *m_Renderer;
99 vtkAxes *m_TriadAxes;
100 vtkPolyDataMapper2D *m_AxesMapper2D;
101 vtkCoordinate *m_Coord;
102 vtkActor2D *m_AxesActor2D;
103 vtkLookupTable *m_AxesLUT;
104
106 vtkALBAOrientationMarkerWidget *m_OrientationMarkerWidget ;
107 vtkALBAAnnotatedCubeActor *m_AnnotatedCubeActor;
108 vtkALBAGlobalAxesPolydataActor *m_GlobalAxesPolydataActor ;
109
111 friend class albaAxesTest;
112};
113#endif
Create 3D axes representation and insert them in the passed renderer: axes can be global (World Coord...
Definition: albaAxes.h:72
vtkALBAAnnotatedCubeActor * m_AnnotatedCubeActor
Definition: albaAxes.h:107
albaVME * m_Vme
Definition: albaAxes.h:97
AXIS_TYPE_ENUM
Definition: albaAxes.h:76
@ BODY
Definition: albaAxes.h:80
@ HEAD
Definition: albaAxes.h:79
@ NUMBER_OF_AXES_TYPES
Definition: albaAxes.h:81
@ CUBE
Definition: albaAxes.h:78
vtkAxes * m_TriadAxes
Definition: albaAxes.h:99
void SetVisibility(bool show)
Set the axes visibility.
vtkPolyDataMapper2D * m_AxesMapper2D
Definition: albaAxes.h:100
void SetPose(vtkMatrix4x4 *abs_pose_matrix=NULL)
Force the position of the Axes, if omitted the ABS vme matrix is used instead.
vtkRenderer * m_Renderer
Definition: albaAxes.h:98
vtkActor2D * m_AxesActor2D
Definition: albaAxes.h:102
vtkALBAGlobalAxesPolydataActor * m_GlobalAxesPolydataActor
Definition: albaAxes.h:108
int m_AxesType
Definition: albaAxes.h:105
virtual ~albaAxes()
vtkALBAOrientationMarkerWidget * m_OrientationMarkerWidget
Definition: albaAxes.h:106
vtkLookupTable * m_AxesLUT
Definition: albaAxes.h:103
vtkCoordinate * m_Coord
Definition: albaAxes.h:101
albaAxes(vtkRenderer *ren, albaVME *vme=NULL, int axesType=TRIAD)
Constructor note: given renderer ren cannot be NULL.
albaVME -
Definition: albaVME.h:150