0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / DrawTrSurf / DrawTrSurf_BSplineCurve2d.cdl
1 -- Created on: 1992-05-22
2 -- Created by: Jean Claude VAUTHIER
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class BSplineCurve2d
18
19
20 from DrawTrSurf
21
22
23 inherits Curve2d from DrawTrSurf
24
25
26 uses BSplineCurve from Geom2d,
27      Color from Draw,
28      MarkerShape from Draw,
29      Display from Draw,
30      Drawable3D from Draw
31
32
33 is
34
35
36   Create (C : BSplineCurve from Geom2d)
37         --- Purpose :
38         --  creates a drawable BSpline curve from a BSpline curve of 
39         --  package Geom2d.
40      returns BSplineCurve2d from DrawTrSurf;
41
42
43   Create (C : BSplineCurve from Geom2d;
44           CurvColor, PolesColor, KnotsColor : Color from Draw;
45           KnotsShape : MarkerShape from Draw; KnotsSize : Integer;
46           ShowPoles, ShowKnots : Boolean; Discret : Integer)
47      returns BSplineCurve2d from DrawTrSurf;
48
49
50   DrawOn (me; dis : in out Display from Draw)
51      is redefined static;
52
53   ShowPoles (me : mutable)
54      is static;
55
56   ShowKnots (me : mutable)
57      is static;
58      
59   ClearPoles (me : mutable)
60      is static;
61   
62   ClearKnots (me : mutable)
63      is static;
64
65   FindPole(me; X,Y : Real; D : Display from Draw; Prec : Real; 
66            Index : in out Integer)
67     ---Purpose: Returns in <Index> the index of the first pole  of the
68     --          curve projected by the Display <D> at a distance lower
69     --          than <Prec> from <X,Y>. If no pole  is found  index is
70     --          set to 0, else index is always  greater than the input
71     --          value of index.
72   is static;
73
74   FindKnot(me; X,Y : Real; D : Display from Draw; Prec : Real; 
75            Index : in out Integer)
76   is static;
77
78   SetPolesColor (me : mutable; aColor : Color from Draw)
79         ---C++: inline
80      is static;
81
82   SetKnotsColor (me : mutable; aColor : Color from Draw)
83         ---C++: inline
84      is static;
85
86   SetKnotsShape (me : mutable; Shape : MarkerShape from Draw)
87         ---C++: inline
88      is static;
89
90   KnotsShape (me)  returns MarkerShape from Draw
91         ---C++: inline
92      is static;
93   
94   KnotsColor (me)  returns Color from Draw
95         ---C++: inline
96      is static;
97   
98   PolesColor (me)  returns Color from Draw
99         ---C++: inline
100      is static;
101     
102   Copy(me) returns Drawable3D from Draw
103         ---Purpose: For variable copy.
104   is redefined;
105   
106       
107 fields
108
109   drawPoles  : Boolean;
110   drawKnots  : Boolean;
111   knotsForm  : MarkerShape from Draw;
112   knotsLook  : Color from Draw;
113   knotsDim   : Integer;
114   polesLook  : Color from Draw;
115
116 end BSplineCurve2d;