1 -- Created on: 2001-09-12
2 -- Created by: Peter KURNEV
3 -- Copyright (c) 2001-2012 OPEN CASCADE SAS
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
22 class DEProcessor from BOPTools
26 -- The Algorithm to compute and store in interferences' pool
27 --- and in the Data Structure the following values
28 --- for degenerated edges
29 --- 1. Paves/Pave set(s)
31 --- 3. States (3D) for split parts
40 PPaveFiller from BOPTools,
41 PaveFiller from BOPTools,
42 ListOfPaveBlock from BOPTools,
44 PShapesDataStructure from BooleanOperations,
46 IndexedDataMapOfIntegerDEInfo from BOPTools
51 Create (aFiller: PaveFiller from BOPTools;
52 aDim : Integer from Standard=3)
53 returns DEProcessor from BOPTools;
59 --- Launches the processor
62 returns Boolean from Standard;
64 --- Returns TRUE if it is Ok
70 FindDegeneratedEdges (me:out)
76 FindPaveBlocks (me:out;
77 nED:Integer from Standard;
78 nVD:Integer from Standard;
79 nFD:Integer from Standard;
80 aLPB:out ListOfPaveBlock from BOPTools)
84 nED:Integer from Standard;
85 nVD:Integer from Standard;
86 nFD:Integer from Standard;
87 aLPB:out ListOfPaveBlock from BOPTools)
90 FillSplitEdgesPool(me:out;
91 nED:Integer from Standard)
94 MakeSplitEdges(me:out;
95 nED:Integer from Standard;
96 nFD:Integer from Standard)
99 MakeSplitEdge (me:out;
100 aS1: Edge from TopoDS;
101 aF : Face from TopoDS;
102 aV1: Vertex from TopoDS;
103 aP1: Real from Standard;
104 aV2: Vertex from TopoDS;
105 aP2: Real from Standard;
106 aNewEdge:out Edge from TopoDS)
110 nED:Integer from Standard;
111 nFD:Integer from Standard)
115 nED:Integer from Standard;
116 nFD:Integer from Standard)
120 myDim : Integer from Standard;
122 myFiller : PPaveFiller from BOPTools;
123 myDS : PShapesDataStructure from BooleanOperations;
124 myIsDone : Boolean from Standard;
125 myDEMap : IndexedDataMapOfIntegerDEInfo from BOPTools;