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),
|
myIsAutomaticLaw(Standard_False),
|
||||||
myTrihedron(GeomFill_IsCorrectedFrenet),
|
myTrihedron(GeomFill_IsCorrectedFrenet),
|
||||||
myTransition(BRepFill_Modified),
|
myTransition(BRepFill_Modified),
|
||||||
myStatus(GeomFill_PipeOk)
|
myStatus(GeomFill_PipeOk),
|
||||||
|
myIsBuildHistory(Standard_True)
|
||||||
{
|
{
|
||||||
myLocation.Nullify();
|
myLocation.Nullify();
|
||||||
mySection.Nullify();
|
mySection.Nullify();
|
||||||
@@ -785,7 +786,10 @@ Standard_Boolean BRepFill_PipeShell::Build()
|
|||||||
myShape.Closed(Standard_True);
|
myShape.Closed(Standard_True);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildHistory(MkSw);
|
if (myIsBuildHistory)
|
||||||
|
{
|
||||||
|
BuildHistory(MkSw);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -122,6 +122,18 @@ public:
|
|||||||
//! spine
|
//! spine
|
||||||
Standard_EXPORT void SetForceApproxC1(const Standard_Boolean ForceApproxC1);
|
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.
|
//! Set an section. The correspondence with the spine, will be automatically performed.
|
||||||
Standard_EXPORT void Add(const TopoDS_Shape& Profile,
|
Standard_EXPORT void Add(const TopoDS_Shape& Profile,
|
||||||
const Standard_Boolean WithContact = Standard_False,
|
const Standard_Boolean WithContact = Standard_False,
|
||||||
@@ -246,6 +258,7 @@ private:
|
|||||||
BRepFill_TransitionStyle myTransition;
|
BRepFill_TransitionStyle myTransition;
|
||||||
GeomFill_PipeError myStatus;
|
GeomFill_PipeError myStatus;
|
||||||
Standard_Real myErrorOnSurf;
|
Standard_Real myErrorOnSurf;
|
||||||
|
Standard_Boolean myIsBuildHistory;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _BRepFill_PipeShell_HeaderFile
|
#endif // _BRepFill_PipeShell_HeaderFile
|
||||||
|
@@ -274,13 +274,24 @@ public:
|
|||||||
|
|
||||||
Standard_EXPORT Standard_Real ErrorOnSurface() const;
|
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
|
//! Returns the list of original profiles
|
||||||
void Profiles(TopTools_ListOfShape& theProfiles) { myPipe->Profiles(theProfiles); }
|
void Profiles(TopTools_ListOfShape& theProfiles) { myPipe->Profiles(theProfiles); }
|
||||||
|
|
||||||
//! Returns the spine
|
//! Returns the spine
|
||||||
const TopoDS_Wire& Spine() { return myPipe->Spine(); }
|
const TopoDS_Wire& Spine() { return myPipe->Spine(); }
|
||||||
|
|
||||||
protected:
|
|
||||||
private:
|
private:
|
||||||
Handle(BRepFill_PipeShell) myPipe;
|
Handle(BRepFill_PipeShell) myPipe;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user