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_Shape & | SewedShape () 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_Edge & | FreeEdge (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_Edge & | MultipleEdge (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_Edge & | ContigousEdge (const Standard_Integer index) const |
| Gives each contigous edge
|
const TopTools_ListOfShape & | ContigousEdgeCouple (const Standard_Integer index) const |
| Gives the sections (edge) belonging to a contigous edge
|
Standard_Boolean | IsSectionBound (const TopoDS_Edge §ion) const |
| Indicates if a section is bound (before use SectionToBoundary)
|
const TopoDS_Edge & | SectionToBoundary (const TopoDS_Edge §ion) 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_Shape & | DegeneratedShape (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_Shape & | Modified (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_Face & | DeletedFace (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 |