ITK  5.4.0
Insight Toolkit
itkCompositeTransformIOHelper.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 * https://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 itkCompositeTransformIOHelper_h
19#define itkCompositeTransformIOHelper_h
20
21#include "ITKIOTransformBaseExport.h"
22
23#include "itkTransformIOBase.h"
25
26namespace itk
27{
28
47template <typename TParametersValueType>
48class ITK_TEMPLATE_EXPORT CompositeTransformIOHelperTemplate
49{
50public:
56
66 GetTransformList(const TransformType * transform);
67
73 void
74 SetTransformList(TransformType * transform, TransformListType & transformList);
75
76private:
78
83 template <unsigned int VDimension>
84 int
86
92 template <unsigned int VDimension>
93 int
95};
96
99
100} // namespace itk
101
102// Note: Explicit instantiation is done in itkCompositeTransformIOHelper.cxx
103
104#endif // itkCompositeTransformIOHelper_h
105
107#ifndef ITK_TEMPLATE_EXPLICIT_CompositeTransformIOHelper
108// Explicit instantiation is required to ensure correct dynamic_cast
109// behavior across shared libraries.
110//
111// IMPORTANT: Since within the same compilation unit,
112// ITK_TEMPLATE_EXPLICIT_<classname> defined and undefined states
113// need to be considered. This code *MUST* be *OUTSIDE* the header
114// guards.
115//
116#if defined(ITKIOTransformBase_EXPORTS)
117// We are building this library
118# define ITKIOTransformBase_EXPORT_EXPLICIT ITK_FORWARD_EXPORT
119#else
120// We are using this library
121# define ITKIOTransformBase_EXPORT_EXPLICIT ITKIOTransformBase_EXPORT
122#endif
123namespace itk
124{
125
126ITK_GCC_PRAGMA_DIAG_PUSH()
127ITK_GCC_PRAGMA_DIAG(ignored "-Wattributes")
128
131
132ITK_GCC_PRAGMA_DIAG_POP()
133
134} // end namespace itk
135#undef ITKIOTransformBase_EXPORT_EXPLICIT
136#endif
An adapter that adapts CompositeTransform into the TransformReader/Writer.
typename TransformIOBaseTemplate< TParametersValueType >::TransformType TransformType
typename TransformIOBaseTemplate< TParametersValueType >::ConstTransformPointer ConstTransformPointer
ConstTransformListType & GetTransformList(const TransformType *transform)
typename TransformIOBaseTemplate< TParametersValueType >::TransformListType TransformListType
int BuildTransformList(const TransformType *transform)
void SetTransformList(TransformType *transform, TransformListType &transformList)
typename TransformIOBaseTemplate< TParametersValueType >::ConstTransformListType ConstTransformListType
int InternalSetTransformList(TransformType *transform, TransformListType &transformList)
typename TransformIOBaseTemplate< TParametersValueType >::TransformPointer TransformPointer
typename TransformType::Pointer TransformPointer
std::list< TransformPointer > TransformListType
std::list< ConstTransformPointer > ConstTransformListType
typename TransformType::ConstPointer ConstTransformPointer
#define ITKIOTransformBase_EXPORT_EXPLICIT
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
template class ITKIOTransformBase_EXPORT_EXPLICIT CompositeTransformIOHelperTemplate< float >
template class ITKIOTransformBase_EXPORT_EXPLICIT CompositeTransformIOHelperTemplate< double >