ITK
4.2.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Core
Common
include
itkSymmetricEllipsoidInteriorExteriorSpatialFunction.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 __itkSymmetricEllipsoidInteriorExteriorSpatialFunction_h
19
#define __itkSymmetricEllipsoidInteriorExteriorSpatialFunction_h
20
21
#include "
itkInteriorExteriorSpatialFunction.h
"
22
23
namespace
itk
24
{
38
template
<
unsigned
int
VDimension = 3,
39
typename
TInput = Point< double, VDimension > >
40
class
ITK_EXPORT
SymmetricEllipsoidInteriorExteriorSpatialFunction
:
41
public
InteriorExteriorSpatialFunction
< VDimension, TInput >
42
{
43
public
:
45
typedef
SymmetricEllipsoidInteriorExteriorSpatialFunction
Self
;
46
typedef
InteriorExteriorSpatialFunction< VDimension >
Superclass
;
47
typedef
SmartPointer< Self >
Pointer
;
48
typedef
SmartPointer< const Self >
ConstPointer
;
49
typedef
Vector< double, VDimension >
VectorType
;
50
52
itkNewMacro(
Self
);
53
55
itkTypeMacro(
SymmetricEllipsoidInteriorExteriorSpatialFunction
,
InteriorExteriorSpatialFunction
);
56
58
typedef
typename
Superclass::InputType
InputType
;
59
61
typedef
typename
Superclass::OutputType
OutputType
;
62
64
OutputType
Evaluate(
const
InputType
& position)
const
;
65
67
itkGetConstMacro(Center,
InputType
);
68
itkSetMacro(Center,
InputType
);
70
73
void
SetOrientation(
VectorType
orientation,
double
uniqueAxis,
double
symmetricAxes);
74
75
protected
:
76
SymmetricEllipsoidInteriorExteriorSpatialFunction
();
77
virtual
~
SymmetricEllipsoidInteriorExteriorSpatialFunction
();
78
79
void
PrintSelf(std::ostream & os,
Indent
indent)
const
;
80
81
private
:
82
SymmetricEllipsoidInteriorExteriorSpatialFunction
(
const
Self
&);
//purposely
83
// not
84
// implemented
85
void
operator=(
const
Self
&);
//purposely
86
// not
87
// implemented
88
90
InputType
m_Center
;
91
93
double
m_UniqueAxis
;
94
96
double
m_SymmetricAxes
;
97
99
Vector< double, VDimension >
m_Orientation
;
100
102
double
m_VectorRatio
;
103
};
104
}
// end namespace itk
105
106
// Define instantiation macro for this template.
107
#define ITK_TEMPLATE_SymmetricEllipsoidInteriorExteriorSpatialFunction(_, EXPORT, TypeX, TypeY) \
108
namespace itk \
109
{ \
110
_( 2 ( class EXPORT SymmetricEllipsoidInteriorExteriorSpatialFunction< ITK_TEMPLATE_2 TypeX > ) ) \
111
namespace Templates \
112
{ \
113
typedef SymmetricEllipsoidInteriorExteriorSpatialFunction< ITK_TEMPLATE_2 TypeX > \
114
SymmetricEllipsoidInteriorExteriorSpatialFunction##TypeY; \
115
} \
116
}
117
118
#if ITK_TEMPLATE_EXPLICIT
119
#include "Templates/itkSymmetricEllipsoidInteriorExteriorSpatialFunction+-.h"
120
#endif
121
122
#if ITK_TEMPLATE_TXX
123
#include "itkSymmetricEllipsoidInteriorExteriorSpatialFunction.hxx"
124
#endif
125
126
#endif
127
Generated on Tue Jul 10 2012 23:45:37 for ITK by
1.8.1