31 #ifndef __vtkCellQuality_h
32 #define __vtkCellQuality_h
34 #include "vtkFiltersVerdictModule.h"
68 RELATIVE_SIZE_SQUARED,
94 vtkSetMacro(QualityMeasure,
int);
95 vtkGetMacro(QualityMeasure,
int);
98 void SetQualityMeasureToArea ()
100 this->SetQualityMeasure(AREA);
102 void SetQualityMeasureToAspectBeta ()
104 this->SetQualityMeasure(ASPECT_BETA);
106 void SetQualityMeasureToAspectFrobenius ()
108 this->SetQualityMeasure(ASPECT_FROBENIUS);
110 void SetQualityMeasureToAspectGamma ()
112 this->SetQualityMeasure(ASPECT_GAMMA);
114 void SetQualityMeasureToAspectRatio ()
116 this->SetQualityMeasure(ASPECT_RATIO);
118 void SetQualityMeasureToCollapseRatio ()
120 this->SetQualityMeasure(COLLAPSE_RATIO);
122 void SetQualityMeasureToCondition ()
124 this->SetQualityMeasure(CONDITION);
126 void SetQualityMeasureToDiagonal ()
128 this->SetQualityMeasure(DIAGONAL);
130 void SetQualityMeasureToDimension ()
132 this->SetQualityMeasure(DIMENSION);
134 void SetQualityMeasureToDistortion ()
136 this->SetQualityMeasure(DISTORTION);
138 void SetQualityMeasureToJacobian ()
140 this->SetQualityMeasure(JACOBIAN);
142 void SetQualityMeasureToMaxAngle ()
144 this->SetQualityMeasure(MAX_ANGLE);
146 void SetQualityMeasureToMaxAspectFrobenius ()
148 this->SetQualityMeasure(MAX_ASPECT_FROBENIUS);
150 void SetQualityMeasureToMaxEdgeRatio ()
152 this->SetQualityMeasure(MAX_EDGE_RATIO);
154 void SetQualityMeasureToMedAspectFrobenius ()
156 this->SetQualityMeasure(MED_ASPECT_FROBENIUS);
158 void SetQualityMeasureToMinAngle ()
160 this->SetQualityMeasure(MIN_ANGLE);
162 void SetQualityMeasureToOddy ()
164 this->SetQualityMeasure(ODDY);
166 void SetQualityMeasureToRadiusRatio ()
168 this->SetQualityMeasure(RADIUS_RATIO);
170 void SetQualityMeasureToRelativeSizeSquared ()
172 this->SetQualityMeasure(RELATIVE_SIZE_SQUARED);
174 void SetQualityMeasureToScaledJacobian ()
176 this->SetQualityMeasure(SCALED_JACOBIAN);
178 void SetQualityMeasureToShapeAndSize ()
180 this->SetQualityMeasure(SHAPE_AND_SIZE);
182 void SetQualityMeasureToShape ()
184 this->SetQualityMeasure(SHAPE);
186 void SetQualityMeasureToShearAndSize ()
188 this->SetQualityMeasure(SHEAR_AND_SIZE);
190 void SetQualityMeasureToShear ()
192 this->SetQualityMeasure(SHEAR);
194 void SetQualityMeasureToSkew ()
196 this->SetQualityMeasure(SKEW);
198 void SetQualityMeasureToStretch ()
200 this->SetQualityMeasure(STRETCH);
202 void SetQualityMeasureToTaper ()
204 this->SetQualityMeasure(TAPER);
206 void SetQualityMeasureToVolume ()
208 this->SetQualityMeasure(VOLUME);
210 void SetQualityMeasureToWarpage ()
212 this->SetQualityMeasure(WARPAGE);
220 vtkSetMacro(UnsupportedGeometry,
double);
221 vtkGetMacro(UnsupportedGeometry,
double);
230 vtkSetMacro(UndefinedQuality,
double);
231 vtkGetMacro(UndefinedQuality,
double);
234 double TriangleStripArea (
vtkCell*);
247 double ComputeTriangleQuality (
vtkCell*);
258 double ComputeQuadQuality (
vtkCell*);
266 double ComputeTetQuality (
vtkCell*);
274 double ComputeHexQuality (
vtkCell*);
279 double ComputeTriangleStripQuality (
vtkCell*);
283 double ComputePixelQuality (
vtkCell*);
293 static int GetCurrentTriangleNormal (
double point [3],
double normal [3]);
294 static double CurrentTriNormal [3];
314 #endif // vtkCellQuality_h