b311480e |
1 | -- Created on: 1993-01-26 |
2 | -- Created by: Laurent PAINNOT |
3 | -- Copyright (c) 1993-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 | -- |
d5f74e42 |
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 |
973c2be1 |
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 | |
17 | package AdvApprox |
18 | |
19 | ---Purpose: This package provides algorithms approximating a function |
20 | -- that can be multidimensional creating in the end a |
21 | -- BSpline function with the required continuity |
22 | -- |
23 | |
24 | uses gp, |
25 | math, |
26 | GeomAbs, |
27 | TColStd, |
28 | TColgp, |
29 | TCollection, |
30 | Standard, |
31 | StdFail, |
32 | PLib |
33 | |
34 | |
35 | is |
36 | |
37 | |
38 | class ApproxAFunction from AdvApprox ; |
39 | ---Purpose: |
40 | -- this approximate a given function |
41 | class SimpleApprox; |
42 | -- class ApproxAFunction; |
43 | |
44 | imported EvaluatorFunction ; |
45 | ---Purpose: |
46 | -- typedef void (*EvaluatorFunction) ( |
47 | -- Standard_Integer * |
48 | -- Standard_Real * |
49 | -- Standard_Real * |
50 | -- Standard_Integer * |
51 | -- Standard_Real * |
52 | -- Standard_Integer *) ; |
53 | |
54 | |
55 | deferred class Cutting; |
56 | ---Purpose : |
57 | -- this class is used to choose the way of cutting if needed |
58 | |
59 | class DichoCutting; |
60 | ---Purpose : |
61 | -- inherits class Cutting; |
62 | -- if Cutting is necessary in [a,b], we cut at (a+b) / 2. |
63 | -- |
64 | |
65 | class PrefCutting; |
66 | ---Purpose : |
67 | -- inherits class Cutting; contains a list of preferential points (di)i |
68 | -- if Cutting is necessary in [a,b], we cut at the di nearest from (a+b)/2. |
69 | |
70 | class PrefAndRec; |
71 | ---Purpose : |
72 | -- inherits class Cutting; contains two lists of preferential points to |
73 | -- manage to level of preferential cutting. |
74 | -- if Cutting is necessary in [a,b], we cut at the di nearest from (a+b)/2 |
75 | |
76 | |
77 | end AdvApprox; |