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:
@@ -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
|
||||
{
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
};
|
||||
|
Reference in New Issue
Block a user