You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/__test__/Utils/LoadEntity.util.ts

49 lines
1.2 KiB

import { CADFiler } from "../../src/DatabaseServices/CADFiler";
import { Entity } from "../../src/DatabaseServices/Entity";
import { Polyline } from "../../src/DatabaseServices/Polyline";
import { Factory } from "../../src/DatabaseServices/CADFactory";
import { Curve } from "../../src/DatabaseServices/Curve";
import { Board } from "../../src/DatabaseServices/Board";
import { Region } from "../../src/DatabaseServices/Region";
Factory(Polyline);
Factory(Region);
Factory(Board);
export function LoadEntityFromFileData(data)
{
if (!Array.isArray(data))
data = data.file;
let file = new CADFiler();
file.Data = data;
let ens: Entity[] = [];
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 Entity);
}
return ens;
}
export function LoadCurvesFromFileData(data)
{
return LoadEntityFromFileData(data) as Curve[];
}
export function LoadBoardsFromFileData(data)
{
return LoadEntityFromFileData(data) as Board[];
}
export function LoadRegionsFromFileData(data)
{
return LoadEntityFromFileData(data) as Region[];
}