Orfeo Toolbox  3.16
itkSceneSpatialObject.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkSceneSpatialObject.h,v $
5  Language: C++
6  Date: $Date: 2009-04-07 14:34:16 $
7  Version: $Revision: 1.12 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/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 __itkSceneSpatialObject_h
19 #define __itkSceneSpatialObject_h
20 
21 #include "itkSpatialObject.h"
22 
23 #include <list>
24 
25 namespace itk
26 {
27 
37 template <unsigned int TSpaceDimension = 3>
39  : public Object
40 {
41 
42 public:
43 
45  typedef Object Superclass;
49 
53 
54  typedef std::list< SpatialObjectPointer >
56 
57  itkStaticConstMacro(MaximumDepth, unsigned int, 9999999);
58 
60  itkNewMacro(Self);
61  itkTypeMacro(SceneSpatialObject, Object);
62 
64  void AddSpatialObject( SpatialObject<TSpaceDimension> * pointer );
65 
70  void RemoveSpatialObject( SpatialObject<TSpaceDimension> * object );
71 
75  ObjectListType * GetObjects( unsigned int depth=MaximumDepth,
76  char * name=NULL );
77 
80  unsigned int GetNumberOfObjects( unsigned int depth=MaximumDepth,
81  char * name=NULL );
82 
85  void SetObjects( ObjectListType & children );
86 
89  unsigned long GetMTime( void ) const;
90 
92  void SetParentId(int parentid) {m_ParentId=parentid;}
93  int GetParentId(void) {return m_ParentId;}
94 
96  SpatialObject<TSpaceDimension> * GetObjectById(int Id);
97 
98  bool FixHierarchy(void);
99  bool CheckIdValidity(void);
100  void FixIdValidity(void);
101  int GetNextAvailableId();
102 
104  void Clear();
105 
106 protected:
107  SceneSpatialObject(const Self&); //purposely not implemented
108  void operator=(const Self&); //purposely not implemented
109 
113 
116 
118  virtual ~SceneSpatialObject();
119 
121  virtual void PrintSelf( std::ostream& os, Indent indent ) const;
122 
125 
126 };
127 
128 } // end of namespace itk
129 
130 
131 #ifndef ITK_MANUAL_INSTANTIATION
132 #include "itkSceneSpatialObject.txx"
133 #endif
134 
135 #endif // __SceneSpatialObject_h

Generated at Sun Jun 16 2013 00:06:08 for Orfeo Toolbox with doxygen 1.8.3.1