ITK  6.0.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"
24 #include "itkCompositeTransform.h"
25 
26 namespace itk
27 {
28 
47 template <typename TParametersValueType>
48 class ITK_TEMPLATE_EXPORT CompositeTransformIOHelperTemplate
49 {
50 public:
56 
66  GetTransformList(const TransformType * transform);
67 
73  void
74  SetTransformList(TransformType * transform, TransformListType & transformList);
75 
76 private:
78 
83  template <unsigned int VDimension>
84  int
85  BuildTransformList(const TransformType * transform);
86 
92  template <unsigned int VDimension>
93  int
94  InternalSetTransformList(TransformType * transform, TransformListType & transformList);
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
123 namespace itk
124 {
125 
126 ITK_GCC_PRAGMA_DIAG_PUSH()
127 ITK_GCC_PRAGMA_DIAG(ignored "-Wattributes")
128 
131 
132 ITK_GCC_PRAGMA_DIAG_POP()
133 
134 } // end namespace itk
135 #undef ITKIOTransformBase_EXPORT_EXPLICIT
136 #endif
TransformBaseTemplate
Definition: itkTransformBase.h:85
itk::CompositeTransformIOHelperTemplate< float >
template class ITKIOTransformBase_EXPORT_EXPLICIT CompositeTransformIOHelperTemplate< float >
itk::TransformIOBaseTemplate::ConstTransformPointer
typename TransformType::ConstPointer ConstTransformPointer
Definition: itkTransformIOBase.h:81
itk::TransformIOBaseTemplate::TransformListType
std::list< TransformPointer > TransformListType
Definition: itkTransformIOBase.h:80
itkTransformIOBase.h
itk::TransformIOBaseTemplate::ConstTransformListType
std::list< ConstTransformPointer > ConstTransformListType
Definition: itkTransformIOBase.h:82
itk::TransformIOBaseTemplate::TransformPointer
typename TransformType::Pointer TransformPointer
Definition: itkTransformIOBase.h:79
itk::CompositeTransformIOHelperTemplate
An adapter that adapts CompositeTransform into the TransformReader/Writer.
Definition: itkCompositeTransformIOHelper.h:48
itk::CompositeTransformIOHelperTemplate::TransformPointer
typename TransformIOBaseTemplate< TParametersValueType >::TransformPointer TransformPointer
Definition: itkCompositeTransformIOHelper.h:52
itk::CompositeTransformIOHelperTemplate::m_TransformList
ConstTransformListType m_TransformList
Definition: itkCompositeTransformIOHelper.h:77
itk::CompositeTransformIOHelperTemplate::TransformListType
typename TransformIOBaseTemplate< TParametersValueType >::TransformListType TransformListType
Definition: itkCompositeTransformIOHelper.h:53
ITKIOTransformBase_EXPORT_EXPLICIT
#define ITKIOTransformBase_EXPORT_EXPLICIT
Definition: itkCompositeTransformIOHelper.h:121
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnatomicalOrientation.h:29
itkCompositeTransform.h
itk::CompositeTransformIOHelperTemplate::ConstTransformPointer
typename TransformIOBaseTemplate< TParametersValueType >::ConstTransformPointer ConstTransformPointer
Definition: itkCompositeTransformIOHelper.h:54
itk::CompositeTransformIOHelperTemplate::ConstTransformListType
typename TransformIOBaseTemplate< TParametersValueType >::ConstTransformListType ConstTransformListType
Definition: itkCompositeTransformIOHelper.h:55
itk::CompositeTransformIOHelperTemplate< double >
template class ITKIOTransformBase_EXPORT_EXPLICIT CompositeTransformIOHelperTemplate< double >
itk::CompositeTransformIOHelperTemplate::TransformType
typename TransformIOBaseTemplate< TParametersValueType >::TransformType TransformType
Definition: itkCompositeTransformIOHelper.h:51