0024157: Parallelization of assembly part of BO
[occt.git] / src / HLRAlgo / HLRAlgo_EdgesBlock.cdl
1 -- Created on: 1992-04-06
2 -- Created by: Christophe MARION
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 class EdgesBlock from HLRAlgo inherits TShared from MMgt
23
24         ---Purpose: An EdgesBlock is a set of Edges. It is used by the
25         --          DataStructure to structure the Edges.
26         --          
27         --          An EdgesBlock contains :
28         --          
29         --          * An Array  of index of Edges.
30         --          
31         --          * An Array of flagsf ( Orientation
32         --                                OutLine
33         --                                Internal
34         --                                Double
35         --                                IsoLine)
36
37 uses
38     Address         from Standard,
39     Boolean         from Standard,
40     Integer         from Standard,
41     Orientation     from TopAbs,
42     Array1OfInteger from TColStd,
43     Array1OfBoolean from TColStd
44     
45 is
46     Create(NbEdges : Integer)
47         ---Purpose: Create a Block of Edges for a wire.
48     returns mutable EdgesBlock from HLRAlgo;
49     
50     NbEdges(me) returns Integer from Standard
51         ---C++: inline
52     is static;
53     
54     Edge(me : mutable; I  : Integer from Standard;
55                        EI : Integer from Standard)
56         ---C++: inline
57     is static;             
58
59     Edge(me; I : Integer from Standard)
60     returns Integer from Standard
61         ---C++: inline
62     is static;
63     
64     Orientation(me : mutable; I  : Integer     from Standard;
65                               Or : Orientation from TopAbs)
66         ---C++: inline
67     is static;             
68
69     Orientation(me; I : Integer from Standard)
70     returns Orientation from TopAbs
71         ---C++: inline
72     is static;
73     
74     OutLine(me; I : Integer from Standard)
75     returns Boolean from Standard
76         ---C++: inline
77     is static;
78
79     OutLine(me : mutable; I : Integer from Standard;
80                           B : Boolean from Standard)
81         ---C++: inline
82     is static;
83
84     Internal(me; I : Integer from Standard)
85     returns Boolean from Standard
86         ---C++: inline
87     is static;
88
89     Internal(me : mutable; I : Integer from Standard;
90                            B : Boolean from Standard)
91         ---C++: inline
92     is static;
93
94     Double(me; I : Integer from Standard)
95     returns Boolean from Standard
96         ---C++: inline
97     is static;
98
99     Double(me : mutable; I : Integer from Standard;
100                          B : Boolean from Standard)
101         ---C++: inline
102     is static;
103
104     IsoLine(me; I : Integer from Standard)
105     returns Boolean from Standard
106         ---C++: inline
107     is static;
108
109     IsoLine(me : mutable; I : Integer from Standard;
110                           B : Boolean from Standard)
111         ---C++: inline
112     is static;
113
114     UpdateMinMax(me : mutable; TotMinMax : Address from Standard)
115     is static;
116
117     MinMax(me) returns Address from Standard
118         ---C++: inline
119     is static;
120
121 fields
122     myEdges  : Array1OfInteger from TColStd;
123     myFlags  : Array1OfBoolean from TColStd;
124     myMinMax : Integer         from Standard[16];
125
126 end EdgesBlock;