The plugin AnalyseMeshQuality does not compute the true validity of general plane surfaces
Currently, the validity of 2d planar elements that is computed by the plugin AnalyseMeshQuality
is correct only in a specific case: if the geometric surface is a GEntity::DiscreteSurface
in the xy-plane and oriented in +z direction... (If the orientation is -z, the opposite of the validity is currently computed, see ticket 736.)
To compute the true validity of an element, it must be planar and a normal should be given to define its correct orientation. If no normal is given, the element will always be considered as valid. Currently, the normal is not computed for general planar surfaces and incorrectly defined for the basic case given above.
Before, a normal was computed also for GEntity::Plane
surfaces, but it was not working in general because I took an arbitrary parametric point that could not be inside the surface (see commit f76c4936).
Two questions :
- Since we know at least one element of the surface (otherwise, there is no validity to compute), could I call 'GFace->normal(..)' on the parametric point taken from any existing node of the mesh?
- What test ensures that the surface is a planar surface? Is it
if(geomType() == GEntity::Plane)
?