-- File: BOPTools_Tools.cdl -- Created: Thu Nov 16 11:40:16 2000 -- Author: Peter KURNEV -- ---Copyright: Matra Datavision 2000 class Tools from BOPTools ---Purpose: --- The class contains handy static functions --- dealing with the topology uses Pnt from gp , Shape from TopoDS, Vertex from TopoDS, Edge from TopoDS, Face from TopoDS, Range from IntTools, Context from IntTools, Curve from IntTools, PaveBlock from BOPTools, IndexedMapOfShape from TopTools is MakeNewVertex (myclass; aP1 : Pnt from gp; aTol: Real from Standard; aNewVertex:out Vertex from TopoDS); ---Purpose: --- Make a vertex using 3D-point and 3D-tolerance value --- MakeNewVertex (myclass; aV1,aV2: Vertex from TopoDS; aNewVertex:out Vertex from TopoDS); ---Purpose: --- Make a vertex using couple of vertices --- MakeNewVertex (myclass; aE1: Edge from TopoDS; aP1: Real from Standard; aE2: Edge from TopoDS; aP2: Real from Standard; aNewVertex:out Vertex from TopoDS); ---Purpose: --- Make a vertex in place of intersection between two edges --- with parameters --- MakeNewVertex (myclass; aE1: Edge from TopoDS; aP1: Real from Standard; aF2: Face from TopoDS; aNewVertex:out Vertex from TopoDS); ---Purpose: --- Make a vertex in place of intersection between the edge --- with parameter and the face --- PointOnEdge (myclass; aEdge: Edge from TopoDS; aPrm: Real from Standard; aP:out Pnt from gp); ---Purpose: --- Compute a 3D-point on the edge at parameter --- MakeSplitEdge (myclass; aE1: Edge from TopoDS; aV1: Vertex from TopoDS; aP1: Real from Standard; aV2: Vertex from TopoDS; aP2: Real from Standard; aNewEdge:out Edge from TopoDS); ---Purpose: --- Make the edge from base edge and two vertices --- at parameters --- MakeSectEdge (myclass; aIC: Curve from IntTools; aV1: Vertex from TopoDS; aP1: Real from Standard; aV2: Vertex from TopoDS; aP2: Real from Standard; aNewEdge:out Edge from TopoDS); ---Purpose: --- Make the edge from 3D-Curve and two vertices --- at parameters --- UpdateVertex (myclass; aIC: Curve from IntTools; aT : Real from Standard; aV : Vertex from TopoDS); ---Purpose: --- Update the tolerance value for vertex --- taking into account the fact that lays on --- the curve --- UpdateVertex (myclass; aE : Edge from TopoDS; aT : Real from Standard; aV : Vertex from TopoDS); ---Purpose: --- Update the tolerance value for vertex --- taking into account the fact that lays on --- the edge --- UpdateVertex (myclass; aVF : Vertex from TopoDS; aVN : Vertex from TopoDS); ---Purpose: --- Update the tolerance value for vertex --- taking into account the fact that should --- cover tolerance zone of --- IsBlocksCoinside(myclass; aPB1: PaveBlock from BOPTools; aPB2: PaveBlock from BOPTools) returns Boolean from Standard; ---Purpose: --- Returns TRUE if PaveBlocks , coinside in 3D --- taking into account corresp. tolerances' values of vertices, --- edges --- IsBlockInOnFace(myclass; aPB : PaveBlock from BOPTools; aF : Face from TopoDS; aContext:out Context from IntTools) returns Boolean from Standard; ---Purpose: --- Returns TRUE if PaveBlock lays on the face , i.e --- the is IN or ON in 2D of --- MapShapes (myclass; aS : Shape from TopoDS; aM :out IndexedMapOfShape from TopTools); ---Purpose: --- Get a Map containing the shape itself and all its subshapes --- CorrectRange (myclass; aE1: Edge from TopoDS; aE2: Edge from TopoDS; aSR: Range from IntTools; aNewSR:out Range from IntTools); ---Purpose: --- Correct shrunk range taking into account 3D-curve --- resolution and corresp. tolerances' values of , --- CorrectRange (myclass; aE: Edge from TopoDS; aF: Face from TopoDS; aSR: Range from IntTools; aNewSR:out Range from IntTools); ---Purpose: --- Correct shrunk range taking into account 3D-curve --- resolution and corresp. tolerances' values of , --- CopySource (myclass; aSourceShape: Shape from TopoDS; aDestShape:out Shape from TopoDS); ---Purpose: --- Make a copy of --- end Tools;