00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkConeObjectRepresentation_h
00019 #define __igstkConeObjectRepresentation_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkObjectRepresentation.h"
00023 #include "igstkConeObject.h"
00024 #include "vtkConeSource.h"
00025 #include "igstkStateMachine.h"
00026
00027 namespace igstk
00028 {
00029
00046 class ConeObjectRepresentation
00047 : public ObjectRepresentation
00048 {
00049
00050 public:
00051
00053 igstkStandardClassTraitsMacro( ConeObjectRepresentation,
00054 ObjectRepresentation )
00055
00056 public:
00057
00059 typedef ConeObject ConeSpatialObjectType;
00060
00062 Pointer Copy() const;
00063
00065 void RequestSetConeObject( const ConeSpatialObjectType * coneObject );
00066
00067 protected:
00068
00069 ConeObjectRepresentation( void );
00070 virtual ~ConeObjectRepresentation( void );
00071
00072 ConeObjectRepresentation(const Self&);
00073 void operator=(const Self&);
00074
00076 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00077
00079 void CreateActors();
00080
00081 private:
00082
00084 ConeSpatialObjectType::ConstPointer m_ConeSpatialObject;
00085
00087 vtkConeSource * m_ConeSource;
00088
00090 virtual void UpdateRepresentationProcessing();
00091
00094 void SetConeObjectProcessing();
00095
00098 void NoProcessing();
00099
00100 private:
00101
00103 igstkDeclareInputMacro( ValidConeObject );
00104 igstkDeclareInputMacro( NullConeObject );
00105
00107 igstkDeclareStateMacro( NullConeObject );
00108 igstkDeclareStateMacro( ValidConeObject );
00109
00110 ConeSpatialObjectType::ConstPointer m_ConeObjectToAdd;
00111
00112 };
00113
00114
00115 }
00116
00117 #endif // __igstkConeObjectRepresentation_h