|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
import { EffectComposer, Object3D, OutlinePass, RenderPass, Scene, Vector2, Vector3, WebGLRenderer } from 'three';
|
|
|
|
|
import * as xaop from 'xaop';
|
|
|
|
|
import { end } from 'xaop';
|
|
|
|
|
import { app } from '../ApplicationServices/Application';
|
|
|
|
|
import { GetEntity } from '../Common/Utils';
|
|
|
|
|
import { Database } from '../DatabaseServices/Database';
|
|
|
|
|
import { Entity } from '../DatabaseServices/Entity';
|
|
|
|
@ -168,7 +169,10 @@ export class Viewer
|
|
|
|
|
ScreenToWorld(pt: Vector3, planVec?: Vector3, constant?: number | Vector3)
|
|
|
|
|
{
|
|
|
|
|
//变换和求交点
|
|
|
|
|
let plan = new PlaneExt(planVec || new Vector3(0, 0, 1), constant);
|
|
|
|
|
let plan = new PlaneExt(
|
|
|
|
|
(planVec === undefined) ? new Vector3().setFromMatrixColumn(app.m_Editor.UCSMatrix, 2) : planVec,
|
|
|
|
|
(constant === undefined) ? new Vector3().setFromMatrixColumn(app.m_Editor.UCSMatrix, 3) : constant
|
|
|
|
|
);
|
|
|
|
|
let raycaster = GenerateRaycaster(pt, this);
|
|
|
|
|
plan.intersectRay(raycaster.ray, pt, true);
|
|
|
|
|
return pt;
|
|
|
|
|