0020716: Eliminate usage of "config.h" header file
[occt.git] / src / DrawTrSurf / DrawTrSurf_Drawable.cdl
1 -- Created on: 1991-07-16
2 -- Created by: Christophe MARION
3 -- Copyright (c) 1991-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 deferred class Drawable from DrawTrSurf inherits Drawable3D from Draw
18
19         ---Purpose: this  class adds   to   the Drawable3D methods  to
20         --          display Curves and Curves on Surface.
21         --          
22         --          The discretisation,  number  of points on a Curve,
23         --          is stored in this class.
24
25 uses
26     Display        from Draw,
27     Curve          from Adaptor3d,
28     Curve2d        from Adaptor2d,
29     IsoCurve       from Adaptor3d,
30     IsoType        from GeomAbs
31
32 is
33     Initialize(discret : Integer; deflection : Real = 0.01; DrawMode : Integer = 0);
34         ---Purpose: set the number of points on a curve at creation.
35         
36     DrawCurve2dOn(me;
37                 C : in out Curve2d from Adaptor2d;
38                 D : in out Display from Draw);
39         ---Purpose: Draw a polygon of the curve on the Display
40         
41     DrawCurveOn(me;
42                 C : in out Curve from Adaptor3d;
43                 D : in out Display from Draw);
44         ---Purpose: Draw a polygon of the curve on the Display
45         
46     DrawIsoCurveOn(me;
47                 C : in out IsoCurve from Adaptor3d;
48                 T : IsoType from GeomAbs;
49                 P, F, L : Real;
50                 D : in out Display from Draw);
51         ---Purpose: Load C  with the specified iso  and Draw a polygon
52         --          of the curve on the Display
53         
54     DrawOn(me; dis : in out Display from Draw)
55         ---Purpose: this is defined only to tell C++ not to complain
56         --          about inheriting a pure virtual method.
57     is deferred;
58
59    
60     SetDiscretisation (me : mutable; Discret : Integer);
61         ---C++: inline
62     
63     GetDiscretisation (me) returns Integer;
64         ---C++: inline
65     
66     SetDeflection (me : mutable; Deflection : Real);
67         ---C++: inline
68     
69     GetDeflection (me) returns Real;
70         ---C++: inline
71
72     SetDrawMode (me : mutable; DrawMode : Integer);
73         ---C++: inline
74     
75     GetDrawMode (me) returns Integer;
76         ---C++: inline
77
78         
79
80     
81 fields
82     myDrawMode   : Integer;
83        --- Purpose : 0 parametre constant, 1 fleche constante
84     myDiscret    : Integer;
85     myDeflection : Real;
86
87 end Drawable;
88