hp2FEM  0.1
include/nurbs/BSpline.h
00001 #ifndef _BSPLINE_H_
00002 #define _BSPLINE_H_
00003 // ---------------------------------------------
00004 // company   : 
00005 // user      : 
00006 // date      : 22 Mar 2015 17:25
00007 // file      : BSpline.h
00008 // markers   : Full
00009 // language  : C++
00010 // generator : Metamill 6.0
00011 // ---------------------------------------------
00012 
00013 //#UBLK-BEG-HEADERH
00014 //#UBLK-END-HEADERH
00015 
00016 /*=================================================================================================
00017 =                                                                                                 =
00018 =       Copyright 2010-2015  Marco Lucio Bittencourt / Fabiano Fernandes Bargos                       =
00019 =                        Gilberto Luis Valente / Jorge Luis Suzuki / Allan Patrick Cordeiro Dias  =
00020 =                                                                                                 =
00021 =       Licensed under the Apache License, Version 2.0 (the "License");                               =
00022 =       you may not use this file except in compliance with the License.                              =
00023 =       You may obtain a copy of the License at                                                       =
00024 =                                                                                                 =
00025 =               http://www.apache.org/licenses/LICENSE-2.0                                                =
00026 =                                                                                                 =
00027 =       Unless required by applicable law or agreed to in writing, software                           =
00028 =       distributed under the License is distributed on an "AS IS" BASIS,                             =
00029 =       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      =
00030 =       See the License for the specific language governing permissions and                           =
00031 =       limitations under the License.                                                                =
00032 =                                                                                                 =
00033 =================================================================================================*/
00034 
00035 
00036 #include "ds/BuiltInArray.h"
00037 
00038 
00042 class BSpline
00043 {
00044 //#UBLK-BEG-CLASSDEF mm:6c13a93a-c384-46ec-8889-5f5af54cb172
00045 //#UBLK-END-CLASSDEF
00046 
00047  public:
00048 
00049    // METHOD=mm:3823e705-dceb-40cc-8759-9bca9ec860ad
00050    static void BSplineBasisFunctions(BuiltInArray<double>& N, long k, long n, BuiltInArray<double>& KnotVect, double t);
00051 
00052    // METHOD=mm:3244b638-d351-442f-a498-7972a777ae62
00053    static void BSplineBasisFunctionsDerivative(BuiltInArray<double>& N, BuiltInArray<double>& Nl, long k, long n, BuiltInArray<double>& KnotVect, double t);
00054 
00055    // METHOD=mm:8ca601c2-d495-4e4a-9f63-6c8f1aaa1e7c
00056    static void OpenUniformKnotVector(BuiltInArray<double>& KnotVect, long k, long n);
00057 
00058    // METHOD=mm:8ae69bcb-5ee1-4ca3-9cc8-94ff2cce9751
00059    static void ParametricLimit(double& t);
00060 
00061 
00066    // attr=mm:8c699189-9890-495d-92a6-8490027dfa77
00067    static const double TINY_DOUBLE; //= 1.0e-12;
00068 
00069 
00070  protected:
00071 
00072  private:
00073 
00074 //#UBLK-BEG-CLASSMEMB mm:6c13a93a-c384-46ec-8889-5f5af54cb172
00075 //#UBLK-END-CLASSMEMB
00076 };
00077 
00078 //#UBLK-BEG-GLOBALH
00079 //#UBLK-END-GLOBALH
00080 
00081 
00082 #endif // _BSPLINE_H_
 All Classes Files Functions Variables Typedefs Friends Defines