|
|
@ -22,6 +22,11 @@ import { PhysicalMaterialRecord } from '../PhysicalMaterialRecord';
|
|
|
|
@Factory
|
|
|
|
@Factory
|
|
|
|
export class Entity extends CADObject
|
|
|
|
export class Entity extends CADObject
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 该实体的只有一个渲染类型,任何渲染类型都一个样
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
protected OnlyRenderType = false;
|
|
|
|
protected _CacheDrawObject = new Map<RenderType, Object3D>();
|
|
|
|
protected _CacheDrawObject = new Map<RenderType, Object3D>();
|
|
|
|
//材质id
|
|
|
|
//材质id
|
|
|
|
protected materialId: ObjectId;
|
|
|
|
protected materialId: ObjectId;
|
|
|
@ -158,6 +163,7 @@ export class Entity extends CADObject
|
|
|
|
}
|
|
|
|
}
|
|
|
|
UpdateRenderType(type: RenderType)
|
|
|
|
UpdateRenderType(type: RenderType)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (this.OnlyRenderType) return;
|
|
|
|
DisposeThreeObj(this.DrawObject);
|
|
|
|
DisposeThreeObj(this.DrawObject);
|
|
|
|
let obj = this.GetDrawObjectFromRenderType(type);
|
|
|
|
let obj = this.GetDrawObjectFromRenderType(type);
|
|
|
|
if (obj) this.DrawObject.add(obj);
|
|
|
|
if (obj) this.DrawObject.add(obj);
|
|
|
@ -165,6 +171,9 @@ export class Entity extends CADObject
|
|
|
|
|
|
|
|
|
|
|
|
GetDrawObjectFromRenderType(renderType: RenderType = RenderType.Wireframe): Object3D
|
|
|
|
GetDrawObjectFromRenderType(renderType: RenderType = RenderType.Wireframe): Object3D
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (this.OnlyRenderType)
|
|
|
|
|
|
|
|
renderType = RenderType.Wireframe;
|
|
|
|
|
|
|
|
|
|
|
|
if (this._CacheDrawObject.has(renderType))
|
|
|
|
if (this._CacheDrawObject.has(renderType))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return this._CacheDrawObject.get(renderType);
|
|
|
|
return this._CacheDrawObject.get(renderType);
|
|
|
|