import * as THREE from 'three'; import { Vector3 } from 'three'; //绘制线 function DrawLine(sp: THREE.Vector3, ep: THREE.Vector3): THREE.Object3D { //创建几何体 var geometry = new THREE.Geometry(); geometry.vertices.push(sp.clone()); geometry.vertices.push(ep.clone()); //创建材质 var material = new THREE.LineBasicMaterial(); let threeObject: THREE.Object3D = new THREE.Line(geometry, material); return threeObject; } function SetLinePoint(line: THREE.Object3D, pt: THREE.Vector3) { let l: THREE.Line = line; let geo: THREE.Geometry = l.geometry; geo.vertices[0].set(pt.x, pt.y, pt.z); geo.verticesNeedUpdate = true; } /** * * * @param {THREE.Object3D} ent * @param {boolean} isSet */ function SetIsSelect(ent: THREE.Object3D, isSet: boolean) { var baseColor = 0x333333; var foundColor = 0x12C0E3; var intersectColor = 0x00D66B; let mesh = ent; let material = mesh.material; if (isSet) { material.color.setHex(intersectColor); } else { material.color.setHex(baseColor); } } function CreateBox(l: number, w: number, h: number) { var geometry = new THREE.BoxGeometry(l, w, h); }