1 -- Created on: 1992-09-22
2 -- Created by: Gilles DEBARBOUILLE
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class Mat2d from MAT2d
19 ---Purpose: this class contains the generic algoritm of
20 -- computation of the bisecting locus.
26 ListOfBisector from MAT,
27 DataMapOfIntegerBisector from MAT,
28 DataMapOfIntegerInteger from TColStd,
33 Create(IsOpenResult : Boolean from Standard = Standard_False)
34 ---Purpose: Empty construtor.
35 returns Mat2d from MAT2d;
37 --- Category : Computation.
39 CreateMat(me : in out ; aTool : in out Tool2d from MAT2d)
40 ---Purpose: Algoritm of computation of the bisecting locus.
43 CreateMatOpen(me : in out ; aTool : in out Tool2d from MAT2d)
44 ---Purpose: Algoritm of computation of the bisecting locus for
48 IsDone(me) returns Boolean from Standard
49 ---Purpose: Returns <TRUE> if CreateMat has succeeded.
52 LoadBisectorsToRemove(me : in out ;
53 noofbisectorstoremove : in out Integer;
56 bisector1 : Bisector from MAT;
57 bisector2 : Bisector from MAT;
58 bisector3 : Bisector from MAT;
59 bisector4 : Bisector from MAT)
63 Intersect( me : in out ;
64 atool : in out Tool2d from MAT2d;
66 noofbisectorstoremove: in out Integer ;
67 bisector1 : Bisector from MAT;
68 bisector2 : Bisector from MAT)
72 --- Category : Querying.
75 --- Purpose : Initialize an iterator on the set of the roots
76 -- of the trees of bisectors.
79 More(me) returns Boolean
80 --- Purpose : Return False if there is no more roots.
84 --- Purpose : Move to the next root.
87 Bisector(me) returns any Bisector from MAT
88 --- Purpose : Returns the current root.
91 SemiInfinite(me) returns Boolean from Standard
92 --- Purpose : Returns True if there are semi_infinite bisectors.
93 -- So there is a tree for each semi_infinte bisector.
96 NumberOfBisectors(me) returns Integer from Standard
97 --- Purpose : Returns the total number of bisectors.
102 myIsOpenResult : Boolean;
103 thenumberofbisectors : Integer;
104 thenumberofedges : Integer;
105 semiInfinite : Boolean;
106 theedgelist : ListOfEdge from MAT;
107 typeofbisectortoremove: DataMapOfIntegerInteger from TColStd;
108 bisectoronetoremove : DataMapOfIntegerBisector from MAT;
109 bisectortwotoremove : DataMapOfIntegerBisector from MAT;
110 bisectormap : DataMapOfIntegerBisector from MAT;
111 roots : ListOfBisector from MAT;