ITK  6.0.0
Insight Toolkit
itkv3Rigid3DTransform.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 itkv3Rigid3DTransform_h
19#define itkv3Rigid3DTransform_h
20
21#include <iostream>
22#include "itkRigid3DTransform.h"
23#include "itkVersor.h"
24
25namespace itk
26{
27namespace v3
28{
62template <typename TParametersValueType = double>
63class ITK_TEMPLATE_EXPORT Rigid3DTransform : public itk::Rigid3DTransform<TParametersValueType>
64{
65public:
66 ITK_DISALLOW_COPY_AND_MOVE(Rigid3DTransform);
67
73
74
76 itkOverrideGetNameOfClassMacro(Rigid3DTransform);
77
79 itkNewMacro(Self);
80
82 static constexpr unsigned int SpaceDimension = 3;
83 static constexpr unsigned int InputSpaceDimension = 3;
84 static constexpr unsigned int OutputSpaceDimension = 3;
85 static constexpr unsigned int ParametersDimension = 12;
86
87 using typename Superclass::ParametersType;
88 using typename Superclass::ParametersValueType;
89 using typename Superclass::FixedParametersType;
90 using typename Superclass::FixedParametersValueType;
91 using typename Superclass::JacobianType;
92 using typename Superclass::JacobianPositionType;
93 using typename Superclass::InverseJacobianPositionType;
94 using typename Superclass::ScalarType;
95 using typename Superclass::InputVectorType;
96 using typename Superclass::OutputVectorType;
97 using typename Superclass::OutputVectorValueType;
98 using typename Superclass::InputCovariantVectorType;
99 using typename Superclass::OutputCovariantVectorType;
100 using typename Superclass::InputVnlVectorType;
101 using typename Superclass::OutputVnlVectorType;
102 using typename Superclass::InputPointType;
103 using typename Superclass::OutputPointType;
104 using typename Superclass::MatrixType;
105 using typename Superclass::InverseMatrixType;
106 using typename Superclass::MatrixValueType;
107 using typename Superclass::CenterType;
108 using typename Superclass::TranslationType;
109 using typename Superclass::OffsetType;
110
113 using InverseTransformBaseType = typename Superclass::InverseTransformBaseType;
115
117 bool
118 GetInverse(Self * inverse) const
119 {
120 return this->Superclass::GetInverse(inverse);
121 }
122
124 InverseTransformBasePointer
125 GetInverseTransform() const override
126 {
127 return Superclass::InvertTransform(*this);
128 }
129
130protected:
131 Rigid3DTransform() = default;
132}; // class Rigid3DTransform
133} // namespace v3
134} // namespace itk
135
136#if !defined(ITK_LEGACY_REMOVE)
137# define itkv3 itk::v3
138#endif
139
140#endif /* itkv3Rigid3DTransform_h */
Light weight base class for most itk classes.
Rigid3DTransform of a vector space (e.g. space coordinates)
ITK3.x compatible Rigid3DTransform of a vector space (e.g. space coordinates)
typename Superclass::InverseTransformBaseType InverseTransformBaseType
bool GetInverse(Self *inverse) const
InverseTransformBasePointer GetInverseTransform() const override
typename InverseTransformBaseType::Pointer InverseTransformBasePointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....