IGSTK
igstkAxesObjectRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkAxesObjectRepresentation.h,v $
5  Language: C++
6  Date: $Date: 2008-02-11 01:41:50 $
7  Version: $Revision: 1.6 $
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 __igstkAxesObjectRepresentation_h
19 #define __igstkAxesObjectRepresentation_h
20 
21 #include "igstkMacros.h"
23 #include "igstkAxesObject.h"
24 #include "igstkStateMachine.h"
25 
26 namespace igstk
27 {
28 
47 : public ObjectRepresentation
48 {
49 
50 public:
51 
55 
56 public:
57 
59  typedef AxesObject AxesSpatialObjectType;
60 
62  Pointer Copy() const;
63 
65  void RequestSetAxesObject( const AxesSpatialObjectType * AxesObject );
66 
67 protected:
68 
70  virtual ~AxesObjectRepresentation( void );
71 
73  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
74 
76  void CreateActors();
77 
78 private:
79 
80  AxesObjectRepresentation(const Self&); //purposely not implemented
81  void operator=(const Self&); //purposely not implemented
82 
84  AxesSpatialObjectType::ConstPointer m_AxesSpatialObject;
85 
87  virtual void UpdateRepresentationProcessing();
88 
91  void SetAxesObjectProcessing();
92 
95  void NoProcessing();
96 
97 private:
98 
100  igstkDeclareInputMacro( ValidAxesObject );
101  igstkDeclareInputMacro( NullAxesObject );
102 
104  igstkDeclareStateMacro( NullAxesObject );
105  igstkDeclareStateMacro( ValidAxesObject );
106 
107  AxesSpatialObjectType::ConstPointer m_AxesObjectToAdd;
108 
109 };
110 
111 
112 } // end namespace igstk
113 
114 #endif // __igstkAxesObjectRepresentation_h
This class represents a Axes object.
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const
Print object information.
void RequestSetAxesObject(const AxesSpatialObjectType *AxesObject)
Connect this representation class to the spatial object.
This class provides a visual representation of an Axes object.
Base class for all the IGSTK classes.
Definition: igstkObject.h:40
void CreateActors()
Create the VTK actors.
#define igstkStandardClassTraitsMacro(classname, superclassname)
Convenience macro for traits of a non-templated class.
Definition: igstkMacros.h:275
defines standard system-wide macros, constants, and other common parameters in the IGSTK Library...
::itk::SmartPointer< Self > Pointer
Definition: igstkObject.h:50
virtual ~AxesObjectRepresentation(void)
An abstract base class for all the igstk representation objects.