webcad-ue4-api/types/DatabaseServices/CADObject.d.ts
2024-10-29 17:14:43 +08:00

55 lines
1.9 KiB
TypeScript

import { CADFiler } from './CADFiler';
import { CommandHistoryRecord } from './CommandHistoryRecord';
import { Database } from './Database';
import { ISerialize } from './ISerialize';
import { ObjectId } from './ObjectId';
export declare abstract class CADObject {
protected _Owner: ObjectId;
/**
* 用于储存临时数据
*/
TempData: any;
__CacheBox__: any;
__CacheBoard__: any;
__CacheSize__: any;
__CachePolyline__: any;
set Owner(owner: ObjectId);
get Owner(): ObjectId;
Destroy(): void;
GoodBye(): any;
/**
* 当实体异步更新绘制实体完成后触发这个函数.
* Application通过注入的方式得知这个事件,刷新视图显示.
*/
AsyncUpdated(): void;
protected _db: Database;
get Db(): Database;
SetDefaultDb(db: Database): this;
SetOwnerDatabase(db: Database): this;
/**
* WblockClone 的时候,id是db分配的,此刻我们只需要设置它的db
*/
SetDatabase(db: Database): void;
protected _isErase: boolean;
get IsErase(): boolean;
Erase(isErase?: boolean): void;
objectId: ObjectId<this>;
get Id(): ObjectId<this>;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
ApplyPartialUndo(undoData: ISerialize): void;
UndoRecord(): CommandHistoryRecord;
WriteAllObjectRecord(): boolean;
Clone(): this;
DeepClone(ownerObject: CADObject, cloneObejct: CADObject, idMaping?: Map<number, ObjectId>, isPrimary?: boolean): this;
CopyFrom(obj: CADObject): void;
/**
* 配合 `@AutoRecord` 使用
* 使用这个方法来覆盖AutoRecord的监听行为.
* 这个行为只能用来监听实体添加和实体修改.
* 实体删除行为暂时无法监听
* @param setCallback 设置新的实体到数组时的回调函数
*/
protected CreateProxyArray(setCallback: (v: any) => void): any[];
}
//# sourceMappingURL=CADObject.d.ts.map