0024750: Replace instantiations of TCollection generic classes by NCollection templat...
[occt.git] / src / AdvApprox / AdvApprox_PrefAndRec.cdl
1 -- Created on: 1996-11-14
2 -- Created by: Philippe MANGIN
3 -- Copyright (c) 1996-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 PrefAndRec from AdvApprox inherits Cutting from AdvApprox
18
19     ---Purpose : 
20     -- inherits class Cutting; contains a list of preferential points (pi)i
21     -- and a list of Recommended points used in cutting management.
22     -- if Cutting is necessary in [a,b], we cut at the di nearest from (a+b)/2
23     
24
25 uses Array1OfReal from TColStd
26
27 raises DomainError from Standard
28     
29 is
30     Create(RecomendedCut : Array1OfReal;
31            PrefferedCut  : Array1OfReal;
32            Weight        : Real = 5 ) 
33     returns PrefAndRec 
34     raises DomainError;  -- if  Weight <= 1
35     
36     Value(me; a,b : Real;
37               cuttingvalue : out Real)
38     returns Boolean 
39     ---Purpose: 
40     --     cuting value is
41     --    - the recommended point nerest of (a+b)/2 
42     --      if pi is in ]a,b[ or else
43     --   -  the preferential point nearest of (a+b) / 2
44     --     if pi is in ](r*a+b)/(r+1) , (a+r*b)/(r+1)[ where r = Weight
45     --   -  or (a+b)/2 else.
46     is redefined;
47
48
49 fields
50     myRecCutting : Array1OfReal from TColStd;
51     myPrefCutting: Array1OfReal from TColStd;
52     myWeight     : Real;
53 end PrefAndRec;