#include <rhinoSdkMeshUtilities.h>
◆ RhinoCheckMeshOutput()
RhinoCheckMeshOutput::RhinoCheckMeshOutput |
( |
| ) |
|
◆ ZeroCounts()
void RhinoCheckMeshOutput::ZeroCounts |
( |
| ) |
|
◆ m_bAbbreviatedVersion
bool RhinoCheckMeshOutput::m_bAbbreviatedVersion |
If m_bAbbreviatedVersion is set to true then the feedback from ON_Mesh::IsValid is all that will be added to the ON_TextLog.
Default is false.
◆ m_bCheckForBogusNormals
bool RhinoCheckMeshOutput::m_bCheckForBogusNormals |
Default is true.
If m_bCheckForBogusNormals is true then the function will look for vertex normals that are not unit vectors, are zero length or vary greatly from the general direction of the face normals. m_totalNotUnitVectorNormalCt will contain the total count of normals that are not unit vectors for all meshes. m_totalZeroLengthNormalCt will contain the total count of zero length normals for all meshes. m_totalVertexFaceNormalDifferCt will contain the total count of vertex normals that differ greatly from face normals for all meshes.
◆ m_bCheckForDegenerateFaces
bool RhinoCheckMeshOutput::m_bCheckForDegenerateFaces |
Default is true.
If m_bCheckForDegenerateFaces is true then the function will look for triangles and quads that have zero area and quads where one sub triangle has zero area. m_totalDegenerateFaceCt will contain the total degenerate face count for all meshes.
◆ m_bCheckForDegenerateNgons
bool RhinoCheckMeshOutput::m_bCheckForDegenerateNgons |
Default is true.
If m_bCheckForDegenerateNgons is true then the function will look for ngons that have invalid information. m_totalInvalidNgonCt will contain the total degenerate face count for all meshes.
◆ m_bCheckForDisjointMeshes
bool RhinoCheckMeshOutput::m_bCheckForDisjointMeshes |
Default is true.
If m_bCheckForDisjointMeshes is true then the function will look for faces in the mesh that are totally isolated from other faces in the mesh.
ie. an island of faces (or many islands) that have a boundary of naked edges m_totalDisjointMeshCt will contain the total count of disjoint pieces for all meshes.
◆ m_bCheckForDuplicateFaces
bool RhinoCheckMeshOutput::m_bCheckForDuplicateFaces |
If m_bCheckForDuplicateFaces is true then the function will look for faces that have vertices (not necessarily vertex indexes) that are identical. m_totalDuplicateFaceCt will contain the total count of duplicate faces for all meshes.
◆ m_bCheckForExtremelyShortEdges
bool RhinoCheckMeshOutput::m_bCheckForExtremelyShortEdges |
Default is true.
If m_bCheckForExtremelyShortEdges is true then the function will look for topological edges where the distance between the endpoints is less than m_DistanceToCheck.
m_totalExtremelyShortEdgeCt will contain the total extremely short edge count for all meshes.
◆ m_bCheckForNakeEdges
bool RhinoCheckMeshOutput::m_bCheckForNakeEdges |
Default is true.
If m_bCheckForNakeEdges is true then the function will look for topological edges in the mesh topology where the face count is 1.
m_totalNakedEdgeCt will contain the total naked edge count for all meshes. Note: This check is also made if m_bCheckForDuplicateFaces but the output is not shown if m_bCheckForNakeEdges is false
◆ m_bCheckForNonManifoldEdges
bool RhinoCheckMeshOutput::m_bCheckForNonManifoldEdges |
Default is true.
If m_bCheckForNonManifoldEdges is true then the function will look for topological edges in the mesh topology where the face count is greater than 2.
m_totalNonManifoldEdgeCt will contain the total naked edge count for all meshes. Note: This check is also made if m_bCheckForDuplicateFaces but the output is not shown if m_bCheckForNonManifoldEdges is false
◆ m_bCheckForRandomFaceNormals
bool RhinoCheckMeshOutput::m_bCheckForRandomFaceNormals |
Default is true.
If m_bCheckForRandomFaceNormals is true then the function will look for adjacent faces that have the same edge orientation. This typically means that clockwise/counterclockwise orientation, and face normal are screwed up.
m_totalRandomFaceNormalCt will contain the total count of random face normals for all meshes.
Note: UnifyMeshNormals is a command that may be able to resolve this issue
◆ m_bCheckForSelfIntersection
bool RhinoCheckMeshOutput::m_bCheckForSelfIntersection |
◆ m_bCheckForUnusedVertices
bool RhinoCheckMeshOutput::m_bCheckForUnusedVertices |
Default is true.
If m_bCheckForUnusedVertices is true then the function will look for vertices that are not referenced by any face in the mesh.
m_totalDisjointMeshCt will contain the total count of unused vertices for all meshes.
◆ m_DistanceToCheck
double RhinoCheckMeshOutput::m_DistanceToCheck |
◆ m_totalClashingPairsCt
int RhinoCheckMeshOutput::m_totalClashingPairsCt |
◆ m_totalDegenerateFaceCt
int RhinoCheckMeshOutput::m_totalDegenerateFaceCt |
◆ m_totalDisjointMeshCt
int RhinoCheckMeshOutput::m_totalDisjointMeshCt |
◆ m_totalDuplicateFaceCt
int RhinoCheckMeshOutput::m_totalDuplicateFaceCt |
◆ m_totalExtremelyShortEdgeCt
int RhinoCheckMeshOutput::m_totalExtremelyShortEdgeCt |
◆ m_totalInvalidNgonCt
int RhinoCheckMeshOutput::m_totalInvalidNgonCt |
◆ m_totalNakedEdgeCt
int RhinoCheckMeshOutput::m_totalNakedEdgeCt |
◆ m_totalNonManifoldEdgeCt
int RhinoCheckMeshOutput::m_totalNonManifoldEdgeCt |
◆ m_totalNotUnitVectorNormalCt
int RhinoCheckMeshOutput::m_totalNotUnitVectorNormalCt |
◆ m_totalRandomFaceNormalCt
int RhinoCheckMeshOutput::m_totalRandomFaceNormalCt |
◆ m_totalUnusedVertexCt
int RhinoCheckMeshOutput::m_totalUnusedVertexCt |
◆ m_totalVertexFaceNormalDifferCt
int RhinoCheckMeshOutput::m_totalVertexFaceNormalDifferCt |
◆ m_totalZeroLengthNormalCt
int RhinoCheckMeshOutput::m_totalZeroLengthNormalCt |