BufferAttribute.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. THREE.BufferAttribute = function ( array, itemSize ) {
  5. this.array = array;
  6. this.itemSize = itemSize;
  7. this.needsUpdate = false;
  8. };
  9. THREE.BufferAttribute.prototype = {
  10. constructor: THREE.BufferAttribute,
  11. get length () {
  12. return this.array.length;
  13. },
  14. copyAt: function ( index1, attribute, index2 ) {
  15. index1 *= this.itemSize;
  16. index2 *= attribute.itemSize;
  17. for ( var i = 0, l = this.itemSize; i < l; i ++ ) {
  18. this.array[ index1 + i ] = attribute.array[ index2 + i ];
  19. }
  20. return this;
  21. },
  22. set: function ( value, offset ) {
  23. if ( offset === undefined ) offset = 0;
  24. this.array.set( value, offset );
  25. return this;
  26. },
  27. setX: function ( index, x ) {
  28. this.array[ index * this.itemSize ] = x;
  29. return this;
  30. },
  31. setY: function ( index, y ) {
  32. this.array[ index * this.itemSize + 1 ] = y;
  33. return this;
  34. },
  35. setZ: function ( index, z ) {
  36. this.array[ index * this.itemSize + 2 ] = z;
  37. return this;
  38. },
  39. setXY: function ( index, x, y ) {
  40. index *= this.itemSize;
  41. this.array[ index ] = x;
  42. this.array[ index + 1 ] = y;
  43. return this;
  44. },
  45. setXYZ: function ( index, x, y, z ) {
  46. index *= this.itemSize;
  47. this.array[ index ] = x;
  48. this.array[ index + 1 ] = y;
  49. this.array[ index + 2 ] = z;
  50. return this;
  51. },
  52. setXYZW: function ( index, x, y, z, w ) {
  53. index *= this.itemSize;
  54. this.array[ index ] = x;
  55. this.array[ index + 1 ] = y;
  56. this.array[ index + 2 ] = z;
  57. this.array[ index + 3 ] = w;
  58. return this;
  59. },
  60. clone: function () {
  61. return new THREE.BufferAttribute( new this.array.constructor( this.array ), this.itemSize );
  62. }
  63. };
  64. //
  65. THREE.Int8Attribute = function ( data, itemSize ) {
  66. THREE.warn( 'THREE.Int8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  67. return new THREE.BufferAttribute( data, itemSize );
  68. };
  69. THREE.Uint8Attribute = function ( data, itemSize ) {
  70. THREE.warn( 'THREE.Uint8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  71. return new THREE.BufferAttribute( data, itemSize );
  72. };
  73. THREE.Uint8ClampedAttribute = function ( data, itemSize ) {
  74. THREE.warn( 'THREE.Uint8ClampedAttribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  75. return new THREE.BufferAttribute( data, itemSize );
  76. };
  77. THREE.Int16Attribute = function ( data, itemSize ) {
  78. THREE.warn( 'THREE.Int16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  79. return new THREE.BufferAttribute( data, itemSize );
  80. };
  81. THREE.Uint16Attribute = function ( data, itemSize ) {
  82. THREE.warn( 'THREE.Uint16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  83. return new THREE.BufferAttribute( data, itemSize );
  84. };
  85. THREE.Int32Attribute = function ( data, itemSize ) {
  86. THREE.warn( 'THREE.Int32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  87. return new THREE.BufferAttribute( data, itemSize );
  88. };
  89. THREE.Uint32Attribute = function ( data, itemSize ) {
  90. THREE.warn( 'THREE.Uint32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  91. return new THREE.BufferAttribute( data, itemSize );
  92. };
  93. THREE.Float32Attribute = function ( data, itemSize ) {
  94. THREE.warn( 'THREE.Float32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  95. return new THREE.BufferAttribute( data, itemSize );
  96. };
  97. THREE.Float64Attribute = function ( data, itemSize ) {
  98. THREE.warn( 'THREE.Float64Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' );
  99. return new THREE.BufferAttribute( data, itemSize );
  100. };
粤ICP备19079148号