# [name]

"交叉存储" 表明多个类型的 attributes （例如，顶点位置、法向量、UV 和颜色值）被存储到一个队列中。
如下链接有对交叉存储更详细的介绍: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]

## 示例

[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]

## 构造函数

### [name]( [param:TypedArray array], [param:Integer stride] )

[page:TypedArray array] -- 一个基于共享缓存的类型化队列。该队列存储几何体相关数据。
[page:Integer stride] -- 每个顶点占用类型化队列的多少个元素。

## 属性

### [property:Array array]

一个基于共享缓存的类型化队列。该队列存储几何体相关数据。

### [property:Integer stride]

每个顶点占用类型化队列的多少个元素。

### [property:Integer count]

类型化队列中，所有元素的数目。

### [property:Object updateRange]

对象存储着需要更新的数据的偏移量和数量。

### [property:Number updateRange.offset]

默认值为 *0*。

### [property:Number updateRange.count]

默认值为 *-1*。

### [property:Integer version]

版本号，每次 needsUpdate 属性设置为 true 时，版本号增加。

### [property:Integer isInterleavedBuffer]

默认值为 *true*。

### [property:Integer needsUpdate]

默认值为 *false*。该值被设置为 true 时，会导致 [page:InterleavedBuffer.version version] 增加。

### [property:Usage usage]

Defines the intended usage pattern of the data store for optimization purposes. Corresponds to the *usage* parameter of [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]().

## 方法

### [method:InterleavedBuffer copy]( [param:InterleavedBuffer source] )

将参数指定的 [name] 拷贝到当前 [name]。

### [method:InterleavedBuffer copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] )

将数据从 attribute[index2] 拷贝到 [page:InterleavedBuffer.array array][index1]。

### [method:InterleavedBuffer set]( [param:TypedArray value], [param:Integer offset] )

value - 被拷贝的源（类型化）队列。
offset - 源队列中，数据开始拷贝的偏移量。默认值是 *0*.
将源队列数据拷贝到目标队列缓存中。

### [method:InterleavedBuffer clone]()

克隆当前 [name]。

### [method:BufferAttribute setUsage] ( [param:Usage value] )

Set [page:BufferAttribute.usage usage] to value.

## 源代码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]