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:
aml
2016-12-08 16:30:24 +03:00
committed by apn
parent b443d53628
commit 8013367c92
90 changed files with 2467 additions and 156 deletions

View File

@@ -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