Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Public Types | Public Member Functions | Protected Member Functions
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:
Inheritance graph
[legend]

Data Structures

class  FS_Edge
 The struct corresponding to a edge. More...
 
struct  FS_Face
 The struct corresponding to an face. More...
 
struct  FS_Vertex
 The struct corresponding to a vertex. 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
 
- Public Types inherited from Standard_Transient
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 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

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:

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: