import { Vector3 } from 'three'; import { DuplicateRecordCloning } from '../Common/Status'; import { BlockTableRecord } from './BlockTableRecord'; import { CADFiler } from './CADFiler'; import { CADObject } from './CADObject'; import { CameraSnapshootRecord } from './CameraSnapshoot/CameraSnapshootRecord'; 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 { OwnerContainer } from './OwnerContainer'; import { PhysicalMaterialRecord } from './PhysicalMaterialRecord'; import { ProcessingGroupTable } from './ProcessingGroup/ProcessingGroupTable'; import { TemplateTable } from './Template/TemplateTable'; import { TextureTable } from './TextureTable'; import { WblockCloneFiler } from './WblockCloneFiler'; export declare class Database { private defaultDatabase; hm: HistoricManage; MaterialTable: MaterialTable; TextureTable: TextureTable; TemplateTable: TemplateTable; GroupTable: GroupTable; ProcessingGroupTable: ProcessingGroupTable; ModelSpace: BlockTableRecord; LayoutSpace: BlockTableRecord; Lights: BlockTableRecord; CameraSnapshoots: CameraSnapshootRecord[]; 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(file?: CADFiler): 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, filer?: WblockCloneFiler): 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; DeleteId(idIndex: number): void; } //# sourceMappingURL=Database.d.ts.map