import { Factory } from "../../src/DatabaseServices/CADFactory"; import { CADFiler } from "../../src/DatabaseServices/CADFiler"; import { Board } from "../../src/DatabaseServices/Entity/Board"; import { Curve } from "../../src/DatabaseServices/Entity/Curve"; import { Entity } from "../../src/DatabaseServices/Entity/Entity"; import { Polyline } from "../../src/DatabaseServices/Entity/Polyline"; import { Region } from "../../src/DatabaseServices/Entity/Region"; import { GroupRecord } from "../../src/DatabaseServices/GroupTableRecord"; import { HardwareCompositeEntity } from "../../src/DatabaseServices/Hardware/HardwareCompositeEntity"; import { HardwareTopline } from "../../src/DatabaseServices/Hardware/HardwareTopline"; import { RoomHolePolyline } from "../../src/DatabaseServices/Room/Entity/Wall/Hole/RoomHolePolyline"; import { RoomWallArc } from "../../src/DatabaseServices/Room/Entity/Wall/RoomWallArc"; import { RoomWallLine } from "../../src/DatabaseServices/Room/Entity/Wall/RoomWallLine"; import { TemplateStretchGripAction } from "../../src/DatabaseServices/Template/Action/TemplateStretchGripAction"; import { TemplateLeftRightBoardRecord } from "../../src/DatabaseServices/Template/ProgramTempate/TemplateLeftRightBoardRecord"; import { TemplateSizeBoard } from "../../src/DatabaseServices/Template/ProgramTempate/TemplateSizeBoard"; import { Text } from "../../src/DatabaseServices/Text/Text"; Factory(Polyline); Factory(Region); Factory(Board); Factory(HardwareTopline); Factory(TemplateLeftRightBoardRecord); TemplateSizeBoard; TemplateStretchGripAction; RoomWallLine; RoomHolePolyline; RoomWallArc; Text; HardwareCompositeEntity; GroupRecord; export function LoadEntityFromFileData(data: any) { if (!Array.isArray(data)) data = data.file; let file = new CADFiler(); file.Data = data; let ens: T[] = []; let count = file.Read(); if (typeof count !== "number") { count = file.Data.length; file.Reset(); } for (let i = 0; i < count; i++) { ens.push(file.ReadObject() as unknown as T); } return ens; } export function LoadCurvesFromFileData(data) { return LoadEntityFromFileData(data) as Curve[]; } export function LoadBoardsFromFileData(data) { return LoadEntityFromFileData(data) as Board[]; } export function LoadRegionsFromFileData(data): Region[] { return LoadEntityFromFileData(data) as Region[]; }