IGSTK
igstkEllipsoidObjectRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkEllipsoidObjectRepresentation.h,v $
5  Language: C++
6  Date: $Date: 2008-02-11 01:41:50 $
7  Version: $Revision: 1.15 $
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 __igstkEllipsoidObjectRepresentation_h
19 #define __igstkEllipsoidObjectRepresentation_h
20 
21 #include "igstkMacros.h"
23 #include "igstkEllipsoidObject.h"
24 #include "vtkSuperquadricSource.h"
25 #include "igstkStateMachine.h"
26 
27 namespace igstk
28 {
29 
44 : public ObjectRepresentation
45 {
46 
47 public:
48 
52 
53 public:
54 
56  typedef EllipsoidObject EllipsoidObjectType;
57 
59  Pointer Copy() const;
60 
62  void RequestSetEllipsoidObject( const EllipsoidObjectType * ellipsoidObject );
63 
64 protected:
65 
67  virtual ~EllipsoidObjectRepresentation( void );
68 
70  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
71 
73  void CreateActors();
74 
75 private:
76 
78  EllipsoidObjectType::ConstPointer m_EllipsoidObject;
79 
81  vtkSuperquadricSource * m_EllipsoidSource;
82 
84  virtual void UpdateRepresentationProcessing();
85 
88  void SetEllipsoidObjectProcessing();
89 
91  void NoProcessing();
92 
93 private:
94 
96  igstkDeclareInputMacro( ValidEllipsoidObject );
97  igstkDeclareInputMacro( NullEllipsoidObject );
98 
100  igstkDeclareStateMacro( NullEllipsoidObject );
101  igstkDeclareStateMacro( ValidEllipsoidObject );
102 
103  EllipsoidObjectType::ConstPointer m_EllipsoidObjectToAdd;
104 
105 };
106 
107 } // end namespace igstk
108 
109 #endif // __igstkEllipsoidObjectRepresentation_h