mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-06-12 18:11:05 +08:00
0032330: Modeling Algorithms - Extend Offset algorithm with Progress Indicator and User Break
Add progress indicator to BRepOffset_MakeOffset::MakeOffsetShape().
This commit is contained in:
@@ -41,14 +41,15 @@ void BRepOffsetAPI_MakeOffsetShape::PerformByJoin
|
||||
const Standard_Boolean Intersection,
|
||||
const Standard_Boolean SelfInter,
|
||||
const GeomAbs_JoinType Join,
|
||||
const Standard_Boolean RemoveIntEdges)
|
||||
const Standard_Boolean RemoveIntEdges,
|
||||
const Message_ProgressRange& theRange)
|
||||
{
|
||||
NotDone();
|
||||
myLastUsedAlgo = OffsetAlgo_JOIN;
|
||||
|
||||
myOffsetShape.Initialize (S,Offset,Tol,Mode,Intersection,SelfInter,
|
||||
Join, Standard_False, RemoveIntEdges);
|
||||
myOffsetShape.MakeOffsetShape();
|
||||
myOffsetShape.MakeOffsetShape(theRange);
|
||||
|
||||
if (!myOffsetShape.IsDone())
|
||||
return;
|
||||
|
||||
@@ -114,7 +114,8 @@ public:
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False,
|
||||
const Message_ProgressRange& theRange = Message_ProgressRange());
|
||||
|
||||
//! Returns instance of the unrelying intersection / arc algorithm.
|
||||
Standard_EXPORT virtual const BRepOffset_MakeOffset& MakeOffset() const;
|
||||
|
||||
@@ -41,12 +41,13 @@ void BRepOffsetAPI_MakeThickSolid::MakeThickSolidByJoin
|
||||
(const TopoDS_Shape& S,
|
||||
const TopTools_ListOfShape& ClosingFaces,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode,
|
||||
const Standard_Boolean Intersection,
|
||||
const Standard_Boolean SelfInter,
|
||||
const GeomAbs_JoinType Join,
|
||||
const Standard_Boolean RemoveIntEdges)
|
||||
const Standard_Boolean RemoveIntEdges,
|
||||
const Message_ProgressRange& theRange)
|
||||
{
|
||||
NotDone();
|
||||
myLastUsedAlgo = OffsetAlgo_JOIN;
|
||||
@@ -57,7 +58,7 @@ void BRepOffsetAPI_MakeThickSolid::MakeThickSolidByJoin
|
||||
for (; it.More(); it.Next())
|
||||
myOffsetShape.AddFace(TopoDS::Face(it.Value()));
|
||||
|
||||
myOffsetShape.MakeThickSolid();
|
||||
myOffsetShape.MakeThickSolid(theRange);
|
||||
if (!myOffsetShape.IsDone())
|
||||
return;
|
||||
|
||||
|
||||
@@ -110,7 +110,8 @@ public:
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False,
|
||||
const Message_ProgressRange& theRange = Message_ProgressRange());
|
||||
|
||||
// Does nothing.
|
||||
Standard_EXPORT virtual void Build(const Message_ProgressRange& theRange = Message_ProgressRange()) Standard_OVERRIDE;
|
||||
|
||||
Reference in New Issue
Block a user