ITK
5.1.0
Insight Toolkit
ITK
Modules
Core
SpatialObjects
include
itkMetaConverterBase.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef itkMetaConverterBase_h
19
#define itkMetaConverterBase_h
20
21
#include "
itkSpatialObject.h
"
22
#include "metaObject.h"
23
24
namespace
itk
25
{
26
41
template
<
unsigned
VDimension = 3>
42
class
ITK_TEMPLATE_EXPORT
MetaConverterBase
:
public
Object
43
{
44
public
:
45
47
using
Self
=
MetaConverterBase
;
48
using
Superclass
=
Object
;
49
using
Pointer
=
SmartPointer<Self>
;
50
using
ConstPointer
=
SmartPointer<const Self>
;
51
53
itkTypeMacro(
MetaConverterBase
,
Object
);
54
55
using
SpatialObjectType
=
SpatialObject<VDimension>
;
56
using
SpatialObjectPointer
=
typename
SpatialObjectType::Pointer
;
57
using
MetaObjectType
= MetaObject;
58
60
virtual
SpatialObjectPointer
61
ReadMeta(
const
char
* name);
62
64
virtual
bool
65
WriteMeta(
const
SpatialObjectType
* spatialObject,
const
char
* name);
66
68
virtual
SpatialObjectPointer
69
MetaObjectToSpatialObject(
const
MetaObjectType
* mo) = 0;
70
72
virtual
MetaObjectType
*
73
SpatialObjectToMetaObject(
const
SpatialObjectType
* spatialObject) = 0;
74
78
itkSetMacro(WriteImagesInSeparateFile,
bool
);
79
itkGetConstMacro(WriteImagesInSeparateFile,
bool
);
81
82
protected
:
83
MetaConverterBase
() =
default
;
84
~
MetaConverterBase
()
override
=
default
;
85
87
virtual
MetaObjectType
*
88
CreateMetaObject() = 0;
89
90
91
private
:
92
bool
m_WriteImagesInSeparateFile{
false
};
93
};
94
95
}
// namespace itk
96
97
#ifndef ITK_MANUAL_INSTATIATION
98
# include "itkMetaConverterBase.hxx"
99
#endif
100
101
#endif // itkMetaConverterBase_h
itkSpatialObject.h
itk::SmartPointer< Self >
itk::MetaConverterBase< NDimensions >::MetaObjectType
MetaObject MetaObjectType
Definition:
itkMetaConverterBase.h:57
itk::MetaConverterBase< NDimensions >::SpatialObjectPointer
typename SpatialObjectType::Pointer SpatialObjectPointer
Definition:
itkMetaConverterBase.h:56
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itk::SpatialObject
Implementation of the composite pattern.
Definition:
itkSpatialObject.h:57
itk::MetaConverterBase
Base class for MetaObject<->SpatialObject converters.
Definition:
itkMetaConverterBase.h:42
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkArray.h:26
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:60
Generated on Sat Apr 25 2020 01:55:53 for ITK by
1.8.16