Three.js源码学习(二)core/BufferGoemetry

bufferGeometryId//BufferGeometry使用奇数作为id

constructor构造器

id=bufferGeometryId

uuid

name

type=‘BufferGeometry’

index

attributes={}

morphAttriobutes={}

groups=[]

boundingBox=null

boundingSphere=null

drawRange={start:0,count:Inginity}

userData={}

method方法

isBufferGeometry()

getIndex()

setIndex()

addAttribute(name,attribute)

getAttribute(name)

removeAttribute(name)

addGroup(start,count,materialIndex)//

clearGroup()

setDrawRange(start,count)

applyMatrix(matrix)//需要attributes内有position,normal

rotateX(angle)//围绕x旋转

rotateY(angle)

rotateZ(angle)

translate(x,y,z)//??依赖Matrix

scale(x,y,z)//???

lookAt(vector)//依赖Object3D.lookAt()

center()

setFromObject(object)
从object设置BufferGoemetry位置颜色等属性
setFromPoints(points)
从点集设置BufferGeometry位置属性
updateFromObject(object)
从object更新vertices,normals,colors,uvs或者groups
fromGeometry(geometry)
从geometry的__directGeometry创建一个BufferGoemetry
fromDirectGeometry(geometry)
从geometry返回一个BufferGoemetry
computeBoundingBox()
计算限制Box
computeBoudingSphere()
计算限制球体,能包括所有的position
computeFaceNormals()
暂时未实现
computeVertexNormals()
计算定点的法向量,并归一化
merge(geometry,offset)
合并geometry中的attribute到当前对象
normalizeNormals()
将法向量归一化
toNonIndexed()

toJSON()
将data打包为json格式
clone()
返回一个当前对象的深拷贝
copy(source)
从source拷贝所有属性
dispose()

你可能感兴趣的:(Three.js源码学习(二)core/BufferGoemetry)