4d8b1d45fde5cca832d95a21b1933c9753500480
[occt.git] / src / HLRAlgo / HLRAlgo_EdgesBlock.cdl
1 -- File:        HLRAlgo_EdgesBlock.cdl
2 -- Created:     Mon Apr  6 17:57:45 1992
3 -- Author:      Christophe MARION
4 --              <cma@sdsun2>
5 ---Copyright:    Matra Datavision 1992
6
7 class EdgesBlock from HLRAlgo inherits TShared from MMgt
8
9         ---Purpose: An EdgesBlock is a set of Edges. It is used by the
10         --          DataStructure to structure the Edges.
11         --          
12         --          An EdgesBlock contains :
13         --          
14         --          * An Array  of index of Edges.
15         --          
16         --          * An Array of flagsf ( Orientation
17         --                                OutLine
18         --                                Internal
19         --                                Double
20         --                                IsoLine)
21
22 uses
23     Address         from Standard,
24     Boolean         from Standard,
25     Integer         from Standard,
26     Orientation     from TopAbs,
27     Array1OfInteger from TColStd,
28     Array1OfBoolean from TColStd
29     
30 is
31     Create(NbEdges : Integer)
32         ---Purpose: Create a Block of Edges for a wire.
33     returns mutable EdgesBlock from HLRAlgo;
34     
35     NbEdges(me) returns Integer from Standard
36         ---C++: inline
37     is static;
38     
39     Edge(me : mutable; I  : Integer from Standard;
40                        EI : Integer from Standard)
41         ---C++: inline
42     is static;             
43
44     Edge(me; I : Integer from Standard)
45     returns Integer from Standard
46         ---C++: inline
47     is static;
48     
49     Orientation(me : mutable; I  : Integer     from Standard;
50                               Or : Orientation from TopAbs)
51         ---C++: inline
52     is static;             
53
54     Orientation(me; I : Integer from Standard)
55     returns Orientation from TopAbs
56         ---C++: inline
57     is static;
58     
59     OutLine(me; I : Integer from Standard)
60     returns Boolean from Standard
61         ---C++: inline
62     is static;
63
64     OutLine(me : mutable; I : Integer from Standard;
65                           B : Boolean from Standard)
66         ---C++: inline
67     is static;
68
69     Internal(me; I : Integer from Standard)
70     returns Boolean from Standard
71         ---C++: inline
72     is static;
73
74     Internal(me : mutable; I : Integer from Standard;
75                            B : Boolean from Standard)
76         ---C++: inline
77     is static;
78
79     Double(me; I : Integer from Standard)
80     returns Boolean from Standard
81         ---C++: inline
82     is static;
83
84     Double(me : mutable; I : Integer from Standard;
85                          B : Boolean from Standard)
86         ---C++: inline
87     is static;
88
89     IsoLine(me; I : Integer from Standard)
90     returns Boolean from Standard
91         ---C++: inline
92     is static;
93
94     IsoLine(me : mutable; I : Integer from Standard;
95                           B : Boolean from Standard)
96         ---C++: inline
97     is static;
98
99     UpdateMinMax(me : mutable; TotMinMax : Address from Standard)
100     is static;
101
102     MinMax(me) returns Address from Standard
103         ---C++: inline
104     is static;
105
106 fields
107     myEdges  : Array1OfInteger from TColStd;
108     myFlags  : Array1OfBoolean from TColStd;
109     myMinMax : Integer         from Standard[16];
110
111 end EdgesBlock;