|
|
|
@ -6,6 +6,8 @@ import { RenderType } from './GraphicsSystem/Enum';
|
|
|
|
|
import { app } from './ApplicationServices/Application';
|
|
|
|
|
import { GetColorIndex } from './Common/ColorPalette';
|
|
|
|
|
import { Viewer } from './GraphicsSystem/Viewer';
|
|
|
|
|
import { GeUtils } from './Geometry/GeUtils';
|
|
|
|
|
import { OutlinesGeometry } from './Geometry/OutlinesGeometry';
|
|
|
|
|
function createRootElement()
|
|
|
|
|
{
|
|
|
|
|
let root = document.createElement('div');
|
|
|
|
@ -15,12 +17,30 @@ function createRootElement()
|
|
|
|
|
return root;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function createContent()
|
|
|
|
|
{
|
|
|
|
|
let el = document.createElement("div");
|
|
|
|
|
el.style.position = "absolute";
|
|
|
|
|
el.style.top = "0";
|
|
|
|
|
el.style.width = "100%";
|
|
|
|
|
return el;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function createBtn(textCtx: string, parEl: HTMLElement, callback: any)
|
|
|
|
|
{
|
|
|
|
|
let btn = document.createElement("button");
|
|
|
|
|
btn.textContent = textCtx;
|
|
|
|
|
btn.onclick = callback;
|
|
|
|
|
parEl.appendChild(btn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let bulbLight: THREE.PointLight
|
|
|
|
|
|
|
|
|
|
window.onload = async () =>
|
|
|
|
|
{
|
|
|
|
|
let el = createRootElement();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let app = new WebCADView(el);
|
|
|
|
|
|
|
|
|
|
window.addEventListener("resize", () =>
|
|
|
|
@ -33,20 +53,56 @@ window.onload = async () =>
|
|
|
|
|
{
|
|
|
|
|
await app.Load(`/upload/${param["id"]}.json`, "/upload/");
|
|
|
|
|
}
|
|
|
|
|
// app.m_Viewer.ViewToFont();
|
|
|
|
|
app.ZoomAll();
|
|
|
|
|
|
|
|
|
|
let hemiLight = new THREE.AmbientLight(0xddeeff, 3);
|
|
|
|
|
app.m_Viewer.m_Scene.add(hemiLight)
|
|
|
|
|
|
|
|
|
|
app.EdgeShow();
|
|
|
|
|
// app.m_Viewer.m_Scene.add(load())
|
|
|
|
|
app.ZoomAll();
|
|
|
|
|
|
|
|
|
|
//内容
|
|
|
|
|
let content = createContent();
|
|
|
|
|
el.appendChild(content);
|
|
|
|
|
|
|
|
|
|
createBtn("缩放", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.m_Viewer.ZoomAll();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.m_Viewer.m_Scene.add(load())
|
|
|
|
|
createBtn("俯视", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.ViewToTop();
|
|
|
|
|
app.m_Viewer.ZoomAll();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
createBtn("前视", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.ViewToFont();
|
|
|
|
|
app.ZoomAll();
|
|
|
|
|
});
|
|
|
|
|
createBtn("西南", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.m_Viewer.ViewLookAtVec(new THREE.Vector3(1, 1, -1));
|
|
|
|
|
app.ZoomAll();
|
|
|
|
|
});
|
|
|
|
|
createBtn("右视", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.m_Viewer.ViewLookAtVec(new THREE.Vector3(-1, 0, 0));
|
|
|
|
|
app.ZoomAll();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
createBtn("实体", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.SolidShow();
|
|
|
|
|
app.m_Viewer.m_bNeedUpdate = true;
|
|
|
|
|
});
|
|
|
|
|
createBtn("线框", content, () =>
|
|
|
|
|
{
|
|
|
|
|
app.EdgeShow();
|
|
|
|
|
app.m_Viewer.m_bNeedUpdate = true;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function load()
|
|
|
|
|
{
|
|
|
|
|
let loader: THREE.TextureLoader = new THREE.TextureLoader();
|
|
|
|
@ -61,9 +117,13 @@ function load()
|
|
|
|
|
map: texture
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let box = new Solid3d(1000, 18, 1000);
|
|
|
|
|
let box = new Solid3d(10, 10, 10);
|
|
|
|
|
let obj = <THREE.Mesh>(box.Draw(RenderType.Wireframe));
|
|
|
|
|
obj.material = material;
|
|
|
|
|
// obj.material = material;
|
|
|
|
|
|
|
|
|
|
// let move = new THREE.Matrix4();
|
|
|
|
|
// move.makeTranslation(5000, 0, 0);
|
|
|
|
|
// obj.applyMatrix(move);
|
|
|
|
|
return obj
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|