VTKLoader

VTK 的全称是 The Visualization Toolkit 可视化工具包 https://vtk.org/. 数据加载完解析后返回一个 BufferGeometry 对象, 它有 position 和 normal 数据. VTK 模型的数据格式如下:

POINTS 35947 float
-0.0378297 0.12794 0.00447467 -0.0447794 0.128887 0.00190497 -0.0680095 0.151244 0.0371953 ... ...

POLYGONS 69451 277804
3 21216 21215 20399
3 9186 9280 14838

解释如下:
POINTS   点的个数   点的数据类型
x0 y0 z0
x1 y1 z1
x2 y2 z2
... ...
POLYGONS   多边形的个数   多边形的数组长度 = 多边形的个数*4
3 第i个点 第j点 第k点 组成一个三角形

下面这个模型的大小为 2.39M

var camera = new THREE.PerspectiveCamera(60, window.innerWidth/window.innerHeight, 0.01, 10000); camera.position.z = 0.2; scene.add( camera ); var dirLight = new THREE.DirectionalLight(0xffffFF); dirLight.position.set( 20, 20, 100 ).normalize(); camera.add(dirLight); var loader = new THREE.VTKLoader(); loader.load('---.vtk', function(geometry){ geometry.center(); geometry.computeVertexNormals(); var material = new THREE.MeshLambertMaterial( { color: 0xffffff, side: THREE.DoubleSide }), mesh = new THREE.Mesh(geometry, material); scene.add(mesh); }, function ( xhr ) { console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); }, function ( error ) { console.log( 'An error happened: ' + error ); } );

Attributes

manager : LoadingManager

Default value : THREE.DefaultLoadingManager
Description : 类型

Methods

load( url, onLoad, onProgress, onError ) : null
url String 加载路径
onLoad Function 加载完成函数
onProgress Function 加载进程函数
onError Function 加载错误函数

加载URL以及调用回调函数onLoad.

parse( data ) :
data 待解析的 data 数据

解析 data 数据.

setPath( value ) : this
value String 路径

设置原始文件的基本路径.