webcad-api/types/DatabaseServices/Database.d.ts

93 lines
3.7 KiB
TypeScript
Raw Normal View History

2020-09-24 11:04:12 +08:00
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