0022627: Change OCCT memory management defaults
[occt.git] / src / DrawTrSurf / DrawTrSurf_BSplineSurface.cdl
1 -- File:        BSplineSurface.cdl
2 -- Created:     Fri May 22 10:29:42 1992
3 -- Author:      Jean Claude VAUTHIER
4 ---Copyright:    Matra Datavision 1992
5
6
7 class BSplineSurface  from DrawTrSurf 
8
9 inherits Surface from DrawTrSurf
10
11         --- Purpose :
12         --  This class defines a drawable BSplineSurface. 
13         --  With this class you can draw the control points and the knots 
14         --  of the surface.
15         --  You can use the general class Surface from DrawTrSurf too,
16         --  if you just want to sea boundaries and isoparametric curves.
17
18 uses BSplineSurface from Geom,
19      Color from Draw,
20      MarkerShape from Draw,
21      Display from Draw,
22      Drawable3D from Draw
23
24 is
25
26
27
28   Create (S : BSplineSurface from Geom)
29      returns mutable BSplineSurface from DrawTrSurf;
30         --- Purpose : default drawing mode.
31         --  The isoparametric curves corresponding to the knots values are 
32         --  drawn.
33         --  The control points and the knots points are drawn.
34         --  The boundaries are yellow, the isoparametric curves are blues.
35         --  For the discretisation 50 points are computed in each parametric
36         --  direction.
37
38
39   Create (S : BSplineSurface from Geom;
40           BoundsColor, IsosColor, PolesColor, KnotsColor : Color from Draw;
41           KnotsShape : MarkerShape from Draw; KnotsSize : Integer;
42           ShowPoles, ShowKnots : Boolean; Discret : Integer; Deflection : Real;
43           DrawMode : Integer)
44      returns mutable BSplineSurface from DrawTrSurf;
45         --- Purpose :
46         --  The isoparametric curves corresponding to the knots values are 
47         --  drawn.
48
49
50
51   Create (S : BSplineSurface from Geom;
52           NbUIsos, NbVIsos : Integer;
53           BoundsColor, IsosColor, PolesColor, KnotsColor : Color from Draw;
54           KnotsShape : MarkerShape from Draw; KnotsSize : Integer;
55           ShowPoles, ShowKnots : Boolean; Discret : Integer; Deflection : Real;
56           DrawMode : Integer)
57      returns mutable BSplineSurface from DrawTrSurf;
58         --- Purpose : Parametric equidistant iso curves are drawn.
59
60
61   DrawOn (me; dis : in out Display from Draw)
62      is redefined static;
63
64
65   ShowPoles  (me : mutable)
66      is static;
67
68
69   ShowKnots  (me : mutable)
70      is static;
71
72
73   ShowIsos (me : mutable; Nu, Nv : Integer)
74         --- Purpose : change the number of isoparametric curves to be drawn.
75      is redefined;
76
77
78   ShowKnotsIsos (me : mutable)
79         --- Purpose : change the number of isoparametric curves to be drawn.
80      is static;
81
82
83   ClearIsos (me : mutable)
84         --- Purpose : rub out all the isoparametric curves.
85      is redefined;
86      
87
88   ClearPoles (me : mutable)
89      is static;
90   
91
92   ClearKnots (me : mutable)
93      is static;
94
95
96   FindPole(me; X,Y : Real; D : Display from Draw; Prec : Real; 
97             UIndex, VIndex : in out Integer)
98   is static;
99   
100
101   FindUKnot(me; X,Y : Real; D : Display from Draw; Prec : Real; 
102             UIndex : in out Integer)
103   is static;
104
105
106   FindVKnot(me; X,Y : Real; D : Display from Draw; Prec : Real; 
107             VIndex : in out Integer)
108   is static;
109
110
111   SetPolesColor (me : mutable; aColor : Color from Draw)
112         ---C++: inline
113      is static;
114
115
116   SetKnotsColor (me : mutable; aColor : Color from Draw)
117         ---C++: inline
118      is static;
119
120
121   SetKnotsShape (me : mutable; Shape : MarkerShape from Draw)
122         ---C++: inline
123      is static;
124
125
126   KnotsShape (me)  returns MarkerShape from Draw
127         ---C++: inline
128      is static;
129   
130
131   KnotsColor (me)  returns Color from Draw
132         ---C++: inline
133      is static;
134   
135
136   PolesColor (me)  returns Color from Draw
137         ---C++: inline
138      is static;
139     
140   Copy(me) returns mutable Drawable3D from Draw
141         ---Purpose: For variable copy.
142   is redefined;
143         
144
145 fields
146
147   drawPoles   : Boolean;
148   drawKnots   : Boolean;
149   knotsIsos   : Boolean;
150   knotsForm   : MarkerShape from Draw;
151   knotsLook   : Color from Draw;
152   knotsDim    : Integer;
153   polesLook   : Color from Draw;
154
155 end BSplineSurface;