ALBA
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
albaAxes Class Reference

#include <albaAxes.h>

Collaboration diagram for albaAxes:
Collaboration graph
[legend]

Public Types

enum  AXIS_TYPE_ENUM {
  TRIAD = 0 , CUBE , HEAD , BODY ,
  NUMBER_OF_AXES_TYPES
}
 

Public Member Functions

 albaAxes (vtkRenderer *ren, albaVME *vme=NULL, int axesType=TRIAD)
 
virtual ~albaAxes ()
 
void SetVisibility (bool show)
 
void SetPose (vtkMatrix4x4 *abs_pose_matrix=NULL)
 

Protected Attributes

albaVMEm_Vme
 
vtkRenderer * m_Renderer
 
vtkAxes * m_TriadAxes
 
vtkPolyDataMapper2D * m_AxesMapper2D
 
vtkCoordinate * m_Coord
 
vtkActor2D * m_AxesActor2D
 
vtkLookupTable * m_AxesLUT
 
int m_AxesType
 
vtkALBAOrientationMarkerWidget * m_OrientationMarkerWidget
 
vtkALBAAnnotatedCubeActor * m_AnnotatedCubeActor
 
vtkALBAGlobalAxesPolydataActor * m_GlobalAxesPolydataActor
 

Friends

class albaAxesTest
 

Detailed Description

Create 3D axes representation and insert them in the passed renderer: axes can be global (World Coordinates reference system )or local ( VME reference system ).

Axes representation can be: TRIAD: Common 3D refsys featuring 3 orthogonal axes CUBE: A rotating cube featuring orientation feedback letters on cube faces HEAD: A rotating head BODY: A rotating body

Some API use cases follows.

albaAxes(renderer, NULL, TRIAD); => Create a global axis triad 2D actor in the passed renderer albaAxes(renderer, vme, TRIAD); => Create a vme local axis triad 2D actor in the passed renderer

albaAxes(renderer, NULL, CUBE); => Create a 3D global axes cube on a new renderer and on a superimposed layer albaAxes(renderer, vme, CUBE); => BEWARE !!! NOT SUPPORTED !!!

albaAxes(renderer, NULL, HEAD); => Create a 3D global axes head on a new renderer and on a superimposed layer albaAxes(renderer, vme, HEAD); => Create a 3D local axes head on a new renderer and on a superimposed layer

albaAxes(renderer, NULL, BODY); => Create a 3D global axes body on a new renderer and on a superimposed layer albaAxes(renderer, vme, BODY); => Create a 3D local axes body on a new renderer and on a superimposed layer

If a vme is provided, the axes will represent the local vme-reference system.

If vme is NULL, the axes will represent the global reference system

See also
albaAxesTest for example usage
Todo:
API improvements needed, see albaAxesTest for api improvement use cases

Definition at line 37 of file albaAxes.h.

Member Enumeration Documentation

◆ AXIS_TYPE_ENUM

Enumerator
TRIAD 
CUBE 
HEAD 
BODY 
NUMBER_OF_AXES_TYPES 

Definition at line 75 of file albaAxes.h.

Constructor & Destructor Documentation

◆ albaAxes()

albaAxes::albaAxes ( vtkRenderer *  ren,
albaVME vme = NULL,
int  axesType = TRIAD 
)

Constructor note: given renderer ren cannot be NULL.

◆ ~albaAxes()

virtual albaAxes::~albaAxes ( )
virtual

Member Function Documentation

◆ SetVisibility()

void albaAxes::SetVisibility ( bool  show)

Set the axes visibility.

◆ SetPose()

void albaAxes::SetPose ( vtkMatrix4x4 *  abs_pose_matrix = NULL)

Force the position of the Axes, if omitted the ABS vme matrix is used instead.

Works only if a vme was specified in the constructor

Friends And Related Function Documentation

◆ albaAxesTest

friend class albaAxesTest
friend

friend test class

Definition at line 111 of file albaAxes.h.

Member Data Documentation

◆ m_Vme

albaVME* albaAxes::m_Vme
protected

Definition at line 97 of file albaAxes.h.

◆ m_Renderer

vtkRenderer* albaAxes::m_Renderer
protected

Definition at line 98 of file albaAxes.h.

◆ m_TriadAxes

vtkAxes* albaAxes::m_TriadAxes
protected

Definition at line 99 of file albaAxes.h.

◆ m_AxesMapper2D

vtkPolyDataMapper2D* albaAxes::m_AxesMapper2D
protected

Definition at line 100 of file albaAxes.h.

◆ m_Coord

vtkCoordinate* albaAxes::m_Coord
protected

Definition at line 101 of file albaAxes.h.

◆ m_AxesActor2D

vtkActor2D* albaAxes::m_AxesActor2D
protected

Definition at line 102 of file albaAxes.h.

◆ m_AxesLUT

vtkLookupTable* albaAxes::m_AxesLUT
protected

Definition at line 103 of file albaAxes.h.

◆ m_AxesType

int albaAxes::m_AxesType
protected

Definition at line 105 of file albaAxes.h.

◆ m_OrientationMarkerWidget

vtkALBAOrientationMarkerWidget* albaAxes::m_OrientationMarkerWidget
protected

Definition at line 106 of file albaAxes.h.

◆ m_AnnotatedCubeActor

vtkALBAAnnotatedCubeActor* albaAxes::m_AnnotatedCubeActor
protected

Definition at line 107 of file albaAxes.h.

◆ m_GlobalAxesPolydataActor

vtkALBAGlobalAxesPolydataActor* albaAxes::m_GlobalAxesPolydataActor
protected

Definition at line 108 of file albaAxes.h.


The documentation for this class was generated from the following file: