C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
check_geometry.h File Reference

Diagnostics of shells and their components. More...

#include <templ_rp_array.h>
#include <templ_sptr.h>
#include <mb_operation_result.h>
#include <mb_variables.h>
#include <attr_common_attribute.h>
#include <topology.h>
#include <solid.h>
#include <point_frame.h>
#include <vector>
#include <iterator>
#include <utility>

Classes

struct  MbShellsIntersectionData
 Information about two solids intersection. More...
 

Functions

bool IsDegeneratedCurve (const MbCurve3D &curve, double eps)
 Check for the curve degeneration in three-dimensional space. More...
 
bool CheckSurfaceDegeneracy (const MbSurface &surf, double u, double v, double eps, bool &degRu, bool &degRv, bool &colUV)
 Checking the degeneracy of a surface at a point. More...
 
bool CheckShellClosure (const MbFaceShell &shell, bool checkChangedOnly=false)
 Check of solid's shell for closedness. More...
 
bool CheckSolidClosure (const MbSolid &solid)
 Check of solid's shell for closedness. More...
 
template<class EdgesVector >
bool CheckBoundaryEdges (const EdgesVector &allEdges, EdgesVector *boundaryEdges)
 Search for the boundary edges of a closed shell. More...
 
bool CheckBadEdges (const c3d::ConstEdgesVector &allEdges, c3d::ConstEdgesVector *badEdges)
 Search of incorrect edges. More...
 
template<class VerticesVector >
bool CheckInexactVertices (const VerticesVector &vertArr, double mAcc, VerticesVector *inexactVerts)
 Search for inexact vertices. More...
 
bool IsInexactIntersectionCurve (const MbSurfaceIntersectionCurve &curve, double mMaxAcc)
 Is the curve of intersection inaccurate. More...
 
bool IsInexactEdge (const MbCurveEdge &edge, double mMaxAcc)
 Is the curve of intersection edges inaccurate. More...
 
template<class EdgesVector >
bool CheckInexactEdges (const EdgesVector &allEdges, double mAcc, EdgesVector *inexactEdges)
 Approximate search of inexact edges. More...
 
void CheckBadFaces (const MbFaceShell &shell, bool &areIdenticalBaseSurfaces, bool &areBadFacePointers)
 Check of substrates and pointers to faces. More...
 
bool CheckLoopsInterposition (const MbFace &face)
 Check interposition of face loops. More...
 
bool CheckLoopConnection (const MbFace &face, const MbLoop &loop, double &lengthTolerance, double &paramTolerance, c3d::IndicesPairsVector &badLocs)
 Check for connectivity of loop edges. More...
 
bool CheckLoopConnection (const MbFace &face, const MbLoop &loop, double &lengthTolerance, double *paramTolerance, c3d::ConstOrientEdgesVector &badConnectedEdges, c3d::ConstEdgesVector &badVertexEdges)
 Check for connectivity of a loop edges. More...
 
bool CheckLoopConnection (const MbFace &face, const MbLoop &loop, double &lengthTolerance, double *paramTolerance, c3d::ConstOrientEdgesVector &badConnectedEdges)
 Check for connectivity of a loop edges. More...
 
bool CheckLoopConnection (const MbFace &face, const MbLoop &loop, double &lengthTolerance, double *paramTolerance)
 Check for connectivity of a loop edges. More...
 
bool FindLoopsSelfIntersections (const MbFace &face, const MbSNameMaker &nameMaker, bool checkInsideEdges, std::vector< std::pair< c3d::IndicesPair, MbCartPoint3D > > *loopPnts)
 Find face loops with self-intersections. More...
 
bool CheckFacesConnection (const RPArray< MbFace > &faces)
 Check for connectivity of faces 'faces'. More...
 
bool CheckFacesConnection (const c3d::FacesVector &faces)
 Check for connectivity of faces 'faces'. More...
 
bool CheckFacesConnection (const c3d::ConstFacesVector &faces)
 Check for connectivity of faces 'faces'. More...
 
bool FindOverlappingSimilarFaces (const MbFaceShell &srcShell, const MbFaceShell &dstShell, bool sameNormals, c3d::IndicesPairsVector &simPairs)
 Find "parent" faces of a derived shell in the initial shell. More...
 
bool FindFacesEdgesCarriers (const c3d::ConstEdgesVector &edges, const MbFaceShell &shell, bool sameNormals, c3d::IndicesPairsVector &efPairs)
 Find faces edges of the derived shell are based on. More...
 
bool RepairEdge (MbCurveEdge &edge, bool updateFacesBounds)
 Repair incorrect edge of a shell. More...
 
bool RepairEdges (MbFaceShell &shell, bool updateFacesBounds=true)
 Repair incorrect edges of a shell. More...
 
bool RepairVertices (MbFaceShell &shell)
 Repair incorrect vertices of a shell. More...
 
bool RemoveCommonSurfaceSubstrates (MbFaceShell &shell, bool checkEdges=true)
 Remove common surface substrates. More...
 
bool ResetSurfacesBoundingBoxes (MbFaceShell &shell, bool updateBasisParameticLimits=false)
 Reset bounding boxes of surfaces. More...
 
bool ResetSurfaceBoundingBoxes (MbSurface &surface, bool updateBasisParameticLimits=false)
 Reset bounding boxes of a surface. More...
 
bool ResetCurvesTemporaryData (MbFaceShell &shell)
 Reset all temporary data of curves. More...
 
ThreeStates IsOrientedOutward (const MbFaceShell &shell)
 Checking shell orientation. More...
 
bool CheckTopologyItemsMainNames (const MbFaceShell &shell, c3d::ConstEdgesVector &edges, c3d::ConstVerticesVector &vertices)
 Check whether vertices and edges names contain a main name of one of the parents (edges and faces corresponding). More...
 
bool AddEdgeSmoothnessAttributes (MbFaceShell &shell, bool skipExisting)
 Add edges smoothness attributes. More...
 
bool AddEdgeSmoothnessAttributes (MbFaceShell &shell, bool skipExisting, c3d::ConstEdgesVector &filledEdges, c3d::ConstEdgesVector &emptyEdges)
 Add edges smoothness attributes. More...
 
bool UpdateEdgeSmoothnessAttributes (MbFaceShell &shell)
 Update edges smoothness attributes data. More...
 
bool RemoveEdgeSmoothnessAttributes (MbFaceShell &shell)
 Remove edges smoothness attributes. More...
 
const MbDoubleRangeAttributeGetEdgeSmoothnessAttribute (const MbCurveEdge &edge)
 Get edge smoothness attribute from an edge. More...
 
MbResultType IsDegeneratedElementary (const MbSurface &inputSurface, double accuracy=Math::metricPrecision)
 Check whether the surface is degenerated. More...
 

Detailed Description

Diagnostics of shells and their components.