NIREP

NIREPvtkViewImage Class Reference

Base class for 2D/3D image viewers, see NIREPvtkViewImage2D and vtkViewImage3D. More...

Inheritance diagram for NIREPvtkViewImage:
Collaboration diagram for NIREPvtkViewImage:

List of all members.

Public Types

enum  { FullRange, UserDefinedPercentage }
enum  DirectionIds { X_ID, Y_ID, Z_ID, NB_DIRECTION_IDS }
enum  EventIds { ViewImagePositionChangeEvent = (vtkCommand::UserEvent+1), ViewImageWindowLevelChangeEvent, ViewImageZoomChangeEvent }
enum  PlanIds { SAGITTAL_ID, CORONAL_ID, AXIAL_ID, NB_PLAN_IDS }

Public Member Functions

virtual vtkActor * AddDataSet (vtkDataSet *dataset, vtkProperty *property=NULL)
virtual void ColorDataSetByArray (vtkDataSet *dataset, const char *arrayname, vtkColorTransferFunction *transfer)
virtual void EndWindowing (void)
virtual const double * GetCurrentPoint () const
void GetCurrentPoint (double p_point[3]) const
virtual double GetCurrentPointDoubleValue ()
virtual void GetCurrentVoxelCoordinates (int p_coordinates[3])
vtkDataSet * GetDataSet (unsigned int i)
vtkActor * GetDataSetActor (unsigned int i)
vtkActor * GetDataSetActor (vtkDataSet *dataset)
vtkDataSet * GetDataSetFromActor (vtkActor *actor)
virtual vtkScalarsToColors * GetLookupTable (void) const
virtual const char * GetPatientNameData (void) const
virtual void GetPositionForSlice (int slice, int orientation, double pos[3])
int GetScalarBarVisibility (void) const
virtual const char * GetSerieNameData (void) const
virtual const char * GetSizeData (void) const
virtual int GetSlice (unsigned int p_orientation)
virtual int GetSliceForPosition (const double pos[3], unsigned int p_orientation)
virtual const char * GetStudyNameData (void) const
void GetVoxelCoordinates (double pos[3], int p_coordinates[3])
virtual double GetWholeMaxPosition (unsigned int p_axis)
virtual double GetWholeMinPosition (unsigned int p_axis)
virtual bool HasDataSet (vtkDataSet *dataset)
virtual void ModifyActors (vtkDataSet *dataset, bool cellColors)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual void RemoveAllDataSet ()
virtual void RemoveDataSet (vtkDataSet *dataset)
virtual void RemoveMaskImage (void)
virtual void RemoveOverlappingImage (void)
virtual void Reset (void)
virtual void ResetCurrentPoint ()
virtual void ResetWindowLevel ()
virtual void ResetZoom ()
virtual void SetCurrentPoint (const double p_point[3])
virtual void SetLevel (double lev)
virtual void SetLookupTable (vtkScalarsToColors *lut)
virtual void SetMaskImage (vtkImageData *mask, vtkLookupTable *lut)
virtual void SetOverlappingImage (vtkImageData *image)
virtual void SetPatientNameData (const char *str)
void SetPosition (const double p_point[3])
void SetResetWindowLevelMode (const int &mode)
void SetResetWindowLevelModeToFullRange (void)
void SetResetWindowLevelModeToUserDefinedPercentage (void)
void SetScalarBarVisibility (int v)
virtual void SetSerieNameData (const char *str)
virtual void SetSizeData (const char *str)
virtual void SetSizeDataVisibility (int val)
virtual void SetSlice (unsigned int p_orientation, int p_slice)
virtual void SetStudyNameData (const char *str)
virtual void SetWindow (double win)
virtual void SetWindowLevelFrom (NIREPvtkViewImage *p_view)
virtual void SetZoom (double zoom)
virtual void SetZSlice (int p_slice)
virtual void StartWindowing (void)
vtkActor * SyncAddDataSet (vtkDataSet *dataset, vtkProperty *property=NULL)
void SyncColorDataSetByArray (vtkDataSet *dataset, const char *arrayname, vtkColorTransferFunction *transfer)
void SyncEndWindowing (void)
void SyncModifyActors (vtkDataSet *dataset, bool cellColors)
void SyncRemoveAllDataSet ()
void SyncRemoveDataSet (vtkDataSet *dataset)
void SyncRemoveMaskImage ()
void SyncRemoveOverlappingImage ()
void SyncReset ()
void SyncResetCurrentPoint ()
void SyncResetPosition ()
void SyncResetWindowLevel ()
void SyncResetZoom ()
void SyncSetCurrentPoint (const double p_point[3])
void SyncSetLevel (double l)
void SyncSetLookupTable (vtkScalarsToColors *lut)
void SyncSetMaskImage (vtkImageData *mask, vtkLookupTable *lut)
void SyncSetOverlappingImage (vtkImageData *image)
void SyncSetPosition (const double p_point[3])
virtual void SyncSetSlice (unsigned int p_orientation, int p_slice)
void SyncSetWindow (double w)
void SyncSetZoom (double factor)
void SyncSetZSlice (int p_slice)
void SyncStartWindowing (void)
virtual void UpdatePosition (void)
 vtkBooleanMacro (Visibility, int)
 vtkBooleanMacro (SizeDataVisibility, int)
 vtkBooleanMacro (ScalarBarVisibility, int)
 vtkGetMacro (Zoom, double)
 vtkGetMacro (Scale, double)
 vtkGetMacro (LinkZoom, int)
 vtkGetMacro (Shift, double)
 vtkGetMacro (Window, double)
 vtkGetMacro (SizeDataVisibility, int)
 vtkGetMacro (LinkPosition, int)
 vtkGetMacro (WindowLevelPercentage, double)
 vtkGetMacro (Level, double)
 vtkGetMacro (LinkWindowLevel, int)
 vtkGetMacro (Visibility, int)
 vtkGetObjectMacro (OverlappingImage, vtkImageData)
 vtkGetObjectMacro (Image, vtkImageData)
 vtkGetObjectMacro (ScalarBar, vtkScalarBarWidget)
 vtkGetObjectMacro (MaskImage, vtkImageData)
 vtkGetObjectMacro (Transform, vtkTransform)
 vtkSetMacro (Scale, double)
 vtkSetMacro (WindowLevelPercentage, double)
 vtkSetMacro (LinkWindowLevel, int)
 vtkSetMacro (Visibility, int)
 vtkSetMacro (LinkZoom, int)
 vtkSetMacro (LinkPosition, int)
 vtkSetMacro (Shift, double)
 vtkSetObjectMacro (Transform, vtkTransform)
 vtkSetObjectMacro (Image, vtkImageData)
 vtkTypeRevisionMacro (NIREPvtkViewImage, vtkSynchronizedView)

Static Public Member Functions

static unsigned int GetOrthogonalAxis (unsigned int p_plan)
static NIREPvtkViewImageNew ()

Protected Member Functions

virtual void Initialize (void)
 NIREPvtkViewImage ()
virtual void RegisterImage (vtkImageData *image)
virtual void Uninitialize (void)
 vtkGetMacro (FirstImage, int)
 vtkSetMacro (FirstImage, int)
 ~NIREPvtkViewImage ()

Protected Attributes

std::vector< vtkActor * > DataSetActorList
std::vector< vtkDataSet * > DataSetList

Detailed Description

Base class for 2D/3D image viewers, see NIREPvtkViewImage2D and vtkViewImage3D.

Author:
: Pierre Fillard & Marc Traina & Nicolas Toussaint

Member Enumeration Documentation

anonymous enum
Enumerator:
FullRange 
UserDefinedPercentage 

Indices use in Vtk referentials corresponding to the standard x, y and z unitary vectors.

Enumerator:
X_ID 
Y_ID 
Z_ID 
NB_DIRECTION_IDS 
Enumerator:
ViewImagePositionChangeEvent 
ViewImageWindowLevelChangeEvent 
ViewImageZoomChangeEvent 

Ids of the 2D plan displayed in the view. Each 2D plan is defined with regard to one of the 3 directions (x,y,z).

Enumerator:
SAGITTAL_ID 
CORONAL_ID 
AXIAL_ID 
NB_PLAN_IDS 

Constructor & Destructor Documentation

NIREPvtkViewImage::NIREPvtkViewImage ( ) [protected]
NIREPvtkViewImage::~NIREPvtkViewImage ( ) [protected]

Member Function Documentation

vtkActor * NIREPvtkViewImage::AddDataSet ( vtkDataSet *  dataset,
vtkProperty *  property = NULL 
) [virtual]

Add a dataset to the view (polydata or grid). The dataset will be cut by planes defining the current slice displayed. This results in a loss of dimensionality, i.e. tetrahedron will be displayed as triangles, triangles as lines, lines as points. A vtkProperty of the dataset can be specified. This method is synchronized.

Reimplemented in Checkerboard, Grid, NIREPvtkViewImage2D, VectorField, and Wipe.

void NIREPvtkViewImage::ColorDataSetByArray ( vtkDataSet *  dataset,
const char *  arrayname,
vtkColorTransferFunction *  transfer 
) [virtual]

This method colorizes a given dataset (previously added with AddDataSet()) by one of its arrays It doesn't handle colorization by a specific component yet. If the array contains multi-component scalars, it takes the norm of the vector. This method is synchronized.

virtual void NIREPvtkViewImage::EndWindowing ( void  ) [inline, virtual]

This method is called just after windowing. Subclass should give it a meaning.

virtual const double* NIREPvtkViewImage::GetCurrentPoint ( ) const [inline, virtual]

Returns the current point.

void NIREPvtkViewImage::GetCurrentPoint ( double  p_point[3]) const [inline]
double NIREPvtkViewImage::GetCurrentPointDoubleValue ( ) [virtual]

Get the image value of the current point in double.

void NIREPvtkViewImage::GetCurrentVoxelCoordinates ( int  p_coordinates[3]) [virtual]

Fill the p_coordinates parameter with the coordinates of the voxel corresponding to the current point.

vtkDataSet * NIREPvtkViewImage::GetDataSet ( unsigned int  i)
vtkActor * NIREPvtkViewImage::GetDataSetActor ( unsigned int  i)
vtkActor * NIREPvtkViewImage::GetDataSetActor ( vtkDataSet *  dataset)
vtkDataSet * NIREPvtkViewImage::GetDataSetFromActor ( vtkActor *  actor)
virtual vtkScalarsToColors* NIREPvtkViewImage::GetLookupTable ( void  ) const [inline, virtual]
unsigned int NIREPvtkViewImage::GetOrthogonalAxis ( unsigned int  p_plan) [static]

Get the id of the axis orthogonal to the given plan (x for sagittal, y for coronal and z for axial).

virtual const char* NIREPvtkViewImage::GetPatientNameData ( void  ) const [inline, virtual]
void NIREPvtkViewImage::GetPositionForSlice ( int  slice,
int  orientation,
double  pos[3] 
) [virtual]

Given a slice and an orientation, returns the real world coordinates.

int NIREPvtkViewImage::GetScalarBarVisibility ( void  ) const [inline]
virtual const char* NIREPvtkViewImage::GetSerieNameData ( void  ) const [inline, virtual]
virtual const char* NIREPvtkViewImage::GetSizeData ( void  ) const [inline, virtual]
int NIREPvtkViewImage::GetSlice ( unsigned int  p_orientation) [virtual]
int NIREPvtkViewImage::GetSliceForPosition ( const double  pos[3],
unsigned int  p_orientation 
) [virtual]

Return the Z slice for the given position pos in real world coordinates. The Z slice is relative to a given orientation.

virtual const char* NIREPvtkViewImage::GetStudyNameData ( void  ) const [inline, virtual]
void NIREPvtkViewImage::GetVoxelCoordinates ( double  pos[3],
int  p_coordinates[3] 
)

Return the voxel coordinates of the point pos.

double NIREPvtkViewImage::GetWholeMaxPosition ( unsigned int  p_axis) [virtual]

Get the end position of the last pixel in the given axis.

double NIREPvtkViewImage::GetWholeMinPosition ( unsigned int  p_axis) [virtual]

Get the begining position of the first pixel in the given axis. Note : the position (0,0,0) is the center of the first pixel (0,0,0) so the return value can be negative, depending of the origin of the image.

bool NIREPvtkViewImage::HasDataSet ( vtkDataSet *  dataset) [virtual]

Test if the dataset was already passed to the view.

void NIREPvtkViewImage::Initialize ( void  ) [protected, virtual]

Reimplemented in NIREPvtkViewImage2D.

void NIREPvtkViewImage::ModifyActors ( vtkDataSet *  dataset,
bool  cellColors 
) [virtual]

This method changes the actors associated with a given dataset (previously added with AddDataSet()) to switch between the use of cell array or point data array. Used for switch between color and direction based colors of fiber bundles projections. This method is synchronized.

static NIREPvtkViewImage* NIREPvtkViewImage::New ( ) [static]
void NIREPvtkViewImage::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Reimplemented in NIREPvtkViewImage2D.

void NIREPvtkViewImage::RegisterImage ( vtkImageData *  image) [protected, virtual]

Register the image. Internal Use Only.

void NIREPvtkViewImage::RemoveAllDataSet ( ) [virtual]
void NIREPvtkViewImage::RemoveDataSet ( vtkDataSet *  dataset) [virtual]

This method allows you to remove a previously added dataset off the view. It simply removes the actor from the renderer. This method is synchronized.

virtual void NIREPvtkViewImage::RemoveMaskImage ( void  ) [inline, virtual]

Remove the mask image (if any)

Reimplemented in NIREPvtkViewImage2D.

virtual void NIREPvtkViewImage::RemoveOverlappingImage ( void  ) [inline, virtual]

Remove the overlapping image (if any)

Reimplemented in NIREPvtkViewImage2D.

virtual void NIREPvtkViewImage::Reset ( void  ) [inline, virtual]

Reset Window-Level, current point and zoom. This method is synchronized.

void NIREPvtkViewImage::ResetCurrentPoint ( ) [virtual]

Reset the current point to the center of the image in the 3 axes. This method is synchronized.

void NIREPvtkViewImage::ResetWindowLevel ( ) [virtual]

Reset window level to calculated default value. This method is synchronized , except it LinkWindowLevel if set to 0.

void NIREPvtkViewImage::ResetZoom ( void  ) [virtual]

Reset the current zoom factor.

Reimplemented in NIREPvtkViewImage2D.

void NIREPvtkViewImage::SetCurrentPoint ( const double  p_point[3]) [virtual]

Change the current position of the image. This method is synchronized.

virtual void NIREPvtkViewImage::SetLevel ( double  lev) [inline, virtual]

Set/Get the window/level/zoom parameter. This method is synchronized , except it LinkWindowLevel if set to 0.

Reimplemented in Checkerboard, Grid, NIREPvtkViewImage2D, VectorField, and Wipe.

virtual void NIREPvtkViewImage::SetLookupTable ( vtkScalarsToColors *  lut) [inline, virtual]

Set/Get a user-defined lookup table. This method is synchronized.

Reimplemented in Checkerboard, Grid, NIREPvtkViewImage2D, VectorField, and Wipe.

virtual void NIREPvtkViewImage::SetMaskImage ( vtkImageData *  mask,
vtkLookupTable *  lut 
) [inline, virtual]

Set/Get a mask image and its corresponding LookupTable. The mask image will be overlapped to the current image, and the lookup table is used to assess the color of the label: label 0 will have color given by entry 0 of the LUT, etc. The image has to be of type unsigned char. This method is synchronized.

Reimplemented in NIREPvtkViewImage2D.

virtual void NIREPvtkViewImage::SetOverlappingImage ( vtkImageData *  image) [inline, virtual]

Set an overlapping second image. It uses an internal LUT to assess the color. It does not need to be of type unsigned char. This method is synchronized.

Reimplemented in NIREPvtkViewImage2D.

void NIREPvtkViewImage::SetPatientNameData ( const char *  str) [virtual]
void NIREPvtkViewImage::SetPosition ( const double  p_point[3]) [inline]

Synonym to SetCurrentPoint().

void NIREPvtkViewImage::SetResetWindowLevelMode ( const int &  mode) [inline]

Specify how the ResetWindowLevel() method behaves. If set to FullRange, ResetWindowLevel() sets the contrast to match the full range of the image i.e: 0:range[0] and 255: range[1]. If set to UserDefinedPercentage, the X% highest and lowest voxels are removed to calculate the range. It is more robust to outliers that have a very high and low intensity compared to the main element of the image. The percentage is set with SetWindowLevelPercentage() (default: 0.1).

void NIREPvtkViewImage::SetResetWindowLevelModeToFullRange ( void  ) [inline]
void NIREPvtkViewImage::SetResetWindowLevelModeToUserDefinedPercentage ( void  ) [inline]
void NIREPvtkViewImage::SetScalarBarVisibility ( int  v) [inline]

Set/Get the scalar bar visibility

void NIREPvtkViewImage::SetSerieNameData ( const char *  str) [virtual]
void NIREPvtkViewImage::SetSizeData ( const char *  str) [virtual]

Set/Get method for setting the size data. Size data consists in the slice number and voxel size + window/level and is displayed at the top left corner of the window.

void NIREPvtkViewImage::SetSizeDataVisibility ( int  val) [virtual]

Set/Get the size data visibility.

void NIREPvtkViewImage::SetSlice ( unsigned int  p_orientation,
int  p_slice 
) [virtual]

Set/Get the slice number within the current point is

Parameters:
p_slice: the desired slice
p_orientation: the desired slice type AXIAL, SAGITTAL, CORONAL.
void NIREPvtkViewImage::SetStudyNameData ( const char *  str) [virtual]
virtual void NIREPvtkViewImage::SetWindow ( double  win) [inline, virtual]

Set/Get the window/level/zoom parameter. This method is synchronized , except it LinkWindowLevel if set to 0.

Reimplemented in Checkerboard, Grid, NIREPvtkViewImage2D, VectorField, and Wipe.

void NIREPvtkViewImage::SetWindowLevelFrom ( NIREPvtkViewImage p_view) [virtual]

Set (copy) the windows level from given view window level.

virtual void NIREPvtkViewImage::SetZoom ( double  zoom) [inline, virtual]

Set/Get the window/level/zoom parameter. This method is synchronized unless LinkZoom is set to 0.

Reimplemented in NIREPvtkViewImage2D.

virtual void NIREPvtkViewImage::SetZSlice ( int  p_slice) [inline, virtual]

Set the Slice to display. Z is relative to the displayed plan.

Reimplemented in NIREPvtkViewImage2D.

virtual void NIREPvtkViewImage::StartWindowing ( void  ) [inline, virtual]

This method is called just before windowing. Subclass should give it a meaning.

vtkActor * NIREPvtkViewImage::SyncAddDataSet ( vtkDataSet *  dataset,
vtkProperty *  property = NULL 
)
void NIREPvtkViewImage::SyncColorDataSetByArray ( vtkDataSet *  dataset,
const char *  arrayname,
vtkColorTransferFunction *  transfer 
)
void NIREPvtkViewImage::SyncEndWindowing ( void  )
void NIREPvtkViewImage::SyncModifyActors ( vtkDataSet *  dataset,
bool  cellColors 
)
void NIREPvtkViewImage::SyncRemoveAllDataSet ( )
void NIREPvtkViewImage::SyncRemoveDataSet ( vtkDataSet *  dataset)
void NIREPvtkViewImage::SyncRemoveMaskImage ( )
void NIREPvtkViewImage::SyncRemoveOverlappingImage ( )
void NIREPvtkViewImage::SyncReset ( )
void NIREPvtkViewImage::SyncResetCurrentPoint ( )
void NIREPvtkViewImage::SyncResetPosition ( ) [inline]
void NIREPvtkViewImage::SyncResetWindowLevel ( )
void NIREPvtkViewImage::SyncResetZoom ( )
void NIREPvtkViewImage::SyncSetCurrentPoint ( const double  p_point[3])
void NIREPvtkViewImage::SyncSetLevel ( double  l)
void NIREPvtkViewImage::SyncSetLookupTable ( vtkScalarsToColors *  lut)
void NIREPvtkViewImage::SyncSetMaskImage ( vtkImageData *  mask,
vtkLookupTable *  lut 
)
void NIREPvtkViewImage::SyncSetOverlappingImage ( vtkImageData *  image)
void NIREPvtkViewImage::SyncSetPosition ( const double  p_point[3]) [inline]
void NIREPvtkViewImage::SyncSetSlice ( unsigned int  p_orientation,
int  p_slice 
) [virtual]
void NIREPvtkViewImage::SyncSetWindow ( double  w)
void NIREPvtkViewImage::SyncSetZoom ( double  factor)
void NIREPvtkViewImage::SyncSetZSlice ( int  p_slice)
void NIREPvtkViewImage::SyncStartWindowing ( void  )
void NIREPvtkViewImage::Uninitialize ( void  ) [protected, virtual]

Reimplemented in NIREPvtkViewImage2D.

virtual void NIREPvtkViewImage::UpdatePosition ( void  ) [inline, virtual]

Ensure that the displayed point is up to date. Should be overriden by subclasses.

Reimplemented in Checkerboard, Grid, NIREPvtkViewImage2D, VectorField, and Wipe.

NIREPvtkViewImage::vtkBooleanMacro ( ScalarBarVisibility  ,
int   
)
NIREPvtkViewImage::vtkBooleanMacro ( SizeDataVisibility  ,
int   
)
NIREPvtkViewImage::vtkBooleanMacro ( Visibility  ,
int   
)
NIREPvtkViewImage::vtkGetMacro ( LinkZoom  ,
int   
)
NIREPvtkViewImage::vtkGetMacro ( Shift  ,
double   
)
NIREPvtkViewImage::vtkGetMacro ( SizeDataVisibility  ,
int   
)
NIREPvtkViewImage::vtkGetMacro ( FirstImage  ,
int   
) [protected]
NIREPvtkViewImage::vtkGetMacro ( LinkWindowLevel  ,
int   
)
NIREPvtkViewImage::vtkGetMacro ( Visibility  ,
int   
)
NIREPvtkViewImage::vtkGetMacro ( WindowLevelPercentage  ,
double   
)
NIREPvtkViewImage::vtkGetMacro ( Scale  ,
double   
)
NIREPvtkViewImage::vtkGetMacro ( Window  ,
double   
)
NIREPvtkViewImage::vtkGetMacro ( Zoom  ,
double   
)
NIREPvtkViewImage::vtkGetMacro ( Level  ,
double   
)
NIREPvtkViewImage::vtkGetMacro ( LinkPosition  ,
int   
)
NIREPvtkViewImage::vtkGetObjectMacro ( MaskImage  ,
vtkImageData   
)
NIREPvtkViewImage::vtkGetObjectMacro ( Transform  ,
vtkTransform   
)
NIREPvtkViewImage::vtkGetObjectMacro ( OverlappingImage  ,
vtkImageData   
)
NIREPvtkViewImage::vtkGetObjectMacro ( Image  ,
vtkImageData   
)

Get the current image.

NIREPvtkViewImage::vtkGetObjectMacro ( ScalarBar  ,
vtkScalarBarWidget   
)

Get the ScalarBarActor.

NIREPvtkViewImage::vtkSetMacro ( Scale  ,
double   
)

Shift/Scale are used to get the true image intensity if the image was scaled before being inputed to the view.

NIREPvtkViewImage::vtkSetMacro ( LinkZoom  ,
int   
)

Set the zoom link ON or OFF.

NIREPvtkViewImage::vtkSetMacro ( Visibility  ,
int   
)

Set/Get the image visibility.

NIREPvtkViewImage::vtkSetMacro ( LinkWindowLevel  ,
int   
)

Set the color window/level link ON or OFF.

NIREPvtkViewImage::vtkSetMacro ( LinkPosition  ,
int   
)

Set the position link ON or OFF.

NIREPvtkViewImage::vtkSetMacro ( Shift  ,
double   
)

Shift/Scale are used to get the true image intensity if the image was scaled before being inputed to the view.

NIREPvtkViewImage::vtkSetMacro ( WindowLevelPercentage  ,
double   
)

Set the percentage of voxels used to reset the window/level range when the reset window/level mode is set to UserDefinedPercentage.

NIREPvtkViewImage::vtkSetMacro ( FirstImage  ,
int   
) [protected]
NIREPvtkViewImage::vtkSetObjectMacro ( Image  ,
vtkImageData   
)

Set the current image.

NIREPvtkViewImage::vtkSetObjectMacro ( Transform  ,
vtkTransform   
)

Get/Set the transformation to be applied to the image.

NIREPvtkViewImage::vtkTypeRevisionMacro ( NIREPvtkViewImage  ,
vtkSynchronizedView   
)

Member Data Documentation

std::vector<vtkActor*> NIREPvtkViewImage::DataSetActorList [protected]
std::vector<vtkDataSet*> NIREPvtkViewImage::DataSetList [protected]
 All Classes Functions Variables Typedefs Enumerations Enumerator