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

0024985: Control of maximum degree and number of segment in the Pipe Shell algorithm

This commit is contained in:
jgv
2014-06-09 13:25:40 +04:00
committed by apn
parent 8bcb4f55cc
commit e9216c6acf
4 changed files with 69 additions and 0 deletions

View File

@@ -117,6 +117,19 @@ is
---Level: Public
-- ============================================
-- Methods to set parameters for approximation
-- ============================================
SetMaxDegree(me : mutable;
NewMaxDegree : Integer from Standard);
---Purpose: Define the maximum V degree of resulting surface
SetMaxSegments(me : mutable;
NewMaxSegments : Integer from Standard);
---Purpose: Define the maximum number of spans in V-direction
-- on resulting surface
SetForceApproxC1(me : mutable;
ForceApproxC1 : Boolean from Standard);
---Purpose: Set the flag that indicates attempt to approximate
@@ -291,6 +304,8 @@ fields
myBoundTol : Real;
myTolAngular : Real;
angmin, angmax : Real;
myMaxDegree : Integer;
myMaxSegments : Integer;
myForceApproxC1 : Boolean;
myLaw : Function from Law;

View File

@@ -226,6 +226,9 @@ BRepFill_PipeShell::BRepFill_PipeShell(const TopoDS_Wire& Spine)
myLaw.Nullify();
SetTolerance();
myMaxDegree = 11;
myMaxSegments = 30;
// Attention to closed non-declared wire !
if (!mySpine.Closed()) {
TopoDS_Vertex Vf, Vl;
@@ -414,6 +417,25 @@ BRepFill_PipeShell::BRepFill_PipeShell(const TopoDS_Wire& Spine)
mySection.Nullify(); //It is required to relocalize the sections.
}
//=======================================================================
//function : SetMaxDegree
//purpose :
//=======================================================================
void BRepFill_PipeShell::SetMaxDegree(const Standard_Integer NewMaxDegree)
{
myMaxDegree = NewMaxDegree;
}
//=======================================================================
//function : SetMaxSegments
//purpose :
//=======================================================================
void BRepFill_PipeShell::SetMaxSegments(const Standard_Integer NewMaxSegments)
{
myMaxSegments = NewMaxSegments;
}
//=======================================================================
//function : SetForceApproxC1
//purpose : Set the flag that indicates attempt to approximate