Go to the documentation of this file.
65 #ifndef vtkMeshQuality_h
66 #define vtkMeshQuality_h
68 #include "vtkFiltersVerdictModule.h"
74 #define VTK_QUALITY_EDGE_RATIO 0
75 #define VTK_QUALITY_ASPECT_RATIO 1
76 #define VTK_QUALITY_RADIUS_RATIO 2
77 #define VTK_QUALITY_ASPECT_FROBENIUS 3
78 #define VTK_QUALITY_MED_ASPECT_FROBENIUS 4
79 #define VTK_QUALITY_MAX_ASPECT_FROBENIUS 5
80 #define VTK_QUALITY_MIN_ANGLE 6
81 #define VTK_QUALITY_COLLAPSE_RATIO 7
82 #define VTK_QUALITY_MAX_ANGLE 8
83 #define VTK_QUALITY_CONDITION 9
84 #define VTK_QUALITY_SCALED_JACOBIAN 10
85 #define VTK_QUALITY_SHEAR 11
86 #define VTK_QUALITY_RELATIVE_SIZE_SQUARED 12
87 #define VTK_QUALITY_SHAPE 13
88 #define VTK_QUALITY_SHAPE_AND_SIZE 14
89 #define VTK_QUALITY_DISTORTION 15
90 #define VTK_QUALITY_MAX_EDGE_RATIO 16
91 #define VTK_QUALITY_SKEW 17
92 #define VTK_QUALITY_TAPER 18
93 #define VTK_QUALITY_VOLUME 19
94 #define VTK_QUALITY_STRETCH 20
95 #define VTK_QUALITY_DIAGONAL 21
96 #define VTK_QUALITY_DIMENSION 22
97 #define VTK_QUALITY_ODDY 23
98 #define VTK_QUALITY_SHEAR_AND_SIZE 24
99 #define VTK_QUALITY_JACOBIAN 25
100 #define VTK_QUALITY_WARPAGE 26
101 #define VTK_QUALITY_ASPECT_GAMMA 27
102 #define VTK_QUALITY_AREA 28
103 #define VTK_QUALITY_ASPECT_BETA 29
133 vtkSetMacro(TriangleQualityMeasure,
int);
134 vtkGetMacro(TriangleQualityMeasure,
int);
205 vtkSetMacro(QuadQualityMeasure,
int);
206 vtkGetMacro(QuadQualityMeasure,
int);
312 vtkSetMacro(TetQualityMeasure,
int);
313 vtkGetMacro(TetQualityMeasure,
int);
392 vtkSetMacro(HexQualityMeasure,
int);
393 vtkGetMacro(HexQualityMeasure,
int);
482 static double TriangleArea(
vtkCell* cell );
494 static double TriangleEdgeRatio(
vtkCell* cell );
506 static double TriangleAspectRatio(
vtkCell* cell );
518 static double TriangleRadiusRatio(
vtkCell* cell );
532 static double TriangleAspectFrobenius(
vtkCell* cell );
541 static double TriangleMinAngle(
vtkCell* cell );
550 static double TriangleMaxAngle(
vtkCell* cell );
559 static double TriangleCondition(
vtkCell* cell );
567 static double TriangleScaledJacobian(
vtkCell* cell );
575 static double TriangleRelativeSizeSquared(
vtkCell* cell );
583 static double TriangleShape(
vtkCell* cell );
591 static double TriangleShapeAndSize(
vtkCell* cell );
599 static double TriangleDistortion(
vtkCell* cell );
611 static double QuadEdgeRatio(
vtkCell* cell );
624 static double QuadAspectRatio(
vtkCell* cell );
640 static double QuadRadiusRatio(
vtkCell* cell );
655 static double QuadMedAspectFrobenius(
vtkCell* cell );
670 static double QuadMaxAspectFrobenius(
vtkCell* cell );
679 static double QuadMinAngle(
vtkCell* cell );
681 static double QuadMaxEdgeRatios(
vtkCell* cell );
682 static double QuadSkew(
vtkCell* cell );
683 static double QuadTaper(
vtkCell* cell );
684 static double QuadWarpage(
vtkCell* cell );
685 static double QuadArea(
vtkCell* cell );
686 static double QuadStretch(
vtkCell* cell );
687 static double QuadMaxAngle(
vtkCell* cell );
688 static double QuadOddy(
vtkCell* cell );
689 static double QuadCondition(
vtkCell* cell );
690 static double QuadJacobian(
vtkCell* cell );
691 static double QuadScaledJacobian(
vtkCell* cell );
692 static double QuadShear(
vtkCell* cell );
693 static double QuadShape(
vtkCell* cell );
694 static double QuadRelativeSizeSquared(
vtkCell* cell );
695 static double QuadShapeAndSize(
vtkCell* cell );
696 static double QuadShearAndSize(
vtkCell* cell );
697 static double QuadDistortion(
vtkCell* cell );
709 static double TetEdgeRatio(
vtkCell* cell );
721 static double TetAspectRatio(
vtkCell* cell );
733 static double TetRadiusRatio(
vtkCell* cell );
748 static double TetAspectFrobenius(
vtkCell* cell );
757 static double TetMinAngle(
vtkCell* cell );
769 static double TetCollapseRatio(
vtkCell* cell );
770 static double TetAspectBeta(
vtkCell* cell );
771 static double TetAspectGamma(
vtkCell* cell );
772 static double TetVolume(
vtkCell* cell );
773 static double TetCondition(
vtkCell* cell );
774 static double TetJacobian(
vtkCell* cell );
775 static double TetScaledJacobian(
vtkCell* cell );
776 static double TetShape(
vtkCell* cell );
777 static double TetRelativeSizeSquared(
vtkCell* cell );
778 static double TetShapeandSize(
vtkCell* cell );
779 static double TetDistortion(
vtkCell* cell );
792 static double HexEdgeRatio(
vtkCell* cell );
802 static double HexMedAspectFrobenius(
vtkCell* cell );
813 static double HexMaxAspectFrobenius(
vtkCell* cell );
814 static double HexMaxEdgeRatio(
vtkCell* cell );
815 static double HexSkew(
vtkCell* cell );
816 static double HexTaper(
vtkCell* cell );
817 static double HexVolume(
vtkCell* cell );
818 static double HexStretch(
vtkCell* cell );
819 static double HexDiagonal(
vtkCell* cell );
820 static double HexDimension(
vtkCell* cell );
821 static double HexOddy(
vtkCell* cell );
822 static double HexCondition(
vtkCell* cell );
823 static double HexJacobian(
vtkCell* cell );
824 static double HexScaledJacobian(
vtkCell* cell );
825 static double HexShear(
vtkCell* cell );
826 static double HexShape(
vtkCell* cell );
827 static double HexRelativeSizeSquared(
vtkCell* cell );
828 static double HexShapeAndSize(
vtkCell* cell );
829 static double HexShearAndSize(
vtkCell* cell );
830 static double HexDistortion(
vtkCell* cell );
867 if ( ! ((cv != 0) ^ (this->Volume != 0)) )
875 this->CompatibilityModeOn();
915 if ( !((cm != 0) ^ (this->CompatibilityMode != 0)) )
919 this->CompatibilityMode = cm;
921 if ( this->CompatibilityMode )
940 static int GetCurrentTriangleNormal(
double point[3],
double normal[3] );
952 static double CurrentTriNormal[3];
959 #endif // vtkMeshQuality_h
void SetTetQualityMeasureToScaledJacobian()
void SetTriangleQualityMeasureToAspectRatio()
void SetTriangleQualityMeasureToCondition()
#define VTK_QUALITY_SHAPE
void SetTetQualityMeasureToMinAngle()
void SetTetQualityMeasureToRelativeSizeSquared()
#define VTK_QUALITY_ASPECT_RATIO
void SetQuadQualityMeasureToTaper()
#define VTK_QUALITY_SHEAR
#define VTK_QUALITY_MAX_ANGLE
int TriangleQualityMeasure
virtual void SetVolume(vtkTypeBool cv)
These methods are deprecated.
void SetQuadQualityMeasureToRelativeSizeSquared()
#define VTK_QUALITY_DIAGONAL
void SetTriangleQualityMeasureToArea()
void SetTetQualityMeasureToEdgeRatio()
#define VTK_QUALITY_CONDITION
#define VTK_QUALITY_RADIUS_RATIO
void SetTriangleQualityMeasureToRadiusRatio()
void SetQuadQualityMeasureToAspectRatio()
void SetHexQualityMeasureToScaledJacobian()
virtual void Modified()
Update the modification time for this object.
void SetHexQualityMeasureToEdgeRatio()
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
#define VTK_QUALITY_VOLUME
void SetQuadQualityMeasureToWarpage()
#define VTK_QUALITY_DISTORTION
void SetHexQualityMeasureToShearAndSize()
void SetQuadQualityMeasureToShapeAndSize()
abstract superclass for arrays of numeric data
#define VTK_QUALITY_MIN_ANGLE
Calculate functions of quality of the elements of a mesh.
void SetQuadQualityMeasureToScaledJacobian()
#define VTK_QUALITY_MED_ASPECT_FROBENIUS
void SetQuadQualityMeasureToMaxAngle()
void SetTetQualityMeasureToCondition()
void SetTetQualityMeasureToAspectBeta()
void SetQuadQualityMeasureToMedAspectFrobenius()
void SetHexQualityMeasureToShapeAndSize()
void SetTriangleQualityMeasureToEdgeRatio()
void SetTriangleQualityMeasureToDistortion()
void SetTriangleQualityMeasureToScaledJacobian()
void SetQuadQualityMeasureToMaxAspectFrobenius()
#define VTK_QUALITY_WARPAGE
void SetHexQualityMeasureToTaper()
Superclass for algorithms that produce output of the same type as input.
#define VTK_QUALITY_ASPECT_FROBENIUS
void SetHexQualityMeasureToSkew()
void SetHexQualityMeasureToMaxEdgeRatios()
void SetHexQualityMeasureToDistortion()
void SetQuadQualityMeasureToRadiusRatio()
void SetHexQualityMeasureToMaxAspectFrobenius()
void SetTetQualityMeasureToRadiusRatio()
void SetQuadQualityMeasureToShearAndSize()
void SetHexQualityMeasureToJacobian()
#define VTK_QUALITY_STRETCH
void SetHexQualityMeasureToDiagonal()
#define VTK_QUALITY_JACOBIAN
void SetQuadQualityMeasureToStretch()
void SetTetQualityMeasureToAspectFrobenius()
void SetTetQualityMeasureToShapeAndSize()
#define VTK_QUALITY_SHEAR_AND_SIZE
vtkTypeBool SaveCellQuality
void SetHexQualityMeasureToVolume()
virtual void SetRatio(vtkTypeBool r)
These methods are deprecated.
void SetQuadQualityMeasureToShear()
void SetTetQualityMeasureToJacobian()
abstract class to specify cell behavior
void SetQuadQualityMeasureToJacobian()
void SetHexQualityMeasureToShear()
void SetHexQualityMeasureToOddy()
void SetTetQualityMeasureToCollapseRatio()
a simple class to control print indentation
void SetTetQualityMeasureToVolume()
void SetTriangleQualityMeasureToMaxAngle()
void SetQuadQualityMeasureToMinAngle()
void SetQuadQualityMeasureToMaxEdgeRatios()
static vtkDataSetAlgorithm * New()
void SetHexQualityMeasureToStretch()
void SetTriangleQualityMeasureToShape()
void SetTriangleQualityMeasureToRelativeSizeSquared()
void SetHexQualityMeasureToCondition()
#define VTK_QUALITY_SCALED_JACOBIAN
virtual void SetCompatibilityMode(vtkTypeBool cm)
CompatibilityMode governs whether, when both a quality function and cell volume are to be stored as c...
void SetTriangleQualityMeasureToShapeAndSize()
vtkTypeBool CompatibilityMode
void SetHexQualityMeasureToMedAspectFrobenius()
void SetTetQualityMeasureToDistortion()
void SetQuadQualityMeasureToArea()
#define VTK_QUALITY_RELATIVE_SIZE_SQUARED
vtkDataArray * CellNormals
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_QUALITY_SHAPE_AND_SIZE
void SetQuadQualityMeasureToEdgeRatio()
void SetTetQualityMeasureToAspectRatio()
#define VTK_QUALITY_TAPER
#define VTK_QUALITY_ASPECT_BETA
void SetQuadQualityMeasureToSkew()
void SetQuadQualityMeasureToDistortion()
void SetTetQualityMeasureToShape()
void SetHexQualityMeasureToRelativeSizeSquared()
#define VTK_QUALITY_DIMENSION
#define VTK_QUALITY_EDGE_RATIO
void SetTetQualityMeasureToAspectGamma()
void SetHexQualityMeasureToShape()
void SetQuadQualityMeasureToShape()
void SetTriangleQualityMeasureToMinAngle()
#define VTK_QUALITY_MAX_ASPECT_FROBENIUS
#define VTK_QUALITY_COLLAPSE_RATIO
#define VTK_QUALITY_MAX_EDGE_RATIO
void SetQuadQualityMeasureToCondition()
#define VTK_QUALITY_ASPECT_GAMMA
void SetHexQualityMeasureToDimension()
void SetQuadQualityMeasureToOddy()
void SetTriangleQualityMeasureToAspectFrobenius()