OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    ShapeUpgrade_SplitSurface Class Reference

    Splits a Surface with a criterion. More...

    #include <ShapeUpgrade_SplitSurface.hxx>

    Inheritance diagram for ShapeUpgrade_SplitSurface:

    Public Member Functions

     ShapeUpgrade_SplitSurface ()
     Empty constructor.
    void Init (const occ::handle< Geom_Surface > &S)
     Initializes with single supporting surface.
    void Init (const occ::handle< Geom_Surface > &S, const double UFirst, const double ULast, const double VFirst, const double VLast, const double theArea=0.)
     Initializes with single supporting surface with bounding parameters.
    void SetUSplitValues (const occ::handle< NCollection_HSequence< double > > &UValues)
     Sets U parameters where splitting has to be done.
    void SetVSplitValues (const occ::handle< NCollection_HSequence< double > > &VValues)
     Sets V parameters where splitting has to be done.
    virtual void Build (const bool Segment)
     Performs splitting of the supporting surface. If resulting surface is B-Spline and Segment is True, the result is composed with segments of the surface bounded by the U and V SplitValues (method Geom_BSplineSurface::Segment is used). If Segment is False, the result is composed with Geom_RectangularTrimmedSurface all based on the same complete surface. Fields myNbResultingRow and myNbResultingCol must be set to specify the size of resulting grid of surfaces.
    virtual void Compute (const bool Segment=true)
     Calculates points for correction/splitting of the surface.
    void Perform (const bool Segment=true)
     Performs correction/splitting of the surface. First defines splitting values by method Compute(), then calls method Build().
    const occ::handle< NCollection_HSequence< double > > & USplitValues () const
     returns all the U splitting values including the First and Last parameters of the input surface
    const occ::handle< NCollection_HSequence< double > > & VSplitValues () const
     returns all the splitting V values including the First and Last parameters of the input surface
    bool Status (const ShapeExtend_Status status) const
     Returns the status OK - no splitting is needed DONE1 - splitting required and gives more than one patch DONE2 - splitting is required, but gives only single patch (initial) DONE3 - geometric form of the surface or parametrisation is modified.
    const occ::handle< ShapeExtend_CompositeSurface > & ResSurfaces () const
     Returns obtained surfaces after splitting as CompositeSurface.
    Public Member Functions inherited from Standard_Transient
     Standard_Transient ()
     Empty constructor.
     Standard_Transient (const Standard_Transient &)
     Copy constructor – does nothing.
    Standard_Transient & operator= (const Standard_Transient &)
     Assignment operator, needed to avoid copying reference counter.
    virtual ~Standard_Transient ()=default
     Destructor must be virtual.
    virtual const opencascade::handle< Standard_Type > & DynamicType () const
     Returns a type descriptor about this object.
    bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
     Returns a true value if this is an instance of Type.
    bool IsInstance (const char *const theTypeName) const
     Returns a true value if this is an instance of TypeName.
    bool 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.
    bool IsKind (const char *const 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_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.
    int GetRefCount () const noexcept
     Get the reference counter of this object.
    void IncrementRefCounter () noexcept
     Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
    int DecrementRefCounter () noexcept
     Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
    virtual void Delete () const
     Memory deallocator for transient classes.

    Protected Attributes

    occ::handle< NCollection_HSequence< double > > myUSplitValues
    occ::handle< NCollection_HSequence< double > > myVSplitValues
    int myNbResultingRow
    int myNbResultingCol
    occ::handle< Geom_Surface > mySurface
    int myStatus
    occ::handle< ShapeExtend_CompositeSurface > myResSurfaces
    double myArea
    double myUsize
    double myVsize

    Additional Inherited Members

    typedef void base_type
     Returns a type descriptor about this object.
    static constexpr const char * get_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

    Splits a Surface with a criterion.

    Constructor & Destructor Documentation

    ◆ ShapeUpgrade_SplitSurface()

    ShapeUpgrade_SplitSurface::ShapeUpgrade_SplitSurface ( )

    Empty constructor.

    Member Function Documentation

    ◆ Build()

    virtual void ShapeUpgrade_SplitSurface::Build ( const bool Segment)
    virtual

    Performs splitting of the supporting surface. If resulting surface is B-Spline and Segment is True, the result is composed with segments of the surface bounded by the U and V SplitValues (method Geom_BSplineSurface::Segment is used). If Segment is False, the result is composed with Geom_RectangularTrimmedSurface all based on the same complete surface. Fields myNbResultingRow and myNbResultingCol must be set to specify the size of resulting grid of surfaces.

    Reimplemented in ShapeUpgrade_ConvertSurfaceToBezierBasis.

    ◆ Compute()

    virtual void ShapeUpgrade_SplitSurface::Compute ( const bool Segment = true)
    virtual

    ◆ Init() [1/2]

    void ShapeUpgrade_SplitSurface::Init ( const occ::handle< Geom_Surface > & S)

    Initializes with single supporting surface.

    ◆ Init() [2/2]

    void ShapeUpgrade_SplitSurface::Init ( const occ::handle< Geom_Surface > & S,
    const double UFirst,
    const double ULast,
    const double VFirst,
    const double VLast,
    const double theArea = 0. )

    Initializes with single supporting surface with bounding parameters.

    ◆ Perform()

    void ShapeUpgrade_SplitSurface::Perform ( const bool Segment = true)

    Performs correction/splitting of the surface. First defines splitting values by method Compute(), then calls method Build().

    ◆ ResSurfaces()

    const occ::handle< ShapeExtend_CompositeSurface > & ShapeUpgrade_SplitSurface::ResSurfaces ( ) const

    Returns obtained surfaces after splitting as CompositeSurface.

    ◆ SetUSplitValues()

    void ShapeUpgrade_SplitSurface::SetUSplitValues ( const occ::handle< NCollection_HSequence< double > > & UValues)

    Sets U parameters where splitting has to be done.

    ◆ SetVSplitValues()

    void ShapeUpgrade_SplitSurface::SetVSplitValues ( const occ::handle< NCollection_HSequence< double > > & VValues)

    Sets V parameters where splitting has to be done.

    ◆ Status()

    bool ShapeUpgrade_SplitSurface::Status ( const ShapeExtend_Status status) const

    Returns the status OK - no splitting is needed DONE1 - splitting required and gives more than one patch DONE2 - splitting is required, but gives only single patch (initial) DONE3 - geometric form of the surface or parametrisation is modified.

    ◆ USplitValues()

    const occ::handle< NCollection_HSequence< double > > & ShapeUpgrade_SplitSurface::USplitValues ( ) const

    returns all the U splitting values including the First and Last parameters of the input surface

    ◆ VSplitValues()

    const occ::handle< NCollection_HSequence< double > > & ShapeUpgrade_SplitSurface::VSplitValues ( ) const

    returns all the splitting V values including the First and Last parameters of the input surface

    Field Documentation

    ◆ myArea

    double ShapeUpgrade_SplitSurface::myArea
    protected

    ◆ myNbResultingCol

    int ShapeUpgrade_SplitSurface::myNbResultingCol
    protected

    ◆ myNbResultingRow

    int ShapeUpgrade_SplitSurface::myNbResultingRow
    protected

    ◆ myResSurfaces

    occ::handle<ShapeExtend_CompositeSurface> ShapeUpgrade_SplitSurface::myResSurfaces
    protected

    ◆ myStatus

    int ShapeUpgrade_SplitSurface::myStatus
    protected

    ◆ mySurface

    occ::handle<Geom_Surface> ShapeUpgrade_SplitSurface::mySurface
    protected

    ◆ myUsize

    double ShapeUpgrade_SplitSurface::myUsize
    protected

    ◆ myUSplitValues

    occ::handle<NCollection_HSequence<double> > ShapeUpgrade_SplitSurface::myUSplitValues
    protected

    ◆ myVsize

    double ShapeUpgrade_SplitSurface::myVsize
    protected

    ◆ myVSplitValues

    occ::handle<NCollection_HSequence<double> > ShapeUpgrade_SplitSurface::myVSplitValues
    protected

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