mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0032261: Mesh - some trivial improvements for mesher
BRepMesh_GeomTool::IntSegSeg misses one case, when the result is Glued
This commit is contained in:
parent
0038de11f4
commit
ccb3502a56
@ -342,18 +342,26 @@ BRepMesh_GeomTool::IntFlag BRepMesh_GeomTool::IntSegSeg(
|
|||||||
classifyPoint(theStartPnt2, theEndPnt2, theEndPnt1 )
|
classifyPoint(theStartPnt2, theEndPnt2, theEndPnt1 )
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Standard_Integer aPosHash =
|
||||||
|
aPointHash[0] + aPointHash[1] + aPointHash[2] + aPointHash[3];
|
||||||
|
|
||||||
// Consider case when edges have shared vertex
|
// Consider case when edges have shared vertex
|
||||||
if ( aPointHash[0] < 0 || aPointHash[1] < 0 )
|
if ( aPointHash[0] < 0 || aPointHash[1] < 0 )
|
||||||
{
|
{
|
||||||
if ( isConsiderEndPointTouch )
|
if (aPosHash == -1)
|
||||||
return BRepMesh_GeomTool::EndPointTouch;
|
{
|
||||||
|
// -1 means, that 2 points are equal, and 1 point is on another curve
|
||||||
|
return BRepMesh_GeomTool::Glued;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (isConsiderEndPointTouch)
|
||||||
|
return BRepMesh_GeomTool::EndPointTouch;
|
||||||
|
|
||||||
return BRepMesh_GeomTool::NoIntersection;
|
return BRepMesh_GeomTool::NoIntersection;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Standard_Integer aPosHash =
|
|
||||||
aPointHash[0] + aPointHash[1] + aPointHash[2] + aPointHash[3];
|
|
||||||
|
|
||||||
/*=========================================*/
|
/*=========================================*/
|
||||||
/* 1) hash code == 1:
|
/* 1) hash code == 1:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user