0023870: Integration of new options of sweeping into BRepOffsetAPI_MakePipe algorithm.

Adding test cases for this fix
Test cases correction
Correction of instability.
This commit is contained in:
jgv
2013-04-05 10:35:38 +04:00
parent 0691a5bb8f
commit 471ce7366b
12 changed files with 237 additions and 82 deletions

View File

@@ -59,21 +59,15 @@ is
-- composite solid.
returns MakePipe from BRepOffsetAPI;
SetMode(me : in out;
aMode : Trihedron from GeomFill);
---Purpose: Set the mode of sweeping
-- It can be:
-- - Frenet
-- - Corrected Frenet
-- - Discrete Trihedron
-- By default the mode is Corrected Frenet
SetForceApproxC1(me : in out;
ForceApproxC1 : Boolean from Standard);
---Purpose: Set the flag that indicates attempt to approximate
-- a C1-continuous surface if a swept surface proved
-- to be C0.
Create( Spine : Wire from TopoDS;
Profile : Shape from TopoDS;
aMode : Trihedron from GeomFill;
ForceApproxC1 : Boolean from Standard = Standard_False)
---Purpose: the same as previous but with setting of
-- mode of sweep and the flag that indicates attempt
-- to approximate a C1-continuous surface if a swept
-- surface proved to be C0.
returns MakePipe from BRepOffsetAPI;
Pipe(me) returns Pipe from BRepFill
---C++: return const &

View File

@@ -30,40 +30,36 @@
//=======================================================================
//function : BRepOffsetAPI_MakePipe
//purpose :
//purpose : constructor
//=======================================================================
BRepOffsetAPI_MakePipe::BRepOffsetAPI_MakePipe(const TopoDS_Wire& Spine ,
const TopoDS_Shape& Profile)
const TopoDS_Shape& Profile)
: myPipe(Spine, Profile)
{
Build();
}
//=======================================================================
//function : SetMode
//purpose : Set the mode of sweeping
//function : BRepOffsetAPI_MakePipe
//purpose : constructor
// Set the mode of sweeping
// It can be:
// - Frenet
// - Corrected Frenet
// - Discrete Trihedron
//=======================================================================
void BRepOffsetAPI_MakePipe::SetMode(const GeomFill_Trihedron aMode)
{
myPipe.SetMode(aMode);
}
//=======================================================================
//function : SetForceApproxC1
//purpose : Set the flag that indicates attempt to approximate
// Also set the flag that indicates attempt to approximate
// a C1-continuous surface if a swept surface proved
// to be C0.
//=======================================================================
void BRepOffsetAPI_MakePipe::SetForceApproxC1(const Standard_Boolean ForceApproxC1)
BRepOffsetAPI_MakePipe::BRepOffsetAPI_MakePipe(const TopoDS_Wire& Spine ,
const TopoDS_Shape& Profile,
const GeomFill_Trihedron aMode,
const Standard_Boolean ForceApproxC1)
: myPipe(Spine, Profile, aMode, ForceApproxC1)
{
myPipe.SetForceApproxC1(ForceApproxC1);
Build();
}
//=======================================================================