Open CASCADE Technology 6.6.0
|
Divides edges in the wire lying on the face or free wires or
free edges with a criterion.
Splits 3D curve and pcurve(s) of the edge on the face.
Other pcurves which may be associated with the edge are simply
copied.
If 3D curve is splitted then pcurve on the face is splitted as
well, and wice-versa.
Input shape is not modified.
The modifications made are recorded in external context
(ShapeBuild_ReShape). This tool is applied to all edges
before splitting them in order to keep sharing.
#include <ShapeUpgrade_WireDivide.hxx>
Public Member Functions | |
ShapeUpgrade_WireDivide () | |
Empty constructor | |
void | Init (const TopoDS_Wire &W, const TopoDS_Face &F) |
Initializes by wire and face | |
void | Init (const TopoDS_Wire &W, const Handle< Geom_Surface > &S) |
Initializes by wire and surface | |
void | Load (const TopoDS_Wire &W) |
Loads working wire | |
void | Load (const TopoDS_Edge &E) |
Creates wire of one edge and calls Load for wire | |
void | SetFace (const TopoDS_Face &F) |
Sets supporting surface by face | |
void | SetSurface (const Handle< Geom_Surface > &S) |
Sets supporting surface | |
void | SetSurface (const Handle< Geom_Surface > &S, const TopLoc_Location &L) |
Sets supporting surface with location | |
virtual void | Perform () |
Computes the resulting wire by splitting all the edges according to splitting criteria. All the modifications made are recorded in context (ShapeBuild_ReShape). This tool is applied to all edges before splitting them in order to keep sharings. If no supporting face or surface is defined, only 3d splitting criteria are used. | |
const TopoDS_Wire & | Wire () const |
Gives the resulting Wire (equal to initial one if not done or Null if not loaded) | |
Standard_Boolean | Status (const ShapeExtend_Status status) const |
Queries status of last call to Perform() OK - no edges were splitted, wire left untouched DONE1 - some edges were splitted FAIL1 - some edges have no 3d curve (skipped) FAIL2 - some edges have no pcurve (skipped) | |
void | SetSplitCurve3dTool (const Handle< ShapeUpgrade_SplitCurve3d > &splitCurve3dTool) |
Sets the tool for splitting 3D curves. | |
void | SetSplitCurve2dTool (const Handle< ShapeUpgrade_SplitCurve2d > &splitCurve2dTool) |
Sets the tool for splitting pcurves. | |
void | SetTransferParamTool (const Handle< ShapeAnalysis_TransferParameters > &TransferParam) |
Sets the tool for Transfer parameters between curves and pcurves. | |
void | SetEdgeDivideTool (const Handle< ShapeUpgrade_EdgeDivide > &edgeDivideTool) |
Sets tool for splitting edge | |
virtual Handle_ShapeUpgrade_EdgeDivide | GetEdgeDivideTool () const |
returns tool for splitting edges | |
virtual Handle_ShapeAnalysis_TransferParameters | GetTransferParamTool () |
Returns the tool for Transfer of parameters. | |
void | SetEdgeMode (const Standard_Integer EdgeMode) |
Sets mode for splitting 3d curves from edges. 0 - only curve 3d from free edges. 1 - only curve 3d from shared edges. 2 - all curve 3d. | |
void | SetFixSmallCurveTool (const Handle< ShapeUpgrade_FixSmallCurves > &FixSmallCurvesTool) |
Sets tool for fixing small curves with specified min tolerance; | |
Handle_ShapeUpgrade_FixSmallCurves | GetFixSmallCurveTool () const |
Returns tool for fixing small curves | |
Protected Member Functions | |
virtual Handle_ShapeUpgrade_SplitCurve3d | GetSplitCurve3dTool () const |
Returns the tool for splitting 3D curves. | |
virtual Handle_ShapeUpgrade_SplitCurve2d | GetSplitCurve2dTool () const |
Returns the tool for splitting pcurves. | |
Protected Attributes | |
TopoDS_Face | myFace |
TopoDS_Wire | myWire |
Standard_Integer | myStatus |
Standard_Integer | myEdgeMode |
ShapeUpgrade_WireDivide::ShapeUpgrade_WireDivide | ( | ) |
virtual Handle_ShapeUpgrade_EdgeDivide ShapeUpgrade_WireDivide::GetEdgeDivideTool | ( | ) | const [virtual] |
Handle_ShapeUpgrade_FixSmallCurves ShapeUpgrade_WireDivide::GetFixSmallCurveTool | ( | ) | const |
virtual Handle_ShapeUpgrade_SplitCurve2d ShapeUpgrade_WireDivide::GetSplitCurve2dTool | ( | ) | const [protected, virtual] |
virtual Handle_ShapeUpgrade_SplitCurve3d ShapeUpgrade_WireDivide::GetSplitCurve3dTool | ( | ) | const [protected, virtual] |
virtual Handle_ShapeAnalysis_TransferParameters ShapeUpgrade_WireDivide::GetTransferParamTool | ( | ) | [virtual] |
void ShapeUpgrade_WireDivide::Init | ( | const TopoDS_Wire & | W, |
const Handle< Geom_Surface > & | S | ||
) |
void ShapeUpgrade_WireDivide::Init | ( | const TopoDS_Wire & | W, |
const TopoDS_Face & | F | ||
) |
void ShapeUpgrade_WireDivide::Load | ( | const TopoDS_Edge & | E | ) |
void ShapeUpgrade_WireDivide::Load | ( | const TopoDS_Wire & | W | ) |
virtual void ShapeUpgrade_WireDivide::Perform | ( | ) | [virtual] |
void ShapeUpgrade_WireDivide::SetEdgeDivideTool | ( | const Handle< ShapeUpgrade_EdgeDivide > & | edgeDivideTool | ) |
void ShapeUpgrade_WireDivide::SetEdgeMode | ( | const Standard_Integer | EdgeMode | ) |
void ShapeUpgrade_WireDivide::SetFace | ( | const TopoDS_Face & | F | ) |
void ShapeUpgrade_WireDivide::SetFixSmallCurveTool | ( | const Handle< ShapeUpgrade_FixSmallCurves > & | FixSmallCurvesTool | ) |
void ShapeUpgrade_WireDivide::SetSplitCurve2dTool | ( | const Handle< ShapeUpgrade_SplitCurve2d > & | splitCurve2dTool | ) |
void ShapeUpgrade_WireDivide::SetSplitCurve3dTool | ( | const Handle< ShapeUpgrade_SplitCurve3d > & | splitCurve3dTool | ) |
void ShapeUpgrade_WireDivide::SetSurface | ( | const Handle< Geom_Surface > & | S, |
const TopLoc_Location & | L | ||
) |
void ShapeUpgrade_WireDivide::SetSurface | ( | const Handle< Geom_Surface > & | S | ) |
void ShapeUpgrade_WireDivide::SetTransferParamTool | ( | const Handle< ShapeAnalysis_TransferParameters > & | TransferParam | ) |
Standard_Boolean ShapeUpgrade_WireDivide::Status | ( | const ShapeExtend_Status | status | ) | const |
const TopoDS_Wire& ShapeUpgrade_WireDivide::Wire | ( | ) | const |
Standard_Integer ShapeUpgrade_WireDivide::myEdgeMode [protected] |
TopoDS_Face ShapeUpgrade_WireDivide::myFace [protected] |
Standard_Integer ShapeUpgrade_WireDivide::myStatus [protected] |
TopoDS_Wire ShapeUpgrade_WireDivide::myWire [protected] |