0023024: Update headers of OCCT files
[occt.git] / src / IGESConvGeom / IGESConvGeom.cdl
1 -- Created on: 1994-09-01
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1994-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
21
22
23 package IGESConvGeom
24
25     ---Purpose : This package is intended to gather geometric conversion which
26     --           are not immediate but can be used for several purposes :
27     --           mainly, standard conversion to and from CasCade geometric and
28     --           topologic data, and adaptations of IGES files as required
29     --           (as replacing Spline entities to BSpline equivalents).
30
31 uses Standard, gp, TColgp, Geom, Geom2d, IGESGeom
32
33 is
34
35     class GeomBuilder;
36     ---Purpose : basic tool to build curves from IGESGeom (arrays of points,
37     --           Transformations, evaluation of points in a datum)
38
39     SplineCurveFromIGES
40         (igesent : SplineCurve from IGESGeom;
41          epscoef, epsgeom : Real;
42          result  : out mutable BSplineCurve from Geom)
43     returns Integer;
44     ---Purpose : Converts a SplineCurve from IGES to a BSplineCurve from CasCade
45     --           <epscoef> gives tolerance to consider coefficient to be nul
46     --           <epsgeom> gives tolerance to consider poles to be equal
47     --           The returned value is a status with these possible values :
48     --           - 0  OK, done
49     --           - 1  the result is not guaranteed to be C0 (with <epsgeom>)
50     --           - 2  SplineType not processed (allowed : max 3)
51     --                (no result produced)
52     --           - 3  error during creation of control points
53     --                (no result produced)
54     --           - 4  polynomial equation is not correct (no result produced)
55     --           - 5  less than one segment (no result produced)
56
57     IncreaseCurveContinuity
58         (curve      : mutable BSplineCurve from Geom;
59          epsgeom    : Real;
60          continuity : Integer = 2)  returns Integer;
61     ---Purpose : Tries to increase curve continuity with tolerance <epsgeom>
62     --           <continuity> is the new desired continuity, can be 1 or 2
63     --           (more than 2 is considered as 2).
64     --           Returns the new maximum continuity obtained on all knots.
65     --           Remark that, for instance with <continuity> = 2, even if not
66     --           all the knots can be passed to C2, all knots which can be are.
67     
68     IncreaseCurveContinuity
69         (curve      : mutable BSplineCurve from Geom2d;
70          epsgeom    : Real;
71          continuity : Integer = 2)  returns Integer;
72
73     SplineSurfaceFromIGES
74         (igesent : SplineSurface from IGESGeom;
75          epscoef, epsgeom : Real;
76          result  : out mutable BSplineSurface from Geom)
77     returns Integer;
78     ---Purpose : Converts a SplineSurface from IGES to a BSplineSurface from CasCade
79     --           <epscoef> gives tolerance to consider coefficient to be nul
80     --           <epsgeom> gives tolerance to consider poles to be equal
81     --           The returned value is a status with these possible values :
82     --           - 0  OK, done
83     --           - 1  the result is not guaranteed to be C0 (with <epsgeom>)
84     --           - 2  degree is not compatible with code boundary type
85     --                (warning) but C0 is OK
86     --           - 3  idem but C0 is not guaranteed (warning)
87     --           - 4  degree has been determined to be nul, either in U or V
88     --                (no result produced)
89     --           - 5  less than one segment in U or V (no result produced)
90
91     IncreaseSurfaceContinuity
92         (surface      : mutable BSplineSurface from Geom;
93          epsgeom    : Real;
94          continuity : Integer = 2)  returns Integer;
95     ---Purpose : Tries to increase Surface continuity with tolerance <epsgeom>
96     --           <continuity> is the new desired continuity, can be 1 or 2
97     --           (more than 2 is considered as 2).
98     --           Returns the new maximum continuity obtained on all knots.
99     --           Remark that, for instance with <continuity> = 2, even if not
100     --           all the knots can be passed to C2, all knots which can be are.
101
102 end IGESConvGeom;