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

0025298: New option of BRepOffsetAPI_MakeOffset algorithm: processing of sharp corners in mode GeomAbs_Intersection

Test cases for issue CR25298
This commit is contained in:
jgv
2014-10-02 13:36:12 +04:00
committed by bugmaster
parent 1c1e319d1e
commit c19dd45ee0
28 changed files with 891 additions and 209 deletions

View File

@@ -19,6 +19,7 @@ package BRepMAT2d
---Purpose:
uses
GeomAbs,
MAT2d,
MAT,
TCollection,

View File

@@ -52,6 +52,7 @@ class BisectingLocus from BRepMAT2d
-- - The Nodes are the extremities of the arcs.
uses
JoinType from GeomAbs,
Graph from MAT,
Arc from MAT,
BasicElt from MAT,
@@ -74,6 +75,7 @@ is
anExplo : in out Explorer from BRepMAT2d;
LineIndex : Integer = 1;
aSide : Side from MAT = MAT_Left;
aJoinType : JoinType from GeomAbs = GeomAbs_Arc;
IsOpenResult : Boolean = Standard_False)
--- Purpose : Computation of the Bisector_Locus in a set of Lines
-- defined in <anExplo>.

View File

@@ -58,6 +58,7 @@ BRepMAT2d_BisectingLocus::BRepMAT2d_BisectingLocus()
void BRepMAT2d_BisectingLocus::Compute(BRepMAT2d_Explorer& anExplo,
const Standard_Integer IndexLine,
const MAT_Side aSide,
const GeomAbs_JoinType aJoinType,
const Standard_Boolean IsOpenResult)
{
MAT2d_Mat2d TheMAT;
@@ -87,7 +88,7 @@ void BRepMAT2d_BisectingLocus::Compute(BRepMAT2d_Explorer& anExplo,
//----------------------------------------------------------
// Construction du circuit sur lequel est calcule la carte.
//----------------------------------------------------------
Handle(MAT2d_Circuit) ACircuit = new MAT2d_Circuit(IsOpenResult);
Handle(MAT2d_Circuit) ACircuit = new MAT2d_Circuit(aJoinType, IsOpenResult);
// Modified by Sergey KHROMOV - Wed Mar 6 17:43:47 2002 Begin
// ACircuit->Perform(Figure,IndexLine,(aSide == MAT_Left));
ACircuit->Perform(Figure,anExplo.GetIsClosed(), IndexLine,(aSide == MAT_Left));
@@ -97,6 +98,7 @@ void BRepMAT2d_BisectingLocus::Compute(BRepMAT2d_Explorer& anExplo,
// Initialistion du Tool.
// -----------------------
theTool.Sense(aSide);
theTool.SetJoinType(aJoinType);
theTool.InitItems(ACircuit);
// --------------------------------------------