上一节,我们讲了THREE.VTKLoader这个类,那么接着我们将parse给补充一下,parse函数主要完成了从vtk到geometry的转换。我们将代码复制下来重新解释一下:
// data是从服务器传过来的数据,其实就是vtk文件中的文本数据 ,打开平【初级教程\chapter7A\models\vtk\bunny.vtk】看一下,你就知道是什么了?一定打开这个文件哦。
parse: function ( data ) {
// new 一个几何体
var geometry = new THREE.Geometry();
// 定义一个内部函数vertex,用参数x,y,z生成一个顶点,并放入geometry的vertices数组中,
function vertex( x, y, z ) {
geometry.vertices.push( new THREE.Vector3( x, y, z ) );
}
// 定义一个面索引函数face3,将面的3个点的索引放入geometry的faces数组中。
function face3( a, b, c ) {
geometry.faces.push( new THREE.Face3( a, b, c ) );
}
// 定义一个面索引函数。如果一个面由4个顶点组成,那么我们构造一个Face4放入faces中,注意面可以由在同一平面的3个点组成,也可以由同一平面的4个顶点组成。
function face4( a, b, c, d ) {
geometry.faces.push( new THREE.Fa