ITK
4.3.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
#ifndef ITK_MANUAL_INSTANTIATION
107
#include "itkSymmetricEllipsoidInteriorExteriorSpatialFunction.hxx"
108
#endif
109
110
#endif
111
Generated on Sun Dec 9 2012 01:28:17 for ITK by
1.8.2