00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __igstkMeshObjectRepresentation_h
00019 #define __igstkMeshObjectRepresentation_h
00020
00021 #include "igstkMacros.h"
00022 #include "igstkObjectRepresentation.h"
00023 #include "igstkMeshObject.h"
00024 #include "igstkStateMachine.h"
00025
00026 namespace igstk
00027 {
00028
00041 class MeshObjectRepresentation
00042 : public ObjectRepresentation
00043 {
00044
00045 public:
00046
00048 igstkStandardClassTraitsMacro( MeshObjectRepresentation,
00049 ObjectRepresentation )
00050
00051 public:
00052
00054 typedef MeshObject MeshObjectType;
00055
00057 Pointer Copy() const;
00058
00060 void RequestSetMeshObject( const MeshObjectType * MeshObject );
00061
00062 protected:
00063
00065 virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
00066
00068 MeshObjectRepresentation( void );
00069
00071 ~MeshObjectRepresentation( void );
00072
00074 void CreateActors();
00075
00076 private:
00077
00079 MeshObjectType::ConstPointer m_MeshObject;
00080
00082 virtual void UpdateRepresentationProcessing();
00083
00086 void SetMeshObjectProcessing();
00087
00089 void NoProcessing();
00090
00091 private:
00092
00094 igstkDeclareInputMacro( ValidMeshObject );
00095 igstkDeclareInputMacro( NullMeshObject );
00096
00098 igstkDeclareStateMacro( NullMeshObject );
00099 igstkDeclareStateMacro( ValidMeshObject );
00100
00101 MeshObjectType::ConstPointer m_MeshObjectToAdd;
00102
00103 };
00104
00105
00106 }
00107
00108 #endif // __igstkMeshObjectRepresentation_h