|
|
|
@ -1,20 +1,16 @@
|
|
|
|
|
import { Frustum, Matrix4, Object3D, OrthographicCamera, PerspectiveCamera, Vector2, Vector3 } from 'three';
|
|
|
|
|
import { PreViewer } from '../GraphicsSystem/PreViewer';
|
|
|
|
|
import { Viewer } from '../GraphicsSystem/Viewer';
|
|
|
|
|
import { SelectSetBase } from './SelectBase';
|
|
|
|
|
import { Matrix4, Object3D, OrthographicCamera, PerspectiveCamera, Vector2, Vector3 } from 'three';
|
|
|
|
|
import { doIntersect } from "../Geometry/DoIntersect";
|
|
|
|
|
import { IViewer } from '../GraphicsSystem/IView';
|
|
|
|
|
import { SelectSetBase } from './SelectBase';
|
|
|
|
|
|
|
|
|
|
export class SelectLine extends SelectSetBase
|
|
|
|
|
{
|
|
|
|
|
private m_StartPt: Vector2;
|
|
|
|
|
private m_EndPt: Vector2;
|
|
|
|
|
_Frustum: Frustum = new Frustum();
|
|
|
|
|
|
|
|
|
|
constructor(view: Viewer | PreViewer, startP: Vector2, endP: Vector2)
|
|
|
|
|
constructor(view: IViewer,
|
|
|
|
|
private _StartPt: Vector2,
|
|
|
|
|
private _EndPt: Vector2,
|
|
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
super(view);
|
|
|
|
|
this.m_StartPt = startP;
|
|
|
|
|
this.m_EndPt = endP;
|
|
|
|
|
|
|
|
|
|
this._bIsPerCamera = view.Camera instanceof PerspectiveCamera;
|
|
|
|
|
let camera = this._Viewer.Camera;
|
|
|
|
@ -29,7 +25,7 @@ export class SelectLine extends SelectSetBase
|
|
|
|
|
|
|
|
|
|
IntersectLine(p1: Vector3, p2: Vector3): boolean
|
|
|
|
|
{
|
|
|
|
|
return doIntersect(p1, p2, this.m_StartPt, this.m_EndPt);
|
|
|
|
|
return doIntersect(p1, p2, this._StartPt, this._EndPt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CheckSelect(obj: Object3D): boolean
|
|
|
|
|