ITK
6.0.0
Insight Toolkit
ITK
Modules
Core
Mesh
include
itkSimplexMeshGeometry.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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
* https://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 itkSimplexMeshGeometry_h
19
#define itkSimplexMeshGeometry_h
20
21
22
#include "
itkIntTypes.h
"
23
#include "
itkPoint.h
"
24
#include "
itkCovariantVector.h
"
25
#include <set>
26
#include "ITKMeshExport.h"
27
28
namespace
itk
29
{
44
class
ITKMesh_EXPORT
SimplexMeshGeometry
45
{
46
public
:
47
using
PointType
=
itk::Point<double, 3>
;
48
using
VectorType
=
itk::Vector<double, 3>
;
49
using
CovariantVectorType
=
itk::CovariantVector<double, 3>
;
50
using
IndexArray
=
itk::FixedArray<IdentifierType, 3>
;
51
using
PointArray
=
itk::FixedArray<PointType, 3>
;
52
using
NeighborSetType
= std::set<IdentifierType>;
53
54
SimplexMeshGeometry
();
55
56
~
SimplexMeshGeometry
();
57
58
void
59
CopyFrom(
const
SimplexMeshGeometry
& input);
60
61
void
62
CopyNeigborSet(
const
NeighborSetType
* nset);
63
68
/* stores the indices of the three direct neighbors */
69
IndexArray
neighborIndices
;
70
71
/* stores the coordinates of the three direct neighbors */
72
PointArray
neighbors
;
73
74
/* stores the mean curvature of the mesh in the point */
75
double
meanCurvature
;
76
77
/* coordinates of the corresponding point */
78
PointType
pos
;
79
80
/* coordinates of the corresponding point in previous iteration */
81
PointType
oldPos
;
82
86
PointType
eps
;
87
91
PointType
referenceMetrics
;
92
93
/* normal vector of corresponding point */
94
CovariantVectorType
normal
;
95
99
VectorType
externalForce
;
100
104
VectorType
internalForce
;
105
109
PointType
closestAttractor
;
110
114
IdentifierType
closestAttractorIndex
;
115
116
/* stores circum circle radius */
117
double
circleRadius
;
118
119
/* stores circum circle center */
120
PointType
circleCenter
;
121
122
/* stores circum sphere radius */
123
double
sphereRadius
;
124
125
/* stores circum sphere center */
126
// PointType sphereCenter;
127
128
/* stores distance to foot point */
129
double
distance
;
130
131
/* stores angle */
132
double
phi
;
133
134
/* stores the neighbor set */
135
NeighborSetType
*
neighborSet
;
136
137
/* stores multiplier for interactive deformable model filter */
138
double
multiplier
;
139
140
IdentifierType
forceIndex
;
141
146
void
147
ComputeGeometry();
148
149
protected
:
150
};
// end of class SimplexMeshGeometry
151
}
// end of namespace itk
152
153
#endif
itk::SimplexMeshGeometry::pos
PointType pos
Definition:
itkSimplexMeshGeometry.h:78
itk::SimplexMeshGeometry::referenceMetrics
PointType referenceMetrics
Definition:
itkSimplexMeshGeometry.h:91
itkCovariantVector.h
itkPoint.h
itk::Vector< double, 3 >
itk::SimplexMeshGeometry::sphereRadius
double sphereRadius
Definition:
itkSimplexMeshGeometry.h:123
itk::SimplexMeshGeometry::distance
double distance
Definition:
itkSimplexMeshGeometry.h:129
itk::SimplexMeshGeometry::circleCenter
PointType circleCenter
Definition:
itkSimplexMeshGeometry.h:120
itk::SimplexMeshGeometry::eps
PointType eps
Definition:
itkSimplexMeshGeometry.h:86
itk::SimplexMeshGeometry::meanCurvature
double meanCurvature
Definition:
itkSimplexMeshGeometry.h:75
itk::SimplexMeshGeometry
handle geometric properties for vertices of a simplex mesh
Definition:
itkSimplexMeshGeometry.h:44
itk::SimplexMeshGeometry::externalForce
VectorType externalForce
Definition:
itkSimplexMeshGeometry.h:99
itk::SimplexMeshGeometry::neighborSet
NeighborSetType * neighborSet
Definition:
itkSimplexMeshGeometry.h:135
itk::SimplexMeshGeometry::NeighborSetType
std::set< IdentifierType > NeighborSetType
Definition:
itkSimplexMeshGeometry.h:52
itk::SimplexMeshGeometry::circleRadius
double circleRadius
Definition:
itkSimplexMeshGeometry.h:117
itk::SimplexMeshGeometry::neighborIndices
IndexArray neighborIndices
Definition:
itkSimplexMeshGeometry.h:69
itk::SimplexMeshGeometry::multiplier
double multiplier
Definition:
itkSimplexMeshGeometry.h:138
itk::SimplexMeshGeometry::forceIndex
IdentifierType forceIndex
Definition:
itkSimplexMeshGeometry.h:140
itk::SimplexMeshGeometry::closestAttractor
PointType closestAttractor
Definition:
itkSimplexMeshGeometry.h:109
itkIntTypes.h
itk::FixedArray< IdentifierType, 3 >
itk::SimplexMeshGeometry::neighbors
PointArray neighbors
Definition:
itkSimplexMeshGeometry.h:72
itk::CovariantVector< double, 3 >
itk::SimplexMeshGeometry::oldPos
PointType oldPos
Definition:
itkSimplexMeshGeometry.h:81
itk::SimplexMeshGeometry::internalForce
VectorType internalForce
Definition:
itkSimplexMeshGeometry.h:104
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnatomicalOrientation.h:29
itk::Point< double, 3 >
itk::SimplexMeshGeometry::normal
CovariantVectorType normal
Definition:
itkSimplexMeshGeometry.h:94
itk::SimplexMeshGeometry::phi
double phi
Definition:
itkSimplexMeshGeometry.h:132
itk::IdentifierType
SizeValueType IdentifierType
Definition:
itkIntTypes.h:90
itk::SimplexMeshGeometry::closestAttractorIndex
IdentifierType closestAttractorIndex
Definition:
itkSimplexMeshGeometry.h:114
Generated on
unknown
for ITK by
1.8.16