7fd59977 |
1 | -- File: Display.cdl |
2 | -- Created: Mon Jul 15 10:05:54 1991 |
3 | -- Author: Arnaud BOUZY |
4 | -- <adn@topsn2> |
5 | ---Copyright: Matra Datavision 1991 |
6 | |
7 | |
8 | class Display from Draw |
9 | |
10 | ---Purpose: Use to draw in a 3d or a 2d view. |
11 | -- |
12 | -- * The 3d methods draw in the 3d system, in a 2d |
13 | -- view the drawing is projected on X,Y. |
14 | -- |
15 | -- * The 2d methods draw in the projection plane. |
16 | -- |
17 | -- * To draw in screen coordinates the length must be |
18 | -- divided by the zoom. |
19 | |
20 | uses |
21 | CString, |
22 | Color from Draw, |
23 | MarkerShape from Draw, |
24 | Pnt from gp, |
25 | Pnt2d from gp, |
26 | Circ from gp, |
27 | Circ2d from gp |
28 | |
29 | is |
30 | |
31 | Create |
32 | returns Display; |
33 | |
34 | SetColor(me; col : Color) |
35 | ---Purpose: Following drawings will use this color. |
36 | is static; |
37 | |
38 | SetMode(me; M : Integer) |
39 | ---Purpose: Set the drawing mode, 3 = copy, 6 = xor |
40 | is static; |
41 | |
42 | Flush(me) |
43 | is static; |
44 | |
45 | MoveTo(me : in out; pt : Pnt from gp) |
46 | is static; |
47 | |
48 | DrawTo(me : in out; pt : Pnt from gp) |
49 | is static; |
50 | |
51 | MoveTo(me : in out; pt : Pnt2d from gp) |
52 | is static; |
53 | |
54 | DrawTo(me : in out; pt : Pnt2d from gp) |
55 | is static; |
56 | |
57 | Draw(me : in out; p1,p2 : Pnt from gp) |
58 | is static; |
59 | |
60 | Draw(me : in out; p1,p2 : Pnt2d from gp) |
61 | is static; |
62 | |
63 | Draw(me : in out; C : Circ from gp; A1, A2 : Real; |
64 | ModifyWithZoom : Boolean = Standard_True) |
65 | ---Purpose: Draw a circle <C> from angle <A1> to <A2> |
66 | -- (Radians). if ModifyWithZoom = 0, then |
67 | -- rayon of circle is convert to Integer. |
68 | is static; |
69 | |
70 | Draw(me : in out; C : Circ2d from gp; A1, A2 : Real; |
71 | ModifyWithZoom : Boolean = Standard_True) |
72 | ---Purpose: Draw a 2D circle <C> from angle <A1> to <A2> |
73 | -- (Radians). if ModifyWithZoom = 0, then |
74 | -- rayon of circle is convert to Integer. |
75 | is static; |
76 | |
77 | DrawMarker(me : in out; pt : Pnt from gp; S : MarkerShape from Draw; |
78 | Size : Integer = 5) |
79 | is static; |
80 | |
81 | DrawMarker(me : in out; pt : Pnt2d from gp; S : MarkerShape from Draw; |
82 | Size : Integer = 5) |
83 | is static; |
84 | |
85 | DrawMarker(me : in out; pt : Pnt from gp; S : MarkerShape from Draw; |
86 | Size : Real) |
87 | is static; |
88 | |
89 | DrawMarker(me : in out; pt : Pnt2d from gp; S : MarkerShape from Draw; |
90 | Size : Real) |
91 | is static; |
92 | |
93 | DrawString(me : in out; pt : Pnt from gp; S : CString) |
94 | is static; |
95 | |
96 | DrawString(me : in out; pt : Pnt2d from gp; S : CString) |
97 | is static; |
98 | |
99 | DrawString(me : in out; pt : Pnt from gp; S : CString; moveX : Real; moveY : Real) |
100 | is static; |
101 | |
102 | DrawString(me : in out; pt : Pnt2d from gp; S : CString; moveX : Real; moveY : Real) |
103 | is static; |
104 | |
105 | Project(me; pt : Pnt from gp) returns Pnt2d from gp |
106 | ---Purpose: Returns the 2D projection of a 3D point. |
107 | is static; |
108 | |
109 | Project(me; pt : Pnt from gp; pt2d : out Pnt2d from gp) |
110 | ---Purpose: Returns the 2D projection of a 3D point. |
111 | is static; |
112 | |
113 | Zoom(me) returns Real |
114 | ---Purpose: Returns the current Zoom value. |
115 | is static; |
116 | |
117 | ViewId(me) returns Integer |
118 | ---Purpose: Returns the identifier of the view where the |
119 | -- display is drawing. |
120 | is static; |
121 | |
122 | HasPicked(me) returns Boolean |
123 | ---Purpose: Returs True if the last drawing operations |
124 | -- generated a pick hit. When HasPicked is True the |
125 | -- Drawing should be resumed. |
126 | -- |
127 | -- This function is used to shorten the drawing when |
128 | -- picking and to save the picked sub-parts. |
129 | |
130 | is static; |
131 | |
132 | end Display; |