Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/ElCLib.lxx is written in an unsupported language. File is not indexed.

0001 // Created on: 1991-12-17
0002 // Created by: Jean-Claude Vauthier
0003 // Copyright (c) 1991-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #include <gp_Lin.hxx>
0018 #include <gp_Circ.hxx>
0019 #include <gp_Parab.hxx>
0020 #include <gp_Hypr.hxx>
0021 #include <gp_Elips.hxx>
0022 #include <gp_Lin2d.hxx>
0023 #include <gp_Circ2d.hxx>
0024 #include <gp_Parab2d.hxx>
0025 #include <gp_Hypr2d.hxx>
0026 #include <gp_Elips2d.hxx>
0027 
0028 
0029 inline gp_Pnt ElCLib::Value (const Standard_Real U, const gp_Lin& L) {
0030 
0031   return ElCLib::LineValue (U, L.Position());
0032 }
0033 
0034 
0035 
0036 inline gp_Pnt  ElCLib::Value (const Standard_Real U, const gp_Circ& C) {
0037 
0038   return ElCLib::CircleValue (U, C.Position(), C.Radius());
0039 }
0040 
0041 
0042 inline void ElCLib::D1 (
0043 const Standard_Real U, const gp_Lin& L, gp_Pnt& P, gp_Vec& V1) {
0044 
0045    ElCLib::LineD1 (U, L.Position(), P, V1);
0046 }
0047 
0048 
0049 inline void ElCLib::D1 (
0050 const Standard_Real U, const gp_Circ& C, gp_Pnt& P, gp_Vec& V1) {
0051 
0052   ElCLib::CircleD1 (U, C.Position(), C.Radius(), P, V1);
0053 }
0054 
0055 
0056 inline void ElCLib::D2 (
0057 const Standard_Real U, const gp_Circ& C, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2) {
0058 
0059    ElCLib::CircleD2 (U, C.Position(), C.Radius(), P, V1, V2);
0060 }
0061 
0062 
0063 inline void ElCLib::D3 (
0064 const Standard_Real U, const gp_Circ& C, 
0065 gp_Pnt& P, gp_Vec& V1, gp_Vec& V2, gp_Vec& V3) {
0066 
0067   ElCLib::CircleD3 (U, C.Position(), C.Radius(), P, V1, V2, V3);
0068 }
0069 
0070 
0071 
0072 inline gp_Pnt ElCLib::Value (const Standard_Real U, const gp_Elips& E) {
0073   return ElCLib::EllipseValue (U,
0074                                E.Position(), 
0075                                E.MajorRadius(), 
0076                                E.MinorRadius());
0077 }
0078 
0079 
0080 inline void ElCLib::D1 (
0081 const Standard_Real U, const gp_Elips& E, gp_Pnt& P, gp_Vec& V1) {
0082 
0083   ElCLib::EllipseD1 (U, E.Position(), E.MajorRadius(), E.MinorRadius(), P, V1);
0084 }
0085 
0086 
0087 
0088 inline void ElCLib::D2 (
0089 const Standard_Real U, const gp_Elips& E, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2) {
0090       
0091   ElCLib::EllipseD2 (U, 
0092                      E.Position(),
0093                      E.MajorRadius(),
0094                      E.MinorRadius(),
0095                      P, V1, V2);
0096 }
0097 
0098 
0099 inline void ElCLib::D3 (
0100 const Standard_Real U, const gp_Elips& E,
0101 gp_Pnt& P, gp_Vec& V1, gp_Vec& V2, gp_Vec& V3) {
0102 
0103   ElCLib::EllipseD3  (U, 
0104                       E.Position(), 
0105                       E.MajorRadius(),
0106                       E.MinorRadius(),
0107                       P, V1, V2, V3);
0108 }
0109 
0110 
0111 
0112 inline gp_Pnt ElCLib::Value (const Standard_Real U, const gp_Hypr& H) {
0113 
0114   return ElCLib::HyperbolaValue (U, 
0115                                  H.Position(),
0116                                  H.MajorRadius(),
0117                                  H.MinorRadius());
0118 }
0119 
0120 
0121 
0122 inline void ElCLib::D1 (
0123 const Standard_Real U, const gp_Hypr& H, gp_Pnt& P, gp_Vec& V1) {
0124 
0125    ElCLib::HyperbolaD1 (U, 
0126                         H.Position(),
0127                         H.MajorRadius(),
0128                         H.MinorRadius(), 
0129                         P, V1);
0130 }
0131 
0132 
0133 inline void ElCLib::D2 (
0134 const Standard_Real U, const gp_Hypr& H, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2) {
0135 
0136  ElCLib::HyperbolaD2 (U, 
0137                       H.Position(), 
0138                       H.MajorRadius(), 
0139                       H.MinorRadius(),
0140                       P, V1, V2);
0141 }
0142 
0143 
0144 inline void ElCLib::D3 (
0145 const Standard_Real U, const gp_Hypr& H,
0146 gp_Pnt& P, gp_Vec& V1, gp_Vec& V2, gp_Vec& V3) {
0147  
0148   ElCLib::HyperbolaD3 (U,
0149                        H.Position(), 
0150                        H.MajorRadius(),
0151                        H.MinorRadius(),
0152                        P, V1, V2, V3);
0153 }
0154 
0155 
0156 
0157 inline gp_Pnt ElCLib::Value (const Standard_Real U, const gp_Parab& Prb) {
0158 
0159   return ElCLib::ParabolaValue (U, Prb.Position(), Prb.Focal());
0160 }
0161 
0162 
0163 
0164 inline void ElCLib::D1 (
0165 const Standard_Real U, const gp_Parab& Prb, gp_Pnt& P, gp_Vec& V1) {
0166 
0167   ElCLib::ParabolaD1 (U, Prb.Position(), Prb.Focal(), P, V1);
0168 }
0169 
0170 
0171 
0172 inline void ElCLib::D2 (
0173 const Standard_Real U, const gp_Parab& Prb,
0174 gp_Pnt& P, gp_Vec& V1, gp_Vec& V2) {
0175 
0176   ElCLib::ParabolaD2 (U, Prb.Position(), Prb.Focal(), P, V1, V2);
0177 }
0178 
0179 
0180 
0181 inline gp_Pnt2d ElCLib::Value (const Standard_Real U, const gp_Lin2d& L) {
0182  
0183   return ElCLib::LineValue (U, L.Position());
0184 }
0185 
0186 
0187 inline gp_Pnt2d ElCLib::Value (const Standard_Real U, const gp_Circ2d& C) {
0188 
0189     return ElCLib::CircleValue (U, C.Axis(), C.Radius());
0190 }
0191 
0192 
0193 inline gp_Pnt2d ElCLib::Value (const Standard_Real U, const gp_Elips2d& E) {
0194   
0195   return ElCLib::EllipseValue (U, E.Axis(), E.MajorRadius(), E.MinorRadius());
0196 }
0197 
0198 
0199 inline gp_Pnt2d ElCLib::Value (const Standard_Real U, const gp_Hypr2d& H) {
0200 
0201    return ElCLib::HyperbolaValue (U, 
0202                                   H.Axis(),
0203                                   H.MajorRadius(),
0204                                   H.MinorRadius());
0205 }
0206 
0207 
0208 inline gp_Pnt2d ElCLib::Value (const Standard_Real U, const gp_Parab2d& Prb) {
0209 
0210   return ElCLib::ParabolaValue (U, Prb.Axis(), Prb.Focal());
0211 }
0212 
0213 
0214 inline void ElCLib::D1 (
0215 const Standard_Real U, const gp_Lin2d& L, gp_Pnt2d& P, gp_Vec2d& V1) {
0216 
0217   ElCLib::LineD1 (U, L.Position(), P, V1);
0218 }
0219 
0220 
0221 inline void ElCLib::D1 (
0222 const Standard_Real U, const gp_Circ2d& C, gp_Pnt2d& P, gp_Vec2d& V1) {
0223 
0224   ElCLib::CircleD1 (U, C.Axis(), C.Radius(), P, V1);
0225 }
0226 
0227 
0228 inline void ElCLib::D1 (
0229 const Standard_Real U, const gp_Elips2d& E, gp_Pnt2d& P, gp_Vec2d& V1) {
0230 
0231   ElCLib::EllipseD1 (U, E.Axis(), E.MajorRadius(), E.MinorRadius(), P, V1);
0232 }
0233 
0234 
0235 inline void ElCLib::D1 (
0236 const Standard_Real U, const gp_Hypr2d& H, gp_Pnt2d& P, gp_Vec2d& V1) {
0237   ElCLib::HyperbolaD1 (U, H.Axis(), H.MajorRadius(), H.MinorRadius(), P, V1);
0238 }
0239 
0240 
0241 inline void ElCLib::D1 (
0242 const Standard_Real U, const gp_Parab2d& Prb, gp_Pnt2d& P, gp_Vec2d& V1) {
0243 
0244   ElCLib::ParabolaD1 (U, Prb.Axis(), Prb.Focal(), P, V1);
0245 }
0246 
0247 
0248 inline void ElCLib::D2 (
0249 const Standard_Real U, const gp_Circ2d& C,
0250 gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2) {
0251 
0252   ElCLib::CircleD2 (U, C.Axis(), C.Radius(), P, V1, V2);
0253 }
0254 
0255 
0256 inline void ElCLib::D2 (
0257 const Standard_Real U, const gp_Elips2d& E,
0258 gp_Pnt2d& P, gp_Vec2d& V1,  gp_Vec2d& V2){
0259 
0260  ElCLib::EllipseD2 (U, E.Axis(), E.MajorRadius(), E.MinorRadius(), P, V1, V2);
0261 }
0262 
0263 
0264 inline void ElCLib::D2 (
0265 const Standard_Real U, const gp_Hypr2d& H, 
0266 gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2) {
0267 
0268   ElCLib::HyperbolaD2 (U,
0269                        H.Axis(), 
0270                        H.MajorRadius(),
0271                        H.MinorRadius(),
0272                        P, V1, V2);
0273 }
0274 
0275 
0276 inline void ElCLib::D2 (
0277 const Standard_Real U, const gp_Parab2d& Prb,
0278 gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2) {
0279 
0280   ElCLib::ParabolaD2 (U, Prb.Axis(), Prb.Focal(), P, V1, V2);
0281 }
0282 
0283 
0284 inline void ElCLib::D3 (
0285 const Standard_Real U, const gp_Circ2d& C,
0286 gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2, gp_Vec2d& V3) {
0287 
0288   ElCLib::CircleD3 (U, C.Axis(), C.Radius(), P, V1, V2, V3);
0289 }
0290 
0291 
0292 inline void ElCLib::D3 (
0293 const Standard_Real U, const gp_Elips2d& E,
0294 gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2, gp_Vec2d& V3) {
0295 
0296   ElCLib::EllipseD3 (U, 
0297                      E.Axis(), 
0298                      E.MajorRadius(),
0299                      E.MinorRadius(),
0300                      P, V1, V2, V3);
0301 }
0302 
0303 
0304 inline void ElCLib::D3 (
0305 const Standard_Real U, const gp_Hypr2d& H,
0306 gp_Pnt2d& P, gp_Vec2d& V1,  gp_Vec2d& V2, gp_Vec2d& V3) {
0307 
0308   ElCLib::HyperbolaD3 (U, 
0309                        H.Axis(),
0310                        H.MajorRadius(),
0311                        H.MinorRadius(),
0312                        P, V1, V2, V3);
0313 }
0314 
0315 
0316 
0317 inline gp_Vec ElCLib::DN (
0318 const Standard_Real U, const gp_Lin& L, const Standard_Integer N) {
0319 
0320   return ElCLib::LineDN (U, L.Position(), N);
0321 }
0322 
0323 
0324 inline gp_Vec ElCLib::DN (
0325 const Standard_Real U, const gp_Circ& C, const Standard_Integer N) {
0326 
0327   return ElCLib::CircleDN (U, C.Position(), C.Radius(), N);
0328 }
0329 
0330 
0331 inline gp_Vec ElCLib::DN (
0332 const Standard_Real U, const gp_Elips& E, const Standard_Integer N) {
0333 
0334   return ElCLib::EllipseDN (U, 
0335                             E.Position(), 
0336                             E.MajorRadius(),
0337                             E.MinorRadius(), 
0338                             N);
0339 }
0340 
0341 
0342 inline gp_Vec ElCLib::DN (
0343 const Standard_Real U, const gp_Hypr& H, const Standard_Integer N) {
0344 
0345   return ElCLib::HyperbolaDN (U,
0346                               H.Position(),
0347                               H.MajorRadius(),
0348                               H.MinorRadius(),
0349                               N);
0350 }
0351 
0352 inline gp_Vec ElCLib::DN (
0353 const Standard_Real U, const gp_Parab& Prb, const Standard_Integer N) {
0354 
0355   return ElCLib::ParabolaDN (U, Prb.Position(), Prb.Focal(), N);
0356 }
0357 
0358 
0359 inline gp_Vec2d ElCLib::DN (
0360 const Standard_Real U, const gp_Lin2d& L, const Standard_Integer N) {
0361 
0362   return ElCLib::LineDN (U, L.Position(), N);
0363 }
0364 
0365 
0366 inline gp_Vec2d ElCLib::DN (
0367 const Standard_Real U, const gp_Circ2d& C, const Standard_Integer N) {
0368 
0369   return ElCLib::CircleDN (U, C.Axis(), C.Radius(), N);
0370 }
0371 
0372 
0373 inline gp_Vec2d ElCLib::DN (
0374 const Standard_Real U, const gp_Elips2d& E, const Standard_Integer N){
0375   return ElCLib::EllipseDN (U, E.Axis(), E.MajorRadius(), E.MinorRadius(), N);
0376 }
0377 
0378 
0379 inline gp_Vec2d ElCLib::DN (
0380 const Standard_Real U, const gp_Hypr2d& H, const Standard_Integer N) {
0381 
0382   return ElCLib::HyperbolaDN (U, 
0383                               H.Axis(), 
0384                               H.MajorRadius(),
0385                               H.MinorRadius(),
0386                               N);
0387 }
0388 
0389 
0390 inline gp_Vec2d ElCLib::DN (
0391 const Standard_Real U, const gp_Parab2d& Prb, const Standard_Integer N){
0392 
0393   return ElCLib::ParabolaDN (U, Prb.Axis(), Prb.Focal(), N);
0394 }
0395 
0396 
0397 
0398 inline Standard_Real ElCLib::Parameter (const gp_Lin& L, const gp_Pnt& P) {
0399 
0400   return ElCLib::LineParameter (L.Position(), P);
0401 }
0402 
0403 
0404 inline Standard_Real ElCLib::Parameter (const gp_Circ& C, const gp_Pnt& P) {
0405 
0406   return ElCLib::CircleParameter (C.Position(), P);
0407 }
0408 
0409 
0410 inline Standard_Real ElCLib::Parameter (const gp_Elips& E, const gp_Pnt& P) {
0411 
0412    return ElCLib::EllipseParameter (E.Position(),
0413                                     E.MajorRadius(), 
0414                                     E.MinorRadius(),
0415                                     P);
0416 }
0417 
0418 
0419 inline Standard_Real ElCLib::Parameter (const gp_Hypr& H, const gp_Pnt& P) {
0420 
0421    return ElCLib::HyperbolaParameter (H.Position(), 
0422                                       H.MajorRadius(),
0423                                       H.MinorRadius(), 
0424                                       P);
0425 }
0426 
0427 
0428 inline Standard_Real ElCLib::Parameter (const gp_Parab& Prb, const gp_Pnt& P) {
0429 
0430    return ElCLib::ParabolaParameter (Prb.Position(), P);
0431 }
0432 
0433 
0434 
0435 inline Standard_Real ElCLib::Parameter (const gp_Lin2d& L, const gp_Pnt2d& P) {
0436 
0437    return ElCLib::LineParameter (L.Position(), P);
0438 }
0439 
0440 
0441 inline Standard_Real ElCLib::Parameter (
0442 const gp_Circ2d& C, const gp_Pnt2d& P) {
0443 
0444    return ElCLib::CircleParameter (C.Axis(), P);
0445 }
0446 
0447 
0448 inline Standard_Real ElCLib::Parameter (
0449 const gp_Elips2d& E, const gp_Pnt2d& P) {
0450 
0451    return ElCLib::EllipseParameter (E.Axis(),
0452                                     E.MajorRadius(),
0453                                     E.MinorRadius(),
0454                                     P);
0455 }
0456 
0457 
0458 inline Standard_Real ElCLib::Parameter (
0459 const gp_Hypr2d& H, const gp_Pnt2d& P) {
0460 
0461    return ElCLib::HyperbolaParameter (H.Axis(),
0462                                       H.MajorRadius(),
0463                                       H.MinorRadius(),
0464                                       P);
0465 }
0466 
0467 
0468 inline Standard_Real ElCLib::Parameter (
0469 const gp_Parab2d& Prb, const gp_Pnt2d& P) {
0470 
0471    return ElCLib::ParabolaParameter (Prb.Axis(), P);
0472 }
0473 
0474