ITK  4.3.0
Insight Segmentation and Registration Toolkit
itkConstantVelocityFieldTransformParametersAdaptor.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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 __itkConstantVelocityFieldTransformParametersAdaptor_h
19 #define __itkConstantVelocityFieldTransformParametersAdaptor_h
20 
22 
23 namespace itk
24 {
63 template<class TTransform>
65 : public TransformParametersAdaptor<TTransform>
66 {
67 public:
68 
74 
76  itkNewMacro( Self );
77 
80 
82  typedef TTransform TransformType;
83  typedef typename TransformType::Pointer TransformPointer;
84  typedef typename TransformType::ParametersType ParametersType;
85  typedef typename TransformType::ParametersValueType ParametersValueType;
86 
87  typedef typename TransformType::ConstantVelocityFieldType ConstantVelocityFieldType;
88  typedef typename ConstantVelocityFieldType::PointType PointType;
89  typedef typename ConstantVelocityFieldType::SizeType SizeType;
90  typedef typename ConstantVelocityFieldType::DirectionType DirectionType;
91  typedef typename ConstantVelocityFieldType::SpacingType SpacingType;
92 
94  itkStaticConstMacro( ConstantVelocityFieldDimension, unsigned int, TransformType::ConstantVelocityFieldDimension );
95 
97  void SetRequiredSize( const SizeType & );
98 
100  virtual const SizeType GetRequiredSize() const;
101 
103  void SetRequiredOrigin( const PointType & );
104 
106  virtual const PointType GetRequiredOrigin() const;
107 
109  void SetRequiredSpacing( const SpacingType & );
110 
112  virtual const SpacingType GetRequiredSpacing() const;
113 
115  void SetRequiredDirection( const DirectionType & );
116 
118  virtual const DirectionType GetRequiredDirection() const;
119 
121  virtual void AdaptTransformParameters();
122 
123 protected:
126 
127 private:
128  ConstantVelocityFieldTransformParametersAdaptor( const Self & ); //purposely not implemented
129  void operator=( const Self & ); //purposely not implemented
130 
131 }; //class ConstantVelocityFieldTransformParametersAdaptor
132 } // namespace itk
133 
134 #ifndef ITK_MANUAL_INSTANTIATION
135 #include "itkConstantVelocityFieldTransformParametersAdaptor.hxx"
136 #endif
137 
138 #endif /* __itkConstantVelocityFieldTransformParametersAdaptor_h */
139