constructor( mesh, numberOfCurves = 1 ) {

			const obj3D = mesh.clone();
			const splineTexure = initSplineTexture( numberOfCurves );
			const uniforms = getUniforms( splineTexure );
			obj3D.traverse( function ( child ) {

				if ( child instanceof THREE.Mesh || child instanceof THREE.InstancedMesh ) {

					child.material = child.material.clone();
					modifyShader( child.material, uniforms, numberOfCurves );

				}

			} );
			this.curveArray = new Array( numberOfCurves );
			this.curveLengthArray = new Array( numberOfCurves );
			this.object3D = obj3D;
			this.splineTexure = splineTexure;
			this.uniforms = uniforms;

		}
@param {Mesh} mesh The mesh to clone and modify to bend around the curve
@param {number} numberOfCurves The amount of space that should preallocated for additional curves