00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkAxesObjectRepresentation_h
00019 #define __igstkAxesObjectRepresentation_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkObjectRepresentation.h"
00023 #include "igstkAxesObject.h"
00024 #include "igstkStateMachine.h"
00025
00026 namespace igstk
00027 {
00028
00046 class AxesObjectRepresentation
00047 : public ObjectRepresentation
00048 {
00049
00050 public:
00051
00053 igstkStandardClassTraitsMacro( AxesObjectRepresentation,
00054 ObjectRepresentation )
00055
00056 public:
00057
00059 typedef AxesObject AxesSpatialObjectType;
00060
00062 Pointer Copy() const;
00063
00065 void RequestSetAxesObject( const AxesSpatialObjectType * AxesObject );
00066
00067 protected:
00068
00069 AxesObjectRepresentation( void );
00070 virtual ~AxesObjectRepresentation( void );
00071
00073 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00074
00076 void CreateActors();
00077
00078 private:
00079
00080 AxesObjectRepresentation(const Self&);
00081 void operator=(const Self&);
00082
00084 AxesSpatialObjectType::ConstPointer m_AxesSpatialObject;
00085
00087 virtual void UpdateRepresentationProcessing();
00088
00091 void SetAxesObjectProcessing();
00092
00095 void NoProcessing();
00096
00097 private:
00098
00100 igstkDeclareInputMacro( ValidAxesObject );
00101 igstkDeclareInputMacro( NullAxesObject );
00102
00104 igstkDeclareStateMacro( NullAxesObject );
00105 igstkDeclareStateMacro( ValidAxesObject );
00106
00107 AxesSpatialObjectType::ConstPointer m_AxesObjectToAdd;
00108
00109 };
00110
00111
00112 }
00113
00114 #endif // __igstkAxesObjectRepresentation_h