|
|
@ -84,15 +84,40 @@ export class SelectControls
|
|
|
|
this.m_SelectIng = false;
|
|
|
|
this.m_SelectIng = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setRenderVar(render: THREE.WebGLRenderer, renderVar: Object)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
let saveVar = {};
|
|
|
|
|
|
|
|
for (let name in renderVar)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
saveVar[name] = render[name];
|
|
|
|
|
|
|
|
render[name] = renderVar[name];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return saveVar;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
select()
|
|
|
|
select()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
let view = app.m_Viewer;
|
|
|
|
let view = app.m_Viewer;
|
|
|
|
let render = view.m_Render;
|
|
|
|
let render = view.m_Render;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//设置渲染器设置
|
|
|
|
|
|
|
|
let renderVar = {
|
|
|
|
|
|
|
|
toneMappingExposure: 1,
|
|
|
|
|
|
|
|
gammaInput: false,
|
|
|
|
|
|
|
|
gammaOutput: false,
|
|
|
|
|
|
|
|
physicallyCorrectLights: false,
|
|
|
|
|
|
|
|
toneMapping: THREE.NoToneMapping,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
let saveVar = this.setRenderVar(render, renderVar);
|
|
|
|
|
|
|
|
render.context.disable(render.context.DEPTH_TEST);
|
|
|
|
|
|
|
|
|
|
|
|
let pickingTexture = new THREE.WebGLRenderTarget(view.m_HtmlElement.clientWidth, view.m_HtmlElement.clientHeight);
|
|
|
|
let pickingTexture = new THREE.WebGLRenderTarget(view.m_HtmlElement.clientWidth, view.m_HtmlElement.clientHeight);
|
|
|
|
render.render(view.m_Scene, view.m_Camera.m_CurCamera, pickingTexture);
|
|
|
|
render.render(view.m_Scene, view.m_Camera.m_CurCamera, pickingTexture);
|
|
|
|
//create buffer for reading single pixel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
render.context.enable(render.context.DEPTH_TEST);
|
|
|
|
|
|
|
|
this.setRenderVar(render, saveVar);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//create buffer for reading single pixel
|
|
|
|
let b2 = new THREE.Box2();
|
|
|
|
let b2 = new THREE.Box2();
|
|
|
|
b2.setFromPoints([
|
|
|
|
b2.setFromPoints([
|
|
|
|
new THREE.Vector2(this.m_SelectCss.start.x, this.m_SelectCss.start.y),
|
|
|
|
new THREE.Vector2(this.m_SelectCss.start.x, this.m_SelectCss.start.y),
|
|
|
@ -123,5 +148,7 @@ export class SelectControls
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return view.m_Scene.getObjectById(id);
|
|
|
|
return view.m_Scene.getObjectById(id);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
this.m_Viewer.m_OutlinePass.selectedObjects =
|
|
|
|
|
|
|
|
this.m_Viewer.m_OutlinePass.selectedObjects.filter(o => { return o != undefined })
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|