VTK
vtkMeshQuality.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMeshQuality.h
5  Language: C++
6 
7  Copyright 2003-2006 Sandia Corporation.
8  Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9  license for use of this work by or on behalf of the
10  U.S. Government. Redistribution and use in source and binary forms, with
11  or without modification, are permitted provided that this Notice and any
12  statement of authorship are reproduced on all copies.
13 
14  Contact: dcthomp@sandia.gov,pppebay@sandia.gov
15 
16 =========================================================================*/
67 #ifndef vtkMeshQuality_h
68 #define vtkMeshQuality_h
69 
70 #include "vtkFiltersVerdictModule.h" // For export macro
71 #include "vtkDataSetAlgorithm.h"
72 
73 class vtkCell;
74 class vtkDataArray;
75 
76 #define VTK_QUALITY_EDGE_RATIO 0
77 #define VTK_QUALITY_ASPECT_RATIO 1
78 #define VTK_QUALITY_RADIUS_RATIO 2
79 #define VTK_QUALITY_ASPECT_FROBENIUS 3
80 #define VTK_QUALITY_MED_ASPECT_FROBENIUS 4
81 #define VTK_QUALITY_MAX_ASPECT_FROBENIUS 5
82 #define VTK_QUALITY_MIN_ANGLE 6
83 #define VTK_QUALITY_COLLAPSE_RATIO 7
84 #define VTK_QUALITY_MAX_ANGLE 8
85 #define VTK_QUALITY_CONDITION 9
86 #define VTK_QUALITY_SCALED_JACOBIAN 10
87 #define VTK_QUALITY_SHEAR 11
88 #define VTK_QUALITY_RELATIVE_SIZE_SQUARED 12
89 #define VTK_QUALITY_SHAPE 13
90 #define VTK_QUALITY_SHAPE_AND_SIZE 14
91 #define VTK_QUALITY_DISTORTION 15
92 #define VTK_QUALITY_MAX_EDGE_RATIO 16
93 #define VTK_QUALITY_SKEW 17
94 #define VTK_QUALITY_TAPER 18
95 #define VTK_QUALITY_VOLUME 19
96 #define VTK_QUALITY_STRETCH 20
97 #define VTK_QUALITY_DIAGONAL 21
98 #define VTK_QUALITY_DIMENSION 22
99 #define VTK_QUALITY_ODDY 23
100 #define VTK_QUALITY_SHEAR_AND_SIZE 24
101 #define VTK_QUALITY_JACOBIAN 25
102 #define VTK_QUALITY_WARPAGE 26
103 #define VTK_QUALITY_ASPECT_GAMMA 27
104 #define VTK_QUALITY_AREA 28
105 #define VTK_QUALITY_ASPECT_BETA 29
106 
108 {
109 public:
110  void PrintSelf(ostream& os, vtkIndent indent);
112  static vtkMeshQuality* New();
113 
115 
118  vtkSetMacro(SaveCellQuality,int);
119  vtkGetMacro(SaveCellQuality,int);
120  vtkBooleanMacro(SaveCellQuality,int);
122 
124 
132  vtkSetMacro(TriangleQualityMeasure,int);
133  vtkGetMacro(TriangleQualityMeasure,int);
135  {
136  this->SetTriangleQualityMeasure( VTK_QUALITY_AREA );
137  }
139  {
140  this->SetTriangleQualityMeasure( VTK_QUALITY_EDGE_RATIO );
141  }
143  {
144  this->SetTriangleQualityMeasure( VTK_QUALITY_ASPECT_RATIO );
145  }
147  {
148  this->SetTriangleQualityMeasure( VTK_QUALITY_RADIUS_RATIO );
149  }
151  {
152  this->SetTriangleQualityMeasure( VTK_QUALITY_ASPECT_FROBENIUS );
153  }
155  {
156  this->SetTriangleQualityMeasure( VTK_QUALITY_MIN_ANGLE );
157  }
159  {
160  this->SetTriangleQualityMeasure( VTK_QUALITY_MAX_ANGLE );
161  }
163  {
164  this->SetTriangleQualityMeasure( VTK_QUALITY_CONDITION );
165  }
167  {
168  this->SetTriangleQualityMeasure( VTK_QUALITY_SCALED_JACOBIAN );
169  }
171  {
172  this->SetTriangleQualityMeasure( VTK_QUALITY_RELATIVE_SIZE_SQUARED );
173  }
175  {
176  this->SetTriangleQualityMeasure( VTK_QUALITY_SHAPE );
177  }
179  {
180  this->SetTriangleQualityMeasure( VTK_QUALITY_SHAPE_AND_SIZE );
181  }
183  {
184  this->SetTriangleQualityMeasure( VTK_QUALITY_DISTORTION );
185  }
187 
189 
203  vtkSetMacro(QuadQualityMeasure,int);
204  vtkGetMacro(QuadQualityMeasure,int);
206  {
207  this->SetQuadQualityMeasure( VTK_QUALITY_EDGE_RATIO );
208  }
210  {
211  this->SetQuadQualityMeasure( VTK_QUALITY_ASPECT_RATIO );
212  }
214  {
215  this->SetQuadQualityMeasure( VTK_QUALITY_RADIUS_RATIO );
216  }
218  {
219  this->SetQuadQualityMeasure( VTK_QUALITY_MED_ASPECT_FROBENIUS );
220  }
222  {
223  this->SetQuadQualityMeasure( VTK_QUALITY_MAX_ASPECT_FROBENIUS );
224  }
226  {
227  this->SetQuadQualityMeasure( VTK_QUALITY_MAX_EDGE_RATIO );
228  }
230  {
231  this->SetQuadQualityMeasure( VTK_QUALITY_SKEW );
232  }
234  {
235  this->SetQuadQualityMeasure( VTK_QUALITY_TAPER );
236  }
238  {
239  this->SetQuadQualityMeasure( VTK_QUALITY_WARPAGE );
240  }
242  {
243  this->SetQuadQualityMeasure( VTK_QUALITY_AREA );
244  }
246  {
247  this->SetQuadQualityMeasure( VTK_QUALITY_STRETCH );
248  }
250  {
251  this->SetQuadQualityMeasure( VTK_QUALITY_MIN_ANGLE );
252  }
254  {
255  this->SetQuadQualityMeasure( VTK_QUALITY_MAX_ANGLE );
256  }
258  {
259  this->SetQuadQualityMeasure( VTK_QUALITY_ODDY );
260  }
262  {
263  this->SetQuadQualityMeasure( VTK_QUALITY_CONDITION );
264  }
266  {
267  this->SetQuadQualityMeasure( VTK_QUALITY_JACOBIAN );
268  }
270  {
271  this->SetQuadQualityMeasure( VTK_QUALITY_SCALED_JACOBIAN );
272  }
274  {
275  this->SetQuadQualityMeasure( VTK_QUALITY_SHEAR );
276  }
278  {
279  this->SetQuadQualityMeasure( VTK_QUALITY_SHAPE );
280  }
282  {
283  this->SetQuadQualityMeasure( VTK_QUALITY_RELATIVE_SIZE_SQUARED );
284  }
286  {
287  this->SetQuadQualityMeasure( VTK_QUALITY_SHAPE_AND_SIZE );
288  }
290  {
291  this->SetQuadQualityMeasure( VTK_QUALITY_SHEAR_AND_SIZE );
292  }
294  {
295  this->SetQuadQualityMeasure( VTK_QUALITY_DISTORTION );
296  }
298 
300 
310  vtkSetMacro(TetQualityMeasure,int);
311  vtkGetMacro(TetQualityMeasure,int);
313  {
314  this->SetTetQualityMeasure( VTK_QUALITY_EDGE_RATIO );
315  }
317  {
318  this->SetTetQualityMeasure( VTK_QUALITY_ASPECT_RATIO );
319  }
321  {
322  this->SetTetQualityMeasure( VTK_QUALITY_RADIUS_RATIO );
323  }
325  {
326  this->SetTetQualityMeasure( VTK_QUALITY_ASPECT_FROBENIUS );
327  }
329  {
330  this->SetTetQualityMeasure( VTK_QUALITY_MIN_ANGLE );
331  }
333  {
334  this->SetTetQualityMeasure( VTK_QUALITY_COLLAPSE_RATIO );
335  }
337  {
338  this->SetTetQualityMeasure( VTK_QUALITY_ASPECT_BETA );
339  }
341  {
342  this->SetTetQualityMeasure( VTK_QUALITY_ASPECT_GAMMA );
343  }
345  {
346  this->SetTetQualityMeasure( VTK_QUALITY_VOLUME );
347  }
349  {
350  this->SetTetQualityMeasure( VTK_QUALITY_CONDITION );
351  }
353  {
354  this->SetTetQualityMeasure( VTK_QUALITY_JACOBIAN );
355  }
357  {
358  this->SetTetQualityMeasure( VTK_QUALITY_SCALED_JACOBIAN );
359  }
361  {
362  this->SetTetQualityMeasure( VTK_QUALITY_SHAPE );
363  }
365  {
366  this->SetTetQualityMeasure( VTK_QUALITY_RELATIVE_SIZE_SQUARED );
367  }
369  {
370  this->SetTetQualityMeasure( VTK_QUALITY_SHAPE_AND_SIZE );
371  }
373  {
374  this->SetTetQualityMeasure( VTK_QUALITY_DISTORTION );
375  }
377 
379 
389  vtkSetMacro(HexQualityMeasure,int);
390  vtkGetMacro(HexQualityMeasure,int);
392  {
393  this->SetHexQualityMeasure( VTK_QUALITY_EDGE_RATIO );
394  }
396  {
397  this->SetHexQualityMeasure( VTK_QUALITY_MED_ASPECT_FROBENIUS );
398  }
400  {
401  this->SetHexQualityMeasure( VTK_QUALITY_MAX_ASPECT_FROBENIUS );
402  }
404  {
405  this->SetHexQualityMeasure( VTK_QUALITY_MAX_EDGE_RATIO );
406  }
408  {
409  this->SetHexQualityMeasure( VTK_QUALITY_SKEW );
410  }
412  {
413  this->SetHexQualityMeasure( VTK_QUALITY_TAPER );
414  }
416  {
417  this->SetHexQualityMeasure( VTK_QUALITY_VOLUME );
418  }
420  {
421  this->SetHexQualityMeasure( VTK_QUALITY_STRETCH );
422  }
424  {
425  this->SetHexQualityMeasure( VTK_QUALITY_DIAGONAL );
426  }
428  {
429  this->SetHexQualityMeasure( VTK_QUALITY_DIMENSION );
430  }
432  {
433  this->SetHexQualityMeasure( VTK_QUALITY_ODDY );
434  }
436  {
437  this->SetHexQualityMeasure( VTK_QUALITY_CONDITION );
438  }
440  {
441  this->SetHexQualityMeasure( VTK_QUALITY_JACOBIAN );
442  }
444  {
445  this->SetHexQualityMeasure( VTK_QUALITY_SCALED_JACOBIAN );
446  }
448  {
449  this->SetHexQualityMeasure( VTK_QUALITY_SHEAR );
450  }
452  {
453  this->SetHexQualityMeasure( VTK_QUALITY_SHAPE );
454  }
456  {
457  this->SetHexQualityMeasure( VTK_QUALITY_RELATIVE_SIZE_SQUARED );
458  }
460  {
461  this->SetHexQualityMeasure( VTK_QUALITY_SHAPE_AND_SIZE );
462  }
464  {
465  this->SetHexQualityMeasure( VTK_QUALITY_SHEAR_AND_SIZE );
466  }
468  {
469  this->SetHexQualityMeasure( VTK_QUALITY_DISTORTION );
470  }
472 
477  static double TriangleArea( vtkCell* cell );
478 
486  static double TriangleEdgeRatio( vtkCell* cell );
487 
495  static double TriangleAspectRatio( vtkCell* cell );
496 
503  static double TriangleRadiusRatio( vtkCell* cell );
504 
514  static double TriangleAspectFrobenius( vtkCell* cell );
515 
521  static double TriangleMinAngle( vtkCell* cell );
522 
528  static double TriangleMaxAngle( vtkCell* cell );
529 
534  static double TriangleCondition( vtkCell* cell );
535 
540  static double TriangleScaledJacobian( vtkCell* cell );
541 
546  static double TriangleRelativeSizeSquared( vtkCell* cell );
547 
552  static double TriangleShape( vtkCell* cell );
553 
558  static double TriangleShapeAndSize( vtkCell* cell );
559 
564  static double TriangleDistortion( vtkCell* cell );
565 
573  static double QuadEdgeRatio( vtkCell* cell );
574 
584  static double QuadAspectRatio( vtkCell* cell );
585 
599  static double QuadRadiusRatio( vtkCell* cell );
600 
612  static double QuadMedAspectFrobenius( vtkCell* cell );
613 
625  static double QuadMaxAspectFrobenius( vtkCell* cell );
626 
632  static double QuadMinAngle( vtkCell* cell );
633 
634  static double QuadMaxEdgeRatios( vtkCell* cell );
635  static double QuadSkew( vtkCell* cell );
636  static double QuadTaper( vtkCell* cell );
637  static double QuadWarpage( vtkCell* cell );
638  static double QuadArea( vtkCell* cell );
639  static double QuadStretch( vtkCell* cell );
640  static double QuadMaxAngle( vtkCell* cell );
641  static double QuadOddy( vtkCell* cell );
642  static double QuadCondition( vtkCell* cell );
643  static double QuadJacobian( vtkCell* cell );
644  static double QuadScaledJacobian( vtkCell* cell );
645  static double QuadShear( vtkCell* cell );
646  static double QuadShape( vtkCell* cell );
647  static double QuadRelativeSizeSquared( vtkCell* cell );
648  static double QuadShapeAndSize( vtkCell* cell );
649  static double QuadShearAndSize( vtkCell* cell );
650  static double QuadDistortion( vtkCell* cell );
651 
659  static double TetEdgeRatio( vtkCell* cell );
660 
668  static double TetAspectRatio( vtkCell* cell );
669 
676  static double TetRadiusRatio( vtkCell* cell );
677 
688  static double TetAspectFrobenius( vtkCell* cell );
689 
695  static double TetMinAngle( vtkCell* cell );
696 
698 
705  static double TetCollapseRatio( vtkCell* cell );
706  static double TetAspectBeta( vtkCell* cell );
707  static double TetAspectGamma( vtkCell* cell );
708  static double TetVolume( vtkCell* cell );
709  static double TetCondition( vtkCell* cell );
710  static double TetJacobian( vtkCell* cell );
711  static double TetScaledJacobian( vtkCell* cell );
712  static double TetShape( vtkCell* cell );
713  static double TetRelativeSizeSquared( vtkCell* cell );
714  static double TetShapeandSize( vtkCell* cell );
715  static double TetDistortion( vtkCell* cell );
717 
725  static double HexEdgeRatio( vtkCell* cell );
726 
733  static double HexMedAspectFrobenius( vtkCell* cell );
734 
736 
742  static double HexMaxAspectFrobenius( vtkCell* cell );
743  static double HexMaxEdgeRatio( vtkCell* cell );
744  static double HexSkew( vtkCell* cell );
745  static double HexTaper( vtkCell* cell );
746  static double HexVolume( vtkCell* cell );
747  static double HexStretch( vtkCell* cell );
748  static double HexDiagonal( vtkCell* cell );
749  static double HexDimension( vtkCell* cell );
750  static double HexOddy( vtkCell* cell );
751  static double HexCondition( vtkCell* cell );
752  static double HexJacobian( vtkCell* cell );
753  static double HexScaledJacobian( vtkCell* cell );
754  static double HexShear( vtkCell* cell );
755  static double HexShape( vtkCell* cell );
756  static double HexRelativeSizeSquared( vtkCell* cell );
757  static double HexShapeAndSize( vtkCell* cell );
758  static double HexShearAndSize( vtkCell* cell );
759  static double HexDistortion( vtkCell* cell );
761 
763 
769  virtual void SetRatio( int r ) { this->SetSaveCellQuality( r ); }
770  int GetRatio() { return this->GetSaveCellQuality(); }
771  vtkBooleanMacro(Ratio,int);
773 
775 
787  virtual void SetVolume( int cv )
788  {
789  if ( ! ((cv != 0) ^ (this->Volume != 0)) )
790  {
791  return;
792  }
793  this->Modified();
794  this->Volume = cv;
795  if ( this->Volume )
796  {
797  this->CompatibilityModeOn();
798  }
799  }
800  int GetVolume()
801  {
802  return this->Volume;
803  }
804  vtkBooleanMacro(Volume,int);
806 
808 
826  virtual void SetCompatibilityMode( int cm )
827  {
828  if ( !((cm != 0) ^ (this->CompatibilityMode != 0)) )
829  {
830  return;
831  }
832  this->CompatibilityMode = cm;
833  this->Modified();
834  if ( this->CompatibilityMode )
835  {
836  this->Volume = 1;
837  this->TetQualityMeasure = VTK_QUALITY_RADIUS_RATIO;
838  }
839  }
840  vtkGetMacro(CompatibilityMode,int);
841  vtkBooleanMacro(CompatibilityMode,int);
843 
844 protected:
847 
849 
852  static int GetCurrentTriangleNormal( double point[3], double normal[3] );
853 
859 
861  int Volume;
862 
864  static double CurrentTriNormal[3];
865 
866 private:
867  vtkMeshQuality( const vtkMeshQuality& ); // Not implemented.
868  void operator = ( const vtkMeshQuality& ); // Not implemented.
869 };
870 
871 #endif // vtkMeshQuality_h
vtkMeshQuality::QuadWarpage
static double QuadWarpage(vtkCell *cell)
vtkMeshQuality::TetCondition
static double TetCondition(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToScaledJacobian
void SetTetQualityMeasureToScaledJacobian()
Definition: vtkMeshQuality.h:356
VTK_QUALITY_AREA
#define VTK_QUALITY_AREA
Definition: vtkMeshQuality.h:104
vtkMeshQuality::Volume
int Volume
Definition: vtkMeshQuality.h:861
vtkMeshQuality::SetTriangleQualityMeasureToAspectRatio
void SetTriangleQualityMeasureToAspectRatio()
Definition: vtkMeshQuality.h:142
vtkMeshQuality::SetTriangleQualityMeasureToCondition
void SetTriangleQualityMeasureToCondition()
Definition: vtkMeshQuality.h:162
vtkMeshQuality::HexEdgeRatio
static double HexEdgeRatio(vtkCell *cell)
VTK_QUALITY_ODDY
#define VTK_QUALITY_ODDY
Definition: vtkMeshQuality.h:99
VTK_QUALITY_SHAPE
#define VTK_QUALITY_SHAPE
Definition: vtkMeshQuality.h:89
vtkMeshQuality::QuadJacobian
static double QuadJacobian(vtkCell *cell)
vtkMeshQuality::HexShapeAndSize
static double HexShapeAndSize(vtkCell *cell)
VTKFILTERSVERDICT_EXPORT
#define VTKFILTERSVERDICT_EXPORT
Definition: vtkFiltersVerdictModule.h:15
vtkMeshQuality::SetTetQualityMeasureToMinAngle
void SetTetQualityMeasureToMinAngle()
Definition: vtkMeshQuality.h:328
vtkMeshQuality::SetTetQualityMeasureToRelativeSizeSquared
void SetTetQualityMeasureToRelativeSizeSquared()
Definition: vtkMeshQuality.h:364
vtkMeshQuality::TetScaledJacobian
static double TetScaledJacobian(vtkCell *cell)
vtkMeshQuality::QuadAspectRatio
static double QuadAspectRatio(vtkCell *cell)
VTK_QUALITY_ASPECT_RATIO
#define VTK_QUALITY_ASPECT_RATIO
Definition: vtkMeshQuality.h:77
vtkMeshQuality::SetQuadQualityMeasureToTaper
void SetQuadQualityMeasureToTaper()
Definition: vtkMeshQuality.h:233
VTK_QUALITY_SHEAR
#define VTK_QUALITY_SHEAR
Definition: vtkMeshQuality.h:87
VTK_QUALITY_MAX_ANGLE
#define VTK_QUALITY_MAX_ANGLE
Definition: vtkMeshQuality.h:84
vtkMeshQuality::TriangleQualityMeasure
int TriangleQualityMeasure
Definition: vtkMeshQuality.h:855
vtkMeshQuality::SetQuadQualityMeasureToRelativeSizeSquared
void SetQuadQualityMeasureToRelativeSizeSquared()
Definition: vtkMeshQuality.h:281
VTK_QUALITY_DIAGONAL
#define VTK_QUALITY_DIAGONAL
Definition: vtkMeshQuality.h:97
vtkMeshQuality::~vtkMeshQuality
~vtkMeshQuality()
vtkMeshQuality::SetTriangleQualityMeasureToArea
void SetTriangleQualityMeasureToArea()
Definition: vtkMeshQuality.h:134
vtkMeshQuality::SetTetQualityMeasureToEdgeRatio
void SetTetQualityMeasureToEdgeRatio()
Definition: vtkMeshQuality.h:312
vtkMeshQuality::SetRatio
virtual void SetRatio(int r)
Definition: vtkMeshQuality.h:769
vtkMeshQuality::HexMedAspectFrobenius
static double HexMedAspectFrobenius(vtkCell *cell)
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
VTK_QUALITY_CONDITION
#define VTK_QUALITY_CONDITION
Definition: vtkMeshQuality.h:85
vtkMeshQuality::QuadMaxAspectFrobenius
static double QuadMaxAspectFrobenius(vtkCell *cell)
vtkMeshQuality::CompatibilityMode
int CompatibilityMode
Definition: vtkMeshQuality.h:860
VTK_QUALITY_RADIUS_RATIO
#define VTK_QUALITY_RADIUS_RATIO
Definition: vtkMeshQuality.h:78
vtkMeshQuality::QuadOddy
static double QuadOddy(vtkCell *cell)
vtkMeshQuality::SetTriangleQualityMeasureToRadiusRatio
void SetTriangleQualityMeasureToRadiusRatio()
Definition: vtkMeshQuality.h:146
vtkMeshQuality::SetQuadQualityMeasureToAspectRatio
void SetQuadQualityMeasureToAspectRatio()
Definition: vtkMeshQuality.h:209
vtkMeshQuality::SetHexQualityMeasureToScaledJacobian
void SetHexQualityMeasureToScaledJacobian()
Definition: vtkMeshQuality.h:443
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject::Modified
virtual void Modified()
vtkMeshQuality::TriangleRelativeSizeSquared
static double TriangleRelativeSizeSquared(vtkCell *cell)
vtkMeshQuality::SetHexQualityMeasureToEdgeRatio
void SetHexQualityMeasureToEdgeRatio()
Definition: vtkMeshQuality.h:391
vtkMeshQuality::TriangleEdgeRatio
static double TriangleEdgeRatio(vtkCell *cell)
vtkMeshQuality::QuadMedAspectFrobenius
static double QuadMedAspectFrobenius(vtkCell *cell)
VTK_QUALITY_VOLUME
#define VTK_QUALITY_VOLUME
Definition: vtkMeshQuality.h:95
vtkMeshQuality::SetQuadQualityMeasureToWarpage
void SetQuadQualityMeasureToWarpage()
Definition: vtkMeshQuality.h:237
vtkMeshQuality::TetAspectGamma
static double TetAspectGamma(vtkCell *cell)
vtkMeshQuality::TriangleScaledJacobian
static double TriangleScaledJacobian(vtkCell *cell)
vtkMeshQuality::QuadShearAndSize
static double QuadShearAndSize(vtkCell *cell)
VTK_QUALITY_DISTORTION
#define VTK_QUALITY_DISTORTION
Definition: vtkMeshQuality.h:91
vtkMeshQuality::QuadMaxAngle
static double QuadMaxAngle(vtkCell *cell)
vtkMeshQuality::SetHexQualityMeasureToShearAndSize
void SetHexQualityMeasureToShearAndSize()
Definition: vtkMeshQuality.h:463
vtkMeshQuality::SetQuadQualityMeasureToShapeAndSize
void SetQuadQualityMeasureToShapeAndSize()
Definition: vtkMeshQuality.h:285
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkMeshQuality::HexQualityMeasure
int HexQualityMeasure
Definition: vtkMeshQuality.h:858
VTK_QUALITY_MIN_ANGLE
#define VTK_QUALITY_MIN_ANGLE
Definition: vtkMeshQuality.h:82
vtkMeshQuality
Calculate functions of quality of the elements.
Definition: vtkMeshQuality.h:108
vtkMeshQuality::TriangleCondition
static double TriangleCondition(vtkCell *cell)
vtkMeshQuality::SetQuadQualityMeasureToScaledJacobian
void SetQuadQualityMeasureToScaledJacobian()
Definition: vtkMeshQuality.h:269
vtkMeshQuality::TetAspectFrobenius
static double TetAspectFrobenius(vtkCell *cell)
VTK_QUALITY_MED_ASPECT_FROBENIUS
#define VTK_QUALITY_MED_ASPECT_FROBENIUS
Definition: vtkMeshQuality.h:80
vtkMeshQuality::TetJacobian
static double TetJacobian(vtkCell *cell)
vtkMeshQuality::SetQuadQualityMeasureToMaxAngle
void SetQuadQualityMeasureToMaxAngle()
Definition: vtkMeshQuality.h:253
vtkMeshQuality::SetTetQualityMeasureToCondition
void SetTetQualityMeasureToCondition()
Definition: vtkMeshQuality.h:348
vtkMeshQuality::HexStretch
static double HexStretch(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToAspectBeta
void SetTetQualityMeasureToAspectBeta()
Definition: vtkMeshQuality.h:336
vtkMeshQuality::SetQuadQualityMeasureToMedAspectFrobenius
void SetQuadQualityMeasureToMedAspectFrobenius()
Definition: vtkMeshQuality.h:217
VTK_QUALITY_SKEW
#define VTK_QUALITY_SKEW
Definition: vtkMeshQuality.h:93
vtkMeshQuality::SetHexQualityMeasureToShapeAndSize
void SetHexQualityMeasureToShapeAndSize()
Definition: vtkMeshQuality.h:459
vtkMeshQuality::SetTriangleQualityMeasureToEdgeRatio
void SetTriangleQualityMeasureToEdgeRatio()
Definition: vtkMeshQuality.h:138
vtkMeshQuality::SetTriangleQualityMeasureToDistortion
void SetTriangleQualityMeasureToDistortion()
Definition: vtkMeshQuality.h:182
vtkMeshQuality::SetTriangleQualityMeasureToScaledJacobian
void SetTriangleQualityMeasureToScaledJacobian()
Definition: vtkMeshQuality.h:166
vtkMeshQuality::SetQuadQualityMeasureToMaxAspectFrobenius
void SetQuadQualityMeasureToMaxAspectFrobenius()
Definition: vtkMeshQuality.h:221
VTK_QUALITY_WARPAGE
#define VTK_QUALITY_WARPAGE
Definition: vtkMeshQuality.h:102
vtkMeshQuality::SetHexQualityMeasureToTaper
void SetHexQualityMeasureToTaper()
Definition: vtkMeshQuality.h:411
vtkDataSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkDataSetAlgorithm.h:51
VTK_QUALITY_ASPECT_FROBENIUS
#define VTK_QUALITY_ASPECT_FROBENIUS
Definition: vtkMeshQuality.h:79
vtkMeshQuality::SetHexQualityMeasureToSkew
void SetHexQualityMeasureToSkew()
Definition: vtkMeshQuality.h:407
vtkMeshQuality::SetHexQualityMeasureToMaxEdgeRatios
void SetHexQualityMeasureToMaxEdgeRatios()
Definition: vtkMeshQuality.h:403
vtkMeshQuality::SetHexQualityMeasureToDistortion
void SetHexQualityMeasureToDistortion()
Definition: vtkMeshQuality.h:467
vtkMeshQuality::QuadShape
static double QuadShape(vtkCell *cell)
vtkMeshQuality::SetQuadQualityMeasureToRadiusRatio
void SetQuadQualityMeasureToRadiusRatio()
Definition: vtkMeshQuality.h:213
vtkMeshQuality::SetHexQualityMeasureToMaxAspectFrobenius
void SetHexQualityMeasureToMaxAspectFrobenius()
Definition: vtkMeshQuality.h:399
vtkMeshQuality::HexTaper
static double HexTaper(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToRadiusRatio
void SetTetQualityMeasureToRadiusRatio()
Definition: vtkMeshQuality.h:320
vtkX3D::point
@ point
Definition: vtkX3D.h:236
vtkMeshQuality::SetQuadQualityMeasureToShearAndSize
void SetQuadQualityMeasureToShearAndSize()
Definition: vtkMeshQuality.h:289
vtkMeshQuality::QuadCondition
static double QuadCondition(vtkCell *cell)
vtkMeshQuality::SetHexQualityMeasureToJacobian
void SetHexQualityMeasureToJacobian()
Definition: vtkMeshQuality.h:439
VTK_QUALITY_STRETCH
#define VTK_QUALITY_STRETCH
Definition: vtkMeshQuality.h:96
vtkMeshQuality::SetHexQualityMeasureToDiagonal
void SetHexQualityMeasureToDiagonal()
Definition: vtkMeshQuality.h:423
VTK_QUALITY_JACOBIAN
#define VTK_QUALITY_JACOBIAN
Definition: vtkMeshQuality.h:101
vtkMeshQuality::SetQuadQualityMeasureToStretch
void SetQuadQualityMeasureToStretch()
Definition: vtkMeshQuality.h:245
vtkMeshQuality::SetTetQualityMeasureToAspectFrobenius
void SetTetQualityMeasureToAspectFrobenius()
Definition: vtkMeshQuality.h:324
vtkMeshQuality::GetRatio
int GetRatio()
Definition: vtkMeshQuality.h:770
vtkMeshQuality::SetTetQualityMeasureToShapeAndSize
void SetTetQualityMeasureToShapeAndSize()
Definition: vtkMeshQuality.h:368
VTK_QUALITY_SHEAR_AND_SIZE
#define VTK_QUALITY_SHEAR_AND_SIZE
Definition: vtkMeshQuality.h:100
vtkMeshQuality::SetHexQualityMeasureToVolume
void SetHexQualityMeasureToVolume()
Definition: vtkMeshQuality.h:415
vtkMeshQuality::TetCollapseRatio
static double TetCollapseRatio(vtkCell *cell)
vtkMeshQuality::SetQuadQualityMeasureToShear
void SetQuadQualityMeasureToShear()
Definition: vtkMeshQuality.h:273
vtkMeshQuality::TetMinAngle
static double TetMinAngle(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToJacobian
void SetTetQualityMeasureToJacobian()
Definition: vtkMeshQuality.h:352
vtkMeshQuality::TriangleArea
static double TriangleArea(vtkCell *cell)
vtkCell
abstract class to specify cell behavior
Definition: vtkCell.h:62
vtkMeshQuality::SetQuadQualityMeasureToJacobian
void SetQuadQualityMeasureToJacobian()
Definition: vtkMeshQuality.h:265
vtkMeshQuality::SetHexQualityMeasureToShear
void SetHexQualityMeasureToShear()
Definition: vtkMeshQuality.h:447
vtkMeshQuality::SetHexQualityMeasureToOddy
void SetHexQualityMeasureToOddy()
Definition: vtkMeshQuality.h:431
vtkMeshQuality::HexShape
static double HexShape(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToCollapseRatio
void SetTetQualityMeasureToCollapseRatio()
Definition: vtkMeshQuality.h:332
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMeshQuality::TetEdgeRatio
static double TetEdgeRatio(vtkCell *cell)
vtkMeshQuality::HexMaxAspectFrobenius
static double HexMaxAspectFrobenius(vtkCell *cell)
vtkMeshQuality::QuadArea
static double QuadArea(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToVolume
void SetTetQualityMeasureToVolume()
Definition: vtkMeshQuality.h:344
vtkMeshQuality::SetTriangleQualityMeasureToMaxAngle
void SetTriangleQualityMeasureToMaxAngle()
Definition: vtkMeshQuality.h:158
vtkMeshQuality::SetQuadQualityMeasureToMinAngle
void SetQuadQualityMeasureToMinAngle()
Definition: vtkMeshQuality.h:249
vtkMeshQuality::SetQuadQualityMeasureToMaxEdgeRatios
void SetQuadQualityMeasureToMaxEdgeRatios()
Definition: vtkMeshQuality.h:225
vtkMeshQuality::TriangleMaxAngle
static double TriangleMaxAngle(vtkCell *cell)
vtkMeshQuality::QuadTaper
static double QuadTaper(vtkCell *cell)
vtkMeshQuality::HexShearAndSize
static double HexShearAndSize(vtkCell *cell)
vtkMeshQuality::SetCompatibilityMode
virtual void SetCompatibilityMode(int cm)
Definition: vtkMeshQuality.h:826
vtkMeshQuality::QuadQualityMeasure
int QuadQualityMeasure
Definition: vtkMeshQuality.h:856
vtkMeshQuality::SetHexQualityMeasureToStretch
void SetHexQualityMeasureToStretch()
Definition: vtkMeshQuality.h:419
vtkMeshQuality::TetQualityMeasure
int TetQualityMeasure
Definition: vtkMeshQuality.h:857
vtkMeshQuality::SetTriangleQualityMeasureToShape
void SetTriangleQualityMeasureToShape()
Definition: vtkMeshQuality.h:174
vtkMeshQuality::HexDimension
static double HexDimension(vtkCell *cell)
vtkMeshQuality::QuadStretch
static double QuadStretch(vtkCell *cell)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkMeshQuality::QuadRelativeSizeSquared
static double QuadRelativeSizeSquared(vtkCell *cell)
vtkMeshQuality::SetTriangleQualityMeasureToRelativeSizeSquared
void SetTriangleQualityMeasureToRelativeSizeSquared()
Definition: vtkMeshQuality.h:170
vtkMeshQuality::SetHexQualityMeasureToCondition
void SetHexQualityMeasureToCondition()
Definition: vtkMeshQuality.h:435
VTK_QUALITY_SCALED_JACOBIAN
#define VTK_QUALITY_SCALED_JACOBIAN
Definition: vtkMeshQuality.h:86
vtkMeshQuality::QuadShear
static double QuadShear(vtkCell *cell)
vtkMeshQuality::SetTriangleQualityMeasureToShapeAndSize
void SetTriangleQualityMeasureToShapeAndSize()
Definition: vtkMeshQuality.h:178
vtkMeshQuality::TriangleRadiusRatio
static double TriangleRadiusRatio(vtkCell *cell)
vtkMeshQuality::HexScaledJacobian
static double HexScaledJacobian(vtkCell *cell)
vtkFiltersVerdictModule.h
vtkMeshQuality::QuadMinAngle
static double QuadMinAngle(vtkCell *cell)
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkMeshQuality::QuadShapeAndSize
static double QuadShapeAndSize(vtkCell *cell)
vtkMeshQuality::QuadEdgeRatio
static double QuadEdgeRatio(vtkCell *cell)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkMeshQuality::SetHexQualityMeasureToMedAspectFrobenius
void SetHexQualityMeasureToMedAspectFrobenius()
Definition: vtkMeshQuality.h:395
vtkMeshQuality::HexShear
static double HexShear(vtkCell *cell)
vtkMeshQuality::TriangleDistortion
static double TriangleDistortion(vtkCell *cell)
vtkMeshQuality::HexMaxEdgeRatio
static double HexMaxEdgeRatio(vtkCell *cell)
vtkMeshQuality::HexSkew
static double HexSkew(vtkCell *cell)
vtkMeshQuality::TriangleMinAngle
static double TriangleMinAngle(vtkCell *cell)
vtkMeshQuality::TriangleAspectFrobenius
static double TriangleAspectFrobenius(vtkCell *cell)
vtkgl::r
GLdouble GLdouble GLdouble r
Definition: vtkgl.h:11610
vtkDataSetAlgorithm.h
vtkMeshQuality::SetTetQualityMeasureToDistortion
void SetTetQualityMeasureToDistortion()
Definition: vtkMeshQuality.h:372
vtkMeshQuality::SetQuadQualityMeasureToArea
void SetQuadQualityMeasureToArea()
Definition: vtkMeshQuality.h:241
vtkMeshQuality::GetCurrentTriangleNormal
static int GetCurrentTriangleNormal(double point[3], double normal[3])
VTK_QUALITY_RELATIVE_SIZE_SQUARED
#define VTK_QUALITY_RELATIVE_SIZE_SQUARED
Definition: vtkMeshQuality.h:88
vtkMeshQuality::TetAspectBeta
static double TetAspectBeta(vtkCell *cell)
vtkMeshQuality::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkMeshQuality::TetRadiusRatio
static double TetRadiusRatio(vtkCell *cell)
vtkMeshQuality::CellNormals
vtkDataArray * CellNormals
Definition: vtkMeshQuality.h:863
vtkMeshQuality::TetDistortion
static double TetDistortion(vtkCell *cell)
vtkMeshQuality::HexDistortion
static double HexDistortion(vtkCell *cell)
vtkMeshQuality::TriangleShape
static double TriangleShape(vtkCell *cell)
vtkMeshQuality::QuadSkew
static double QuadSkew(vtkCell *cell)
vtkMeshQuality::TetVolume
static double TetVolume(vtkCell *cell)
vtkMeshQuality::GetVolume
int GetVolume()
Definition: vtkMeshQuality.h:800
VTK_QUALITY_SHAPE_AND_SIZE
#define VTK_QUALITY_SHAPE_AND_SIZE
Definition: vtkMeshQuality.h:90
vtkMeshQuality::SetQuadQualityMeasureToEdgeRatio
void SetQuadQualityMeasureToEdgeRatio()
Definition: vtkMeshQuality.h:205
vtkMeshQuality::SetTetQualityMeasureToAspectRatio
void SetTetQualityMeasureToAspectRatio()
Definition: vtkMeshQuality.h:316
vtkMeshQuality::TetRelativeSizeSquared
static double TetRelativeSizeSquared(vtkCell *cell)
vtkMeshQuality::QuadMaxEdgeRatios
static double QuadMaxEdgeRatios(vtkCell *cell)
VTK_QUALITY_TAPER
#define VTK_QUALITY_TAPER
Definition: vtkMeshQuality.h:94
vtkMeshQuality::TriangleAspectRatio
static double TriangleAspectRatio(vtkCell *cell)
VTK_QUALITY_ASPECT_BETA
#define VTK_QUALITY_ASPECT_BETA
Definition: vtkMeshQuality.h:105
vtkMeshQuality::HexJacobian
static double HexJacobian(vtkCell *cell)
vtkMeshQuality::TetShapeandSize
static double TetShapeandSize(vtkCell *cell)
vtkMeshQuality::SetQuadQualityMeasureToSkew
void SetQuadQualityMeasureToSkew()
Definition: vtkMeshQuality.h:229
vtkMeshQuality::SetQuadQualityMeasureToDistortion
void SetQuadQualityMeasureToDistortion()
Definition: vtkMeshQuality.h:293
vtkMeshQuality::HexRelativeSizeSquared
static double HexRelativeSizeSquared(vtkCell *cell)
vtkMeshQuality::QuadRadiusRatio
static double QuadRadiusRatio(vtkCell *cell)
vtkMeshQuality::TetShape
static double TetShape(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToShape
void SetTetQualityMeasureToShape()
Definition: vtkMeshQuality.h:360
vtkMeshQuality::SetHexQualityMeasureToRelativeSizeSquared
void SetHexQualityMeasureToRelativeSizeSquared()
Definition: vtkMeshQuality.h:455
VTK_QUALITY_DIMENSION
#define VTK_QUALITY_DIMENSION
Definition: vtkMeshQuality.h:98
VTK_QUALITY_EDGE_RATIO
#define VTK_QUALITY_EDGE_RATIO
Definition: vtkMeshQuality.h:76
vtkMeshQuality::QuadScaledJacobian
static double QuadScaledJacobian(vtkCell *cell)
vtkMeshQuality::SetTetQualityMeasureToAspectGamma
void SetTetQualityMeasureToAspectGamma()
Definition: vtkMeshQuality.h:340
vtkMeshQuality::HexDiagonal
static double HexDiagonal(vtkCell *cell)
vtkMeshQuality::HexOddy
static double HexOddy(vtkCell *cell)
vtkMeshQuality::SetHexQualityMeasureToShape
void SetHexQualityMeasureToShape()
Definition: vtkMeshQuality.h:451
vtkMeshQuality::SetQuadQualityMeasureToShape
void SetQuadQualityMeasureToShape()
Definition: vtkMeshQuality.h:277
vtkMeshQuality::QuadDistortion
static double QuadDistortion(vtkCell *cell)
vtkMeshQuality::SetTriangleQualityMeasureToMinAngle
void SetTriangleQualityMeasureToMinAngle()
Definition: vtkMeshQuality.h:154
vtkMeshQuality::HexVolume
static double HexVolume(vtkCell *cell)
vtkMeshQuality::vtkMeshQuality
vtkMeshQuality()
vtkMeshQuality::TriangleShapeAndSize
static double TriangleShapeAndSize(vtkCell *cell)
VTK_QUALITY_MAX_ASPECT_FROBENIUS
#define VTK_QUALITY_MAX_ASPECT_FROBENIUS
Definition: vtkMeshQuality.h:81
vtkMeshQuality::New
static vtkMeshQuality * New()
VTK_QUALITY_COLLAPSE_RATIO
#define VTK_QUALITY_COLLAPSE_RATIO
Definition: vtkMeshQuality.h:83
VTK_QUALITY_MAX_EDGE_RATIO
#define VTK_QUALITY_MAX_EDGE_RATIO
Definition: vtkMeshQuality.h:92
vtkMeshQuality::SetQuadQualityMeasureToCondition
void SetQuadQualityMeasureToCondition()
Definition: vtkMeshQuality.h:261
VTK_QUALITY_ASPECT_GAMMA
#define VTK_QUALITY_ASPECT_GAMMA
Definition: vtkMeshQuality.h:103
vtkMeshQuality::HexCondition
static double HexCondition(vtkCell *cell)
vtkMeshQuality::SetHexQualityMeasureToDimension
void SetHexQualityMeasureToDimension()
Definition: vtkMeshQuality.h:427
vtkMeshQuality::TetAspectRatio
static double TetAspectRatio(vtkCell *cell)
vtkMeshQuality::SetVolume
virtual void SetVolume(int cv)
Definition: vtkMeshQuality.h:787
vtkMeshQuality::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkMeshQuality::SaveCellQuality
int SaveCellQuality
Definition: vtkMeshQuality.h:854
vtkMeshQuality::SetQuadQualityMeasureToOddy
void SetQuadQualityMeasureToOddy()
Definition: vtkMeshQuality.h:257
vtkMeshQuality::SetTriangleQualityMeasureToAspectFrobenius
void SetTriangleQualityMeasureToAspectFrobenius()
Definition: vtkMeshQuality.h:150