mirror of
https://github.com/NGSolve/netgen.git
synced 2025-01-27 13:20:34 +05:00
if PointBetweenEdge gets invalid edgenr, return midpoint
This is needed for creating boundarylayers and then curving the mesh.
This commit is contained in:
parent
6f5340eb84
commit
0c686e6b8b
@ -1442,12 +1442,13 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
double s0, s1;
|
double s0, s1;
|
||||||
|
|
||||||
Point<3> hnewp = p1+secpoint*(p2-p1);
|
newp = p1+secpoint*(p2-p1);
|
||||||
gp_Pnt pnt(hnewp(0), hnewp(1), hnewp(2));
|
if(ap1.edgenr > emap.Size() || ap1.edgenr == 0)
|
||||||
|
return;
|
||||||
|
gp_Pnt pnt(newp(0), newp(1), newp(2));
|
||||||
GeomAPI_ProjectPointOnCurve proj(pnt, BRep_Tool::Curve(TopoDS::Edge(emap(ap1.edgenr)), s0, s1));
|
GeomAPI_ProjectPointOnCurve proj(pnt, BRep_Tool::Curve(TopoDS::Edge(emap(ap1.edgenr)), s0, s1));
|
||||||
pnt = proj.NearestPoint();
|
pnt = proj.NearestPoint();
|
||||||
hnewp = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
|
newp = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
|
||||||
newp = hnewp;
|
|
||||||
newgi = ap1;
|
newgi = ap1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user