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

Divides a Face (both edges in the wires, by splitting curves and pcurves, and the face itself, by splitting supporting surface) according to splitting criteria. More...

#include <ShapeUpgrade_FaceDivide.hxx>

Inheritance diagram for ShapeUpgrade_FaceDivide:
Inheritance graph
[legend]

Public Member Functions

 ShapeUpgrade_FaceDivide ()
 Creates empty constructor. More...
 
 ShapeUpgrade_FaceDivide (const TopoDS_Face &F)
 Initialize by a Face. More...
 
void Init (const TopoDS_Face &F)
 Initialize by a Face. More...
 
void SetSurfaceSegmentMode (const Standard_Boolean Segment)
 Purpose sets mode for trimming (segment) surface by wire UV bounds. More...
 
virtual Standard_Boolean Perform ()
 Performs splitting and computes the resulting shell The context is used to keep track of former splittings in order to keep sharings. It is updated according to modifications made. More...
 
virtual Standard_Boolean SplitSurface ()
 Performs splitting of surface and computes the shell from source face. More...
 
virtual Standard_Boolean SplitCurves ()
 Performs splitting of curves of all the edges in the shape and divides these edges. More...
 
TopoDS_Shape Result () const
 Gives the resulting Shell, or Face, or Null shape if not done. More...
 
Standard_Boolean Status (const ShapeExtend_Status status) const
 Queries the status of last call to Perform OK : no splitting was done (or no call to Perform) DONE1: some edges were splitted DONE2: surface was splitted DONE3: surface was modified without splitting FAIL1: some fails encountered during splitting wires FAIL2: face cannot be splitted. More...
 
void SetSplitSurfaceTool (const Handle< ShapeUpgrade_SplitSurface > &splitSurfaceTool)
 Sets the tool for splitting surfaces. More...
 
void SetWireDivideTool (const Handle< ShapeUpgrade_WireDivide > &wireDivideTool)
 Sets the tool for dividing edges on Face. More...
 
virtual Handle< ShapeUpgrade_SplitSurfaceGetSplitSurfaceTool () const
 Returns the tool for splitting surfaces. This tool must be already initialized. More...
 
virtual Handle< ShapeUpgrade_WireDivideGetWireDivideTool () const
 Returns the tool for dividing edges on Face. This tool must be already initialized. 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 Attributes

TopoDS_Face myFace
 
TopoDS_Shape myResult
 
Standard_Boolean mySegmentMode
 
Standard_Integer myStatus
 

Detailed Description

Divides a Face (both edges in the wires, by splitting curves and pcurves, and the face itself, by splitting supporting surface) according to splitting criteria.

The result is available after the call to the Build method. It is a Shell containing all the resulting Faces.

All the modifications made during splitting are recorded in the external context (ShapeBuild_ReShape).

Constructor & Destructor Documentation

ShapeUpgrade_FaceDivide::ShapeUpgrade_FaceDivide ( )

Creates empty constructor.

ShapeUpgrade_FaceDivide::ShapeUpgrade_FaceDivide ( const TopoDS_Face F)

Initialize by a Face.

Member Function Documentation

virtual Handle< ShapeUpgrade_SplitSurface > ShapeUpgrade_FaceDivide::GetSplitSurfaceTool ( ) const
virtual

Returns the tool for splitting surfaces. This tool must be already initialized.

virtual Handle< ShapeUpgrade_WireDivide > ShapeUpgrade_FaceDivide::GetWireDivideTool ( ) const
virtual

Returns the tool for dividing edges on Face. This tool must be already initialized.

void ShapeUpgrade_FaceDivide::Init ( const TopoDS_Face F)

Initialize by a Face.

virtual Standard_Boolean ShapeUpgrade_FaceDivide::Perform ( )
virtual

Performs splitting and computes the resulting shell The context is used to keep track of former splittings in order to keep sharings. It is updated according to modifications made.

Reimplemented in ShapeUpgrade_FaceDivideArea.

TopoDS_Shape ShapeUpgrade_FaceDivide::Result ( ) const

Gives the resulting Shell, or Face, or Null shape if not done.

void ShapeUpgrade_FaceDivide::SetSplitSurfaceTool ( const Handle< ShapeUpgrade_SplitSurface > &  splitSurfaceTool)

Sets the tool for splitting surfaces.

void ShapeUpgrade_FaceDivide::SetSurfaceSegmentMode ( const Standard_Boolean  Segment)

Purpose sets mode for trimming (segment) surface by wire UV bounds.

void ShapeUpgrade_FaceDivide::SetWireDivideTool ( const Handle< ShapeUpgrade_WireDivide > &  wireDivideTool)

Sets the tool for dividing edges on Face.

virtual Standard_Boolean ShapeUpgrade_FaceDivide::SplitCurves ( )
virtual

Performs splitting of curves of all the edges in the shape and divides these edges.

virtual Standard_Boolean ShapeUpgrade_FaceDivide::SplitSurface ( )
virtual

Performs splitting of surface and computes the shell from source face.

Reimplemented in ShapeUpgrade_ClosedFaceDivide.

Standard_Boolean ShapeUpgrade_FaceDivide::Status ( const ShapeExtend_Status  status) const

Queries the status of last call to Perform OK : no splitting was done (or no call to Perform) DONE1: some edges were splitted DONE2: surface was splitted DONE3: surface was modified without splitting FAIL1: some fails encountered during splitting wires FAIL2: face cannot be splitted.

Field Documentation

TopoDS_Face ShapeUpgrade_FaceDivide::myFace
protected
TopoDS_Shape ShapeUpgrade_FaceDivide::myResult
protected
Standard_Boolean ShapeUpgrade_FaceDivide::mySegmentMode
protected
Standard_Integer ShapeUpgrade_FaceDivide::myStatus
protected

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