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
84 virtual void
87 virtual void
90 virtual void
93 virtual void
96
103 virtual void
106 virtual void
109 virtual void
112 virtual void
115 virtual void
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 ~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 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo