0024428: Implementation of LGPL license
[occt.git] / src / AdvApprox / AdvApprox_PrefAndRec.cdl
CommitLineData
b311480e 1-- Created on: 1996-11-14
2-- Created by: Philippe MANGIN
3-- Copyright (c) 1996-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class 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
23
24uses Array1OfReal from TColStd
25
26raises DomainError from Standard
27
28is
29 Create(RecomendedCut : Array1OfReal;
30 PrefferedCut : Array1OfReal;
31 Weight : Real = 5 )
32 returns PrefAndRec
33 raises DomainError; -- if Weight <= 1
34
35 Value(me; a,b : Real;
36 cuttingvalue : out Real)
37 returns Boolean
38 ---Purpose:
39 -- cuting value is
40 -- - the recommended point nerest of (a+b)/2
41 -- if pi is in ]a,b[ or else
42 -- - the preferential point nearest of (a+b) / 2
43 -- if pi is in ](r*a+b)/(r+1) , (a+r*b)/(r+1)[ where r = Weight
44 -- - or (a+b)/2 else.
45 is redefined;
46
47
48fields
49 myRecCutting : Array1OfReal from TColStd;
50 myPrefCutting: Array1OfReal from TColStd;
51 myWeight : Real;
52end PrefAndRec;