1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0032721: Modeling Algorithms - BOP wrong results on a cone and an extrusion

1. Modify method IntPatch_ALineToWLine::MakeWLine: add correction of end points of each line on 2 surfaces if an end point is a pole on a surface.
2. Modify method IntPatch_WLine::ComputeVertexParameters: adjust a point on curve to corresponding vertex the following way: set 3D point as the point of the vertex and 2D points as the points of the point on curve.
This commit is contained in:
jgv
2022-03-30 04:28:02 +03:00
committed by smoskvin
parent d7f5072158
commit 1f45f21358
15 changed files with 230 additions and 30 deletions

View File

@@ -62,9 +62,14 @@ public:
//! Replaces the point of range Index in the line.
void Value (const Standard_Integer Index, const IntSurf_PntOn2S& P);
//! Sets the 3D point of the Index-th PntOn2S
Standard_EXPORT void SetPoint(const Standard_Integer Index, const gp_Pnt& thePnt);
//! Sets the parametric coordinates on one of the surfaces
//! of the point of range Index in the line.
Standard_EXPORT void SetUV(const Standard_Integer Index, const Standard_Boolean OnFirst, const Standard_Real U, const Standard_Real V);
Standard_EXPORT void SetUV(const Standard_Integer Index,
const Standard_Boolean OnFirst,
const Standard_Real U, const Standard_Real V);
void Clear();

View File

@@ -38,6 +38,12 @@ inline void IntSurf_LineOn2S::Value(const Standard_Integer Index,
mySeq(Index) = P;
}
inline void IntSurf_LineOn2S::SetPoint(const Standard_Integer Index,
const gp_Pnt& thePnt)
{
mySeq(Index).SetValue (thePnt);
}
inline void IntSurf_LineOn2S::Clear ()
{
mySeq.Clear();