Open CASCADE Technology 7.8.2.dev
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

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 Standard_Real theTolerance=1.0e-06)
 Creates an object with tolerance of connexity.
 
Standard_Boolean Add (const TopoDS_Shape &theShape)
 Adds faces of a shape.
 
Standard_Boolean Add (const Handle< Geom_Surface > &theSurface)
 Adds a surface.
 
void Perform (void)
 Compute resulted shape.
 
void SetTolerance (const Standard_Real theToler)
 Sets tolerance.
 
Standard_Real GetTolerance () const
 Returns tolerance.
 
const TopoDS_ShapeGetResult () const
 Returns resulted shape.
 
FS_VARStatuses GetStatuses (Standard_OStream *const theOS=0)
 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 ()
 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 Member Functions

void FindVertexes (const Standard_Integer theSurfID, NCollection_CellFilter< NodeInspector > &theCells)
 
void FindEdges (const Standard_Integer theSurfID)
 
void UpdateEdgeInfo (const Standard_Integer theIDPrevVertex, const Standard_Integer theIDCurrVertex, const Standard_Integer theFaceID, const Standard_Integer theIDCurvOnFace)
 
void CreateNewEdge (const Standard_Integer theIDPrevVertex, const Standard_Integer theIDCurrVertex, const Standard_Integer theFaceID, const Standard_Integer theIDCurvOnFace)
 
Standard_Real 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 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 Standard_Real theTolerance = 1.0e-06)

Creates an object with tolerance of connexity.

Member Function Documentation

◆ Add() [1/2]

Standard_Boolean BRepBuilderAPI_FastSewing::Add ( const Handle< Geom_Surface > & theSurface)

Adds a surface.

◆ Add() [2/2]

Standard_Boolean BRepBuilderAPI_FastSewing::Add ( const TopoDS_Shape & theShape)

Adds faces of a shape.

◆ Compute3DRange()

Standard_Real BRepBuilderAPI_FastSewing::Compute3DRange ( )
protected

◆ CreateNewEdge()

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

◆ FindEdges()

void BRepBuilderAPI_FastSewing::FindEdges ( const Standard_Integer theSurfID)
protected

◆ FindVertexes()

void BRepBuilderAPI_FastSewing::FindVertexes ( const Standard_Integer 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 = 0)

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

◆ GetTolerance()

Standard_Real BRepBuilderAPI_FastSewing::GetTolerance ( ) const
inline

Returns tolerance.

◆ Perform()

void BRepBuilderAPI_FastSewing::Perform ( void )

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 Standard_Real theToler)
inline

Sets tolerance.

◆ UpdateEdgeInfo()

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

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