./PaxHeaders.16248/nurbs-1.4.3 0000644 0000000 0000000 00000000132 14030323741 012466 x ustar 00 30 mtime=1617012705.811919565
30 atime=1617012705.823919749
30 ctime=1617012705.823919749
nurbs-1.4.3/ 0000755 0001750 0001750 00000000000 14030323741 014505 5 ustar 00rvazquez rvazquez 0000000 0000000 nurbs-1.4.3/PaxHeaders.16248/CITATION 0000644 0000000 0000000 00000000132 14030323741 013543 x ustar 00 30 mtime=1617012705.775919014
30 atime=1617012705.775919014
30 ctime=1617012705.823919749
nurbs-1.4.3/CITATION 0000644 0001750 0001750 00000001513 14030323741 015642 0 ustar 00rvazquez rvazquez 0000000 0000000
To cite the Octave NURBS package use:
[1] M. Spink, D. Claxton, C. de Falco, R. Vazquez,
The NURBS toolbox,
http://octave.sourceforge.net/nurbs/index.html.
[2] C. de Falco, A. Reali, and R. Vazquez.
Geopdes: A research tool for isogeometric analysis of pdes.
Advances in Engineering Software, 42(12):1020-1034, 2011.
BibTeX entries for LaTeX users are:
@misc{NT,
Author = {Spink, M. and Claxton, D. and de Falco, C. and V{\'a}zquez, R.},
Howpublished = {\url{http://octave.sourceforge.net/nurbs/index.html}},
Title = {The {NURBS} toolbox}}
@article{geopdes,
Author = {C. de Falco and A. Reali and R. V{\'a}zquez},
Journal = {Advances in Engineering Software},
Number = {12},
Pages = {1020-1034},
Title = {GeoPDEs: A research tool for Isogeometric Analysis of PDEs},
Volume = {42},
Year = {2011}}
nurbs-1.4.3/PaxHeaders.16248/src 0000644 0000000 0000000 00000000132 14030323741 013120 x ustar 00 30 mtime=1617012705.815919627
30 atime=1617012705.823919749
30 ctime=1617012705.823919749
nurbs-1.4.3/src/ 0000755 0001750 0001750 00000000000 14030323741 015274 5 ustar 00rvazquez rvazquez 0000000 0000000 nurbs-1.4.3/src/PaxHeaders.16248/bspeval.cc 0000644 0000000 0000000 00000000132 14030323741 015140 x ustar 00 30 mtime=1617012705.811919565
30 atime=1617012705.811919565
30 ctime=1617012705.823919749
nurbs-1.4.3/src/bspeval.cc 0000644 0001750 0001750 00000007071 14030323741 017244 0 ustar 00rvazquez rvazquez 0000000 0000000 /* Copyright (C) 2009, 2020 Carlo de Falco, Rafael Vazquez
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#include
#include "low_level_functions.h"
//#include
static bool bspeval_bad_arguments(const octave_value_list& args);
DEFUN_DLD(bspeval, args, nargout,"\
BSPEVAL: Evaluate B-Spline at parametric points\n\
\n\
\n\
Calling Sequence:\n\
\n\
p = bspeval(d,c,k,u)\n\
\n\
INPUT:\n\
\n\
d - Degree of the B-Spline.\n\
c - Control Points, matrix of size (dim,nc).\n\
k - Knot sequence, row vector of size nk.\n\
u - Parametric evaluation points, row vector of size nu.\n\
\n\
OUTPUT:\n\
\n\
p - Evaluated points, matrix of size (dim,nu)\n\
")
{
octave_value_list retval;
if (nargout != 1 || args.length () != 4)
print_usage ();
if (!bspeval_bad_arguments (args))
{
int d = args(0).int_value();
Matrix c = args(1).matrix_value();
RowVector k = args(2).row_vector_value();
NDArray u = args(3).array_value();
octave_idx_type nu = u.numel ();
octave_idx_type mc = c.rows(),
nc = c.cols();
Matrix p(mc, nu, 0.0);
if (nc + d == k.numel () - 1)
{
//#pragma omp parallel default (none) shared (d, c, k, u, nu, mc, nc, p)
{
RowVector N(d+1,0.0);
int s, tmp1;
double tmp2;
//#pragma omp for
for (octave_idx_type col=0; col