pull/650642/MERGE
ChenX_AMD 7 years ago
parent 33ef41e536
commit a3d19d9229

@ -40,9 +40,9 @@ export class Entity extends CADObject
//你必须重载该方法来更新绘制,在撤销重做时会自动调用该方法. //你必须重载该方法来更新绘制,在撤销重做时会自动调用该方法.
Update() Update()
{ {
this.updateVisible(); this.UpdateVisible();
} }
private updateVisible() UpdateVisible()
{ {
for (let [, en] of this.m_DrawEntity) for (let [, en] of this.m_DrawEntity)
{ {
@ -71,7 +71,7 @@ export class Entity extends CADObject
Erase(isErase: boolean = true) Erase(isErase: boolean = true)
{ {
super.Erase(isErase); super.Erase(isErase);
this.updateVisible(); this.UpdateVisible();
} }
ApplyMatrix(m: Matrix4) ApplyMatrix(m: Matrix4)

@ -9,12 +9,12 @@ import { CreateObjectData } from './CreateObjectData';
//对象集合. //对象集合.
@Factory @Factory
export class ObjectCollection<T> extends CADObject export class ObjectCollection<T extends CADObject> extends CADObject
{ {
objectCol: CADObject[] = []; objectCol: T[] = [];
//添加一个对象进入集合,这个集合存在db中,那么将自动分配id. //添加一个对象进入集合,这个集合存在db中,那么将自动分配id.
Append(obj: CADObject) Append(obj: T)
{ {
if (obj.Id) if (obj.Id)
{ {
@ -40,11 +40,11 @@ export class ObjectCollection<T> extends CADObject
return obj.Id; return obj.Id;
} }
AppendEvent(obj: CADObject) AppendEvent(obj: T)
{ {
} }
Remove(obj: CADObject) Remove(obj: T)
{ {
ArrayRemove(this.objectCol, obj); ArrayRemove(this.objectCol, obj);
obj.Erase(); obj.Erase();
@ -81,7 +81,7 @@ export class ObjectCollection<T> extends CADObject
this.objectCol = []; this.objectCol = [];
for (let i = 0; i < cout; i++) for (let i = 0; i < cout; i++)
{ {
let obj = file.ReadObject(this._db); let obj = file.ReadObject(this._db) as T;
this.objectCol.push(obj); this.objectCol.push(obj);
} }
} }
@ -100,7 +100,7 @@ export class ObjectCollection<T> extends CADObject
{ {
if (undoData instanceof CreateObjectData) if (undoData instanceof CreateObjectData)
{ {
let obj = undoData.getObject(this._db); let obj = undoData.getObject(this._db) as T;
this.objectCol.push(obj); this.objectCol.push(obj);
this.AppendEvent(obj); this.AppendEvent(obj);
} }

@ -259,7 +259,8 @@ export class Viewer
let ens = db.ModelSpace.objectCol; let ens = db.ModelSpace.objectCol;
for (let en of db.ModelSpace.objectCol) for (let en of db.ModelSpace.objectCol)
{ {
let obj = (<Entity>en).Draw(RenderType.Wireframe); let obj = en.Draw(RenderType.Wireframe);
en.UpdateVisible();
this.m_Scene.add(obj); this.m_Scene.add(obj);
} }
this.m_bNeedUpdate = true; this.m_bNeedUpdate = true;
@ -275,7 +276,7 @@ export class Viewer
{ {
for (let en of db.ModelSpace.objectCol) for (let en of db.ModelSpace.objectCol)
{ {
(<Entity>en).GoodBye(); en.GoodBye();
} }
}) })
xaop.end(db.ModelSpace, db.ModelSpace.ReadFile, () => xaop.end(db.ModelSpace, db.ModelSpace.ReadFile, () =>

Loading…
Cancel
Save