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

Modelling - Add option to not build history in BRepFill_PipeShell (#632)

- Adds `myIsBuildHistory` boolean member to `BRepFill_PipeShell` with default value `true`
- Implements getter/setter methods in both `BRepFill_PipeShell` and `BRepOffsetAPI_MakePipeShell` interfaces
- Conditionally calls `BuildHistory()` method based on the flag value
This commit is contained in:
Dmitrii Kulikov
2025-07-22 10:42:02 +01:00
committed by GitHub
parent 3c2774ea5d
commit 068aa6ae9f
3 changed files with 31 additions and 3 deletions

View File

@@ -213,7 +213,8 @@ BRepFill_PipeShell::BRepFill_PipeShell(const TopoDS_Wire& Spine)
myIsAutomaticLaw(Standard_False),
myTrihedron(GeomFill_IsCorrectedFrenet),
myTransition(BRepFill_Modified),
myStatus(GeomFill_PipeOk)
myStatus(GeomFill_PipeOk),
myIsBuildHistory(Standard_True)
{
myLocation.Nullify();
mySection.Nullify();
@@ -785,7 +786,10 @@ Standard_Boolean BRepFill_PipeShell::Build()
myShape.Closed(Standard_True);
}
BuildHistory(MkSw);
if (myIsBuildHistory)
{
BuildHistory(MkSw);
}
}
else
{

View File

@@ -122,6 +122,18 @@ public:
//! spine
Standard_EXPORT void SetForceApproxC1(const Standard_Boolean ForceApproxC1);
//! Sets the build history flag.
//! If set to True, the pipe shell will store the history of the sections
//! and the spine, which can be used for further modifications or analysis.
inline void SetIsBuildHistory(const Standard_Boolean theIsBuildHistory)
{
myIsBuildHistory = theIsBuildHistory;
}
//! Returns the build history flag.
//! If True, the pipe shell stores the history of the sections and the spine.
inline bool IsBuildHistory() const { return myIsBuildHistory; }
//! Set an section. The correspondence with the spine, will be automatically performed.
Standard_EXPORT void Add(const TopoDS_Shape& Profile,
const Standard_Boolean WithContact = Standard_False,
@@ -246,6 +258,7 @@ private:
BRepFill_TransitionStyle myTransition;
GeomFill_PipeError myStatus;
Standard_Real myErrorOnSurf;
Standard_Boolean myIsBuildHistory;
};
#endif // _BRepFill_PipeShell_HeaderFile

View File

@@ -274,13 +274,24 @@ public:
Standard_EXPORT Standard_Real ErrorOnSurface() const;
//! Sets the build history flag.
//! If set to True, the pipe shell will store the history of the sections
//! and the spine, which can be used for further modifications or analysis.
inline void SetIsBuildHistory(const Standard_Boolean theIsBuildHistory)
{
myPipe->SetIsBuildHistory(theIsBuildHistory);
}
//! Returns the build history flag.
//! If True, the pipe shell stores the history of the sections and the spine.
inline bool IsBuildHistory() const { return myPipe->IsBuildHistory(); }
//! Returns the list of original profiles
void Profiles(TopTools_ListOfShape& theProfiles) { myPipe->Profiles(theProfiles); }
//! Returns the spine
const TopoDS_Wire& Spine() { return myPipe->Spine(); }
protected:
private:
Handle(BRepFill_PipeShell) myPipe;
};