93 lines
3.7 KiB
TypeScript
93 lines
3.7 KiB
TypeScript
![]() |
import { Vector3 } from 'three';
|
||
|
import { DuplicateRecordCloning } from '../Common/Status';
|
||
|
import { BlockTable } from './BlockTable';
|
||
|
import { BlockTableRecord } from './BlockTableRecord';
|
||
|
import { CADFiler } from './CADFiler';
|
||
|
import { CADObject } from './CADObject';
|
||
|
import { DeepCloneFiler } from './DeepCloneFiler';
|
||
|
import { GroupTable } from './GroupTable';
|
||
|
import { HistoricManage } from './HistoricManage';
|
||
|
import { IdMaping } from './IdMaping';
|
||
|
import { AmbientLight } from './Lights/AmbientLight';
|
||
|
import { DirectionalLight } from './Lights/DirectionalLight';
|
||
|
import { HemisphereLight } from './Lights/HemisphereLight';
|
||
|
import { MaterialTable } from './MaterialTable';
|
||
|
import { ObjectId } from './ObjectId';
|
||
|
import { PhysicalMaterialRecord } from './PhysicalMaterialRecord';
|
||
|
import { ProcessingGroupTable } from './ProcessingGroup/ProcessingGroupTable';
|
||
|
import { TemplateTable } from './Template/TemplateTable';
|
||
|
import { TextureTable } from './TextureTable';
|
||
|
interface OwnerContainer {
|
||
|
Add(object: any, isCheckObjectCleanly?: boolean): void;
|
||
|
}
|
||
|
export declare class Database {
|
||
|
private defaultDatabase;
|
||
|
hm: HistoricManage;
|
||
|
BlockTable: BlockTable;
|
||
|
MaterialTable: MaterialTable;
|
||
|
TextureTable: TextureTable;
|
||
|
TemplateTable: TemplateTable;
|
||
|
GroupTable: GroupTable;
|
||
|
ProcessingGroupTable: ProcessingGroupTable;
|
||
|
ModelSpace: BlockTableRecord;
|
||
|
LayoutSpace: BlockTableRecord;
|
||
|
Lights: BlockTableRecord;
|
||
|
AmbientLight: AmbientLight;
|
||
|
SunLight: DirectionalLight;
|
||
|
HemisphereLight: HemisphereLight;
|
||
|
DefaultMaterial: PhysicalMaterialRecord;
|
||
|
private idIndex;
|
||
|
private idMap;
|
||
|
constructor(buildDefaultDrawing?: boolean, defaultDatabase?: boolean, disableHistoric?: boolean);
|
||
|
private InitLight;
|
||
|
SettingDefaultMaterial(): void;
|
||
|
Destroy(): void;
|
||
|
FileWrite(): CADFiler;
|
||
|
FileRead(file: CADFiler): this;
|
||
|
/**
|
||
|
* 单个数据库内克隆对象(objects),并将他们附加到指定的容器对象(owner).
|
||
|
* @param objects 被克隆的对象
|
||
|
* @param owner 克隆对象的容器
|
||
|
* @param idMap id映射
|
||
|
* @param deferXlation 指示是否应该进行ID转换
|
||
|
* @returns 新克隆的对象列表
|
||
|
*/
|
||
|
DeepCloneObjects(objects: CADObject[], owner: OwnerContainer, idMap?: IdMaping, deferXlation?: boolean): CADObject[];
|
||
|
/**
|
||
|
* 清理拷贝后的实体空引用
|
||
|
*/
|
||
|
private ClearEmptyAssoc;
|
||
|
DeepCloneObject(filer: DeepCloneFiler, object: CADObject, owner: OwnerContainer, idMap?: IdMaping): CADObject | undefined;
|
||
|
/**
|
||
|
* 将来自不同数据库的对象列表拷贝到本数据库中.
|
||
|
* 当前支持使用HardId模式来硬关联某个对象,使该对象能够在WblockClone时一起被带过来.
|
||
|
* 当前不支持硬关联对象的Owner不是默认的容器.
|
||
|
* 如果需要这么做,请将该对象的Owner设置为Hard关联
|
||
|
* @param objects 对象不能属于本数据库
|
||
|
* @param owner 克隆对象的新容器
|
||
|
* @param idMap id映射
|
||
|
*/
|
||
|
WblockCloneObejcts(objects: CADObject[], owner: OwnerContainer, idMap: IdMaping, drc: DuplicateRecordCloning): CADObject[];
|
||
|
/**
|
||
|
* 克隆引用对象 WriteHardObjectId
|
||
|
*/
|
||
|
private WblockCloneReferenceObject;
|
||
|
private WblockCloneObject;
|
||
|
/**
|
||
|
* 为拷贝出来的对象分配id索引,并在数据库中注册
|
||
|
*/
|
||
|
private AllocationObjectId;
|
||
|
Insert(): void;
|
||
|
/**
|
||
|
* 写块
|
||
|
* @param outputDatabase 输出到指定的数据库
|
||
|
* @param objects
|
||
|
* @param basePoint
|
||
|
* @param cloning
|
||
|
*/
|
||
|
Wblock(outputDataBase: Database, objects: CADObject[], basePoint: Vector3, cloning: any): void;
|
||
|
AllocateId(): ObjectId;
|
||
|
GetObjectId(index: number, create?: boolean): ObjectId;
|
||
|
}
|
||
|
export {};
|
||
|
//# sourceMappingURL=Database.d.ts.map
|