ITK  6.0.0
Insight Toolkit
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:
52  using NeighborSetType = std::set<IdentifierType>;
53 
55 
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 */
70 
71  /* stores the coordinates of the three direct neighbors */
73 
74  /* stores the mean curvature of the mesh in the point */
75  double meanCurvature;
76 
77  /* coordinates of the corresponding point */
79 
80  /* coordinates of the corresponding point in previous iteration */
82 
87 
92 
93  /* normal vector of corresponding point */
95 
100 
105 
110 
115 
116  /* stores circum circle radius */
117  double circleRadius;
118 
119  /* stores circum circle center */
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 */
136 
137  /* stores multiplier for interactive deformable model filter */
138  double multiplier;
139 
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