0024428: Implementation of LGPL license
[occt.git] / src / LProp / LProp_CurAndInf.cdl
1 -- Created on: 1994-09-02
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1994-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
9 -- under the terms of the GNU Lesser General Public 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 CurAndInf from LProp 
18
19         ---Purpose: Stores the parameters of a curve 2d or 3d corresponding
20         --          to the curvature's extremas and the Inflection's Points.
21
22 uses
23     CIType            from LProp,
24     SequenceOfReal    from TColStd,
25     SequenceOfCIType  from LProp
26     
27 raises 
28     OutOfRange from Standard 
29     
30 is
31     Create;
32     
33     AddInflection (me : in out; Param : Real) 
34     is static;
35     
36     AddExtCur (me : in out; Param : Real; IsMin : Boolean)
37     is static;
38     
39     Clear (me : in out) 
40     is static;
41     
42     IsEmpty (me) returns Boolean
43     is static;
44     
45     NbPoints (me) returns Integer
46         ---Purpose: Returns the number of points.
47         --          The Points are stored to increasing parameter.
48     is static;
49     
50     Parameter (me; N : Integer) returns Real
51         ---Purpose: Returns the parameter of the Nth point.
52     raises
53         OutOfRange from Standard
54         ---Purpose: raises if N not in the range [1,NbPoints()]    
55     is static;
56     
57     Type (me; N : Integer) returns CIType 
58         ---Purpose: Returns 
59         --          - MinCur if the Nth parameter corresponds to
60         --          a minimum of the radius of curvature.
61         --          - MaxCur if the Nth parameter corresponds to
62         --          a maximum of the radius of curvature.    
63         --          - Inflection if the parameter corresponds to
64         --          a point of inflection.
65     raises
66         OutOfRange from Standard
67         ---Purpose: raises if N not in the range [1,NbPoints()] 
68     is static;      
69     
70 fields
71     theParams : SequenceOfReal    from TColStd;
72     theTypes  : SequenceOfCIType  from LProp;
73
74 end CurAndInf;
75
76