加入绘图接口.

pull/7/head
ChenX 7 years ago
parent 162d0dce5f
commit 706e7a9635

@ -1,5 +1,9 @@
import { Geometry, Object3D, Vector3 } from 'three';
import * as THREE from 'three';
import { ArrayRemove } from '../../src/Common/Utils';
import { Vector3, Line3 } from 'three';
import { RenderType } from '../GraphicsSystem/Enum';
/*
webCAD .
,,.
@ -1000,6 +1004,15 @@ export class BlockTableRecord extends ObjectCollection<Entity>
@Factory
export class Entity extends CADObject
{
protected m_DrawEntity = new Map<RenderType, Object3D>();
//绘制一个threeJs对象.
Draw(renderType: RenderType = RenderType.Wireframe): Object3D
{
if (this.m_DrawEntity && this.m_DrawEntity.has(renderType))
{
return this.m_DrawEntity.get(renderType);
}
}
}
//直线对象
@ -1015,7 +1028,19 @@ export class Line extends Entity
this.endPoint = new Vector3(0, 0, 0);
}
//-----------------------------File-----------------------------
Draw(renderType: RenderType): Object3D
{
let obj = super.Draw(renderType);
if (obj) return obj;
let geo = new Geometry();
geo.vertices.push(this.StartPoint, this.EndPoint);
obj = new THREE.Line(geo);
this.m_DrawEntity.set(renderType, obj);
return obj;
}
//#region -----------------------------File-----------------------------
//对象应该实现dataIn和DataOut的方法,为了对象的序列化和反序列化
//对象从文件中读取数据,初始化自身
@ -1038,9 +1063,9 @@ export class Line extends Entity
{
super.ApplyPartialUndo(data);
}
//-----------------------------File End-----------------------------
//#endregion-----------------------------File End-----------------------------
//#region 属性
set StartPoint(v: Vector3)
{
this.WriteAllObjectRecord();
@ -1061,4 +1086,5 @@ export class Line extends Entity
this.endPoint.copy(v);
}
//#endregion
}

Loading…
Cancel
Save