Test for 0022778: Bug in BRepMesh
[occt.git] / src / GeomAPI / GeomAPI.cdl
CommitLineData
b311480e 1-- Created on: 1994-03-17
2-- Created by: Bruno DUMORTIER
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
7fd59977 21
22
23package GeomAPI
24
25 ---Purpose: The GeomAPI package provides an Application
26 -- Programming Interface for the Geometry.
27 --
28 -- The API is a set of classes and methods aiming to
29 -- provide :
30 --
31 -- * High level and simple calls for the most common
32 -- operations.
33 --
34 -- * Keeping an access on the low-level
35 -- implementation of high-level calls.
36 --
37 --
38 -- The API provides classes to call the algorithmes
39 -- of the Geometry
40 --
41 -- * The constructors of the classes provides the
42 -- different constructions methods.
43 --
44 -- * The class keeps as fields the different tools
45 -- used by the algorithmes
46 --
47 -- * The class provides a casting method to get
48 -- automatically the result with a function-like
49 -- call.
50 --
51 -- For example to evaluate the distance <D> between a
52 -- point <P> and a curve <C>, one can writes :
53 --
54 -- D = GeomAPI_ProjectPointOnCurve(P,C);
55 --
56 -- or
57 --
58 -- GeomAPI_ProjectPointOnCurve PonC(P,C);
59 -- D = PonC.LowerDistance();
60 --
61
62
63uses
64
65 Geom,
66 Geom2d,
67 gp,
68 TColgp,
69 TColStd,
70 GeomAdaptor,
71 GeomInt,
72 IntCurveSurface,
73 Extrema,
74 GeomAbs,
75 Quantity,
76 StdFail,
77 Approx
78
79
80is
81
82 ------------------------------------------------------------------
83 -- Those classes provide algo to evaluate the distance between
84 -- points curves and surfaces.
85 ------------------------------------------------------------------
86
87 class ProjectPointOnCurve;
88
89 class ProjectPointOnSurf;
90
91 class ExtremaCurveCurve;
92
93 class ExtremaCurveSurface;
94
95 class ExtremaSurfaceSurface;
96
97
98
99 ------------------------------------------------------------------
100 -- Those classes provide algo to evaluate a curve or a surface
101 -- passing through
102 -- an array of points.
103 ------------------------------------------------------------------
104
105 --- Approximation:
106 --
107 class PointsToBSpline;
108 ---Purpose: To fit a curve.
109
110 class PointsToBSplineSurface;
111 ---Purpose: To fit a surface.
112
113
114 --- Interpolation:
115 --
116 class Interpolate;
117
118
119 ------------------------------------------------------------------
120 -- Those classes provide algo to intersect two surfaces
121 -- and to intersect a curve and a surface
122 ------------------------------------------------------------------
123
124 class IntSS;
125 ---Purpose: To intersect two surfaces.
126
127 class IntCS;
128 ---Purpose: To intersect a curve and a surface.
129
130
131 ------------------------------------------------------------------
132 -- Those methods are used to switch 3d and 2d curves
133 ------------------------------------------------------------------
134
135 To2d(C : Curve from Geom; P : Pln from gp) returns Curve from Geom2d;
136 ---Purpose: This function builds (in the
137 -- parametric space of the plane P) a 2D curve equivalent to the 3D curve
138 -- C. The 3D curve C is considered to be located in the plane P.
139 -- Warning
140 -- The 3D curve C must be of one of the following types:
141 -- - a line
142 -- - a circle
143 -- - an ellipse
144 -- - a hyperbola
145 -- - a parabola
146 -- - a Bezier curve
147 -- - a BSpline curve
148 -- Exceptions Standard_NoSuchObject if C is not a defined type curve.
149
150
151 To3d(C : Curve from Geom2d; P : Pln from gp) returns Curve from Geom;
152 ---Purpose: Builds a 3D curve equivalent to the 2D curve C
153 -- described in the parametric space defined by the local
154 -- coordinate system of plane P.
155 -- The resulting 3D curve is of the same nature as that of the curve C.
156
157end GeomAPI;