12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /**
- * @author benaadams / https://twitter.com/ben_a_adams
- */
- THREE.InterleavedBuffer = function ( array, stride ) {
- this.uuid = THREE.Math.generateUUID();
- this.array = array;
- this.stride = stride;
- this.dynamic = false;
- this.updateRange = { offset: 0, count: - 1 };
- this.version = 0;
- };
- THREE.InterleavedBuffer.prototype = {
- constructor: THREE.InterleavedBuffer,
- get length () {
- return this.array.length;
- },
- get count () {
- return this.array.length / this.stride;
- },
- set needsUpdate( value ) {
- if ( value === true ) this.version ++;
- },
- setDynamic: function ( value ) {
- this.dynamic = value;
- return this;
- },
- copy: function ( source ) {
- this.array = new source.array.constructor( source.array );
- this.stride = source.stride;
- this.dynamic = source.dynamic;
- },
- copyAt: function ( index1, attribute, index2 ) {
- index1 *= this.stride;
- index2 *= attribute.stride;
- for ( var i = 0, l = this.stride; i < l; i ++ ) {
- this.array[ index1 + i ] = attribute.array[ index2 + i ];
- }
- return this;
- },
- set: function ( value, offset ) {
- if ( offset === undefined ) offset = 0;
- this.array.set( value, offset );
- return this;
- },
- clone: function () {
- return new this.constructor().copy( this );
- }
- };
|