@@ -19,7 +19,7 @@ THREE.NURBSUtils = {
1919 p : degree
2020 u : parametric value
2121 U : knot vector
22-
22+
2323 returns the span
2424 */
2525 findSpan : function ( p , u , U ) {
@@ -43,7 +43,7 @@ THREE.NURBSUtils = {
4343 var mid = Math . floor ( ( low + high ) / 2 ) ;
4444
4545 while ( u < U [ mid ] || u >= U [ mid + 1 ] ) {
46-
46+
4747 if ( u < U [ mid ] ) {
4848
4949 high = mid ;
@@ -61,16 +61,16 @@ THREE.NURBSUtils = {
6161 return mid ;
6262
6363 } ,
64-
65-
64+
65+
6666 /*
6767 Calculate basis functions. See The NURBS Book, page 70, algorithm A2.2
68-
68+
6969 span : span in which u lies
7070 u : parametric point
7171 p : degree
7272 U : knot vector
73-
73+
7474 returns array[p+1] with basis functions values.
7575 */
7676 calcBasisFunctions : function ( span , u , p , U ) {
@@ -81,7 +81,7 @@ THREE.NURBSUtils = {
8181 N [ 0 ] = 1.0 ;
8282
8383 for ( var j = 1 ; j <= p ; ++ j ) {
84-
84+
8585 left [ j ] = u - U [ span + 1 - j ] ;
8686 right [ j ] = U [ span + j ] - u ;
8787
@@ -108,7 +108,7 @@ THREE.NURBSUtils = {
108108
109109 /*
110110 Calculate B-Spline curve points. See The NURBS Book, page 82, algorithm A3.1.
111-
111+
112112 p : degree of B-Spline
113113 U : knot vector
114114 P : control points (x, y, z, w)
@@ -422,15 +422,15 @@ THREE.NURBSUtils = {
422422
423423 /*
424424 Calculate rational B-Spline surface point. See The NURBS Book, page 134, algorithm A4.3.
425-
425+
426426 p1, p2 : degrees of B-Spline surface
427427 U1, U2 : knot vectors
428428 P : control points (x, y, z, w)
429429 u, v : parametric values
430430
431431 returns point for given (u, v)
432432 */
433- calcSurfacePoint : function ( p , q , U , V , P , u , v ) {
433+ calcSurfacePoint : function ( p , q , U , V , P , u , v , target ) {
434434
435435 var uspan = this . findSpan ( p , u , U ) ;
436436 var vspan = this . findSpan ( q , v , V ) ;
@@ -462,11 +462,8 @@ THREE.NURBSUtils = {
462462 }
463463
464464 Sw . divideScalar ( Sw . w ) ;
465- return new THREE . Vector3 ( Sw . x , Sw . y , Sw . z ) ;
465+ target . set ( Sw . x , Sw . y , Sw . z ) ;
466466
467467 }
468468
469469} ;
470-
471-
472-
0 commit comments