123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- import { floorplanService } from "./Service/FloorplanService.js";
- import { wallService } from "./Service/WallService.js";
- import { tagService } from "./Service/TagService";
- import { signService } from "./Service/SignService";
- import { rectangleService } from "./Service/RectangleService.js";
- import { circleService } from "./Service/CircleService.js";
- import { arrowService } from "./Service/ArrowService.js";
- import { iconService } from "./Service/IconService.js";
- import { tableService } from "./Service/TableService.js";
- import { customImageService } from "./Service/CustomImageService.js";
- import { bgImageService } from "./Service/BgImageService.js";
- export default class Load {
- constructor(layer) {
- this.layer = layer;
- this.version = "v1.1";
- this.vectorsJson = null;
- }
- async load(floorsData) {
- // debugger;
- if (!floorsData || !floorsData.floors) {
- floorplanService.initFloor(0);
- //添加标题
- const title = floorplanService.createTitle();
- floorplanService.addTitle(title);
- //添加指南针
- const compass = floorplanService.createCompass();
- floorplanService.addCompass(compass);
- // //添加背景图片
- // const bgImage = floorplanService.createBgImage()
- // floorplanService.addBgImage(bgImage)
- // if(bgImage.url){
- // const imageData = await floorplanService.loadImageData(bgImage.url)
- // bgImage.setImageData(imageData)
- // }
- return;
- }
- floorplanService.setCurrentId(floorsData.currentId);
- for (let i = 0; i < floorsData.floors.length; ++i) {
- let floor = floorsData.floors[i];
- floorplanService.initFloor(i);
- for (let key in floor.points) {
- wallService.createPoint(
- floor.points[key].x,
- floor.points[key].y,
- floor.points[key].vectorId,
- i
- );
- }
- for (let key in floor.walls) {
- let wall = wallService.createWall(
- floor.walls[key].start,
- floor.walls[key].end,
- floor.walls[key].vectorId,
- i
- );
- floor.walls[key].color && wall.setColor(floor.walls[key].color);
- }
- for (let key in floor.tags) {
- let tag = tagService.createTag(
- floor.tags[key].center,
- floor.tags[key].vectorId,
- i
- );
- tag.setValue(floor.tags[key].value);
- floor.tags[key].color && tag.setColor(floor.tags[key].color);
- floor.tags[key].fontSize && tag.setFontSize(floor.tags[key].fontSize);
- }
- for (let key in floor.customImages) {
- let customImage = await customImageService.createCustomImage(
- floor.customImages[key].url,
- floor.customImages[key].center,
- floor.customImages[key].vectorId
- );
- customImage.setAngle(floor.customImages[key].angle);
- customImage.setScale(floor.customImages[key].scale);
- customImage.setRatio(floor.customImages[key].ratio);
- }
- for (let key in floor.tables) {
- let table = tableService.createTable(
- floor.tables[key].center,
- floor.tables[key].vectorId,
- i
- );
- table.rowLen = floor.tables[key].rowLen;
- table.colLen = floor.tables[key].colLen;
- table.points = floor.tables[key].points;
- table.cells = floor.tables[key].cells;
- }
- for (let key in floor.cells) {
- let cell = tableService.createCell(
- floor.cells[key].parent,
- floor.cells[key].vectorId,
- i
- );
- cell.width = floor.cells[key].width;
- cell.height = floor.cells[key].height;
- cell.value = floor.cells[key].value;
- cell.colIndex = floor.cells[key].colIndex;
- cell.rowIndex = floor.cells[key].rowIndex;
- }
- for (let key in floor.rectangles) {
- let rectangle = rectangleService.createRectangle(
- floor.rectangles[key].points[0],
- floor.rectangles[key].points[2],
- floor.rectangles[key].vectorId,
- i
- );
- floor.rectangles[key].color &&
- rectangle.setColor(floor.rectangles[key].color);
- }
- for (let key in floor.circles) {
- let circle = circleService.createCircle2(
- floor.circles[key].center,
- floor.circles[key].radius,
- floor.circles[key].vectorId,
- i
- );
- floor.circles[key].color && circle.setColor(floor.circles[key].color);
- }
- for (let key in floor.arrows) {
- let arrow = arrowService.createArrow(
- floor.arrows[key].startPoint,
- floor.arrows[key].endPoint,
- floor.arrows[key].vectorId,
- i
- );
- floor.arrows[key].color && arrow.setColor(floor.arrows[key].color);
- }
- for (let key in floor.icons) {
- iconService.createIcon2(
- floor.icons[key].center,
- floor.icons[key].radius,
- floor.icons[key].value,
- floor.icons[key].vectorId,
- i
- );
- }
- for (let key in floor.signs) {
- let sign = signService.createSign(
- floor.signs[key].center,
- floor.signs[key].geoType,
- floor.signs[key].vectorId,
- i
- );
- sign.angle = floor.signs[key].angle;
- floor.signs[key].scale && sign.setScale(floor.signs[key].scale);
- }
- const title = floorplanService.createTitle(
- floor.title.value,
- floor.title.vectorId,
- i,
- floor.title.noShow
- );
- // debugger
- floorplanService.addTitle(title);
- const compass = floorplanService.createCompass(
- floor.compass.angle,
- floor.compass.vectorId,
- i,
- floor.compass.noShow
- );
- // debugger
- floorplanService.addCompass(compass);
- if (floor.bgImage && floor.bgImage.url) {
- const bgImage = await bgImageService.createBgImage(
- floor.bgImage.url,
- floor.bgImage.center
- );
- if (floor.bgImage.hasOwnProperty("scale")) {
- bgImage.setScale(floor.bgImage.scale);
- }
- }
- if (floor.noBoardFrame) {
- floorplanService.setBoardFrame(floor.noBoardFrame);
- }
- }
- }
- }
|