00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkAxesObject_h
00019 #define __igstkAxesObject_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkSpatialObject.h"
00023 #include "itkGroupSpatialObject.h"
00024
00025 namespace igstk
00026 {
00027
00038 class AxesObject
00039 : public SpatialObject
00040 {
00041
00042 public:
00043
00045 igstkStandardClassTraitsMacro( AxesObject, SpatialObject )
00046
00047 public:
00048
00050 void SetSize(double x, double y, double z);
00051
00053 double GetSizeX() const;
00054
00056 double GetSizeY() const;
00057
00059 double GetSizeZ() const;
00060
00061 protected:
00062
00063 AxesObject( void );
00064 ~AxesObject( void );
00065
00067 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00068
00069 private:
00070
00072 typedef itk::GroupSpatialObject<3> AxesSpatialObjectType;
00073
00074 AxesObject(const Self&);
00075 void operator=(const Self&);
00076
00077 AxesSpatialObjectType::Pointer m_AxesSpatialObject;
00078
00079 double m_Size[3];
00080
00081 };
00082
00083 }
00084
00085 #endif // __igstkAxesObject_h