OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    BRepBuilderAPI_FastSewing Class Reference

    Created on: 2015-04-24 Created by: NIKOLAI BUKHALOV Copyright (c) 2015 OPEN CASCADE SAS. More...

    #include <BRepBuilderAPI_FastSewing.hxx>

    Inheritance diagram for BRepBuilderAPI_FastSewing:

    Data Structures

    struct  FS_Vertex
     The struct corresponding to a vertex. More...
    struct  FS_Face
     The struct corresponding to an face. More...
    class  FS_Edge
     The struct corresponding to a edge. More...
    class  NodeInspector
     This inspector will find a node nearest to the given point not far than on the given tolerance. More...

    Public Types

    enum  FS_Statuses {
      FS_OK = 0x00000000 , FS_Degenerated = 0x00000001 , FS_FindVertexError = 0x00000002 , FS_FindEdgeError = 0x00000004 ,
      FS_FaceWithNullSurface = 0x00000008 , FS_NotNaturalBoundsFace = 0x00000010 , FS_InfiniteSurface = 0x00000020 , FS_EmptyInput = 0x00000040 ,
      FS_Exception = 0x00000080
    }
     Enumeration of result statuses. More...
    typedef unsigned int FS_VARStatuses
    typedef void base_type
     Returns a type descriptor about this object.

    Public Member Functions

     BRepBuilderAPI_FastSewing (const double theTolerance=1.0e-06)
     Creates an object with tolerance of connexity.
    bool Add (const TopoDS_Shape &theShape)
     Adds faces of a shape.
    bool Add (const occ::handle< Geom_Surface > &theSurface)
     Adds a surface.
    void Perform ()
     Compute resulted shape.
    void SetTolerance (const double theToler)
     Sets tolerance.
    double GetTolerance () const
     Returns tolerance.
    const TopoDS_ShapeGetResult () const
     Returns resulted shape.
    FS_VARStatuses GetStatuses (Standard_OStream *const theOS=nullptr)
     Returns list of statuses. Print message if theOS != 0.
    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 ()=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_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.
    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 Member Functions

    void FindVertexes (const int theSurfID, NCollection_CellFilter< NodeInspector > &theCells)
    void FindEdges (const int theSurfID)
    void UpdateEdgeInfo (const int theIDPrevVertex, const int theIDCurrVertex, const int theFaceID, const int theIDCurvOnFace)
    void CreateNewEdge (const int theIDPrevVertex, const int theIDCurrVertex, const int theFaceID, const int theIDCurvOnFace)
    double Compute3DRange ()
    FS_VARStatuses SetStatus (FS_Statuses theStatus)
     Sets status. Returns numeric value of the status set.

    Additional Inherited Members

    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

    Created on: 2015-04-24 Created by: NIKOLAI BUKHALOV Copyright (c) 2015 OPEN CASCADE SAS.

    This file is part of Open CASCADE Technology software library.

    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation, with special exception defined in the file OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT distribution for complete text of the license and disclaimer of any warranty.

    Alternatively, this file may be used under the terms of Open CASCADE commercial license or contractual agreement. This class performs fast sewing of surfaces (faces). It supposes that all surfaces are finite and are naturally restricted by their bounds. Moreover, it supposes that stitched together surfaces have the same parameterization along common boundaries, therefore it does not perform time-consuming check for SameParameter property of edges.

    For sewing, use this function as following:

    • set tolerance value (default tolerance is 1.E-06)
    • add all necessary surfaces (faces)
    • check status if adding is correctly completed.
    • compute -> Perform
    • retrieve the error status if any
    • retrieve the resulted shape

    Member Typedef Documentation

    ◆ FS_VARStatuses

    Member Enumeration Documentation

    ◆ FS_Statuses

    Enumeration of result statuses.

    Enumerator
    FS_OK 
    FS_Degenerated 
    FS_FindVertexError 
    FS_FindEdgeError 
    FS_FaceWithNullSurface 
    FS_NotNaturalBoundsFace 
    FS_InfiniteSurface 
    FS_EmptyInput 
    FS_Exception 

    Constructor & Destructor Documentation

    ◆ BRepBuilderAPI_FastSewing()

    BRepBuilderAPI_FastSewing::BRepBuilderAPI_FastSewing ( const double theTolerance = 1.0e-06)

    Creates an object with tolerance of connexity.

    Member Function Documentation

    ◆ Add() [1/2]

    bool BRepBuilderAPI_FastSewing::Add ( const occ::handle< Geom_Surface > & theSurface)

    Adds a surface.

    ◆ Add() [2/2]

    bool BRepBuilderAPI_FastSewing::Add ( const TopoDS_Shape & theShape)

    Adds faces of a shape.

    ◆ Compute3DRange()

    double BRepBuilderAPI_FastSewing::Compute3DRange ( )
    protected

    ◆ CreateNewEdge()

    void BRepBuilderAPI_FastSewing::CreateNewEdge ( const int theIDPrevVertex,
    const int theIDCurrVertex,
    const int theFaceID,
    const int theIDCurvOnFace )
    protected

    ◆ FindEdges()

    void BRepBuilderAPI_FastSewing::FindEdges ( const int theSurfID)
    protected

    ◆ FindVertexes()

    void BRepBuilderAPI_FastSewing::FindVertexes ( const int theSurfID,
    NCollection_CellFilter< NodeInspector > & theCells )
    protected

    ◆ GetResult()

    const TopoDS_Shape & BRepBuilderAPI_FastSewing::GetResult ( ) const
    inline

    Returns resulted shape.

    ◆ GetStatuses()

    FS_VARStatuses BRepBuilderAPI_FastSewing::GetStatuses ( Standard_OStream *const theOS = nullptr)

    Returns list of statuses. Print message if theOS != 0.

    ◆ GetTolerance()

    double BRepBuilderAPI_FastSewing::GetTolerance ( ) const
    inline

    Returns tolerance.

    ◆ Perform()

    void BRepBuilderAPI_FastSewing::Perform ( )

    Compute resulted shape.

    ◆ SetStatus()

    FS_VARStatuses BRepBuilderAPI_FastSewing::SetStatus ( FS_Statuses theStatus)
    inlineprotected

    Sets status. Returns numeric value of the status set.

    ◆ SetTolerance()

    void BRepBuilderAPI_FastSewing::SetTolerance ( const double theToler)
    inline

    Sets tolerance.

    ◆ UpdateEdgeInfo()

    void BRepBuilderAPI_FastSewing::UpdateEdgeInfo ( const int theIDPrevVertex,
    const int theIDCurrVertex,
    const int theFaceID,
    const int theIDCurvOnFace )
    protected

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