Open CASCADE Technology 7.8.0
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.
 
 ShapeUpgrade_FaceDivide (const TopoDS_Face &F)
 Initialize by a Face.
 
void Init (const TopoDS_Face &F)
 Initialize by a Face.
 
void SetSurfaceSegmentMode (const Standard_Boolean Segment)
 Purpose sets mode for trimming (segment) surface by wire UV bounds.
 
virtual Standard_Boolean Perform (const Standard_Real theArea=0.)
 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. The optional argument <theArea> is used to initialize the tool for splitting surface in the case of splitting into N parts where N is user-defined.
 
virtual Standard_Boolean SplitSurface (const Standard_Real theArea=0.)
 Performs splitting of surface and computes the shell from source face. The optional argument <theArea> is used to initialize the tool for splitting surface in the case of splitting into N parts where N is user-defined.
 
virtual Standard_Boolean SplitCurves ()
 Performs splitting of curves of all the edges in the shape and divides these edges.
 
TopoDS_Shape Result () const
 Gives the resulting Shell, or Face, or Null shape if not done.
 
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 split DONE2: surface was split DONE3: surface was modified without splitting FAIL1: some fails encountered during splitting wires FAIL2: face cannot be split.
 
void SetSplitSurfaceTool (const Handle< ShapeUpgrade_SplitSurface > &splitSurfaceTool)
 Sets the tool for splitting surfaces.
 
void SetWireDivideTool (const Handle< ShapeUpgrade_WireDivide > &wireDivideTool)
 Sets the tool for dividing edges on Face.
 
virtual Handle< ShapeUpgrade_SplitSurfaceGetSplitSurfaceTool () const
 Returns the tool for splitting surfaces. This tool must be already initialized.
 
virtual Handle< ShapeUpgrade_WireDivideGetWireDivideTool () const
 Returns the tool for dividing edges on Face. This tool must be already initialized.
 
- Public Member Functions inherited from ShapeUpgrade_Tool
 ShapeUpgrade_Tool ()
 Empty constructor.
 
void Set (const Handle< ShapeUpgrade_Tool > &tool)
 Copy all fields from another Root object.
 
void SetContext (const Handle< ShapeBuild_ReShape > &context)
 Sets context.
 
Handle< ShapeBuild_ReShapeContext () const
 Returns context.
 
void SetPrecision (const Standard_Real preci)
 Sets basic precision value.
 
Standard_Real Precision () const
 Returns basic precision value.
 
void SetMinTolerance (const Standard_Real mintol)
 Sets minimal allowed tolerance.
 
Standard_Real MinTolerance () const
 Returns minimal allowed tolerance.
 
void SetMaxTolerance (const Standard_Real maxtol)
 Sets maximal allowed tolerance.
 
Standard_Real MaxTolerance () const
 Returns maximal allowed tolerance.
 
Standard_Real LimitTolerance (const Standard_Real toler) const
 Returns tolerance limited by [myMinTol,myMaxTol].
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
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.
 
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.
 
Standard_TransientThis () 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.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Attributes

TopoDS_Face myFace
 
TopoDS_Shape myResult
 
Standard_Boolean mySegmentMode
 
Standard_Integer myStatus
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

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() [1/2]

ShapeUpgrade_FaceDivide::ShapeUpgrade_FaceDivide ( )

Creates empty constructor.

◆ ShapeUpgrade_FaceDivide() [2/2]

ShapeUpgrade_FaceDivide::ShapeUpgrade_FaceDivide ( const TopoDS_Face F)

Initialize by a Face.

Member Function Documentation

◆ GetSplitSurfaceTool()

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

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

◆ GetWireDivideTool()

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

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

◆ Init()

void ShapeUpgrade_FaceDivide::Init ( const TopoDS_Face F)

Initialize by a Face.

◆ Perform()

virtual Standard_Boolean ShapeUpgrade_FaceDivide::Perform ( const Standard_Real  theArea = 0.)
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. The optional argument <theArea> is used to initialize the tool for splitting surface in the case of splitting into N parts where N is user-defined.

Reimplemented in ShapeUpgrade_FaceDivideArea.

◆ Result()

TopoDS_Shape ShapeUpgrade_FaceDivide::Result ( ) const

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

◆ SetSplitSurfaceTool()

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

Sets the tool for splitting surfaces.

◆ SetSurfaceSegmentMode()

void ShapeUpgrade_FaceDivide::SetSurfaceSegmentMode ( const Standard_Boolean  Segment)

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

◆ SetWireDivideTool()

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

Sets the tool for dividing edges on Face.

◆ SplitCurves()

virtual Standard_Boolean ShapeUpgrade_FaceDivide::SplitCurves ( )
virtual

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

◆ SplitSurface()

virtual Standard_Boolean ShapeUpgrade_FaceDivide::SplitSurface ( const Standard_Real  theArea = 0.)
virtual

Performs splitting of surface and computes the shell from source face. The optional argument <theArea> is used to initialize the tool for splitting surface in the case of splitting into N parts where N is user-defined.

Reimplemented in ShapeUpgrade_ClosedFaceDivide.

◆ Status()

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 split DONE2: surface was split DONE3: surface was modified without splitting FAIL1: some fails encountered during splitting wires FAIL2: face cannot be split.

Field Documentation

◆ myFace

TopoDS_Face ShapeUpgrade_FaceDivide::myFace
protected

◆ myResult

TopoDS_Shape ShapeUpgrade_FaceDivide::myResult
protected

◆ mySegmentMode

Standard_Boolean ShapeUpgrade_FaceDivide::mySegmentMode
protected

◆ myStatus

Standard_Integer ShapeUpgrade_FaceDivide::myStatus
protected

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