Go to the documentation of this file.
62 #ifndef vtkMeshQuality_h
63 #define vtkMeshQuality_h
65 #include "vtkFiltersVerdictModule.h"
71 #define VTK_QUALITY_EDGE_RATIO 0
72 #define VTK_QUALITY_ASPECT_RATIO 1
73 #define VTK_QUALITY_RADIUS_RATIO 2
74 #define VTK_QUALITY_ASPECT_FROBENIUS 3
75 #define VTK_QUALITY_MED_ASPECT_FROBENIUS 4
76 #define VTK_QUALITY_MAX_ASPECT_FROBENIUS 5
77 #define VTK_QUALITY_MIN_ANGLE 6
78 #define VTK_QUALITY_COLLAPSE_RATIO 7
79 #define VTK_QUALITY_MAX_ANGLE 8
80 #define VTK_QUALITY_CONDITION 9
81 #define VTK_QUALITY_SCALED_JACOBIAN 10
82 #define VTK_QUALITY_SHEAR 11
83 #define VTK_QUALITY_RELATIVE_SIZE_SQUARED 12
84 #define VTK_QUALITY_SHAPE 13
85 #define VTK_QUALITY_SHAPE_AND_SIZE 14
86 #define VTK_QUALITY_DISTORTION 15
87 #define VTK_QUALITY_MAX_EDGE_RATIO 16
88 #define VTK_QUALITY_SKEW 17
89 #define VTK_QUALITY_TAPER 18
90 #define VTK_QUALITY_VOLUME 19
91 #define VTK_QUALITY_STRETCH 20
92 #define VTK_QUALITY_DIAGONAL 21
93 #define VTK_QUALITY_DIMENSION 22
94 #define VTK_QUALITY_ODDY 23
95 #define VTK_QUALITY_SHEAR_AND_SIZE 24
96 #define VTK_QUALITY_JACOBIAN 25
97 #define VTK_QUALITY_WARPAGE 26
98 #define VTK_QUALITY_ASPECT_GAMMA 27
99 #define VTK_QUALITY_AREA 28
100 #define VTK_QUALITY_ASPECT_BETA 29
130 vtkSetMacro(TriangleQualityMeasure,
int);
131 vtkGetMacro(TriangleQualityMeasure,
int);
202 vtkSetMacro(QuadQualityMeasure,
int);
203 vtkGetMacro(QuadQualityMeasure,
int);
309 vtkSetMacro(TetQualityMeasure,
int);
310 vtkGetMacro(TetQualityMeasure,
int);
389 vtkSetMacro(HexQualityMeasure,
int);
390 vtkGetMacro(HexQualityMeasure,
int);
479 static double TriangleArea(
vtkCell* cell );
491 static double TriangleEdgeRatio(
vtkCell* cell );
503 static double TriangleAspectRatio(
vtkCell* cell );
515 static double TriangleRadiusRatio(
vtkCell* cell );
529 static double TriangleAspectFrobenius(
vtkCell* cell );
538 static double TriangleMinAngle(
vtkCell* cell );
547 static double TriangleMaxAngle(
vtkCell* cell );
556 static double TriangleCondition(
vtkCell* cell );
564 static double TriangleScaledJacobian(
vtkCell* cell );
572 static double TriangleRelativeSizeSquared(
vtkCell* cell );
580 static double TriangleShape(
vtkCell* cell );
588 static double TriangleShapeAndSize(
vtkCell* cell );
596 static double TriangleDistortion(
vtkCell* cell );
608 static double QuadEdgeRatio(
vtkCell* cell );
621 static double QuadAspectRatio(
vtkCell* cell );
637 static double QuadRadiusRatio(
vtkCell* cell );
652 static double QuadMedAspectFrobenius(
vtkCell* cell );
667 static double QuadMaxAspectFrobenius(
vtkCell* cell );
676 static double QuadMinAngle(
vtkCell* cell );
678 static double QuadMaxEdgeRatios(
vtkCell* cell );
679 static double QuadSkew(
vtkCell* cell );
680 static double QuadTaper(
vtkCell* cell );
681 static double QuadWarpage(
vtkCell* cell );
682 static double QuadArea(
vtkCell* cell );
683 static double QuadStretch(
vtkCell* cell );
684 static double QuadMaxAngle(
vtkCell* cell );
685 static double QuadOddy(
vtkCell* cell );
686 static double QuadCondition(
vtkCell* cell );
687 static double QuadJacobian(
vtkCell* cell );
688 static double QuadScaledJacobian(
vtkCell* cell );
689 static double QuadShear(
vtkCell* cell );
690 static double QuadShape(
vtkCell* cell );
691 static double QuadRelativeSizeSquared(
vtkCell* cell );
692 static double QuadShapeAndSize(
vtkCell* cell );
693 static double QuadShearAndSize(
vtkCell* cell );
694 static double QuadDistortion(
vtkCell* cell );
706 static double TetEdgeRatio(
vtkCell* cell );
718 static double TetAspectRatio(
vtkCell* cell );
730 static double TetRadiusRatio(
vtkCell* cell );
745 static double TetAspectFrobenius(
vtkCell* cell );
754 static double TetMinAngle(
vtkCell* cell );
766 static double TetCollapseRatio(
vtkCell* cell );
767 static double TetAspectBeta(
vtkCell* cell );
768 static double TetAspectGamma(
vtkCell* cell );
769 static double TetVolume(
vtkCell* cell );
770 static double TetCondition(
vtkCell* cell );
771 static double TetJacobian(
vtkCell* cell );
772 static double TetScaledJacobian(
vtkCell* cell );
773 static double TetShape(
vtkCell* cell );
774 static double TetRelativeSizeSquared(
vtkCell* cell );
775 static double TetShapeandSize(
vtkCell* cell );
776 static double TetDistortion(
vtkCell* cell );
789 static double HexEdgeRatio(
vtkCell* cell );
799 static double HexMedAspectFrobenius(
vtkCell* cell );
810 static double HexMaxAspectFrobenius(
vtkCell* cell );
811 static double HexMaxEdgeRatio(
vtkCell* cell );
812 static double HexSkew(
vtkCell* cell );
813 static double HexTaper(
vtkCell* cell );
814 static double HexVolume(
vtkCell* cell );
815 static double HexStretch(
vtkCell* cell );
816 static double HexDiagonal(
vtkCell* cell );
817 static double HexDimension(
vtkCell* cell );
818 static double HexOddy(
vtkCell* cell );
819 static double HexCondition(
vtkCell* cell );
820 static double HexJacobian(
vtkCell* cell );
821 static double HexScaledJacobian(
vtkCell* cell );
822 static double HexShear(
vtkCell* cell );
823 static double HexShape(
vtkCell* cell );
824 static double HexRelativeSizeSquared(
vtkCell* cell );
825 static double HexShapeAndSize(
vtkCell* cell );
826 static double HexShearAndSize(
vtkCell* cell );
827 static double HexDistortion(
vtkCell* cell );
864 if ( ! ((cv != 0) ^ (this->Volume != 0)) )
872 this->CompatibilityModeOn();
912 if ( !((cm != 0) ^ (this->CompatibilityMode != 0)) )
916 this->CompatibilityMode = cm;
918 if ( this->CompatibilityMode )
937 static int GetCurrentTriangleNormal(
double point[3],
double normal[3] );
949 static double CurrentTriNormal[3];
956 #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()