mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0027954: Create topology-preserving offset computation algorithm
New topology-preserving offset algorithm has been added. It allows to construct offset shape of build solid. test cases have been added. Documentation has been updated to be up to date. Minor corrections. Grid is renamed for simplification purposes. Old constructors are restored with Standard_DEPRECATED macros.
This commit is contained in:
@@ -14,9 +14,6 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
// Modified by skv - Tue Mar 15 16:20:43 2005
|
||||
// Add methods for supporting history.
|
||||
|
||||
#include <BRepOffset_MakeOffset.hxx>
|
||||
#include <BRepOffsetAPI_MakeOffsetShape.hxx>
|
||||
#include <Standard_ConstructionError.hxx>
|
||||
@@ -28,6 +25,7 @@
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
BRepOffsetAPI_MakeOffsetShape::BRepOffsetAPI_MakeOffsetShape()
|
||||
: myLastUsedAlgo(OffsetAlgo_NONE)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -35,29 +33,72 @@ BRepOffsetAPI_MakeOffsetShape::BRepOffsetAPI_MakeOffsetShape()
|
||||
//function : BRepOffsetAPI_MakeOffsetShape
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
BRepOffsetAPI_MakeOffsetShape::BRepOffsetAPI_MakeOffsetShape(const TopoDS_Shape& S,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode,
|
||||
const Standard_Boolean Intersection,
|
||||
const Standard_Boolean SelfInter,
|
||||
const GeomAbs_JoinType Join,
|
||||
const Standard_Boolean RemoveIntEdges)
|
||||
: myLastUsedAlgo(OffsetAlgo_NONE)
|
||||
{
|
||||
PerformByJoin(S, Offset, Tol, Mode, Intersection, SelfInter, Join, RemoveIntEdges);
|
||||
}
|
||||
|
||||
BRepOffsetAPI_MakeOffsetShape::BRepOffsetAPI_MakeOffsetShape
|
||||
(const TopoDS_Shape& S,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode,
|
||||
//=======================================================================
|
||||
//function : PerformByJoin
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void BRepOffsetAPI_MakeOffsetShape::PerformByJoin
|
||||
(const TopoDS_Shape& S,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode,
|
||||
const Standard_Boolean Intersection,
|
||||
const Standard_Boolean SelfInter,
|
||||
const GeomAbs_JoinType Join,
|
||||
const Standard_Boolean RemoveIntEdges)
|
||||
{
|
||||
NotDone();
|
||||
myLastUsedAlgo = OffsetAlgo_JOIN;
|
||||
|
||||
myOffsetShape.Initialize (S,Offset,Tol,Mode,Intersection,SelfInter,
|
||||
Join, Standard_False, RemoveIntEdges);
|
||||
Build();
|
||||
myOffsetShape.MakeOffsetShape();
|
||||
|
||||
if (!myOffsetShape.IsDone())
|
||||
return;
|
||||
|
||||
myShape = myOffsetShape.Shape();
|
||||
Done();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : PerformBySimple
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void BRepOffsetAPI_MakeOffsetShape::PerformBySimple(const TopoDS_Shape& theS,
|
||||
const Standard_Real theOffsetValue)
|
||||
{
|
||||
NotDone();
|
||||
myLastUsedAlgo = OffsetAlgo_SIMPLE;
|
||||
|
||||
mySimpleOffsetShape.Initialize(theS, theOffsetValue);
|
||||
mySimpleOffsetShape.Perform();
|
||||
|
||||
if (!mySimpleOffsetShape.IsDone())
|
||||
return;
|
||||
|
||||
myShape = mySimpleOffsetShape.GetResultShape();
|
||||
Done();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function :MakeOffset
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
const BRepOffset_MakeOffset& BRepOffsetAPI_MakeOffsetShape::MakeOffset() const
|
||||
const BRepOffset_MakeOffset& BRepOffsetAPI_MakeOffsetShape::MakeOffset() const
|
||||
{
|
||||
return myOffsetShape;
|
||||
}
|
||||
@@ -66,72 +107,74 @@ const BRepOffset_MakeOffset& BRepOffsetAPI_MakeOffsetShape::MakeOffset() const
|
||||
//function : Build
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void BRepOffsetAPI_MakeOffsetShape::Build()
|
||||
{
|
||||
if (!IsDone()) {
|
||||
myOffsetShape.MakeOffsetShape();
|
||||
if (!myOffsetShape.IsDone()) return;
|
||||
myShape = myOffsetShape.Shape();
|
||||
Done();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : Generated
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
const TopTools_ListOfShape& BRepOffsetAPI_MakeOffsetShape::Generated (const TopoDS_Shape& S)
|
||||
|
||||
{
|
||||
const TopTools_ListOfShape& BRepOffsetAPI_MakeOffsetShape::Generated (const TopoDS_Shape& S)
|
||||
{
|
||||
myGenerated.Clear();
|
||||
if (!myOffsetShape.ClosingFaces().Contains(S)) {
|
||||
|
||||
if (myLastUsedAlgo == OffsetAlgo_JOIN && !myOffsetShape.ClosingFaces().Contains(S))
|
||||
{
|
||||
myOffsetShape.OffsetFacesFromShapes ().LastImage (S, myGenerated);
|
||||
|
||||
if (!myOffsetShape.ClosingFaces().IsEmpty()) {
|
||||
|
||||
if (!myOffsetShape.ClosingFaces().IsEmpty())
|
||||
{
|
||||
// Reverse generated shapes in case of small solids.
|
||||
// Useful only for faces without influence on others.
|
||||
TopTools_ListIteratorOfListOfShape it(myGenerated);
|
||||
for (; it.More(); it.Next())
|
||||
it.Value().Reverse();
|
||||
it.Value().Reverse();
|
||||
}
|
||||
}
|
||||
else if (myLastUsedAlgo == OffsetAlgo_SIMPLE)
|
||||
{
|
||||
TopoDS_Shape aGenShape = mySimpleOffsetShape.Generated(S);
|
||||
if (!aGenShape.IsNull())
|
||||
myGenerated.Append(aGenShape);
|
||||
}
|
||||
|
||||
return myGenerated;
|
||||
}
|
||||
|
||||
|
||||
// Modified by skv - Tue Mar 15 16:20:43 2005 Begin
|
||||
|
||||
//=======================================================================
|
||||
//function : GeneratedEdge
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
const TopTools_ListOfShape& BRepOffsetAPI_MakeOffsetShape::GeneratedEdge (const TopoDS_Shape& S)
|
||||
|
||||
{
|
||||
const TopTools_ListOfShape& BRepOffsetAPI_MakeOffsetShape::GeneratedEdge (const TopoDS_Shape& S)
|
||||
{
|
||||
myGenerated.Clear();
|
||||
myOffsetShape.OffsetEdgesFromShapes ().LastImage (S, myGenerated);
|
||||
|
||||
if (!myGenerated.IsEmpty()) {
|
||||
if (S.IsSame(myGenerated.First()))
|
||||
myGenerated.RemoveFirst();
|
||||
if (myLastUsedAlgo == OffsetAlgo_JOIN)
|
||||
{
|
||||
myOffsetShape.OffsetEdgesFromShapes().LastImage (S, myGenerated);
|
||||
|
||||
if (!myGenerated.IsEmpty())
|
||||
{
|
||||
if (S.IsSame(myGenerated.First()))
|
||||
myGenerated.RemoveFirst();
|
||||
}
|
||||
}
|
||||
else if (myLastUsedAlgo == OffsetAlgo_SIMPLE)
|
||||
{
|
||||
TopoDS_Shape aGenShape = mySimpleOffsetShape.Generated(S);
|
||||
if (!aGenShape.IsNull())
|
||||
myGenerated.Append(aGenShape);
|
||||
}
|
||||
|
||||
return myGenerated;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : GetJoinType
|
||||
//purpose : Query offset join type.
|
||||
//=======================================================================
|
||||
|
||||
GeomAbs_JoinType BRepOffsetAPI_MakeOffsetShape::GetJoinType() const
|
||||
{
|
||||
return myOffsetShape.GetJoinType();
|
||||
}
|
||||
|
||||
// Modified by skv - Tue Mar 15 16:20:43 2005 End
|
||||
|
@@ -22,6 +22,7 @@
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepOffset_MakeOffset.hxx>
|
||||
#include <BRepOffset_MakeSimpleOffset.hxx>
|
||||
#include <BRepBuilderAPI_MakeShape.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <BRepOffset_Mode.hxx>
|
||||
@@ -44,9 +45,24 @@ public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Constructor does nothing.
|
||||
Standard_EXPORT BRepOffsetAPI_MakeOffsetShape();
|
||||
|
||||
|
||||
//! Deprecated constructor. Please avoid usage of this constructor.
|
||||
Standard_DEPRECATED("Deprecated constructor. Please use constructor without parameters and one of perform methods.")
|
||||
Standard_EXPORT BRepOffsetAPI_MakeOffsetShape(const TopoDS_Shape& S,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode = BRepOffset_Skin,
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
|
||||
//! Constructs offset shape for the given one using simple algorithm without intersections computation.
|
||||
Standard_EXPORT void PerformBySimple(const TopoDS_Shape& theS,
|
||||
const Standard_Real theOffsetValue);
|
||||
|
||||
//! Constructs a shape parallel to the shape S, where
|
||||
//! - S may be a face, a shell, a solid or a compound of these shape kinds;
|
||||
//! - Offset is the offset value. The offset shape is constructed:
|
||||
@@ -102,22 +118,22 @@ public:
|
||||
//! Exceptions
|
||||
//! Geom_UndefinedDerivative if the underlying
|
||||
//! geometry of S is BSpline with continuity C0.
|
||||
Standard_EXPORT BRepOffsetAPI_MakeOffsetShape(const TopoDS_Shape& S,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode = BRepOffset_Skin,
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
Standard_EXPORT void PerformByJoin(const TopoDS_Shape& S,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode = BRepOffset_Skin,
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
|
||||
//! Returns instance of the unrelying intersection / arc algorithm.
|
||||
Standard_EXPORT virtual const BRepOffset_MakeOffset& MakeOffset() const;
|
||||
|
||||
//! Builds the resulting shape (redefined from MakeShape).
|
||||
|
||||
//! Does nothing.
|
||||
Standard_EXPORT virtual void Build() Standard_OVERRIDE;
|
||||
|
||||
//! Returns the list of shapes generated from the
|
||||
//! shape <S>.
|
||||
//! Returns the list of shapes generated from the shape <S>.
|
||||
Standard_EXPORT virtual const TopTools_ListOfShape& Generated (const TopoDS_Shape& S) Standard_OVERRIDE;
|
||||
|
||||
//! Returns the list of edges generated from the shape <S>.
|
||||
@@ -126,28 +142,19 @@ public:
|
||||
//! Returns offset join type.
|
||||
Standard_EXPORT GeomAbs_JoinType GetJoinType() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
enum OffsetAlgo_Type
|
||||
{
|
||||
OffsetAlgo_NONE,
|
||||
OffsetAlgo_JOIN,
|
||||
OffsetAlgo_SIMPLE
|
||||
};
|
||||
|
||||
OffsetAlgo_Type myLastUsedAlgo;
|
||||
|
||||
BRepOffset_MakeOffset myOffsetShape;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BRepOffset_MakeSimpleOffset mySimpleOffsetShape;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepOffsetAPI_MakeOffsetShape_HeaderFile
|
||||
|
@@ -22,22 +22,44 @@
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepOffsetAPI_MakeThickSolid
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid()
|
||||
{
|
||||
// Build only solids.
|
||||
mySimpleOffsetShape.SetBuildSolidFlag(Standard_True);
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepOffsetAPI_MakeThickSolid
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid(const TopoDS_Shape& S,
|
||||
const TopTools_ListOfShape& ClosingFaces,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode,
|
||||
const Standard_Boolean Intersection,
|
||||
const Standard_Boolean SelfInter,
|
||||
const GeomAbs_JoinType Join,
|
||||
const Standard_Boolean RemoveIntEdges)
|
||||
{
|
||||
// Build only solids.
|
||||
mySimpleOffsetShape.SetBuildSolidFlag(Standard_True);
|
||||
|
||||
BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid
|
||||
(const TopoDS_Shape& S,
|
||||
MakeThickSolidByJoin(S, ClosingFaces, Offset, Tol,
|
||||
Mode, Intersection, SelfInter, Join, RemoveIntEdges);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : MakeThickSolidByJoin
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void BRepOffsetAPI_MakeThickSolid::MakeThickSolidByJoin
|
||||
(const TopoDS_Shape& S,
|
||||
const TopTools_ListOfShape& ClosingFaces,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
@@ -47,51 +69,78 @@ BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid
|
||||
const GeomAbs_JoinType Join,
|
||||
const Standard_Boolean RemoveIntEdges)
|
||||
{
|
||||
NotDone();
|
||||
myLastUsedAlgo = OffsetAlgo_JOIN;
|
||||
|
||||
myOffsetShape.Initialize (S,Offset,Tol,Mode,Intersection,SelfInter,
|
||||
Join, Standard_False, RemoveIntEdges);
|
||||
TopTools_ListIteratorOfListOfShape it(ClosingFaces);
|
||||
for (; it.More(); it.Next()) {
|
||||
for (; it.More(); it.Next())
|
||||
myOffsetShape.AddFace(TopoDS::Face(it.Value()));
|
||||
}
|
||||
Build();
|
||||
|
||||
myOffsetShape.MakeThickSolid();
|
||||
if (!myOffsetShape.IsDone())
|
||||
return;
|
||||
|
||||
myShape = myOffsetShape.Shape();
|
||||
Done();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : virtual
|
||||
//function : MakeThickSolidBySimple
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void BRepOffsetAPI_MakeThickSolid::Build()
|
||||
void BRepOffsetAPI_MakeThickSolid::MakeThickSolidBySimple(const TopoDS_Shape& theS,
|
||||
const Standard_Real theOffsetValue)
|
||||
{
|
||||
if (!IsDone()) {
|
||||
myOffsetShape.MakeThickSolid();
|
||||
if (!myOffsetShape.IsDone()) return;
|
||||
myShape = myOffsetShape.Shape();
|
||||
Done();
|
||||
}
|
||||
NotDone();
|
||||
myLastUsedAlgo = OffsetAlgo_SIMPLE;
|
||||
|
||||
mySimpleOffsetShape.Initialize(theS, theOffsetValue);
|
||||
mySimpleOffsetShape.Perform();
|
||||
|
||||
if (!mySimpleOffsetShape.IsDone())
|
||||
return;
|
||||
|
||||
myShape = mySimpleOffsetShape.GetResultShape();
|
||||
Done();
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : Build
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void BRepOffsetAPI_MakeThickSolid::Build()
|
||||
{
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Modified
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
const TopTools_ListOfShape& BRepOffsetAPI_MakeThickSolid::Modified (const TopoDS_Shape& F)
|
||||
|
||||
const TopTools_ListOfShape& BRepOffsetAPI_MakeThickSolid::Modified (const TopoDS_Shape& F)
|
||||
{
|
||||
myGenerated.Clear();
|
||||
if (myOffsetShape.OffsetFacesFromShapes().HasImage(F)) {
|
||||
if (myOffsetShape.ClosingFaces().Contains(F)) {
|
||||
myOffsetShape.OffsetFacesFromShapes().LastImage (F, myGenerated);
|
||||
// Les face du resultat sont orientees comme dans la piece initiale.
|
||||
//si offset a l interieur.
|
||||
|
||||
if (myLastUsedAlgo == OffsetAlgo_JOIN && myOffsetShape.OffsetFacesFromShapes().HasImage(F))
|
||||
{
|
||||
if (myOffsetShape.ClosingFaces().Contains(F))
|
||||
{
|
||||
myOffsetShape.OffsetFacesFromShapes().LastImage (F, myGenerated);
|
||||
|
||||
// Reverse generated shapes in case of small solids.
|
||||
// Useful only for faces without influence on others.
|
||||
TopTools_ListIteratorOfListOfShape it(myGenerated);
|
||||
for (; it.More(); it.Next())
|
||||
it.Value().Reverse();
|
||||
|
||||
it.Value().Reverse();
|
||||
}
|
||||
}
|
||||
else if (myLastUsedAlgo == OffsetAlgo_SIMPLE)
|
||||
{
|
||||
TopoDS_Shape aModShape = mySimpleOffsetShape.Modified(F);
|
||||
if (!aModShape.IsNull())
|
||||
myGenerated.Append(aModShape);
|
||||
}
|
||||
|
||||
return myGenerated;
|
||||
}
|
||||
|
@@ -51,9 +51,29 @@ public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Constructor does nothing.
|
||||
Standard_EXPORT BRepOffsetAPI_MakeThickSolid();
|
||||
|
||||
|
||||
//! Deprecated constructor. Please avoid usage of this constructor.
|
||||
Standard_DEPRECATED("Deprecated constructor. Please use constructor without parameters and one of make methods.")
|
||||
Standard_EXPORT BRepOffsetAPI_MakeThickSolid(const TopoDS_Shape& S,
|
||||
const TopTools_ListOfShape& ClosingFaces,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode = BRepOffset_Skin,
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
|
||||
//! Constructs solid using simple algorithm.
|
||||
//! According to its nature it is not possible to set list of the closing faces.
|
||||
//! This algorithm does not support faces removing. It is caused by fact that
|
||||
//! intersections are not computed during offset creation.
|
||||
//! Non-closed shell or face is expected as input.
|
||||
Standard_EXPORT void MakeThickSolidBySimple(const TopoDS_Shape& theS,
|
||||
const Standard_Real theOffsetValue);
|
||||
|
||||
//! Constructs a hollowed solid from
|
||||
//! the solid S by removing the set of faces ClosingFaces from S, where:
|
||||
//! Offset defines the thickness of the walls. Its sign indicates
|
||||
@@ -94,44 +114,22 @@ public:
|
||||
//! Since the algorithm of MakeThickSolid is based on
|
||||
//! MakeOffsetShape algorithm, the warnings are the same as for
|
||||
//! MakeOffsetShape.
|
||||
Standard_EXPORT BRepOffsetAPI_MakeThickSolid(const TopoDS_Shape& S,
|
||||
const TopTools_ListOfShape& ClosingFaces,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode = BRepOffset_Skin,
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
|
||||
//! Builds the resulting shape (redefined from MakeOffsetShape).
|
||||
Standard_EXPORT void MakeThickSolidByJoin(const TopoDS_Shape& S,
|
||||
const TopTools_ListOfShape& ClosingFaces,
|
||||
const Standard_Real Offset,
|
||||
const Standard_Real Tol,
|
||||
const BRepOffset_Mode Mode = BRepOffset_Skin,
|
||||
const Standard_Boolean Intersection = Standard_False,
|
||||
const Standard_Boolean SelfInter = Standard_False,
|
||||
const GeomAbs_JoinType Join = GeomAbs_Arc,
|
||||
const Standard_Boolean RemoveIntEdges = Standard_False);
|
||||
|
||||
// Does nothing.
|
||||
Standard_EXPORT virtual void Build() Standard_OVERRIDE;
|
||||
|
||||
//! Returns the list of shapes modified from the shape
|
||||
//! <S>.
|
||||
Standard_EXPORT virtual const TopTools_ListOfShape& Modified (const TopoDS_Shape& S) Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepOffsetAPI_MakeThickSolid_HeaderFile
|
||||
|
Reference in New Issue
Block a user