diff --git a/src/Editor/SelectBox.ts b/src/Editor/SelectBox.ts index 1ab04626a..0e89f1a89 100644 --- a/src/Editor/SelectBox.ts +++ b/src/Editor/SelectBox.ts @@ -2,13 +2,20 @@ import { SelectSetBase, SelectType } from './SelectSet'; import * as THREE from 'three'; import { Viewer } from '../GraphicsSystem/Viewer'; import * as verb from 'verb-nurbs-web'; -//矩形选区 + +/** + * 矩形选区 + * + * @export + * @class SelectBox + * @extends {SelectSetBase} + */ export class SelectBox extends SelectSetBase { - m_SelectBox: THREE.Box2 = new THREE.Box2(); - m_RectLines = new Array(); - m_Frustom: THREE.Frustum = new THREE.Frustum(); + private m_SelectBox: THREE.Box2 = new THREE.Box2(); + private m_RectLines = new Array(); + private m_Frustom: THREE.Frustum = new THREE.Frustum(); constructor(view: Viewer, p1: THREE.Vector2, p2: THREE.Vector2) { @@ -48,23 +55,6 @@ export class SelectBox extends SelectSetBase camera.clearViewOffset(); } } - - IntersectLine(p1: THREE.Vector3, p2: THREE.Vector3) - { - let line = new verb.core.PolylineData([[p1.x, p1.y, 0], [p2.x, p2.y, 0]], [0, 1]); - - for (let l of this.m_RectLines) - { - let ins = verb.eval.Intersect.polylines(l, line, 1e-8) - if (ins.length > 0) - { - return true; - } - } - return false; - } - - Select() { // let camera = this.m_Viewer.m_Camera.m_CurCamera; @@ -92,7 +82,20 @@ export class SelectBox extends SelectSetBase } } } + IntersectLine(p1: THREE.Vector3, p2: THREE.Vector3) + { + let line = new verb.core.PolylineData([[p1.x, p1.y, 0], [p2.x, p2.y, 0]], [0, 1]); + for (let l of this.m_RectLines) + { + let ins = verb.eval.Intersect.polylines(l, line, 1e-8) + if (ins.length > 0) + { + return true; + } + } + return false; + } IntersectObject(obj: THREE.Object3D): Boolean { let geo = this.GetGeometry(obj);