Orfeo Toolbox  3.16
itkCenteredAffineTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkCenteredAffineTransform.h,v $
5  Language: C++
6  Date: $Date: 2009-11-29 01:38:00 $
7  Version: $Revision: 1.18 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 
18 #ifndef __itkCenteredAffineTransform_h
19 #define __itkCenteredAffineTransform_h
20 
21 #include "itkAffineTransform.h"
22 
23 namespace itk
24 {
25 
26 
35 template <
36  class TScalarType=double, // Data type for scalars
37  unsigned int NDimensions=3> // Number of dimensions in the input space
38 class ITK_EXPORT CenteredAffineTransform : public AffineTransform< TScalarType,
39  NDimensions >
40 {
41 public:
47 
50 
52  itkNewMacro( Self );
53 
55  itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
56  itkStaticConstMacro(ParametersDimension, unsigned int,
57  NDimensions*(NDimensions+2));
58 
59 
71 
81 
86 
87 
88 
97  void SetParameters( const ParametersType & parameters );
98  const ParametersType& GetParameters(void) const;
99 
106  const JacobianType & GetJacobian(const InputPointType &point ) const;
107 
109  bool GetInverse(Self* inverse) const;
110 
112  virtual InverseTransformBasePointer GetInverseTransform() const;
113 
114 protected:
117 
119  virtual ~CenteredAffineTransform();
120 
121 private:
122  CenteredAffineTransform(const Self & other);
123  const Self & operator=( const Self & );
124 
125 }; //class CenteredAffineTransform
126 
127 } // namespace itk
128 
130 #define ITK_TEMPLATE_CenteredAffineTransform(_, EXPORT, x, y) namespace itk { \
131  _(2(class EXPORT CenteredAffineTransform< ITK_TEMPLATE_2 x >)) \
132  namespace Templates { typedef CenteredAffineTransform< ITK_TEMPLATE_2 x > \
133  CenteredAffineTransform##y; } \
134  }
135 
136 #if ITK_TEMPLATE_EXPLICIT
137 # include "Templates/itkCenteredAffineTransform+-.h"
138 #endif
139 
140 #if ITK_TEMPLATE_TXX
142 #endif
143 
144 
145 #endif /* __itkCenteredAffineTransform_h */

Generated at Sat Feb 2 2013 23:31:25 for Orfeo Toolbox with doxygen 1.8.1.1