Orfeo Toolbox  3.16
itkCenteredEuler3DTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkCenteredEuler3DTransform.h,v $
5  Language: C++
6  Date: $Date: 2010-03-16 08:49:50 $
7  Version: $Revision: 1.15 $
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 #ifndef __itkCenteredEuler3DTransform_h
18 #define __itkCenteredEuler3DTransform_h
19 
20 #include <iostream>
21 #include "itkEuler3DTransform.h"
22 #include "itkExceptionObject.h"
23 #include "itkMatrix.h"
24 #include "itkVersor.h"
25 
26 namespace itk
27 {
28 
37 template < class TScalarType=double > // Data type for scalars
39  public Euler3DTransform< TScalarType >
40 {
41 public:
47 
50 
52  itkNewMacro( Self );
53 
55  itkStaticConstMacro(SpaceDimension, unsigned int, 3);
56  itkStaticConstMacro(InputSpaceDimension, unsigned int, 3);
57  itkStaticConstMacro(OutputSpaceDimension, unsigned int, 3);
58  itkStaticConstMacro(ParametersDimension, unsigned int, 9);
59 
66  typedef typename Superclass::InputCovariantVectorType
70 
81 
84  typedef typename Superclass::InverseTransformBaseType InverseTransformBaseType;
85  typedef typename InverseTransformBaseType::Pointer InverseTransformBasePointer;
86 
93  void SetParameters( const ParametersType & parameters );
94 
101  const ParametersType & GetParameters( void ) const;
102 
107  const JacobianType & GetJacobian(const InputPointType &point ) const;
108 
110  bool GetInverse(Self* inverse) const;
111 
113  virtual InverseTransformBasePointer GetInverseTransform() const;
114 
115 protected:
117  CenteredEuler3DTransform(unsigned int SpaceDimension,
118  unsigned int ParametersDimension);
119  CenteredEuler3DTransform(const MatrixType & matrix,
120  const OutputPointType & offset);
122 
126  void PrintSelf(std::ostream &os, Indent indent) const;
127 
128 private:
129  CenteredEuler3DTransform(const Self&); //purposely not implemented
130  void operator=(const Self&); //purposely not implemented
131 
132 }; //class CenteredEuler3DTransform
133 
134 
135 } // namespace itk
136 
138 #define ITK_TEMPLATE_CenteredEuler3DTransform(_, EXPORT, x, y) namespace itk { \
139  _(1(class EXPORT CenteredEuler3DTransform< ITK_TEMPLATE_1 x >)) \
140  namespace Templates { typedef CenteredEuler3DTransform< ITK_TEMPLATE_1 x > \
141  CenteredEuler3DTransform##y; } \
142  }
143 
144 #if ITK_TEMPLATE_EXPLICIT
145 # include "Templates/itkCenteredEuler3DTransform+-.h"
146 #endif
147 
148 #if ITK_TEMPLATE_TXX
150 #endif
151 
152 #endif /* __itkCenteredEuler3DTransform_h */

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