0025095: Wrong result obtained by projection algorithm
[occt.git] / src / ProjLib / ProjLib_ComputeApproxOnPolarSurface.cdl
1 -- Created on: 1994-10-07
2 -- Created by: Bruno DUMORTIER
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 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 ComputeApproxOnPolarSurface from ProjLib 
18         ---Purpose: Approximate the  projection  of a  3d curve  on an
19         --          polar  surface  and  stores the result  in  Approx.
20         --          The result is a  2d curve.  The evaluation of  the
21         --          current  point of the  2d  curve is done with  the
22         --          evaluation of the extrema  P3d - Surface.
23
24
25 uses
26      HCurve       from Adaptor3d,
27      HCurve2d     from Adaptor2d,
28      HSurface     from Adaptor3d,
29      BSplineCurve from Geom2d,
30      Curve        from Geom2d
31
32 is
33
34     Create returns ComputeApproxOnPolarSurface from ProjLib;
35
36     Create(C : HCurve from Adaptor3d ;
37            S : HSurface from Adaptor3d ; 
38            Tol : Real = 1.0e-4)
39     returns ComputeApproxOnPolarSurface from ProjLib;
40
41 --    Create(C : HCurve from Adaptor3d ;
42 --         S : HSurface from Adaptor3d)
43     ---purpose: pour etre en phase avec ProjOnSurf 
44 --    returns ComputeApproxOnPolarSurface from ProjLib;
45
46     Create(InitCurve2d : HCurve2d from Adaptor2d ;
47            C : HCurve from Adaptor3d ;
48            S : HSurface from Adaptor3d ;
49            Tol : Real) 
50     returns ComputeApproxOnPolarSurface from ProjLib;
51
52     Create(InitCurve2d : HCurve2d from Adaptor2d ;
53            InitCurve2dBis : HCurve2d from Adaptor2d ;
54            C : HCurve from Adaptor3d ;
55            S : HSurface from Adaptor3d ;
56            Tol : Real) 
57     returns ComputeApproxOnPolarSurface from ProjLib;
58
59     Perform(me : in out ; InitCurve2d : HCurve2d from Adaptor2d;
60                           C : HCurve from Adaptor3d ;
61                           S : HSurface from Adaptor3d )
62     returns BSplineCurve from Geom2d;
63     
64     BuildInitialCurve2d(me : in out ; Curve :       HCurve   from Adaptor3d ;
65                                       S :           HSurface from Adaptor3d )
66     returns HCurve2d from  Adaptor2d;
67
68     ProjectUsingInitialCurve2d(me : in out ; Curve :       HCurve   from Adaptor3d ;
69                                              S :           HSurface from Adaptor3d  ;
70                                              InitCurve2d : HCurve2d from  Adaptor2d )
71     returns BSplineCurve from Geom2d;
72
73     BSpline(me) returns BSplineCurve from Geom2d ;
74
75     Curve2d(me) returns Curve from Geom2d ;
76
77     IsDone(me) returns Boolean from Standard;
78  
79 fields
80
81     myProjIsDone      : Boolean      from Standard;
82     myTolerance       : Real         from Standard;
83     myBSpline         : BSplineCurve from Geom2d ;
84     my2ndCurve        : Curve        from Geom2d ;
85 --    myInitCurve2d     : HCurve2d     from Adaptor3d;
86
87 end ComputeApproxOnPolarSurface;
88