Open CASCADE Technology  6.9.1
Public Member Functions | Protected Member Functions | Protected Attributes
ShapeUpgrade_WireDivide Class Reference

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>

Inheritance diagram for ShapeUpgrade_WireDivide:
Inheritance graph
[legend]

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_WireWire () 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_EdgeDivideGetEdgeDivideTool () const
 returns tool for splitting edges More...
 
virtual Handle< ShapeAnalysis_TransferParametersGetTransferParamTool ()
 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_FixSmallCurvesGetFixSmallCurveTool () 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_ReShapeContext () 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 MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual const Handle_Standard_Type & DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const 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 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...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Protected Member Functions

virtual Handle< ShapeUpgrade_SplitCurve3dGetSplitCurve3dTool () const
 Returns the tool for splitting 3D curves. More...
 
virtual Handle< ShapeUpgrade_SplitCurve2dGetSplitCurve2dTool () const
 Returns the tool for splitting pcurves. More...
 

Protected Attributes

TopoDS_Face myFace
 
TopoDS_Wire myWire
 
Standard_Integer myStatus
 
Standard_Integer myEdgeMode
 

Detailed Description

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.

Constructor & Destructor Documentation

ShapeUpgrade_WireDivide::ShapeUpgrade_WireDivide ( )

Empty constructor.

Member Function Documentation

virtual Handle< ShapeUpgrade_EdgeDivide > ShapeUpgrade_WireDivide::GetEdgeDivideTool ( ) const
virtual

returns tool for splitting edges

Handle< ShapeUpgrade_FixSmallCurves > ShapeUpgrade_WireDivide::GetFixSmallCurveTool ( ) const

Returns tool for fixing small curves.

virtual Handle< ShapeUpgrade_SplitCurve2d > ShapeUpgrade_WireDivide::GetSplitCurve2dTool ( ) const
protectedvirtual

Returns the tool for splitting pcurves.

virtual Handle< ShapeUpgrade_SplitCurve3d > ShapeUpgrade_WireDivide::GetSplitCurve3dTool ( ) const
protectedvirtual

Returns the tool for splitting 3D curves.

virtual Handle< ShapeAnalysis_TransferParameters > ShapeUpgrade_WireDivide::GetTransferParamTool ( )
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 void ShapeUpgrade_WireDivide::Perform ( )
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)

Field Documentation

Standard_Integer ShapeUpgrade_WireDivide::myEdgeMode
protected
TopoDS_Face ShapeUpgrade_WireDivide::myFace
protected
Standard_Integer ShapeUpgrade_WireDivide::myStatus
protected
TopoDS_Wire ShapeUpgrade_WireDivide::myWire
protected

The documentation for this class was generated from the following file: