Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Utilities
ITK
Code
SpatialObject
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>
38
class
ITK_EXPORT
SceneSpatialObject
39
:
public
Object
40
{
41
42
public
:
43
44
typedef
SceneSpatialObject<TSpaceDimension>
Self
;
45
typedef
Object
Superclass
;
46
typedef
Superclass::Pointer
SuperclassPointer
;
47
typedef
SmartPointer< Self >
Pointer
;
48
typedef
SmartPointer< const Self >
ConstPointer
;
49
50
typedef
SpatialObject<TSpaceDimension>
ObjectType
;
51
typedef
SpatialObject<TSpaceDimension>
SpatialObjectType
;
52
typedef
typename
SpatialObjectType::Pointer
SpatialObjectPointer
;
53
54
typedef
std::list< SpatialObjectPointer >
55
ObjectListType
;
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
112
ObjectListType
m_Objects
;
113
115
SceneSpatialObject
();
116
118
virtual
~
SceneSpatialObject
();
119
121
virtual
void
PrintSelf( std::ostream& os,
Indent
indent )
const
;
122
124
int
m_ParentId
;
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