go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxBaseComponent.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
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 elxBaseComponent_h
19#define elxBaseComponent_h
20
31#include "itkMacro.h" // itkTypeMacroNoParent
32#include <string>
33
35namespace elastix
36{
37
54{
55public:
57
64 virtual int
66 {
67 return 0;
68 }
69 virtual int
71 {
72 return 0;
73 }
74
81 virtual void
83 {}
84 virtual void
86 {}
87 virtual void
89 {}
90 virtual void
92 {}
93 virtual void
95 {}
96
103 virtual void
105 {}
106 virtual void
108 {}
109 virtual void
111 {}
112 virtual void
114 {}
115 virtual void
117 {}
118
124 virtual const char *
126
128
136 void
137 SetComponentLabel(const char * label, unsigned int idx);
138
140 const char *
142
143 static bool
145
146 static void
148
152 template <typename TBaseComponent>
153 static auto
154 AsITKBaseType(TBaseComponent * const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
155 {
156 return (baseComponent == nullptr) ? nullptr : baseComponent->GetAsITKBaseType();
157 }
158
159protected:
160 BaseComponent() = default;
161 virtual ~BaseComponent() = default;
162
163private:
164 std::string m_ComponentLabel;
165};
166
167} // end namespace elastix
168
170namespace elx = elastix;
171
172#endif // end #ifndef elxBaseComponent_h
The BaseComponent class is a class that all elastix components should inherit from.
void SetComponentLabel(const char *label, unsigned int idx)
virtual void AfterRegistration()
virtual const char * elxGetClassName() const
virtual void AfterEachResolutionBase()
virtual void BeforeRegistrationBase()
virtual void BeforeRegistration()
virtual void BeforeEachResolutionBase()
static void InitializeElastixExecutable()
static bool IsElastixLibrary()
ITK_DISALLOW_COPY_AND_MOVE(BaseComponent)
virtual int BeforeAllBase()
virtual ~BaseComponent()=default
const char * GetComponentLabel() const
virtual void AfterEachIteration()
virtual void BeforeEachResolution()
virtual void AfterEachResolution()
static auto AsITKBaseType(TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
virtual void AfterEachIterationBase()
itkTypeMacroNoParent(BaseComponent)
virtual void AfterRegistrationBase()


Generated on Wed 12 Apr 2023 for elastix by doxygen 1.9.6 elastix logo