拾取对象得到了修改 对夹点组过滤

pull/7/head
cx 7 years ago
parent 68224c1d45
commit bacbb1df86

@ -1,8 +1,9 @@
import { SelectSetBase, SelectType } from './SelectSet';
import * as THREE from 'three'; import * as THREE from 'three';
import { Viewer } from '../GraphicsSystem/Viewer';
import * as verb from 'verb-nurbs-web'; import * as verb from 'verb-nurbs-web';
import { fail } from 'mobx-state-tree/dist/utils';
import { GripScene } from '../GraphicsSystem/GripScene';
import { Viewer } from '../GraphicsSystem/Viewer';
import { SelectSetBase, SelectType } from './SelectSet';
/** /**
* *
@ -78,6 +79,8 @@ export class SelectBox extends SelectSetBase
for (let obj of this.m_Viewer.m_Scene.children) for (let obj of this.m_Viewer.m_Scene.children)
{ {
if (obj instanceof GripScene)
continue;
if (obj.hasOwnProperty("geometry")) if (obj.hasOwnProperty("geometry"))
{ {
if (this.m_Frustom.intersectsObject(obj) && CheckFunction(obj)) if (this.m_Frustom.intersectsObject(obj) && CheckFunction(obj))

@ -3,6 +3,7 @@ import { end } from 'xaop';
import { app } from '../ApplicationServices/Application'; import { app } from '../ApplicationServices/Application';
import { KeyBoard, MouseKey } from '../Common/KeyEnum'; import { KeyBoard, MouseKey } from '../Common/KeyEnum';
import { GripScene } from '../GraphicsSystem/GripScene';
import { Viewer } from '../GraphicsSystem/Viewer'; import { Viewer } from '../GraphicsSystem/Viewer';
import { SelectMarquee } from '../UI/JsPlugin/SelectMarquee'; import { SelectMarquee } from '../UI/JsPlugin/SelectMarquee';
import { Editor } from './Editor'; import { Editor } from './Editor';
@ -53,14 +54,13 @@ export class SelectControls
raycaster.ray.origin.sub(raycaster.ray.direction.clone().multiplyScalar(1e3)); raycaster.ray.origin.sub(raycaster.ray.direction.clone().multiplyScalar(1e3));
let intersectObjects = raycaster.intersectObjects(this.m_Viewer.m_Scene.children); let intersectObjects = raycaster.intersectObjects(this.m_Viewer.m_Scene.children);
if (intersectObjects.length > 0) for (let interItem of intersectObjects)
{ {
let obj = intersectObjects[0].object; let obj = interItem.object;
if (!(obj instanceof THREE.Line || obj instanceof THREE.Points)) if (!(obj instanceof THREE.Line || obj instanceof GripScene))
{
return obj; return obj;
}
} }
let pCenter = new THREE.Vector2(pt.x, pt.y); let pCenter = new THREE.Vector2(pt.x, pt.y);
let selectSize = new THREE.Vector2(10, 10); let selectSize = new THREE.Vector2(10, 10);
let minPt = pCenter.clone().sub(selectSize); let minPt = pCenter.clone().sub(selectSize);

Loading…
Cancel
Save