VTK  9.3.0
vtkMeshQuality.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2003-2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
54#ifndef vtkMeshQuality_h
55#define vtkMeshQuality_h
56
57#include "vtkDataSetAlgorithm.h"
58#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
59#include "vtkFiltersVerdictModule.h" // For export macro
60
61VTK_ABI_NAMESPACE_BEGIN
62class vtkCell;
63class vtkDataArray;
64class vtkDoubleArray;
65class vtkMeshQualityFunctor;
66
67class VTKFILTERSVERDICT_EXPORT vtkMeshQuality : public vtkDataSetAlgorithm
68{
69private:
70 friend class vtkMeshQualityFunctor;
71
72public:
73 void PrintSelf(ostream& os, vtkIndent indent) override;
76
78
84 vtkSetMacro(SaveCellQuality, vtkTypeBool);
85 vtkGetMacro(SaveCellQuality, vtkTypeBool);
86 vtkBooleanMacro(SaveCellQuality, vtkTypeBool);
88
90
97 vtkSetMacro(LinearApproximation, bool);
98 vtkGetMacro(LinearApproximation, bool);
99 vtkBooleanMacro(LinearApproximation, bool);
101
106 {
107 AREA = 28,
108 ASPECT_FROBENIUS = 3,
109 ASPECT_GAMMA = 27,
110 ASPECT_RATIO = 1,
111 COLLAPSE_RATIO = 7,
112 CONDITION = 9,
113 DIAGONAL = 21,
114 DIMENSION = 22,
115 DISTORTION = 15,
116 EDGE_RATIO = 0,
117 EQUIANGLE_SKEW = 29,
118 EQUIVOLUME_SKEW = 30,
119 JACOBIAN = 25,
120 MAX_ANGLE = 8,
121 MAX_ASPECT_FROBENIUS = 5,
122 MAX_EDGE_RATIO = 16,
123 MAX_STRETCH = 31,
124 MEAN_ASPECT_FROBENIUS = 32,
125 MEAN_RATIO = 33,
126 MED_ASPECT_FROBENIUS = 4,
127 MIN_ANGLE = 6,
128 NODAL_JACOBIAN_RATIO = 34,
129 NORMALIZED_INRADIUS = 35,
130 ODDY = 23,
131 RADIUS_RATIO = 2,
132 RELATIVE_SIZE_SQUARED = 12,
133 SCALED_JACOBIAN = 10,
134 SHAPE = 13,
135 SHAPE_AND_SIZE = 14,
136 SHEAR = 11,
137 SHEAR_AND_SIZE = 24,
138 SKEW = 17,
139 SQUISH_INDEX = 36,
140 STRETCH = 20,
141 TAPER = 18,
142 VOLUME = 19,
143 WARPAGE = 26,
144 TOTAL_QUALITY_MEASURE_TYPES = 37,
145 NONE = TOTAL_QUALITY_MEASURE_TYPES
146 };
147
151 static const char* QualityMeasureNames[];
152
154
161 vtkSetEnumMacro(TriangleQualityMeasure, QualityMeasureTypes);
162 virtual void SetTriangleQualityMeasure(int measure)
163 {
164 this->SetTriangleQualityMeasure(static_cast<QualityMeasureTypes>(measure));
165 }
166 vtkGetEnumMacro(TriangleQualityMeasure, QualityMeasureTypes);
168 {
169 this->SetTriangleQualityMeasure(QualityMeasureTypes::AREA);
170 }
172 {
173 this->SetTriangleQualityMeasure(QualityMeasureTypes::EDGE_RATIO);
174 }
176 {
177 this->SetTriangleQualityMeasure(QualityMeasureTypes::ASPECT_RATIO);
178 }
180 {
181 this->SetTriangleQualityMeasure(QualityMeasureTypes::RADIUS_RATIO);
182 }
184 {
185 this->SetTriangleQualityMeasure(QualityMeasureTypes::ASPECT_FROBENIUS);
186 }
188 {
189 this->SetTriangleQualityMeasure(QualityMeasureTypes::MIN_ANGLE);
190 }
192 {
193 this->SetTriangleQualityMeasure(QualityMeasureTypes::MAX_ANGLE);
194 }
196 {
197 this->SetTriangleQualityMeasure(QualityMeasureTypes::CONDITION);
198 }
200 {
201 this->SetTriangleQualityMeasure(QualityMeasureTypes::SCALED_JACOBIAN);
202 }
204 {
205 this->SetTriangleQualityMeasure(QualityMeasureTypes::RELATIVE_SIZE_SQUARED);
206 }
208 {
209 this->SetTriangleQualityMeasure(QualityMeasureTypes::SHAPE);
210 }
212 {
213 this->SetTriangleQualityMeasure(QualityMeasureTypes::SHAPE_AND_SIZE);
214 }
216 {
217 this->SetTriangleQualityMeasure(QualityMeasureTypes::DISTORTION);
218 }
220 {
221 this->SetTriangleQualityMeasure(QualityMeasureTypes::EQUIANGLE_SKEW);
222 }
224 {
225 this->SetTriangleQualityMeasure(QualityMeasureTypes::NORMALIZED_INRADIUS);
226 }
228
230
243 virtual void SetQuadQualityMeasure(int measure)
244 {
245 this->SetQuadQualityMeasure(static_cast<QualityMeasureTypes>(measure));
246 }
249 {
250 this->SetQuadQualityMeasure(QualityMeasureTypes::EDGE_RATIO);
251 }
253 {
254 this->SetQuadQualityMeasure(QualityMeasureTypes::ASPECT_RATIO);
255 }
257 {
258 this->SetQuadQualityMeasure(QualityMeasureTypes::RADIUS_RATIO);
259 }
261 {
262 this->SetQuadQualityMeasure(QualityMeasureTypes::MED_ASPECT_FROBENIUS);
263 }
265 {
266 this->SetQuadQualityMeasure(QualityMeasureTypes::MAX_ASPECT_FROBENIUS);
267 }
269 {
270 this->SetQuadQualityMeasure(QualityMeasureTypes::MAX_EDGE_RATIO);
271 }
272 void SetQuadQualityMeasureToSkew() { this->SetQuadQualityMeasure(QualityMeasureTypes::SKEW); }
273 void SetQuadQualityMeasureToTaper() { this->SetQuadQualityMeasure(QualityMeasureTypes::TAPER); }
275 {
276 this->SetQuadQualityMeasure(QualityMeasureTypes::WARPAGE);
277 }
278 void SetQuadQualityMeasureToArea() { this->SetQuadQualityMeasure(QualityMeasureTypes::AREA); }
280 {
281 this->SetQuadQualityMeasure(QualityMeasureTypes::STRETCH);
282 }
284 {
285 this->SetQuadQualityMeasure(QualityMeasureTypes::MIN_ANGLE);
286 }
288 {
289 this->SetQuadQualityMeasure(QualityMeasureTypes::MAX_ANGLE);
290 }
291 void SetQuadQualityMeasureToOddy() { this->SetQuadQualityMeasure(QualityMeasureTypes::ODDY); }
293 {
294 this->SetQuadQualityMeasure(QualityMeasureTypes::CONDITION);
295 }
297 {
298 this->SetQuadQualityMeasure(QualityMeasureTypes::JACOBIAN);
299 }
301 {
302 this->SetQuadQualityMeasure(QualityMeasureTypes::SCALED_JACOBIAN);
303 }
304 void SetQuadQualityMeasureToShear() { this->SetQuadQualityMeasure(QualityMeasureTypes::SHEAR); }
305 void SetQuadQualityMeasureToShape() { this->SetQuadQualityMeasure(QualityMeasureTypes::SHAPE); }
307 {
308 this->SetQuadQualityMeasure(QualityMeasureTypes::RELATIVE_SIZE_SQUARED);
309 }
311 {
312 this->SetQuadQualityMeasure(QualityMeasureTypes::SHAPE_AND_SIZE);
313 }
315 {
316 this->SetQuadQualityMeasure(QualityMeasureTypes::SHEAR_AND_SIZE);
317 }
319 {
320 this->SetQuadQualityMeasure(QualityMeasureTypes::DISTORTION);
321 }
323 {
324 this->SetQuadQualityMeasure(QualityMeasureTypes::EQUIANGLE_SKEW);
325 }
327
329
337 virtual void SetTetQualityMeasure(int measure)
338 {
339 this->SetTetQualityMeasure(static_cast<QualityMeasureTypes>(measure));
340 }
343 {
344 this->SetTetQualityMeasure(QualityMeasureTypes::EDGE_RATIO);
345 }
347 {
348 this->SetTetQualityMeasure(QualityMeasureTypes::ASPECT_RATIO);
349 }
351 {
352 this->SetTetQualityMeasure(QualityMeasureTypes::RADIUS_RATIO);
353 }
355 {
356 this->SetTetQualityMeasure(QualityMeasureTypes::ASPECT_FROBENIUS);
357 }
359 {
360 this->SetTetQualityMeasure(QualityMeasureTypes::MIN_ANGLE);
361 }
363 {
364 this->SetTetQualityMeasure(QualityMeasureTypes::COLLAPSE_RATIO);
365 }
367 {
368 this->SetTetQualityMeasure(QualityMeasureTypes::ASPECT_GAMMA);
369 }
370 void SetTetQualityMeasureToVolume() { this->SetTetQualityMeasure(QualityMeasureTypes::VOLUME); }
372 {
373 this->SetTetQualityMeasure(QualityMeasureTypes::CONDITION);
374 }
376 {
377 this->SetTetQualityMeasure(QualityMeasureTypes::JACOBIAN);
378 }
380 {
381 this->SetTetQualityMeasure(QualityMeasureTypes::SCALED_JACOBIAN);
382 }
383 void SetTetQualityMeasureToShape() { this->SetTetQualityMeasure(QualityMeasureTypes::SHAPE); }
385 {
386 this->SetTetQualityMeasure(QualityMeasureTypes::RELATIVE_SIZE_SQUARED);
387 }
389 {
390 this->SetTetQualityMeasure(QualityMeasureTypes::SHAPE_AND_SIZE);
391 }
393 {
394 this->SetTetQualityMeasure(QualityMeasureTypes::DISTORTION);
395 }
397 {
398 this->SetTetQualityMeasure(QualityMeasureTypes::EQUIANGLE_SKEW);
399 }
401 {
402 this->SetTetQualityMeasure(QualityMeasureTypes::EQUIVOLUME_SKEW);
403 }
405 {
406 this->SetTetQualityMeasure(QualityMeasureTypes::MEAN_RATIO);
407 }
409 {
410 this->SetTetQualityMeasure(QualityMeasureTypes::NORMALIZED_INRADIUS);
411 }
413 {
414 this->SetTetQualityMeasure(QualityMeasureTypes::SQUISH_INDEX);
415 }
417
419
424 vtkSetEnumMacro(PyramidQualityMeasure, QualityMeasureTypes);
425 virtual void SetPyramidQualityMeasure(int measure)
426 {
427 this->SetPyramidQualityMeasure(static_cast<QualityMeasureTypes>(measure));
428 }
429 vtkGetEnumMacro(PyramidQualityMeasure, QualityMeasureTypes);
431 {
432 this->SetPyramidQualityMeasure(QualityMeasureTypes::EQUIANGLE_SKEW);
433 }
435 {
436 this->SetPyramidQualityMeasure(QualityMeasureTypes::JACOBIAN);
437 }
439 {
440 this->SetPyramidQualityMeasure(QualityMeasureTypes::SCALED_JACOBIAN);
441 }
443 {
444 this->SetPyramidQualityMeasure(QualityMeasureTypes::SHAPE);
445 }
447 {
448 this->SetPyramidQualityMeasure(QualityMeasureTypes::VOLUME);
449 }
451
453
460 virtual void SetWedgeQualityMeasure(int measure)
461 {
462 this->SetWedgeQualityMeasure(static_cast<QualityMeasureTypes>(measure));
463 }
466 {
467 this->SetWedgeQualityMeasure(QualityMeasureTypes::CONDITION);
468 }
470 {
471 this->SetWedgeQualityMeasure(QualityMeasureTypes::DISTORTION);
472 }
474 {
475 this->SetWedgeQualityMeasure(QualityMeasureTypes::EDGE_RATIO);
476 }
478 {
479 this->SetWedgeQualityMeasure(QualityMeasureTypes::EQUIANGLE_SKEW);
480 }
482 {
483 this->SetWedgeQualityMeasure(QualityMeasureTypes::JACOBIAN);
484 }
486 {
487 this->SetWedgeQualityMeasure(QualityMeasureTypes::MAX_ASPECT_FROBENIUS);
488 }
490 {
491 this->SetWedgeQualityMeasure(QualityMeasureTypes::MAX_STRETCH);
492 }
494 {
495 this->SetWedgeQualityMeasure(QualityMeasureTypes::MEAN_ASPECT_FROBENIUS);
496 }
498 {
499 this->SetWedgeQualityMeasure(QualityMeasureTypes::SCALED_JACOBIAN);
500 }
501 void SetWedgeQualityMeasureToShape() { this->SetWedgeQualityMeasure(QualityMeasureTypes::SHAPE); }
503 {
504 this->SetWedgeQualityMeasure(QualityMeasureTypes::VOLUME);
505 }
507
509
518 virtual void SetHexQualityMeasure(int measure)
519 {
520 this->SetHexQualityMeasure(static_cast<QualityMeasureTypes>(measure));
521 }
524 {
525 this->SetHexQualityMeasure(QualityMeasureTypes::EDGE_RATIO);
526 }
528 {
529 this->SetHexQualityMeasure(QualityMeasureTypes::MED_ASPECT_FROBENIUS);
530 }
532 {
533 this->SetHexQualityMeasure(QualityMeasureTypes::MAX_ASPECT_FROBENIUS);
534 }
536 {
537 this->SetHexQualityMeasure(QualityMeasureTypes::MAX_EDGE_RATIO);
538 }
539 void SetHexQualityMeasureToSkew() { this->SetHexQualityMeasure(QualityMeasureTypes::SKEW); }
540 void SetHexQualityMeasureToTaper() { this->SetHexQualityMeasure(QualityMeasureTypes::TAPER); }
541 void SetHexQualityMeasureToVolume() { this->SetHexQualityMeasure(QualityMeasureTypes::VOLUME); }
542 void SetHexQualityMeasureToStretch() { this->SetHexQualityMeasure(QualityMeasureTypes::STRETCH); }
544 {
545 this->SetHexQualityMeasure(QualityMeasureTypes::DIAGONAL);
546 }
548 {
549 this->SetHexQualityMeasure(QualityMeasureTypes::DIMENSION);
550 }
551 void SetHexQualityMeasureToOddy() { this->SetHexQualityMeasure(QualityMeasureTypes::ODDY); }
553 {
554 this->SetHexQualityMeasure(QualityMeasureTypes::CONDITION);
555 }
557 {
558 this->SetHexQualityMeasure(QualityMeasureTypes::JACOBIAN);
559 }
561 {
562 this->SetHexQualityMeasure(QualityMeasureTypes::SCALED_JACOBIAN);
563 }
564 void SetHexQualityMeasureToShear() { this->SetHexQualityMeasure(QualityMeasureTypes::SHEAR); }
565 void SetHexQualityMeasureToShape() { this->SetHexQualityMeasure(QualityMeasureTypes::SHAPE); }
567 {
568 this->SetHexQualityMeasure(QualityMeasureTypes::RELATIVE_SIZE_SQUARED);
569 }
571 {
572 this->SetHexQualityMeasure(QualityMeasureTypes::SHAPE_AND_SIZE);
573 }
575 {
576 this->SetHexQualityMeasure(QualityMeasureTypes::SHEAR_AND_SIZE);
577 }
579 {
580 this->SetHexQualityMeasure(QualityMeasureTypes::DISTORTION);
581 }
583 {
584 this->SetHexQualityMeasure(QualityMeasureTypes::EQUIANGLE_SKEW);
585 }
587 {
588 this->SetHexQualityMeasure(QualityMeasureTypes::NODAL_JACOBIAN_RATIO);
589 }
591
595 static double TriangleArea(vtkCell* cell);
596
604 static double TriangleEdgeRatio(vtkCell* cell);
605
613 static double TriangleAspectRatio(vtkCell* cell);
614
622 static double TriangleRadiusRatio(vtkCell* cell);
623
633 static double TriangleAspectFrobenius(vtkCell* cell);
634
638 static double TriangleMinAngle(vtkCell* cell);
639
643 static double TriangleMaxAngle(vtkCell* cell);
644
648 static double TriangleCondition(vtkCell* cell);
649
653 static double TriangleScaledJacobian(vtkCell* cell);
654
662
666 static double TriangleShape(vtkCell* cell);
667
674 static double TriangleShapeAndSize(vtkCell* cell);
675
679 static double TriangleDistortion(vtkCell* cell);
680
684 static double TriangleEquiangleSkew(vtkCell* cell);
685
692
700 static double QuadEdgeRatio(vtkCell* cell);
701
709 static double QuadAspectRatio(vtkCell* cell);
710
721 static double QuadRadiusRatio(vtkCell* cell);
722
732 static double QuadMedAspectFrobenius(vtkCell* cell);
733
743 static double QuadMaxAspectFrobenius(vtkCell* cell);
744
748 static double QuadMinAngle(vtkCell* cell);
749
753 static double QuadMaxEdgeRatio(vtkCell* cell);
754
760 static double QuadSkew(vtkCell* cell);
761
766 static double QuadTaper(vtkCell* cell);
767
773 static double QuadWarpage(vtkCell* cell);
774
779 static double QuadArea(vtkCell* cell);
780
785 static double QuadStretch(vtkCell* cell);
786
790 static double QuadMaxAngle(vtkCell* cell);
791
797 static double QuadOddy(vtkCell* cell);
798
804 static double QuadCondition(vtkCell* cell);
805
811 static double QuadJacobian(vtkCell* cell);
812
818 static double QuadScaledJacobian(vtkCell* cell);
819
824 static double QuadShear(vtkCell* cell);
825
830 static double QuadShape(vtkCell* cell);
831
840 static double QuadRelativeSizeSquared(vtkCell* cell);
841
849 static double QuadShapeAndSize(vtkCell* cell);
850
858 static double QuadShearAndSize(vtkCell* cell);
859
865 static double QuadDistortion(vtkCell* cell);
866
870 static double QuadEquiangleSkew(vtkCell* cell);
871
879 static double TetEdgeRatio(vtkCell* cell);
880
888 static double TetAspectRatio(vtkCell* cell);
889
897 static double TetRadiusRatio(vtkCell* cell);
898
909 static double TetAspectFrobenius(vtkCell* cell);
910
914 static double TetMinAngle(vtkCell* cell);
915
922 static double TetCollapseRatio(vtkCell* cell);
923
929 static double TetAspectGamma(vtkCell* cell);
930
935 static double TetVolume(vtkCell* cell);
936
941 static double TetCondition(vtkCell* cell);
942
947 static double TetJacobian(vtkCell* cell);
948
954 static double TetScaledJacobian(vtkCell* cell);
955
960 static double TetShape(vtkCell* cell);
961
970 static double TetRelativeSizeSquared(vtkCell* cell);
971
979 static double TetShapeAndSize(vtkCell* cell);
980
986 static double TetDistortion(vtkCell* cell);
987
991 static double TetEquiangleSkew(vtkCell* cell);
992
996 static double TetEquivolumeSkew(vtkCell* cell);
997
1003 static double TetMeanRatio(vtkCell* cell);
1004
1010 static double TetNormalizedInradius(vtkCell* cell);
1011
1015 static double TetSquishIndex(vtkCell* cell);
1016
1020 static double PyramidEquiangleSkew(vtkCell* cell);
1021
1026 static double PyramidJacobian(vtkCell* cell);
1027
1032 static double PyramidScaledJacobian(vtkCell* cell);
1033
1039 static double PyramidShape(vtkCell* cell);
1040
1044 static double PyramidVolume(vtkCell* cell);
1045
1050 static double WedgeCondition(vtkCell* cell);
1051
1056 static double WedgeDistortion(vtkCell* cell);
1057
1063 static double WedgeEdgeRatio(vtkCell* cell);
1064
1068 static double WedgeEquiangleSkew(vtkCell* cell);
1069
1074 static double WedgeJacobian(vtkCell* cell);
1075
1080 static double WedgeMaxAspectFrobenius(vtkCell* cell);
1081
1087 static double WedgeMaxStretch(vtkCell* cell);
1088
1094 static double WedgeMeanAspectFrobenius(vtkCell* cell);
1095
1105 static double WedgeScaledJacobian(vtkCell* cell);
1106
1112 static double WedgeShape(vtkCell* cell);
1113
1117 static double WedgeVolume(vtkCell* cell);
1118
1126 static double HexEdgeRatio(vtkCell* cell);
1127
1132 static double HexMedAspectFrobenius(vtkCell* cell);
1133
1138 static double HexMaxAspectFrobenius(vtkCell* cell);
1139
1143 static double HexMaxEdgeRatio(vtkCell* cell);
1144
1150 static double HexSkew(vtkCell* cell);
1151
1156 static double HexTaper(vtkCell* cell);
1157
1162 static double HexVolume(vtkCell* cell);
1163
1168 static double HexStretch(vtkCell* cell);
1169
1174 static double HexDiagonal(vtkCell* cell);
1175
1181 static double HexDimension(vtkCell* cell);
1182
1188 static double HexOddy(vtkCell* cell);
1189
1194 static double HexCondition(vtkCell* cell);
1195
1201 static double HexJacobian(vtkCell* cell);
1202
1208 static double HexScaledJacobian(vtkCell* cell);
1209
1214 static double HexShear(vtkCell* cell);
1215
1220 static double HexShape(vtkCell* cell);
1221
1230 static double HexRelativeSizeSquared(vtkCell* cell);
1231
1239 static double HexShapeAndSize(vtkCell* cell);
1240
1248 static double HexShearAndSize(vtkCell* cell);
1249
1255 static double HexDistortion(vtkCell* cell);
1256
1260 static double HexEquiangleSkew(vtkCell* cell);
1261
1266 static double HexNodalJacobianRatio(vtkCell* cell);
1267
1278 virtual void SetRatio(vtkTypeBool r) { this->SetSaveCellQuality(r); }
1279 vtkTypeBool GetRatio() { return this->GetSaveCellQuality(); }
1280 vtkBooleanMacro(Ratio, vtkTypeBool);
1281
1283
1300 VTK_DEPRECATED_IN_9_2_0("Part of deprecating compatibility mode for this filter")
1301 virtual void SetVolume(vtkTypeBool cv)
1302 {
1303 if (!((cv != 0) ^ (this->Volume != 0)))
1304 {
1305 return;
1306 }
1307 this->Modified();
1308 this->Volume = cv;
1309 if (this->Volume)
1310 {
1311 this->CompatibilityMode = 1;
1312 }
1313 }
1314 VTK_DEPRECATED_IN_9_2_0("Part of deprecating compatibility mode for this filter")
1315 vtkTypeBool GetVolume() { return this->Volume; }
1316 VTK_DEPRECATED_IN_9_2_0("Part of deprecating compatibility mode for this filter")
1317 void VolumeOn()
1318 {
1319 if (!this->Volume)
1320 {
1321 this->Volume = 1;
1322 this->Modified();
1323 }
1324 }
1325 VTK_DEPRECATED_IN_9_2_0("Part of deprecating compatibility mode for this filter")
1326 void VolumeOff()
1327 {
1328 if (this->Volume)
1329 {
1330 this->Volume = 0;
1331 this->Modified();
1332 }
1333 }
1335
1337
1364 VTK_DEPRECATED_IN_9_2_0("Deprecating compatibility mode for this filter")
1365 virtual void SetCompatibilityMode(vtkTypeBool cm)
1366 {
1367 if (!((cm != 0) ^ (this->CompatibilityMode != 0)))
1368 {
1369 return;
1370 }
1371 this->CompatibilityMode = cm;
1372 this->Modified();
1373 if (this->CompatibilityMode)
1374 {
1375 this->Volume = 1;
1376 this->TetQualityMeasure = QualityMeasureTypes::RADIUS_RATIO;
1377 }
1378 }
1379 VTK_DEPRECATED_IN_9_2_0("Deprecating compatibility mode for this filter")
1380 vtkGetMacro(CompatibilityMode, vtkTypeBool);
1381 VTK_DEPRECATED_IN_9_2_0("Deprecating compatibility mode for this filter")
1382 void CompatibilityModeOn()
1383 {
1384 if (!this->CompatibilityMode)
1385 {
1386 this->CompatibilityMode = 1;
1387 this->Modified();
1388 }
1389 }
1390 VTK_DEPRECATED_IN_9_2_0("Part of deprecating compatibility mode for this filter")
1391 void CompatibilityModeOff()
1392 {
1393 if (this->CompatibilityMode)
1394 {
1395 this->CompatibilityMode = 0;
1396 this->Modified();
1397 }
1398 }
1400
1401protected:
1403 ~vtkMeshQuality() override = default;
1404
1406
1415
1416 using CellQualityType = double (*)(vtkCell*);
1423
1424 // VTK_DEPRECATED_IN_9_2_0 Those 2 attributes need to be removed, and instance in the code as
1425 // well.
1428
1429 // Variables used to store the average size (2D: area / 3D: volume)
1430 static double TriangleAverageSize;
1431 static double QuadAverageSize;
1432 static double TetAverageSize;
1433 static double PyramidAverageSize;
1434 static double WedgeAverageSize;
1435 static double HexAverageSize;
1436
1437private:
1438 vtkMeshQuality(const vtkMeshQuality&) = delete;
1439 void operator=(const vtkMeshQuality&) = delete;
1440};
1441
1442VTK_ABI_NAMESPACE_END
1443#endif // vtkMeshQuality_h
abstract class to specify cell behavior
Definition vtkCell.h:50
abstract superclass for arrays of numeric data
Superclass for algorithms that produce output of the same type as input.
dynamic, self-adjusting array of double
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Calculate functions of quality of the elements of a mesh.
void SetQuadQualityMeasureToSkew()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
virtual void SetWedgeQualityMeasure(int measure)
Set/Get the particular estimator used to measure the quality of wedges.
static double QuadWarpage(vtkCell *cell)
Calculate the warpage of a quadrilateral.
void SetHexQualityMeasureToScaledJacobian()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetTetQualityMeasureToEquivolumeSkew()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double QuadTaper(vtkCell *cell)
Calculate the taper of a quadrilateral.
virtual void SetTetQualityMeasure(int measure)
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetWedgeQualityMeasureToMeanAspectFrobenius()
Set/Get the particular estimator used to measure the quality of wedges.
void SetTriangleQualityMeasureToArea()
Set/Get the particular estimator used to function the quality of triangles.
vtkGetEnumMacro(HexQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetWedgeQualityMeasureToScaledJacobian()
Set/Get the particular estimator used to measure the quality of wedges.
static double TetNormalizedInradius(vtkCell *cell)
Calculate the normalized in-radius of a tetrahedron.
static double HexOddy(vtkCell *cell)
Calculate the oddy of a hexahedron.
void SetWedgeQualityMeasureToCondition()
Set/Get the particular estimator used to measure the quality of wedges.
virtual void SetTriangleQualityMeasure(int measure)
Set/Get the particular estimator used to function the quality of triangles.
static double WedgeScaledJacobian(vtkCell *cell)
Calculate the scaled Jacobian a wedge.
static double TetAspectGamma(vtkCell *cell)
Calculate the aspect gamma of a tetrahedron.
void SetPyramidQualityMeasureToVolume()
Set/Get the particular estimator used to measure the quality of pyramids.
static double WedgeMaxStretch(vtkCell *cell)
Calculate the max stretch of a wedge.
void SetPyramidQualityMeasureToShape()
Set/Get the particular estimator used to measure the quality of pyramids.
void SetTetQualityMeasureToMinAngle()
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetHexQualityMeasureToDistortion()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double HexShear(vtkCell *cell)
Calculate the shear of a hexahedron.
static double HexScaledJacobian(vtkCell *cell)
Calculate the scaled Jacobian of a hexahedron.
virtual void SetPyramidQualityMeasure(int measure)
Set/Get the particular estimator used to measure the quality of pyramids.
void SetTriangleQualityMeasureToRadiusRatio()
Set/Get the particular estimator used to function the quality of triangles.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
void SetQuadQualityMeasureToRelativeSizeSquared()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetHexQualityMeasureToDiagonal()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetHexQualityMeasureToMedAspectFrobenius()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetTetQualityMeasureToDistortion()
Set/Get the particular estimator used to measure the quality of tetrahedra.
virtual void SetRatio(vtkTypeBool r)
These methods are deprecated.
void SetWedgeQualityMeasureToJacobian()
Set/Get the particular estimator used to measure the quality of wedges.
static double QuadAverageSize
static double QuadJacobian(vtkCell *cell)
Calculate the Jacobian of a quadrilateral.
void SetTriangleQualityMeasureToScaledJacobian()
Set/Get the particular estimator used to function the quality of triangles.
static double PyramidJacobian(vtkCell *cell)
Calculate the Jacobian of a pyramid.
QualityMeasureTypes TriangleQualityMeasure
QualityMeasureTypes
Enum which lists the Quality Measures Types.
void SetQuadQualityMeasureToMaxAspectFrobenius()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double TriangleNormalizedInradius(vtkCell *cell)
Calculate the normalized in-radius of a triangle.
static double WedgeShape(vtkCell *cell)
Calculate the shape of a wedge.
static double WedgeEdgeRatio(vtkCell *cell)
Calculate the edge ratio of a wedge.
static double TriangleEdgeRatio(vtkCell *cell)
Calculate the edge ratio of a triangle.
void SetHexQualityMeasureToMaxAspectFrobenius()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double WedgeMeanAspectFrobenius(vtkCell *cell)
Calculate the mean aspect Frobenius of a wedge.
static double PyramidVolume(vtkCell *cell)
Calculate the volume of a pyramid.
static double QuadOddy(vtkCell *cell)
Calculate the oddy of a quadrilateral.
static double QuadAspectRatio(vtkCell *cell)
Calculate the aspect ratio of a planar quadrilateral.
static double TriangleAspectFrobenius(vtkCell *cell)
Calculate the Frobenius condition number of the transformation matrix from an equilateral triangle to...
vtkSetEnumMacro(TriangleQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to function the quality of triangles.
static double TetMeanRatio(vtkCell *cell)
Calculate the mean ratio of a tetrahedron.
static double QuadEquiangleSkew(vtkCell *cell)
Calculate the equiangle skew of a quadrilateral.
static double QuadScaledJacobian(vtkCell *cell)
Calculate the scaled Jacobian of a quadrilateral.
vtkSetEnumMacro(WedgeQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of wedges.
static double HexMaxEdgeRatio(vtkCell *cell)
Calculate the maximum edge ratio of a hexahedron at its center.
void SetHexQualityMeasureToJacobian()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double HexShapeAndSize(vtkCell *cell)
Calculate the shape and size of a hexahedron.
static double QuadShear(vtkCell *cell)
Calculate the shear of a quadrilateral.
void SetHexQualityMeasureToShape()
Set/Get the particular estimator used to measure the quality of hexahedra.
vtkGetEnumMacro(WedgeQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of wedges.
void SetQuadQualityMeasureToAspectRatio()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double TriangleShapeAndSize(vtkCell *cell)
Calculate the product of shape and relative size of a triangle.
vtkTypeBool GetRatio()
static double HexTaper(vtkCell *cell)
Calculate the taper of a hexahedron.
static vtkMeshQuality * New()
void SetTriangleQualityMeasureToEquiangleSkew()
Set/Get the particular estimator used to function the quality of triangles.
CellQualityType GetTriangleQualityMeasureFunction()
virtual void SetQuadQualityMeasure(int measure)
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetTetQualityMeasureToSquishIndex()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double TetJacobian(vtkCell *cell)
Calculate the Jacobian of a tetrahedron.
static double HexDistortion(vtkCell *cell)
Calculate the distortion of a hexahedron.
static double TetCollapseRatio(vtkCell *cell)
Calculate the collapse ratio of a tetrahedron.
static double TriangleDistortion(vtkCell *cell)
Calculate the distortion of a triangle.
static double HexVolume(vtkCell *cell)
Calculate the volume of a hexahedron.
void SetQuadQualityMeasureToMaxEdgeRatio()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetHexQualityMeasureToShear()
Set/Get the particular estimator used to measure the quality of hexahedra.
vtkGetEnumMacro(QuadQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double QuadArea(vtkCell *cell)
Calculate the area of a quadrilateral.
void SetTriangleQualityMeasureToAspectRatio()
Set/Get the particular estimator used to function the quality of triangles.
void SetHexQualityMeasureToStretch()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetTetQualityMeasureToEquiangleSkew()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double TetEdgeRatio(vtkCell *cell)
Calculate the edge ratio of a tetrahedron.
void SetQuadQualityMeasureToCondition()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetTetQualityMeasureToNormalizedInradius()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double HexRelativeSizeSquared(vtkCell *cell)
Calculate the relative size squared of a hexahedron.
void SetTetQualityMeasureToShape()
Set/Get the particular estimator used to measure the quality of tetrahedra.
vtkSetEnumMacro(PyramidQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of pyramids.
void SetQuadQualityMeasureToShear()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double PyramidShape(vtkCell *cell)
Calculate the shape of a pyramid.
QualityMeasureTypes QuadQualityMeasure
CellQualityType GetTetQualityMeasureFunction()
static double HexShape(vtkCell *cell)
Calculate the shape of a hexahedron.
void SetHexQualityMeasureToCondition()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double TetAverageSize
static double TriangleScaledJacobian(vtkCell *cell)
Calculate the scaled Jacobian of a triangle.
void SetHexQualityMeasureToDimension()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double TetRelativeSizeSquared(vtkCell *cell)
Calculate the relative size squared of a tetrahedron.
void SetTriangleQualityMeasureToNormalizedInradius()
Set/Get the particular estimator used to function the quality of triangles.
static double TriangleEquiangleSkew(vtkCell *cell)
Calculate the equiangle skew of a triangle.
QualityMeasureTypes TetQualityMeasure
static double TriangleShape(vtkCell *cell)
Calculate the shape of a triangle.
void SetTetQualityMeasureToVolume()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double QuadMedAspectFrobenius(vtkCell *cell)
Calculate the average Frobenius aspect of the 4 corner triangles of a planar quadrilateral,...
static double TriangleCondition(vtkCell *cell)
Calculate the condition number of a triangle.
static double WedgeDistortion(vtkCell *cell)
Calculate the distortion of a wedge.
static double HexEquiangleSkew(vtkCell *cell)
Calculate the equiangle skew of a hexahedron.
void SetQuadQualityMeasureToTaper()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetWedgeQualityMeasureToVolume()
Set/Get the particular estimator used to measure the quality of wedges.
CellQualityType GetWedgeQualityMeasureFunction()
static double TetMinAngle(vtkCell *cell)
Calculate the minimal (nonoriented) dihedral angle of a tetrahedron, expressed in degrees.
void SetTetQualityMeasureToAspectRatio()
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetTriangleQualityMeasureToRelativeSizeSquared()
Set/Get the particular estimator used to function the quality of triangles.
static double WedgeEquiangleSkew(vtkCell *cell)
Calculate the equiangle skew of a wedge.
void SetHexQualityMeasureToRelativeSizeSquared()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetQuadQualityMeasureToEdgeRatio()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double QuadCondition(vtkCell *cell)
Calculate the condition number of a quadrilateral.
void SetPyramidQualityMeasureToEquiangleSkew()
Set/Get the particular estimator used to measure the quality of pyramids.
void SetQuadQualityMeasureToRadiusRatio()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetQuadQualityMeasureToShapeAndSize()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetHexQualityMeasureToSkew()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetQuadQualityMeasureToShearAndSize()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double HexAverageSize
vtkGetEnumMacro(TetQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetQuadQualityMeasureToJacobian()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetHexQualityMeasureToMaxEdgeRatio()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double TriangleAspectRatio(vtkCell *cell)
Calculate the aspect ratio of a triangle.
static double TetSquishIndex(vtkCell *cell)
Calculate the squish index of a tetrahedron.
static double HexJacobian(vtkCell *cell)
Calculate the Jacobian of a hexahedron.
void SetQuadQualityMeasureToMedAspectFrobenius()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
vtkGetEnumMacro(PyramidQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of pyramids.
static double PyramidEquiangleSkew(vtkCell *cell)
Calculate the equiangle skew of a pyramid.
static double TetDistortion(vtkCell *cell)
Calculate the distortion of a tetrahedron.
static double QuadShapeAndSize(vtkCell *cell)
Calculate the shape and size of a quadrilateral.
void SetWedgeQualityMeasureToEdgeRatio()
Set/Get the particular estimator used to measure the quality of wedges.
static double TriangleMaxAngle(vtkCell *cell)
Calculate the maximal (nonoriented) angle of a triangle, expressed in degrees.
void SetTriangleQualityMeasureToCondition()
Set/Get the particular estimator used to function the quality of triangles.
static double TetCondition(vtkCell *cell)
Calculate the condition number of a tetrahedron.
void SetWedgeQualityMeasureToShape()
Set/Get the particular estimator used to measure the quality of wedges.
void SetTetQualityMeasureToMeanRatio()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double TriangleRadiusRatio(vtkCell *cell)
Calculate the radius ratio of a triangle.
void SetWedgeQualityMeasureToMaxStretch()
Set/Get the particular estimator used to measure the quality of wedges.
static double TetScaledJacobian(vtkCell *cell)
Calculate the scaled Jacobian of a tetrahedron.
static double QuadEdgeRatio(vtkCell *cell)
Calculate the edge ratio of a quadrilateral.
~vtkMeshQuality() override=default
void SetTetQualityMeasureToAspectFrobenius()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double QuadShearAndSize(vtkCell *cell)
Calculate the shear and size of a quadrilateral.
static double HexDimension(vtkCell *cell)
Calculate the dimension of a hexahedron.
void SetHexQualityMeasureToTaper()
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetTriangleQualityMeasureToShapeAndSize()
Set/Get the particular estimator used to function the quality of triangles.
void SetQuadQualityMeasureToShape()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double HexStretch(vtkCell *cell)
Calculate the stretch of a hexahedron.
QualityMeasureTypes HexQualityMeasure
static double QuadMaxAngle(vtkCell *cell)
Calculate the maximum (nonoriented) angle of a quadrilateral, expressed in degrees.
void SetHexQualityMeasureToNodalJacobianRatio()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double QuadStretch(vtkCell *cell)
Calculate the stretch of a quadrilateral.
void SetWedgeQualityMeasureToDistortion()
Set/Get the particular estimator used to measure the quality of wedges.
void SetTriangleQualityMeasureToAspectFrobenius()
Set/Get the particular estimator used to function the quality of triangles.
void SetQuadQualityMeasureToEquiangleSkew()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetHexQualityMeasureToEquiangleSkew()
Set/Get the particular estimator used to measure the quality of hexahedra.
double(*)(vtkCell *) CellQualityType
static double HexEdgeRatio(vtkCell *cell)
Calculate the edge ratio of a hexahedron.
void SetTetQualityMeasureToRelativeSizeSquared()
Set/Get the particular estimator used to measure the quality of tetrahedra.
CellQualityType GetQuadQualityMeasureFunction()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetHexQualityMeasureToShearAndSize()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double QuadMaxAspectFrobenius(vtkCell *cell)
Calculate the maximal Frobenius aspect of the 4 corner triangles of a planar quadrilateral,...
vtkTypeBool SaveCellQuality
void SetHexQualityMeasureToShapeAndSize()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double TetAspectFrobenius(vtkCell *cell)
Calculate the Frobenius condition number of the transformation matrix from a regular tetrahedron to a...
static double HexMaxAspectFrobenius(vtkCell *cell)
Calculate the maximal Frobenius aspect of the 8 corner tetrahedra of a hexahedron,...
void SetQuadQualityMeasureToArea()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetQuadQualityMeasureToWarpage()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double TriangleAverageSize
static double HexShearAndSize(vtkCell *cell)
Calculate the shear and size of a hexahedron.
static double HexSkew(vtkCell *cell)
Calculate the skew of a hexahedron.
void SetTetQualityMeasureToCollapseRatio()
Set/Get the particular estimator used to measure the quality of tetrahedra.
vtkTypeBool Volume
static double TetEquiangleSkew(vtkCell *cell)
Calculate the equiangle skew of a tetrahedron.
void SetTriangleQualityMeasureToMaxAngle()
Set/Get the particular estimator used to function the quality of triangles.
void SetQuadQualityMeasureToMaxAngle()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
vtkTypeBool CompatibilityMode
void SetTetQualityMeasureToJacobian()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double QuadShape(vtkCell *cell)
Calculate the shear of a quadrilateral.
vtkSetEnumMacro(TetQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetTetQualityMeasureToRadiusRatio()
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetHexQualityMeasureToOddy()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double HexMedAspectFrobenius(vtkCell *cell)
Calculate the average Frobenius aspect of the 8 corner tetrahedra of a hexahedron,...
void SetTetQualityMeasureToShapeAndSize()
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetHexQualityMeasureToVolume()
Set/Get the particular estimator used to measure the quality of hexahedra.
static double TriangleRelativeSizeSquared(vtkCell *cell)
Calculate the square of the relative size of a triangle.
static double QuadRadiusRatio(vtkCell *cell)
Calculate the radius ratio of a planar quadrilateral.
static double QuadRelativeSizeSquared(vtkCell *cell)
Calculate the relative size squared of a quadrilateral.
static double TetEquivolumeSkew(vtkCell *cell)
Calculate the equivolume skew of a tetrahedron.
static double TetVolume(vtkCell *cell)
Calculate the volume of a tetrahedron.
static double QuadSkew(vtkCell *cell)
Calculate the skew of a quadrilateral.
static double PyramidScaledJacobian(vtkCell *cell)
Calculate the Jacobian of a pyramid.
static double PyramidAverageSize
void SetWedgeQualityMeasureToMaxAspectFrobenius()
Set/Get the particular estimator used to measure the quality of wedges.
static double QuadDistortion(vtkCell *cell)
Calculate the distortion of a quadrilateral.
void SetPyramidQualityMeasureToScaledJacobian()
Set/Get the particular estimator used to measure the quality of pyramids.
void SetTetQualityMeasureToCondition()
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetQuadQualityMeasureToOddy()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
void SetTetQualityMeasureToEdgeRatio()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double WedgeJacobian(vtkCell *cell)
Calculate the Jacobian of a wedge.
QualityMeasureTypes PyramidQualityMeasure
static double QuadMaxEdgeRatio(vtkCell *cell)
Calculate the maximum edge length ratio of a quadrilateral at quad center.
void SetHexQualityMeasureToEdgeRatio()
Set/Get the particular estimator used to measure the quality of hexahedra.
CellQualityType GetPyramidQualityMeasureFunction()
static double WedgeCondition(vtkCell *cell)
Calculate the condition number of a wedge.
void SetTetQualityMeasureToScaledJacobian()
Set/Get the particular estimator used to measure the quality of tetrahedra.
void SetQuadQualityMeasureToMinAngle()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double WedgeVolume(vtkCell *cell)
Calculate the volume of a wedge.
vtkSetEnumMacro(QuadQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double TriangleMinAngle(vtkCell *cell)
Calculate the minimal (nonoriented) angle of a triangle, expressed in degrees.
vtkSetEnumMacro(HexQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to measure the quality of hexahedra.
static double HexDiagonal(vtkCell *cell)
Calculate the diagonal of a hexahedron.
void SetTriangleQualityMeasureToShape()
Set/Get the particular estimator used to function the quality of triangles.
void SetTriangleQualityMeasureToEdgeRatio()
Set/Get the particular estimator used to function the quality of triangles.
static double TriangleArea(vtkCell *cell)
Calculate the area of a triangle.
CellQualityType GetHexQualityMeasureFunction()
static double TetShapeAndSize(vtkCell *cell)
Calculate the shape and size of a tetrahedron.
vtkGetEnumMacro(TriangleQualityMeasure, QualityMeasureTypes)
Set/Get the particular estimator used to function the quality of triangles.
void SetTetQualityMeasureToAspectGamma()
Set/Get the particular estimator used to measure the quality of tetrahedra.
static double QuadMinAngle(vtkCell *cell)
Calculate the minimal (nonoriented) angle of a quadrilateral, expressed in degrees.
void SetQuadQualityMeasureToScaledJacobian()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
virtual void SetHexQualityMeasure(int measure)
Set/Get the particular estimator used to measure the quality of hexahedra.
void SetTriangleQualityMeasureToDistortion()
Set/Get the particular estimator used to function the quality of triangles.
void SetTriangleQualityMeasureToMinAngle()
Set/Get the particular estimator used to function the quality of triangles.
void SetQuadQualityMeasureToStretch()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double TetRadiusRatio(vtkCell *cell)
Calculate the radius ratio of a tetrahedron.
static double HexNodalJacobianRatio(vtkCell *cell)
Calculate the nodal Jacobian ratio of a hexahedron.
static double WedgeAverageSize
static double TetAspectRatio(vtkCell *cell)
Calculate the aspect ratio of a tetrahedron.
void SetWedgeQualityMeasureToEquiangleSkew()
Set/Get the particular estimator used to measure the quality of wedges.
QualityMeasureTypes WedgeQualityMeasure
static double WedgeMaxAspectFrobenius(vtkCell *cell)
Calculate the max aspect Frobenius of a wedge.
static double TetShape(vtkCell *cell)
Calculate the shape of a tetrahedron.
void SetPyramidQualityMeasureToJacobian()
Set/Get the particular estimator used to measure the quality of pyramids.
void SetQuadQualityMeasureToDistortion()
Set/Get the particular estimator used to measure the quality of quadrilaterals.
static double HexCondition(vtkCell *cell)
Calculate the condition of a hexahedron.
virtual void Modified()
Update the modification time for this object.
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_DEPRECATED_IN_9_2_0(reason)