IGSTK
igstkAxesObject.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkAxesObject.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 __igstkAxesObject_h
19 #define __igstkAxesObject_h
20 
21 #include "igstkMacros.h"
22 #include "igstkSpatialObject.h"
23 #include "itkGroupSpatialObject.h"
24 
25 namespace igstk
26 {
27 
38 class AxesObject
39 : public SpatialObject
40 {
41 
42 public:
43 
46 
47 public:
48 
50  void SetSize(double x, double y, double z);
51 
53  double GetSizeX() const;
54 
56  double GetSizeY() const;
57 
59  double GetSizeZ() const;
60 
61 protected:
62 
63  AxesObject( void );
64  ~AxesObject( void );
65 
67  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
68 
69 private:
70 
72  typedef itk::GroupSpatialObject<3> AxesSpatialObjectType;
73 
74  AxesObject(const Self&); //purposely not implemented
75  void operator=(const Self&); //purposely not implemented
76 
77  AxesSpatialObjectType::Pointer m_AxesSpatialObject;
78 
79  double m_Size[3];
80 
81 };
82 
83 } // end namespace igstk
84 
85 #endif // __igstkAxesObject_h