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 { DimStyleTable } from './DimStyle/DimStyleTable'; 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 { ObjectId } from './ObjectId'; import { OwnerContainer } from './OwnerContainer'; import { PhysicalMaterialRecord } from './PhysicalMaterialRecord'; import { ProcessingGroupTable } from './ProcessingGroup/ProcessingGroupTable'; import { BlockTable } from './Tables/BlockTable'; import { MaterialTable } from './Tables/MaterialTable'; import { TextureTable } from './Tables/TextureTable'; import { TemplateTable } from './Template/TemplateTable'; import { WblockCloneFiler } from './WblockCloneFiler'; export declare class Database { IsDefaultDatabase: boolean; hm: HistoricManage; BlockTable: BlockTable; MaterialTable: MaterialTable; TextureTable: TextureTable; TemplateTable: TemplateTable; GroupTable: GroupTable; ProcessingGroupTable: ProcessingGroupTable; DimStyleTable: DimStyleTable; ModelSpace: BlockTableRecord; LayoutSpace: BlockTableRecord; Lights: BlockTableRecord; CameraSnapshoots: CameraSnapshootRecord[]; AmbientLight: AmbientLight; SunLight: DirectionalLight; HemisphereLight: HemisphereLight; DefaultMaterial: PhysicalMaterialRecord; /** 这是为UE设计器提供的拓展数据,WebCAD只负责保存,不使用它. * 在存储吊顶模块时,存储了材质槽信息 */ ExtendedData: any; private idIndex; private idMap; constructor(buildDefaultDrawing?: boolean, IsDefaultDatabase?: boolean, disableHistoric?: boolean); private InitDimStyle; private InitMaterial; private InitLight; SettingDefaultStyleAndMaterial(): 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