b311480e |
1 | -- Created on: 1996-11-14 |
2 | -- Created by: Philippe MANGIN |
3 | -- Copyright (c) 1996-1999 Matra Datavision |
4 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS |
5 | -- |
6 | -- The content of this file is subject to the Open CASCADE Technology Public |
7 | -- License Version 6.5 (the "License"). You may not use the content of this file |
8 | -- except in compliance with the License. Please obtain a copy of the License |
9 | -- at http://www.opencascade.org and read it completely before using this file. |
10 | -- |
11 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
12 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
13 | -- |
14 | -- The Original Code and all software distributed under the License is |
15 | -- distributed on an "AS IS" basis, without warranty of any kind, and the |
16 | -- Initial Developer hereby disclaims all such warranties, including without |
17 | -- limitation, any warranties of merchantability, fitness for a particular |
18 | -- purpose or non-infringement. Please see the License for the specific terms |
19 | -- and conditions governing the rights and limitations under the License. |
20 | |
7fd59977 |
21 | |
22 | |
23 | |
24 | class PrefAndRec from AdvApprox inherits Cutting from AdvApprox |
25 | |
26 | ---Purpose : |
27 | -- inherits class Cutting; contains a list of preferential points (pi)i |
28 | -- and a list of Recommended points used in cutting management. |
29 | |
30 | |
31 | uses Array1OfReal from TColStd |
32 | |
33 | raises DomainError from Standard |
34 | |
35 | is |
36 | Create(RecomendedCut : Array1OfReal; |
37 | PrefferedCut : Array1OfReal; |
38 | Weight : Real = 5 ) |
39 | returns PrefAndRec |
40 | raises DomainError; -- if Weight <= 1 |
41 | |
42 | Value(me; a,b : Real; |
43 | cuttingvalue : out Real) |
44 | returns Boolean |
45 | ---Purpose: |
46 | -- cuting value is |
47 | -- - the recommended point nerest of (a+b)/2 |
48 | -- if pi is in ]a,b[ or else |
49 | -- - the preferential point nearest of (a+b) / 2 |
50 | -- if pi is in ](r*a+b)/(r+1) , (a+r*b)/(r+1)[ where r = Weight |
51 | -- - or (a+b)/2 else. |
52 | is redefined; |
53 | |
54 | |
55 | fields |
56 | myRecCutting : Array1OfReal from TColStd; |
57 | myPrefCutting: Array1OfReal from TColStd; |
58 | myWeight : Real; |
59 | end PrefAndRec; |