#include <ShapeAnalysis_FreeBounds.hxx>
Public Member Functions | |
void * | operator new (size_t, void *anAddress) |
void * | operator new (size_t size) |
void | operator delete (void *anAddress) |
Standard_EXPORT | ShapeAnalysis_FreeBounds () |
Empty constructor . | |
Standard_EXPORT | ShapeAnalysis_FreeBounds (const TopoDS_Shape &shape, const Standard_Real toler, const Standard_Boolean splitclosed=Standard_False, const Standard_Boolean splitopen=Standard_True) |
Builds forecasting free bounds of the <shape>. <shape> should be a compound of faces. This constructor is to be used for forecasting free edges with help of sewing analyzer BRepAlgo_Sewing which is called with tolerance <toler>. Free edges are connected into wires only when their ends are at distance less than <toler>. If <splitclosed> is True extracts closed sub-wires out of built closed wires. If <splitopen> is True extracts closed sub-wires out of built open wires. . | |
Standard_EXPORT | ShapeAnalysis_FreeBounds (const TopoDS_Shape &shape, const Standard_Boolean splitclosed=Standard_False, const Standard_Boolean splitopen=Standard_True) |
Builds actual free bounds of the <shape>. <shape> should be a compound of shells. This constructor is to be used for getting free edges (ones referenced by the only face) with help of analyzer ShapeAnalysis_Shell. Free edges are connected into wires only when they share the same vertex. If <splitclosed> is True extracts closed sub-wires out of built closed wires. If <splitopen> is True extracts closed sub-wires out of built open wires. . | |
const TopoDS_Compound & | GetClosedWires () const |
Returns compound of closed wires out of free edges. . | |
const TopoDS_Compound & | GetOpenWires () const |
Returns compound of open wires out of free edges. . | |
Static Public Member Functions | |
static Standard_EXPORT void | ConnectEdgesToWires (Handle(TopTools_HSequenceOfShape)&edges, const Standard_Real toler, const Standard_Boolean shared, Handle(TopTools_HSequenceOfShape)&wires) |
Builds sequnce of <wires> out of sequence of not sorted <edges>. Tries to build wires of maximum length. Building a wire is stopped when no edges can be connected to it at its head or at its tail. . | |
static Standard_EXPORT void | ConnectWiresToWires (Handle(TopTools_HSequenceOfShape)&iwires, const Standard_Real toler, const Standard_Boolean shared, Handle(TopTools_HSequenceOfShape)&owires) |
static Standard_EXPORT void | ConnectWiresToWires (Handle(TopTools_HSequenceOfShape)&iwires, const Standard_Real toler, const Standard_Boolean shared, Handle(TopTools_HSequenceOfShape)&owires, TopTools_DataMapOfShapeShape &vertices) |
Builds sequnce of <owires> out of sequence of not sorted <iwires>. Tries to build wires of maximum length. Building a wire is stopped when no wires can be connected to it at its head or at its tail. . | |
static Standard_EXPORT void | SplitWires (const Handle(TopTools_HSequenceOfShape)&wires, const Standard_Real toler, const Standard_Boolean shared, Handle(TopTools_HSequenceOfShape)&closed, Handle(TopTools_HSequenceOfShape)&open) |
Extracts closed sub-wires out of <wires> and adds them to <closed>, open wires remained after extraction are put into <open>. If <shared> is True extraction is performed only when edges share the same vertex. If <shared> is False connection is performed only when ends of the edges are at distance less than <toler>. . | |
static Standard_EXPORT void | DispatchWires (const Handle(TopTools_HSequenceOfShape)&wires, TopoDS_Compound &closed, TopoDS_Compound &open) |
Dispatches sequence of <wires> into two compounds <closed> for closed wires and <open> for open wires. If a compound is not empty wires are added into it. . | |
Private Member Functions | |
Standard_EXPORT void | SplitWires () |
Private Attributes | |
TopoDS_Compound | myWires |
TopoDS_Compound | myEdges |
Standard_Real | myTolerance |
Standard_Boolean | myShared |
Standard_Boolean | mySplitClosed |
Standard_Boolean | mySplitOpen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|