IGSTK
igstkConeObjectRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkConeObjectRepresentation.h,v $
5  Language: C++
6  Date: $Date: 2008-02-11 01:41:50 $
7  Version: $Revision: 1.7 $
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 __igstkConeObjectRepresentation_h
19 #define __igstkConeObjectRepresentation_h
20 
21 #include "igstkMacros.h"
23 #include "igstkConeObject.h"
24 #include "vtkConeSource.h"
25 #include "igstkStateMachine.h"
26 
27 namespace igstk
28 {
29 
47 : public ObjectRepresentation
48 {
49 
50 public:
51 
55 
56 public:
57 
59  typedef ConeObject ConeSpatialObjectType;
60 
62  Pointer Copy() const;
63 
65  void RequestSetConeObject( const ConeSpatialObjectType * coneObject );
66 
67 protected:
68 
70  virtual ~ConeObjectRepresentation( void );
71 
72  ConeObjectRepresentation(const Self&); //purposely not implemented
73  void operator=(const Self&); //purposely not implemented
74 
76  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
77 
79  void CreateActors();
80 
81 private:
82 
84  ConeSpatialObjectType::ConstPointer m_ConeSpatialObject;
85 
87  vtkConeSource * m_ConeSource;
88 
90  virtual void UpdateRepresentationProcessing();
91 
94  void SetConeObjectProcessing();
95 
98  void NoProcessing();
99 
100 private:
101 
103  igstkDeclareInputMacro( ValidConeObject );
104  igstkDeclareInputMacro( NullConeObject );
105 
107  igstkDeclareStateMacro( NullConeObject );
108  igstkDeclareStateMacro( ValidConeObject );
109 
110  ConeSpatialObjectType::ConstPointer m_ConeObjectToAdd;
111 
112 };
113 
114 
115 } // end namespace igstk
116 
117 #endif // __igstkConeObjectRepresentation_h