Open CASCADE Technology 6.6.0
Public Member Functions | Protected Member Functions | Protected Attributes
BRepBuilderAPI_Sewing Class Reference

Provides methods to

More...

#include <BRepBuilderAPI_Sewing.hxx>

Inheritance diagram for BRepBuilderAPI_Sewing:
Inheritance graph
[legend]

Public Member Functions

 BRepBuilderAPI_Sewing (const Standard_Real tolerance=1.0e-06, const Standard_Boolean option1=Standard_True, const Standard_Boolean option2=Standard_True, const Standard_Boolean option3=Standard_True, const Standard_Boolean option4=Standard_False)
 Creates an object with
tolerance of connexity
option for sewing (if false only control)
option for analysis of degenerated shapes
option for cutting of free edges.
option for non manifold processing

void Init (const Standard_Real tolerance=1.0e-06, const Standard_Boolean option1=Standard_True, const Standard_Boolean option2=Standard_True, const Standard_Boolean option3=Standard_True, const Standard_Boolean option4=Standard_False)
 initialize the parameters if necessary

void Load (const TopoDS_Shape &shape)
 Loades the context shape.

void Add (const TopoDS_Shape &shape)
 Defines the shapes to be sewed or controlled

void Perform (const Handle< Message_ProgressIndicator > &thePI=0)
 Computing
thePI - progress indicator of algorithm

const TopoDS_ShapeSewedShape () const
 Gives the sewed shape
a null shape if nothing constructed
may be a face, a shell, a solid or a compound

Standard_Integer NbFreeEdges () const
 Gives the number of free edges (edge shared by one face)

const TopoDS_EdgeFreeEdge (const Standard_Integer index) const
 Gives each free edge

Standard_Integer NbMultipleEdges () const
 Gives the number of multiple edges
(edge shared by more than two faces)

const TopoDS_EdgeMultipleEdge (const Standard_Integer index) const
 Gives each multiple edge

Standard_Integer NbContigousEdges () const
 Gives the number of contigous edges (edge shared by two faces)

const TopoDS_EdgeContigousEdge (const Standard_Integer index) const
 Gives each contigous edge

const TopTools_ListOfShapeContigousEdgeCouple (const Standard_Integer index) const
 Gives the sections (edge) belonging to a contigous edge

Standard_Boolean IsSectionBound (const TopoDS_Edge &section) const
 Indicates if a section is bound (before use SectionToBoundary)

const TopoDS_EdgeSectionToBoundary (const TopoDS_Edge &section) const
 Gives the original edge (free boundary) which becomes the
the section. Remember that sections constitute common edges.
This imformation is important for control because with
original edge we can find the surface to which the section
is attached.

Standard_Integer NbDegeneratedShapes () const
 Gives the number of degenerated shapes

const TopoDS_ShapeDegeneratedShape (const Standard_Integer index) const
 Gives each degenerated shape

Standard_Boolean IsDegenerated (const TopoDS_Shape &shape) const
 Indicates if a input shape is degenerated

Standard_Boolean IsModified (const TopoDS_Shape &shape) const
 Indicates if a input shape has been modified

const TopoDS_ShapeModified (const TopoDS_Shape &shape) const
 Gives a modifieded shape

Standard_Boolean IsModifiedSubShape (const TopoDS_Shape &shape) const
 Indicates if a input subshape has been modified

TopoDS_Shape ModifiedSubShape (const TopoDS_Shape &shape) const
 Gives a modifieded subshape

void Dump () const
 print the informations

Standard_Integer NbDeletedFaces () const
 Gives the number of deleted faces (faces smallest than tolerance)

const TopoDS_FaceDeletedFace (const Standard_Integer index) const
 Gives each deleted face

TopoDS_Face WhichFace (const TopoDS_Edge &theEdg, const Standard_Integer index=1) const
 Gives a modified shape

Standard_Boolean SameParameterMode () const
 Gets same parameter mode.

void SetSameParameterMode (const Standard_Boolean SameParameterMode)
 Sets same parameter mode.

Standard_Real Tolerance () const
 Gives set tolerance.

void SetTolerance (const Standard_Real theToler)
 Sets tolerance

Standard_Real MinTolerance () const
 Gives set min tolerance.

void SetMinTolerance (const Standard_Real theMinToler)
 Sets min tolerance

Standard_Real MaxTolerance () const
 Gives set max tolerance

void SetMaxTolerance (const Standard_Real theMaxToler)
 Sets max tolerance.

Standard_Boolean FaceMode () const
 Returns mode for sewing faces By default - true.

void SetFaceMode (const Standard_Boolean theFaceMode)
 Sets mode for sewing faces By default - true.

Standard_Boolean FloatingEdgesMode () const
 Returns mode for sewing floating edges By default - false.

void SetFloatingEdgesMode (const Standard_Boolean theFloatingEdgesMode)
 Sets mode for sewing floating edges By default - false.
//! Returns mode for cutting floating edges By default - false.
//! Sets mode for cutting floating edges By default - false.

Standard_Boolean LocalTolerancesMode () const
 Returns mode for accounting of local tolerances
of edges and vertices during of merging.

void SetLocalTolerancesMode (const Standard_Boolean theLocalTolerancesMode)
 Sets mode for accounting of local tolerances
of edges and vertices during of merging
in this case WorkTolerance = myTolerance + tolEdge1+ tolEdg2;

void SetNonManifoldMode (const Standard_Boolean theNonManifoldMode)
 Sets mode for non-manifold sewing.

Standard_Boolean NonManifoldMode () const
 Gets mode for non-manifold sewing.

INTERNAL FUCTIONS ---


Protected Member Functions

void Cutting (const Handle< Message_ProgressIndicator > &thePI=0)
 Performs cutting of sections
thePI - progress indicator of processing

void Merging (const Standard_Boolean passage, const Handle< Message_ProgressIndicator > &thePI=0)
Standard_Boolean IsMergedClosed (const TopoDS_Edge &Edge1, const TopoDS_Edge &Edge2, const TopoDS_Face &fase) const
Standard_Boolean FindCandidates (TopTools_SequenceOfShape &seqSections, TColStd_IndexedMapOfInteger &mapReference, TColStd_SequenceOfInteger &seqCandidates, TColStd_SequenceOfInteger &seqOrientations)
void AnalysisNearestEdges (const TopTools_SequenceOfShape &sequenceSec, TColStd_SequenceOfInteger &seqIndCandidate, TColStd_SequenceOfInteger &seqOrientations, const Standard_Boolean evalDist=Standard_True)
Standard_Boolean MergedNearestEdges (const TopoDS_Shape &edge, TopTools_SequenceOfShape &SeqMergedEdge, TColStd_SequenceOfInteger &SeqMergedOri)
 Merged nearest edges.

void EdgeProcessing (const Handle< Message_ProgressIndicator > &thePI=0)
void CreateOutputInformations ()
virtual Standard_Boolean IsUClosedSurface (const Handle< Geom_Surface > &surf, const TopoDS_Shape &theEdge, const TopLoc_Location &theloc) const
 Defines if surface is U closed.

virtual Standard_Boolean IsVClosedSurface (const Handle< Geom_Surface > &surf, const TopoDS_Shape &theEdge, const TopLoc_Location &theloc) const
 Defines if surface is V closed.

virtual void FaceAnalysis (const Handle< Message_ProgressIndicator > &thePI=0)
 This method is called from Perform only
thePI - progress indicator of processing

virtual void FindFreeBoundaries ()
 This method is called from Perform only

virtual void VerticesAssembling (const Handle< Message_ProgressIndicator > &thePI=0)
 This method is called from Perform only
thePI - progress indicator of processing

virtual void CreateSewedShape ()
 This method is called from Perform only

virtual void GetFreeWires (TopTools_MapOfShape &MapFreeEdges, TopTools_SequenceOfShape &seqWires)
 Get wire from free edges.
This method is called from EdgeProcessing only

virtual void EvaluateAngulars (TopTools_SequenceOfShape &sequenceSec, TColStd_Array1OfBoolean &secForward, TColStd_Array1OfReal &tabAng, const Standard_Integer indRef) const
 This method is called from MergingOfSections only

virtual void EvaluateDistances (TopTools_SequenceOfShape &sequenceSec, TColStd_Array1OfBoolean &secForward, TColStd_Array1OfReal &tabAng, TColStd_Array1OfReal &arrLen, TColStd_Array1OfReal &tabMinDist, const Standard_Integer indRef) const
 This method is called from MergingOfSections only

virtual Handle_Geom2d_Curve SameRange (const Handle< Geom2d_Curve > &CurvePtr, const Standard_Real FirstOnCurve, const Standard_Real LastOnCurve, const Standard_Real RequestedFirst, const Standard_Real RequestedLast) const
 This method is called from SameParameterEdge only

virtual void SameParameter (const TopoDS_Edge &edge) const
 This method is called from SameParameterEdge only

virtual TopoDS_Edge SameParameterEdge (const TopoDS_Shape &edge, const TopTools_SequenceOfShape &seqEdges, const TColStd_SequenceOfInteger &seqForward, TopTools_MapOfShape &mapMerged, const Handle< BRepTools_ReShape > &locReShape)
 This method is called from Merging only

virtual TopoDS_Edge SameParameterEdge (const TopoDS_Edge &edge1, const TopoDS_Edge &edge2, const TopTools_ListOfShape &listFaces1, const TopTools_ListOfShape &listFaces2, const Standard_Boolean secForward, Standard_Integer &whichSec, const Standard_Boolean firstCall=Standard_True)
 This method is called from Merging only

void ProjectPointsOnCurve (const TColgp_Array1OfPnt &arrPnt, const Handle< Geom_Curve > &Crv, const Standard_Real first, const Standard_Real last, TColStd_Array1OfReal &arrDist, TColStd_Array1OfReal &arrPara, TColgp_Array1OfPnt &arrProj, const Standard_Boolean isConsiderEnds) const
 Projects points on curve
This method is called from Cutting only

virtual void CreateCuttingNodes (const TopTools_IndexedMapOfShape &MapVert, const TopoDS_Shape &bound, const TopoDS_Shape &vfirst, const TopoDS_Shape &vlast, const TColStd_Array1OfReal &arrDist, const TColStd_Array1OfReal &arrPara, const TColgp_Array1OfPnt &arrPnt, TopTools_SequenceOfShape &seqNode, TColStd_SequenceOfReal &seqPara)
 Creates cutting vertices on projections
This method is called from Cutting only

virtual void CreateSections (const TopoDS_Shape &bound, const TopTools_SequenceOfShape &seqNode, const TColStd_SequenceOfReal &seqPara, TopTools_ListOfShape &listEdge)
 Performs cutting of bound
This method is called from Cutting only

virtual void SameParameterShape ()
 Makes all edges from shape same parameter
if SameParameterMode is equal to Standard_True
This method is called from Perform only

Protected Attributes

Standard_Real myTolerance
Standard_Boolean mySewing
Standard_Boolean myAnalysis
Standard_Boolean myCutting
Standard_Boolean myNonmanifold
TopTools_IndexedDataMapOfShapeShape myOldShapes
TopoDS_Shape mySewedShape
TopTools_IndexedMapOfShape myDegenerated
TopTools_IndexedMapOfShape myFreeEdges
TopTools_IndexedMapOfShape myMultipleEdges
TopTools_IndexedDataMapOfShapeListOfShape myContigousEdges
TopTools_DataMapOfShapeShape myContigSecBound
Standard_Integer myNbShapes
Standard_Integer myNbVertices
Standard_Integer myNbEdges
TopTools_IndexedDataMapOfShapeListOfShape myBoundFaces
TopTools_DataMapOfShapeListOfShape myBoundSections
TopTools_DataMapOfShapeShape mySectionBound
TopTools_IndexedDataMapOfShapeShape myVertexNode
TopTools_IndexedDataMapOfShapeShape myVertexNodeFree
TopTools_DataMapOfShapeListOfShape myNodeSections
TopTools_DataMapOfShapeListOfShape myCuttingNode
TopTools_IndexedMapOfShape myLittleFace
TopoDS_Shape myShape
Handle_BRepTools_ReShape myReShape

Detailed Description


Constructor & Destructor Documentation

BRepBuilderAPI_Sewing::BRepBuilderAPI_Sewing ( const Standard_Real  tolerance = 1.0e-06,
const Standard_Boolean  option1 = Standard_True,
const Standard_Boolean  option2 = Standard_True,
const Standard_Boolean  option3 = Standard_True,
const Standard_Boolean  option4 = Standard_False 
)

Member Function Documentation

void BRepBuilderAPI_Sewing::Add ( const TopoDS_Shape shape)
void BRepBuilderAPI_Sewing::AnalysisNearestEdges ( const TopTools_SequenceOfShape sequenceSec,
TColStd_SequenceOfInteger seqIndCandidate,
TColStd_SequenceOfInteger seqOrientations,
const Standard_Boolean  evalDist = Standard_True 
) [protected]
const TopoDS_Edge& BRepBuilderAPI_Sewing::ContigousEdge ( const Standard_Integer  index) const
const TopTools_ListOfShape& BRepBuilderAPI_Sewing::ContigousEdgeCouple ( const Standard_Integer  index) const
virtual void BRepBuilderAPI_Sewing::CreateCuttingNodes ( const TopTools_IndexedMapOfShape MapVert,
const TopoDS_Shape bound,
const TopoDS_Shape vfirst,
const TopoDS_Shape vlast,
const TColStd_Array1OfReal arrDist,
const TColStd_Array1OfReal arrPara,
const TColgp_Array1OfPnt arrPnt,
TopTools_SequenceOfShape seqNode,
TColStd_SequenceOfReal seqPara 
) [protected, virtual]
void BRepBuilderAPI_Sewing::CreateOutputInformations ( ) [protected]
virtual void BRepBuilderAPI_Sewing::CreateSections ( const TopoDS_Shape bound,
const TopTools_SequenceOfShape seqNode,
const TColStd_SequenceOfReal seqPara,
TopTools_ListOfShape listEdge 
) [protected, virtual]
virtual void BRepBuilderAPI_Sewing::CreateSewedShape ( ) [protected, virtual]
void BRepBuilderAPI_Sewing::Cutting ( const Handle< Message_ProgressIndicator > &  thePI = 0) [protected]
const TopoDS_Shape& BRepBuilderAPI_Sewing::DegeneratedShape ( const Standard_Integer  index) const
const TopoDS_Face& BRepBuilderAPI_Sewing::DeletedFace ( const Standard_Integer  index) const
void BRepBuilderAPI_Sewing::Dump ( ) const
void BRepBuilderAPI_Sewing::EdgeProcessing ( const Handle< Message_ProgressIndicator > &  thePI = 0) [protected]
virtual void BRepBuilderAPI_Sewing::EvaluateAngulars ( TopTools_SequenceOfShape sequenceSec,
TColStd_Array1OfBoolean secForward,
TColStd_Array1OfReal tabAng,
const Standard_Integer  indRef 
) const [protected, virtual]
virtual void BRepBuilderAPI_Sewing::EvaluateDistances ( TopTools_SequenceOfShape sequenceSec,
TColStd_Array1OfBoolean secForward,
TColStd_Array1OfReal tabAng,
TColStd_Array1OfReal arrLen,
TColStd_Array1OfReal tabMinDist,
const Standard_Integer  indRef 
) const [protected, virtual]
virtual void BRepBuilderAPI_Sewing::FaceAnalysis ( const Handle< Message_ProgressIndicator > &  thePI = 0) [protected, virtual]
Standard_Boolean BRepBuilderAPI_Sewing::FaceMode ( ) const
Standard_Boolean BRepBuilderAPI_Sewing::FindCandidates ( TopTools_SequenceOfShape seqSections,
TColStd_IndexedMapOfInteger mapReference,
TColStd_SequenceOfInteger seqCandidates,
TColStd_SequenceOfInteger seqOrientations 
) [protected]
virtual void BRepBuilderAPI_Sewing::FindFreeBoundaries ( ) [protected, virtual]
Standard_Boolean BRepBuilderAPI_Sewing::FloatingEdgesMode ( ) const
const TopoDS_Edge& BRepBuilderAPI_Sewing::FreeEdge ( const Standard_Integer  index) const
virtual void BRepBuilderAPI_Sewing::GetFreeWires ( TopTools_MapOfShape MapFreeEdges,
TopTools_SequenceOfShape seqWires 
) [protected, virtual]
void BRepBuilderAPI_Sewing::Init ( const Standard_Real  tolerance = 1.0e-06,
const Standard_Boolean  option1 = Standard_True,
const Standard_Boolean  option2 = Standard_True,
const Standard_Boolean  option3 = Standard_True,
const Standard_Boolean  option4 = Standard_False 
)
Standard_Boolean BRepBuilderAPI_Sewing::IsDegenerated ( const TopoDS_Shape shape) const
Standard_Boolean BRepBuilderAPI_Sewing::IsMergedClosed ( const TopoDS_Edge Edge1,
const TopoDS_Edge Edge2,
const TopoDS_Face fase 
) const [protected]
Standard_Boolean BRepBuilderAPI_Sewing::IsModified ( const TopoDS_Shape shape) const
Standard_Boolean BRepBuilderAPI_Sewing::IsModifiedSubShape ( const TopoDS_Shape shape) const
Standard_Boolean BRepBuilderAPI_Sewing::IsSectionBound ( const TopoDS_Edge section) const
virtual Standard_Boolean BRepBuilderAPI_Sewing::IsUClosedSurface ( const Handle< Geom_Surface > &  surf,
const TopoDS_Shape theEdge,
const TopLoc_Location theloc 
) const [protected, virtual]
virtual Standard_Boolean BRepBuilderAPI_Sewing::IsVClosedSurface ( const Handle< Geom_Surface > &  surf,
const TopoDS_Shape theEdge,
const TopLoc_Location theloc 
) const [protected, virtual]
void BRepBuilderAPI_Sewing::Load ( const TopoDS_Shape shape)
Standard_Boolean BRepBuilderAPI_Sewing::LocalTolerancesMode ( ) const
Standard_Real BRepBuilderAPI_Sewing::MaxTolerance ( ) const
Standard_Boolean BRepBuilderAPI_Sewing::MergedNearestEdges ( const TopoDS_Shape edge,
TopTools_SequenceOfShape SeqMergedEdge,
TColStd_SequenceOfInteger SeqMergedOri 
) [protected]
void BRepBuilderAPI_Sewing::Merging ( const Standard_Boolean  passage,
const Handle< Message_ProgressIndicator > &  thePI = 0 
) [protected]
Standard_Real BRepBuilderAPI_Sewing::MinTolerance ( ) const
const TopoDS_Shape& BRepBuilderAPI_Sewing::Modified ( const TopoDS_Shape shape) const
TopoDS_Shape BRepBuilderAPI_Sewing::ModifiedSubShape ( const TopoDS_Shape shape) const
const TopoDS_Edge& BRepBuilderAPI_Sewing::MultipleEdge ( const Standard_Integer  index) const
Standard_Integer BRepBuilderAPI_Sewing::NbContigousEdges ( ) const
Standard_Integer BRepBuilderAPI_Sewing::NbDegeneratedShapes ( ) const
Standard_Integer BRepBuilderAPI_Sewing::NbDeletedFaces ( ) const
Standard_Integer BRepBuilderAPI_Sewing::NbFreeEdges ( ) const
Standard_Integer BRepBuilderAPI_Sewing::NbMultipleEdges ( ) const
Standard_Boolean BRepBuilderAPI_Sewing::NonManifoldMode ( ) const
void BRepBuilderAPI_Sewing::Perform ( const Handle< Message_ProgressIndicator > &  thePI = 0)
void BRepBuilderAPI_Sewing::ProjectPointsOnCurve ( const TColgp_Array1OfPnt arrPnt,
const Handle< Geom_Curve > &  Crv,
const Standard_Real  first,
const Standard_Real  last,
TColStd_Array1OfReal arrDist,
TColStd_Array1OfReal arrPara,
TColgp_Array1OfPnt arrProj,
const Standard_Boolean  isConsiderEnds 
) const [protected]
virtual void BRepBuilderAPI_Sewing::SameParameter ( const TopoDS_Edge edge) const [protected, virtual]
virtual TopoDS_Edge BRepBuilderAPI_Sewing::SameParameterEdge ( const TopoDS_Edge edge1,
const TopoDS_Edge edge2,
const TopTools_ListOfShape listFaces1,
const TopTools_ListOfShape listFaces2,
const Standard_Boolean  secForward,
Standard_Integer whichSec,
const Standard_Boolean  firstCall = Standard_True 
) [protected, virtual]
virtual TopoDS_Edge BRepBuilderAPI_Sewing::SameParameterEdge ( const TopoDS_Shape edge,
const TopTools_SequenceOfShape seqEdges,
const TColStd_SequenceOfInteger seqForward,
TopTools_MapOfShape mapMerged,
const Handle< BRepTools_ReShape > &  locReShape 
) [protected, virtual]
Standard_Boolean BRepBuilderAPI_Sewing::SameParameterMode ( ) const
virtual void BRepBuilderAPI_Sewing::SameParameterShape ( ) [protected, virtual]
virtual Handle_Geom2d_Curve BRepBuilderAPI_Sewing::SameRange ( const Handle< Geom2d_Curve > &  CurvePtr,
const Standard_Real  FirstOnCurve,
const Standard_Real  LastOnCurve,
const Standard_Real  RequestedFirst,
const Standard_Real  RequestedLast 
) const [protected, virtual]
const TopoDS_Edge& BRepBuilderAPI_Sewing::SectionToBoundary ( const TopoDS_Edge section) const
void BRepBuilderAPI_Sewing::SetFaceMode ( const Standard_Boolean  theFaceMode)
void BRepBuilderAPI_Sewing::SetFloatingEdgesMode ( const Standard_Boolean  theFloatingEdgesMode)
void BRepBuilderAPI_Sewing::SetLocalTolerancesMode ( const Standard_Boolean  theLocalTolerancesMode)
void BRepBuilderAPI_Sewing::SetMaxTolerance ( const Standard_Real  theMaxToler)
void BRepBuilderAPI_Sewing::SetMinTolerance ( const Standard_Real  theMinToler)
void BRepBuilderAPI_Sewing::SetNonManifoldMode ( const Standard_Boolean  theNonManifoldMode)
void BRepBuilderAPI_Sewing::SetSameParameterMode ( const Standard_Boolean  SameParameterMode)
void BRepBuilderAPI_Sewing::SetTolerance ( const Standard_Real  theToler)
const TopoDS_Shape& BRepBuilderAPI_Sewing::SewedShape ( ) const
Standard_Real BRepBuilderAPI_Sewing::Tolerance ( ) const
virtual void BRepBuilderAPI_Sewing::VerticesAssembling ( const Handle< Message_ProgressIndicator > &  thePI = 0) [protected, virtual]
TopoDS_Face BRepBuilderAPI_Sewing::WhichFace ( const TopoDS_Edge theEdg,
const Standard_Integer  index = 1 
) const

Field Documentation

Handle_BRepTools_ReShape BRepBuilderAPI_Sewing::myReShape [protected]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines