Open CASCADE Technology
7.3.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. More...
#include <ShapeUpgrade_WireDivide.hxx>
Public Member Functions | |
ShapeUpgrade_WireDivide () | |
Empty constructor. More... | |
void | Init (const TopoDS_Wire &W, const TopoDS_Face &F) |
Initializes by wire and face. More... | |
void | Init (const TopoDS_Wire &W, const Handle< Geom_Surface > &S) |
Initializes by wire and surface. More... | |
void | Load (const TopoDS_Wire &W) |
Loads working wire. More... | |
void | Load (const TopoDS_Edge &E) |
Creates wire of one edge and calls Load for wire. More... | |
void | SetFace (const TopoDS_Face &F) |
Sets supporting surface by face. More... | |
void | SetSurface (const Handle< Geom_Surface > &S) |
Sets supporting surface. More... | |
void | SetSurface (const Handle< Geom_Surface > &S, const TopLoc_Location &L) |
Sets supporting surface with location. More... | |
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. More... | |
const TopoDS_Wire & | Wire () const |
Gives the resulting Wire (equal to initial one if not done or Null if not loaded) More... | |
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) More... | |
void | SetSplitCurve3dTool (const Handle< ShapeUpgrade_SplitCurve3d > &splitCurve3dTool) |
Sets the tool for splitting 3D curves. More... | |
void | SetSplitCurve2dTool (const Handle< ShapeUpgrade_SplitCurve2d > &splitCurve2dTool) |
Sets the tool for splitting pcurves. More... | |
void | SetTransferParamTool (const Handle< ShapeAnalysis_TransferParameters > &TransferParam) |
Sets the tool for Transfer parameters between curves and pcurves. More... | |
void | SetEdgeDivideTool (const Handle< ShapeUpgrade_EdgeDivide > &edgeDivideTool) |
Sets tool for splitting edge. More... | |
virtual Handle< ShapeUpgrade_EdgeDivide > | GetEdgeDivideTool () const |
returns tool for splitting edges More... | |
virtual Handle< ShapeAnalysis_TransferParameters > | GetTransferParamTool () |
Returns the tool for Transfer of parameters. More... | |
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. More... | |
void | SetFixSmallCurveTool (const Handle< ShapeUpgrade_FixSmallCurves > &FixSmallCurvesTool) |
Sets tool for fixing small curves with specified min tolerance;. More... | |
Handle< ShapeUpgrade_FixSmallCurves > | GetFixSmallCurveTool () const |
Returns tool for fixing small curves. More... | |
Public Member Functions inherited from ShapeUpgrade_Tool | |
ShapeUpgrade_Tool () | |
Empty constructor. More... | |
void | Set (const Handle< ShapeUpgrade_Tool > &tool) |
Copy all fields from another Root object. More... | |
void | SetContext (const Handle< ShapeBuild_ReShape > &context) |
Sets context. More... | |
Handle< ShapeBuild_ReShape > | Context () const |
Returns context. More... | |
void | SetPrecision (const Standard_Real preci) |
Sets basic precision value. More... | |
Standard_Real | Precision () const |
Returns basic precision value. More... | |
void | SetMinTolerance (const Standard_Real mintol) |
Sets minimal allowed tolerance. More... | |
Standard_Real | MinTolerance () const |
Returns minimal allowed tolerance. More... | |
void | SetMaxTolerance (const Standard_Real maxtol) |
Sets maximal allowed tolerance. More... | |
Standard_Real | MaxTolerance () const |
Returns maximal allowed tolerance. More... | |
Standard_Real | LimitTolerance (const Standard_Real toler) const |
Returns tolerance limited by [myMinTol,myMaxTol]. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Protected Member Functions | |
virtual Handle< ShapeUpgrade_SplitCurve3d > | GetSplitCurve3dTool () const |
Returns the tool for splitting 3D curves. More... | |
virtual Handle< ShapeUpgrade_SplitCurve2d > | GetSplitCurve2dTool () const |
Returns the tool for splitting pcurves. More... | |
Protected Attributes | |
TopoDS_Face | myFace |
TopoDS_Wire | myWire |
Standard_Integer | myStatus |
Standard_Integer | myEdgeMode |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
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.
ShapeUpgrade_WireDivide::ShapeUpgrade_WireDivide | ( | ) |
Empty constructor.
|
virtual |
returns tool for splitting edges
Handle< ShapeUpgrade_FixSmallCurves > ShapeUpgrade_WireDivide::GetFixSmallCurveTool | ( | ) | const |
Returns tool for fixing small curves.
|
protectedvirtual |
Returns the tool for splitting pcurves.
|
protectedvirtual |
Returns the tool for splitting 3D curves.
|
virtual |
Returns the tool for Transfer of parameters.
void ShapeUpgrade_WireDivide::Init | ( | const TopoDS_Wire & | W, |
const TopoDS_Face & | F | ||
) |
Initializes by wire and face.
void ShapeUpgrade_WireDivide::Init | ( | const TopoDS_Wire & | W, |
const Handle< Geom_Surface > & | S | ||
) |
Initializes by wire and surface.
void ShapeUpgrade_WireDivide::Load | ( | const TopoDS_Wire & | W | ) |
Loads working wire.
void ShapeUpgrade_WireDivide::Load | ( | const TopoDS_Edge & | E | ) |
Creates wire of one edge and calls Load for wire.
|
virtual |
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.
void ShapeUpgrade_WireDivide::SetEdgeDivideTool | ( | const Handle< ShapeUpgrade_EdgeDivide > & | edgeDivideTool | ) |
Sets tool for splitting edge.
void ShapeUpgrade_WireDivide::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 ShapeUpgrade_WireDivide::SetFace | ( | const TopoDS_Face & | F | ) |
Sets supporting surface by face.
void ShapeUpgrade_WireDivide::SetFixSmallCurveTool | ( | const Handle< ShapeUpgrade_FixSmallCurves > & | FixSmallCurvesTool | ) |
Sets tool for fixing small curves with specified min tolerance;.
void ShapeUpgrade_WireDivide::SetSplitCurve2dTool | ( | const Handle< ShapeUpgrade_SplitCurve2d > & | splitCurve2dTool | ) |
Sets the tool for splitting pcurves.
void ShapeUpgrade_WireDivide::SetSplitCurve3dTool | ( | const Handle< ShapeUpgrade_SplitCurve3d > & | splitCurve3dTool | ) |
Sets the tool for splitting 3D curves.
void ShapeUpgrade_WireDivide::SetSurface | ( | const Handle< Geom_Surface > & | S | ) |
Sets supporting surface.
void ShapeUpgrade_WireDivide::SetSurface | ( | const Handle< Geom_Surface > & | S, |
const TopLoc_Location & | L | ||
) |
Sets supporting surface with location.
void ShapeUpgrade_WireDivide::SetTransferParamTool | ( | const Handle< ShapeAnalysis_TransferParameters > & | TransferParam | ) |
Sets the tool for Transfer parameters between curves and pcurves.
Standard_Boolean ShapeUpgrade_WireDivide::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)
const TopoDS_Wire& ShapeUpgrade_WireDivide::Wire | ( | ) | const |
Gives the resulting Wire (equal to initial one if not done or Null if not loaded)
|
protected |
|
protected |
|
protected |
|
protected |