b311480e |
1 | -- Created on: 1993-08-25 |
2 | -- Created by: Bruno DUMORTIER |
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 GeomProjLib |
18 | |
19 | ---Purpose: Projection of a curve on a surface. |
20 | |
21 | uses |
22 | gp, |
23 | Geom, |
24 | Geom2d |
25 | |
26 | is |
27 | |
28 | -- |
29 | -- package methods |
30 | -- |
31 | |
32 | |
33 | Curve2d(C : Curve from Geom; |
34 | First, Last : Real from Standard; |
35 | S : Surface from Geom; |
36 | UFirst,ULast, |
37 | VFirst,VLast: Real from Standard ; |
38 | Tolerance : in out Real from Standard ) |
39 | ---Purpose: gives the 2d-curve of a 3d-curve lying on a |
40 | -- surface ( uses GeomProjLib_ProjectedCurve ) |
41 | -- The 3dCurve is taken between the parametrization |
42 | -- range [First, Last] |
43 | -- <Tolerance> is used as input if the projection needs |
44 | -- an approximation. In this case, the reached |
45 | -- tolerance is set in <Tolerance> as output. |
46 | -- WARNING : if the projection has failed, this |
47 | -- method returns a null Handle. |
48 | returns Curve from Geom2d; |
49 | |
50 | Curve2d(C : Curve from Geom; |
51 | First, Last : Real from Standard; |
52 | S : Surface from Geom; |
53 | Tolerance : in out Real from Standard ) |
54 | ---Purpose: gives the 2d-curve of a 3d-curve lying on a |
55 | -- surface ( uses GeomProjLib_ProjectedCurve ) |
56 | -- The 3dCurve is taken between the parametrization |
57 | -- range [First, Last] |
58 | -- <Tolerance> is used as input if the projection needs |
59 | -- an approximation. In this case, the reached |
60 | -- tolerance is set in <Tolerance> as output. |
61 | -- WARNING : if the projection has failed, this |
62 | -- method returns a null Handle. |
63 | returns Curve from Geom2d; |
64 | |
65 | Curve2d(C : Curve from Geom; |
66 | First, Last : Real from Standard; |
67 | S : Surface from Geom) |
68 | ---Purpose: gives the 2d-curve of a 3d-curve lying on a |
69 | -- surface ( uses GeomProjLib_ProjectedCurve ) |
70 | -- The 3dCurve is taken between the parametrization |
71 | -- range [First, Last] |
72 | -- If the projection needs an approximation, |
73 | -- Precision::PApproximation() is used. |
74 | -- WARNING : if the projection has failed, this |
75 | -- method returns a null Handle. |
76 | returns Curve from Geom2d; |
77 | |
78 | Curve2d(C : Curve from Geom; |
79 | S : Surface from Geom ) |
80 | ---Purpose: gives the 2d-curve of a 3d-curve lying on a |
81 | -- surface ( uses GeomProjLib_ProjectedCurve ). |
82 | -- If the projection needs an approximation, |
83 | -- Precision::PApproximation() is used. |
84 | -- WARNING : if the projection has failed, this |
85 | -- method returns a null Handle. |
86 | returns Curve from Geom2d; |
87 | |
88 | Curve2d(C : Curve from Geom; |
89 | S : Surface from Geom ; |
90 | UDeb : Real from Standard ; |
91 | UFin : Real from Standard ; |
92 | VDeb : Real from Standard ; |
93 | VFin : Real from Standard) |
94 | |
95 | ---Purpose: gives the 2d-curve of a 3d-curve lying on a |
96 | -- surface ( uses GeomProjLib_ProjectedCurve ). |
97 | -- If the projection needs an approximation, |
98 | -- Precision::PApproximation() is used. |
99 | -- WARNING : if the projection has failed, this |
100 | -- method returns a null Handle. |
101 | -- can expand a little the bounds of surface |
102 | returns Curve from Geom2d; |
103 | |
104 | Curve2d(C : Curve from Geom; |
105 | S : Surface from Geom; |
106 | UDeb : Real from Standard ; |
107 | UFin : Real from Standard ; |
108 | VDeb : Real from Standard ; |
109 | VFin : Real from Standard ; |
110 | Tolerance : in out Real from Standard ) |
111 | |
112 | ---Purpose: gives the 2d-curve of a 3d-curve lying on a |
113 | -- surface ( uses GeomProjLib_ProjectedCurve ). |
114 | -- If the projection needs an approximation, |
115 | -- Precision::PApproximation() is used. |
116 | -- WARNING : if the projection has failed, this |
117 | -- method returns a null Handle. |
118 | -- can expand a little the bounds of surface |
119 | returns Curve from Geom2d; |
120 | |
121 | |
122 | Project(C : Curve from Geom; |
123 | S : Surface from Geom ) |
124 | ---Purpose: Constructs the 3d-curve from the normal |
125 | -- projection of the Curve <C> on the surface <S>. |
126 | -- WARNING : if the projection has failes returns a |
127 | -- null Handle. |
128 | returns Curve from Geom; |
129 | |
130 | |
131 | ProjectOnPlane(Curve : Curve from Geom; |
132 | Plane : Plane from Geom; |
133 | Dir : Dir from gp ; |
134 | KeepParametrization : Boolean from Standard) |
135 | ---Purpose: Constructs the 3d-curves from the projection |
136 | -- of the curve <Curve> on the plane <Plane> along |
137 | -- the direction <Dir>. |
138 | -- If <KeepParametrization> is true, the parametrization |
139 | -- of the Projected Curve <PC> will be the same as the |
140 | -- parametrization of the initial curve <C>. |
141 | -- It meens: proj(C(u)) = PC(u) for each u. |
142 | -- Otherwize, the parametrization may change. |
143 | returns Curve from Geom; |
144 | |
145 | end GeomProjLib; |