0024157: Parallelization of assembly part of BO
[occt.git] / src / DrawTrSurf / DrawTrSurf_BSplineCurve.cdl
1 -- Created on: 1992-05-22
2 -- Created by: Jean Claude VAUTHIER
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
23 class BSplineCurve
24
25
26 from DrawTrSurf
27
28
29 inherits Curve from DrawTrSurf
30
31
32 uses BSplineCurve from Geom,
33      Color from Draw,
34      MarkerShape from Draw,
35      Display from Draw,
36      Drawable3D from Draw
37
38
39 is
40
41
42   Create (C : BSplineCurve from Geom)
43         --- Purpose :
44         --  creates a drawable BSpline curve from a BSpline curve of 
45         --  package Geom.
46      returns mutable BSplineCurve from DrawTrSurf;
47
48
49
50   Create (C : BSplineCurve from Geom;
51           CurvColor, PolesColor, KnotsColor : Color from Draw;
52           KnotsShape : MarkerShape from Draw; KnotsSize : Integer;
53           ShowPoles, ShowKnots : Boolean; Discret : Integer; Deflection : Real;
54           DrawMode : Integer)
55         --- Purpose :
56         --  creates a drawable BSpline curve from a BSpline curve of 
57         --  package Geom.
58      returns mutable BSplineCurve from DrawTrSurf;
59
60
61   DrawOn (me; dis : in out Display from Draw)
62      is redefined static;
63
64
65   DrawOn (me; dis : in out Display from Draw;
66           ShowPoles, ShowKnots : Boolean);
67
68
69   DrawOn (me; 
70           dis : in out Display from Draw; 
71           U1, U2 : Real; 
72           Pindex : Integer;
73           ShowPoles : Boolean = Standard_True;
74           ShowKnots : Boolean = Standard_True);
75
76
77   ShowPoles (me : mutable)
78      is static;
79
80
81   ShowKnots (me : mutable)
82      is static;
83      
84
85   ClearPoles (me : mutable)
86      is static;
87      
88   
89   ClearKnots (me : mutable)
90      is static;
91      
92
93   FindPole(me; X,Y : Real; D : Display from Draw; Prec : Real; 
94            Index : in out Integer)
95         --- Purpose :
96         --  Returns in <Index> the index of the first pole  of the
97         --  curve projected by the Display <D> at a distance lower
98         --  than <Prec> from <X,Y>. If no pole  is found  index is
99         --  set to 0, else index is always  greater than the input
100         --  value of index.
101   is static;
102   
103
104   FindKnot(me; X,Y : Real; D : Display from Draw; Prec : Real; 
105            Index : in out Integer)
106   is static;
107   
108
109   SetPolesColor (me : mutable; aColor : Color from Draw)
110         ---C++: inline
111      is static;
112      
113
114   SetKnotsColor (me : mutable; aColor : Color from Draw)
115         ---C++: inline
116      is static;
117      
118
119   SetKnotsShape (me : mutable; Shape : MarkerShape from Draw)
120         ---C++: inline
121      is static;
122      
123
124   KnotsShape (me)  returns MarkerShape from Draw
125         ---C++: inline
126      is static;
127      
128   
129   KnotsColor (me)  returns Color from Draw
130         ---C++: inline
131      is static;
132      
133   
134   PolesColor (me)  returns Color from Draw
135         ---C++: inline
136      is static;
137     
138   Copy(me) returns mutable Drawable3D from Draw
139         ---Purpose: For variable copy.
140   is redefined; 
141     
142     
143 fields
144
145   drawPoles  : Boolean;
146   drawKnots  : Boolean;
147   knotsForm  : MarkerShape from Draw;
148   knotsLook  : Color from Draw;
149   knotsDim   : Integer;
150   polesLook  : Color from Draw;
151  
152 end BSplineCurve;
153