00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkEllipsoidObject_h
00019 #define __igstkEllipsoidObject_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkSpatialObject.h"
00023 #include "itkEllipseSpatialObject.h"
00024
00025 namespace igstk
00026 {
00027
00038 class EllipsoidObject
00039 : public SpatialObject
00040 {
00041
00042 public:
00043
00045 igstkStandardClassTraitsMacro( EllipsoidObject, SpatialObject )
00046
00047 public:
00048
00050 typedef itk::EllipseSpatialObject<3> EllipseSpatialObjectType;
00051 typedef EllipseSpatialObjectType::ArrayType ArrayType;
00052
00054 void SetRadius( double rx, double ry, double rz );
00055 void SetRadius( const ArrayType & radius );
00056
00058 const ArrayType & GetRadius() const;
00059
00060 protected:
00061
00062 EllipsoidObject( void );
00063 ~EllipsoidObject( void );
00064
00066 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00067
00068 private:
00069
00071 EllipseSpatialObjectType::Pointer m_EllipseSpatialObject;
00072
00073 };
00074
00075 }
00076
00077 #endif // __igstkEllipsoidObject_h