00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkTubeObjectRepresentation_h
00019 #define __igstkTubeObjectRepresentation_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkObjectRepresentation.h"
00023 #include "igstkTubeObject.h"
00024 #include "igstkStateMachine.h"
00025
00026 namespace igstk
00027 {
00028
00041 class TubeObjectRepresentation
00042 : public ObjectRepresentation
00043 {
00044
00045 public:
00046
00048 igstkStandardClassTraitsMacro( TubeObjectRepresentation,
00049 ObjectRepresentation )
00050
00051 public:
00052
00053 typedef TubeObject TubeObjectType;
00054
00056 Pointer Copy() const;
00057
00059 void RequestSetTubeObject( const TubeObjectType * TubeObject );
00060
00061 protected:
00062
00064 TubeObjectRepresentation( void );
00065
00067 ~TubeObjectRepresentation( void );
00068
00070 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00071
00073 void CreateActors();
00074
00075 private:
00076
00078 TubeObjectType::ConstPointer m_TubeSpatialObject;
00079
00081 virtual void UpdateRepresentationProcessing();
00082
00085 void SetTubeObjectProcessing();
00086
00088 void NoProcessing();
00089
00090 private:
00091
00093 igstkDeclareInputMacro( ValidTubeObject );
00094 igstkDeclareInputMacro( NullTubeObject );
00095
00097 igstkDeclareStateMacro( NullTubeObject );
00098 igstkDeclareStateMacro( ValidTubeObject );
00099
00100 TubeObjectType::ConstPointer m_TubeObjectToAdd;
00101
00102 };
00103
00104
00105 }
00106
00107 #endif // __igstkTubeObjectRepresentation_h