00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkCylinderObjectRepresentation_h
00019 #define __igstkCylinderObjectRepresentation_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkObjectRepresentation.h"
00023 #include "igstkCylinderObject.h"
00024 #include "vtkCylinderSource.h"
00025 #include "igstkStateMachine.h"
00026
00027 namespace igstk
00028 {
00029
00045 class CylinderObjectRepresentation
00046 : public ObjectRepresentation
00047 {
00048
00049 public:
00050
00052 igstkStandardClassTraitsMacro( CylinderObjectRepresentation,
00053 ObjectRepresentation )
00054
00055 public:
00056
00058 typedef CylinderObject CylinderSpatialObjectType;
00059
00061 Pointer Copy() const;
00062
00064 void RequestSetCylinderObject( const CylinderSpatialObjectType *
00065 cylinderObject );
00066
00067 protected:
00068
00069 CylinderObjectRepresentation( void );
00070 virtual ~CylinderObjectRepresentation( void );
00071
00073 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00074
00076 void CreateActors();
00077
00078 private:
00079
00081 CylinderSpatialObjectType::ConstPointer m_CylinderSpatialObject;
00082
00084 vtkCylinderSource * m_CylinderSource;
00085
00087 virtual void UpdateRepresentationProcessing();
00088
00091 void SetCylinderObjectProcessing();
00092
00095 void NoProcessing();
00096
00097 private:
00098
00100 igstkDeclareInputMacro( ValidCylinderObject );
00101 igstkDeclareInputMacro( NullCylinderObject );
00102
00104 igstkDeclareStateMacro( NullCylinderObject );
00105 igstkDeclareStateMacro( ValidCylinderObject );
00106
00107 CylinderSpatialObjectType::ConstPointer m_CylinderObjectToAdd;
00108
00109 };
00110
00111
00112 }
00113
00114 #endif // __igstkCylinderObjectRepresentation_h