Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // Created on: 1993-05-04
0002 // Created by: Philippe DAUTRY
0003 // Copyright (c) 1993-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 <PLib.hxx>
0018 #include <TColgp_Array1OfPnt.hxx>
0019 #include <TColgp_Array1OfPnt2d.hxx>
0020 
0021 //=======================================================================
0022 //function : MaxDegree
0023 //purpose  : 
0024 //=======================================================================
0025 
0026 inline Standard_Integer BSplCLib::MaxDegree ()
0027 {
0028   return 25;
0029 }
0030 
0031 //=======================================================================
0032 //function : NoWeights
0033 //purpose  : 
0034 //=======================================================================
0035 
0036 inline  TColStd_Array1OfReal*  BSplCLib::NoWeights()
0037 {
0038   return NULL;
0039 }
0040 
0041 //=======================================================================
0042 //function : NoMults
0043 //purpose  : 
0044 //=======================================================================
0045 
0046 inline  TColStd_Array1OfInteger*  BSplCLib::NoMults()
0047 {
0048   return NULL;
0049 }
0050 
0051 //=======================================================================
0052 //function : CoefsD0
0053 //purpose  : 
0054 //=======================================================================
0055 
0056 inline void BSplCLib::CoefsD0(const Standard_Real         U,
0057                               const TColgp_Array1OfPnt&   Poles, 
0058                               const TColStd_Array1OfReal* Weights,
0059                               gp_Pnt&                     P)
0060 {
0061   BSplCLib::CacheD0(U, Poles.Length() -1, 0., 1., Poles, Weights, P);
0062 }
0063 
0064 //=======================================================================
0065 //function : CoefsD0
0066 //purpose  : 
0067 //=======================================================================
0068 
0069 inline void BSplCLib::CoefsD0(const Standard_Real         U,
0070                               const TColgp_Array1OfPnt2d& Poles, 
0071                               const TColStd_Array1OfReal* Weights,
0072                               gp_Pnt2d&                   P)
0073 {
0074   BSplCLib::CacheD0(U, Poles.Length() -1, 0., 1., Poles, Weights, P);
0075 }
0076 
0077 //=======================================================================
0078 //function : CoefsD1
0079 //purpose  : 
0080 //=======================================================================
0081 
0082 inline void BSplCLib::CoefsD1(const Standard_Real         U,
0083                               const TColgp_Array1OfPnt&   Poles, 
0084                               const TColStd_Array1OfReal* Weights,
0085                               gp_Pnt&                     P,
0086                               gp_Vec&                     Vec)
0087 {
0088   BSplCLib::CacheD1(U, Poles.Length() -1, 0., 1., Poles, Weights, P, Vec);
0089 }
0090 
0091 //=======================================================================
0092 //function : CoefsD1
0093 //purpose  : 
0094 //=======================================================================
0095 
0096 inline void BSplCLib::CoefsD1(const Standard_Real         U,
0097                               const TColgp_Array1OfPnt2d& Poles, 
0098                               const TColStd_Array1OfReal* Weights,
0099                               gp_Pnt2d&                   P,
0100                               gp_Vec2d&                   Vec)
0101 {
0102   BSplCLib::CacheD1(U, Poles.Length() -1, 0., 1., Poles, Weights, P, Vec);
0103 }
0104 
0105 //=======================================================================
0106 //function : CoefsD2
0107 //purpose  : 
0108 //=======================================================================
0109 
0110 inline void BSplCLib::CoefsD2(const Standard_Real         U,
0111                               const TColgp_Array1OfPnt&   Poles, 
0112                               const TColStd_Array1OfReal* Weights,
0113                               gp_Pnt&                     P,
0114                               gp_Vec&                     Vec1,
0115                               gp_Vec&                     Vec2)
0116 {
0117   BSplCLib::CacheD2(U, Poles.Length() -1, 0., 1., Poles, Weights, 
0118                     P, Vec1, Vec2);
0119 }
0120 
0121 //=======================================================================
0122 //function : CoefsD2
0123 //purpose  : 
0124 //=======================================================================
0125 
0126 inline void BSplCLib::CoefsD2(const Standard_Real         U,
0127                               const TColgp_Array1OfPnt2d& Poles, 
0128                               const TColStd_Array1OfReal* Weights,
0129                               gp_Pnt2d&                   P,
0130                               gp_Vec2d&                   Vec1,
0131                               gp_Vec2d&                   Vec2)
0132 {
0133   BSplCLib::CacheD2(U, Poles.Length() -1, 0., 1., Poles, Weights, 
0134                     P, Vec1, Vec2);
0135 }
0136 
0137 //=======================================================================
0138 //function : CoefsD3
0139 //purpose  : 
0140 //=======================================================================
0141 
0142 inline void BSplCLib::CoefsD3(const Standard_Real         U,
0143                               const TColgp_Array1OfPnt&   Poles, 
0144                               const TColStd_Array1OfReal* Weights,
0145                               gp_Pnt&                     P,
0146                               gp_Vec&                     Vec1,
0147                               gp_Vec&                     Vec2,
0148                               gp_Vec&                     Vec3)
0149 {
0150   BSplCLib::CacheD3(U, Poles.Length() -1, 0., 1., Poles, Weights, 
0151                     P, Vec1, Vec2, Vec3);
0152 }
0153 
0154 //=======================================================================
0155 //function : CoefsD3
0156 //purpose  : 
0157 //=======================================================================
0158 
0159 inline void BSplCLib::CoefsD3(const Standard_Real         U,
0160                               const TColgp_Array1OfPnt2d& Poles, 
0161                               const TColStd_Array1OfReal* Weights,
0162                               gp_Pnt2d&                   P,
0163                               gp_Vec2d&                   Vec1,
0164                               gp_Vec2d&                   Vec2,
0165                               gp_Vec2d&                   Vec3)
0166 {
0167   BSplCLib::CacheD3(U, Poles.Length() -1, 0., 1., Poles, Weights, 
0168                     P, Vec1, Vec2, Vec3);
0169 }
0170 
0171 //=======================================================================
0172 //function : PolesCoefficients
0173 //purpose  : 
0174 //=======================================================================
0175 
0176 inline void BSplCLib::PolesCoefficients
0177 (const TColgp_Array1OfPnt&   Poles, 
0178  TColgp_Array1OfPnt&         CachePoles)
0179 {
0180   BSplCLib::PolesCoefficients(Poles, PLib::NoWeights(),
0181                               CachePoles, PLib::NoWeights());
0182 }
0183 
0184 //=======================================================================
0185 //function : PolesCoefficients
0186 //purpose  : 
0187 //=======================================================================
0188 
0189 inline void BSplCLib::PolesCoefficients
0190 (const TColgp_Array1OfPnt2d&   Poles, 
0191  TColgp_Array1OfPnt2d&         CachePoles)
0192 {
0193   BSplCLib::PolesCoefficients(Poles, PLib::NoWeights(),
0194                               CachePoles, PLib::NoWeights());
0195 }
0196