IGSTK
igstkCylinderObjectRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkCylinderObjectRepresentation.h,v $
5  Language: C++
6  Date: $Date: 2008-02-11 01:41:50 $
7  Version: $Revision: 1.18 $
8 
9  Copyright (c) ISC Insight Software Consortium. All rights reserved.
10  See IGSTKCopyright.txt or http://www.igstk.org/copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 
18 #ifndef __igstkCylinderObjectRepresentation_h
19 #define __igstkCylinderObjectRepresentation_h
20 
21 #include "igstkMacros.h"
23 #include "igstkCylinderObject.h"
24 #include "vtkCylinderSource.h"
25 #include "igstkStateMachine.h"
26 
27 namespace igstk
28 {
29 
46 : public ObjectRepresentation
47 {
48 
49 public:
50 
54 
55 public:
56 
58  typedef CylinderObject CylinderSpatialObjectType;
59 
61  Pointer Copy() const;
62 
64  void RequestSetCylinderObject( const CylinderSpatialObjectType *
65  cylinderObject );
66 
67 protected:
68 
70  virtual ~CylinderObjectRepresentation( void );
71 
73  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
74 
76  void CreateActors();
77 
78 private:
79 
81  CylinderSpatialObjectType::ConstPointer m_CylinderSpatialObject;
82 
84  vtkCylinderSource * m_CylinderSource;
85 
87  virtual void UpdateRepresentationProcessing();
88 
91  void SetCylinderObjectProcessing();
92 
95  void NoProcessing();
96 
97 private:
98 
100  igstkDeclareInputMacro( ValidCylinderObject );
101  igstkDeclareInputMacro( NullCylinderObject );
102 
104  igstkDeclareStateMacro( NullCylinderObject );
105  igstkDeclareStateMacro( ValidCylinderObject );
106 
107  CylinderSpatialObjectType::ConstPointer m_CylinderObjectToAdd;
108 
109 };
110 
111 
112 } // end namespace igstk
113 
114 #endif // __igstkCylinderObjectRepresentation_h