mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0026407: BRepMesh_Delaun should not take into account frontier edges on first pass of algorithm
Correction of new vertices insertion: remove all triangles shot by point even if they contain frontier edges in order to prevent cases of free edge glued with frontier; findNextPolygonLink: choose link with opposite direction to previous one as the last resort in case if the is no another option; Enlarge bounding boxes by Precision::PConfusion() in order to not to miss possible intersections; Test-case for issue #26407 Return NoIntersection in case of end point touch and isConsiderEndPointTouch flag is not set Update of test-cases according to the new behavior
This commit is contained in:
@@ -114,10 +114,12 @@ public:
|
||||
}
|
||||
|
||||
//! Test is the given triangle contains the given vertex.
|
||||
//! If theEdgeOn != 0 the vertex lies onto the edge index
|
||||
//! returned through this parameter.
|
||||
//! @param theSqTolerance square tolerance to check closeness to some edge
|
||||
//! @param theEdgeOn If it is != 0 the vertex lies onto the edge index
|
||||
//! returned through this parameter.
|
||||
Standard_EXPORT Standard_Boolean Contains (const Standard_Integer theTriangleId,
|
||||
const BRepMesh_Vertex& theVertex,
|
||||
const Standard_Real theSqTolerance,
|
||||
Standard_Integer& theEdgeOn) const;
|
||||
|
||||
private:
|
||||
@@ -300,7 +302,6 @@ private:
|
||||
//! Calculates distances between the given point and edges of triangle.
|
||||
Standard_Real calculateDist (const gp_XY theVEdges[3],
|
||||
const gp_XY thePoints[3],
|
||||
const Standard_Integer theEdgesId[3],
|
||||
const BRepMesh_Vertex& theVertex,
|
||||
Standard_Real theDistance[3],
|
||||
Standard_Real theSqModulus[3],
|
||||
|
Reference in New Issue
Block a user