Commit | Line | Data |
---|---|---|
733a0e55 S |
1 | -- File: HLRAlgo_EdgeStatus.cdl |
2 | -- Created: Tue Feb 18 10:36:07 1992 | |
3 | -- Author: Christophe MARION | |
4 | ---Copyright: Matra Datavision 1992 | |
7fd59977 | 5 | |
6 | class EdgeStatus from HLRAlgo | |
7 | ||
8 | ---Purpose: This class describes the Hidden Line status of an | |
9 | -- Edge. It contains : | |
10 | -- | |
11 | -- The Bounds of the Edge and their tolerances | |
12 | -- | |
13 | -- Two flags indicating if the edge is full visible | |
14 | -- or full hidden. | |
15 | -- | |
16 | -- The Sequence of visible Intervals on the Edge. | |
17 | ||
18 | uses | |
19 | Integer from Standard, | |
20 | ShortReal from Standard, | |
21 | Real from Standard, | |
22 | Boolean from Standard, | |
23 | Intervals from Intrv | |
24 | ||
25 | raises | |
26 | OutOfRange | |
27 | ||
28 | is | |
29 | Create returns EdgeStatus from HLRAlgo; | |
30 | ||
31 | Create(Start : Real from Standard; | |
32 | TolStart : ShortReal from Standard; | |
33 | End : Real from Standard; | |
34 | TolEnd : ShortReal from Standard) | |
35 | returns EdgeStatus from HLRAlgo; | |
36 | ---Purpose: Creates a new EdgeStatus. Default visible. The | |
37 | -- Edge is bounded by the interval <Start>, <End> | |
38 | -- with the tolerances <TolStart>, <TolEnd>. | |
39 | ||
40 | Initialize(me : in out; | |
41 | Start : Real from Standard; | |
42 | TolStart : ShortReal from Standard; | |
43 | End : Real from Standard; | |
44 | TolEnd : ShortReal from Standard) | |
45 | ---Purpose: Initialize an EdgeStatus. Default visible. The | |
46 | -- Edge is bounded by the interval <Start>, <End> | |
47 | -- with the tolerances <TolStart>, <TolEnd>. | |
48 | is static; | |
49 | ||
50 | Bounds (me;Start : out Real from Standard; | |
51 | TolStart : out ShortReal from Standard; | |
52 | End : out Real from Standard; | |
53 | TolEnd : out ShortReal from Standard) | |
54 | ---C++: inline | |
55 | is static; | |
56 | ||
57 | NbVisiblePart(me) returns Integer from Standard | |
58 | is static; | |
59 | ||
60 | VisiblePart(me; Index : Integer from Standard; | |
61 | Start : out Real from Standard; | |
62 | TolStart : out ShortReal from Standard; | |
63 | End : out Real from Standard; | |
64 | TolEnd : out ShortReal from Standard) | |
65 | is static; | |
66 | ||
67 | Hide(me : in out; Start : Real from Standard; | |
68 | TolStart : ShortReal from Standard; | |
69 | End : Real from Standard; | |
70 | TolEnd : ShortReal from Standard; | |
71 | OnFace : Boolean from Standard; | |
72 | OnBoundary : Boolean from Standard) | |
73 | ---Purpose: Hides the interval <Start>, <End> with the | |
74 | -- tolerances <TolStart>, <TolEnd>. This interval is | |
75 | -- subtracted from the visible parts. If the hidden | |
76 | -- part is on ( or under ) the face the flag <OnFace> | |
77 | -- is True ( or False ). If the hidden part is on ( | |
78 | -- or inside ) the boundary of the face the flag | |
79 | -- <OnBoundary> is True ( or False ). | |
80 | is static; | |
81 | ||
82 | HideAll(me : in out) | |
83 | ---C++: inline | |
84 | ---Purpose: Hide the whole Edge. | |
85 | is static; | |
86 | ||
87 | ShowAll(me : in out) | |
88 | ---C++: inline | |
89 | ---Purpose: Show the whole Edge. | |
90 | is static; | |
91 | ||
92 | AllHidden(me) returns Boolean from Standard | |
93 | ---C++: inline | |
94 | is static; | |
95 | ||
96 | AllHidden(me : in out; B : Boolean from Standard) | |
97 | ---C++: inline | |
98 | is static; | |
99 | ||
100 | AllVisible(me) returns Boolean from Standard | |
101 | ---C++: inline | |
102 | is static; | |
103 | ||
104 | AllVisible(me : in out; B : Boolean from Standard) | |
105 | ---C++: inline | |
106 | is static; | |
107 | ||
108 | fields | |
109 | myStart : Real from Standard; | |
110 | myEnd : Real from Standard; | |
111 | myTolStart : ShortReal from Standard; | |
112 | myTolEnd : ShortReal from Standard; | |
113 | myFlags : Boolean from Standard; | |
114 | myVisibles : Intervals from Intrv; | |
115 | ||
116 | end EdgeStatus; |