浏览代码

绘制标志

haojianlong 5 年之前
父节点
当前提交
6170005803
共有 6 个文件被更改,包括 208 次插入7 次删除
  1. 1 1
      package.json
  2. 5 5
      src/FloorScene.ts
  3. 80 0
      src/LocationPointScene.ts
  4. 2 1
      src/index.ts
  5. 85 0
      src/items/MarkItem.ts
  6. 35 0
      src/types/Marker.ts

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
     "name": "cad-engine",
-    "version": "2.0.30",
+    "version": "2.0.35",
     "description": "上格云 CAD图形引擎。",
     "main": "lib/index.js",
     "types": "lib/index.d.js",

+ 5 - 5
src/FloorScene.ts

@@ -263,7 +263,7 @@ export class FloorScene extends SGraphyScene {
     } // Function addBaseMapItem
 
     /**
-     *  添加所有空间到scene 中
+     *  添加空间到scene 中
      *
      *  @param  space   空间list
      */
@@ -276,7 +276,7 @@ export class FloorScene extends SGraphyScene {
     } // Function addSpace
 
     /**
-     *  添加所有设备到scene 中
+     *  添加柱子到scene 中
      *
      *  @param  column   柱子list
      */
@@ -288,7 +288,7 @@ export class FloorScene extends SGraphyScene {
     } // Function addColumn
 
     /**
-     *  添加所有设备到scene 中
+     *  添加到scene 中
      *
      *  @param  wall   墙list
      */
@@ -312,7 +312,7 @@ export class FloorScene extends SGraphyScene {
     } // Function addVirtualWall
 
     /**
-     *  添加所有位置标签到scene 中
+     *  添加到scene 中
      *
      *  @param  doors   门list
      */
@@ -325,7 +325,7 @@ export class FloorScene extends SGraphyScene {
     } // Function addDoor
 
     /**
-     *  添加所有位置标签到scene 中
+     *  添加窗户到scene 中
      *
      *  @param  windows   窗户list
      */

+ 80 - 0
src/LocationPointScene.ts

@@ -0,0 +1,80 @@
+/*
+ * ********************************************************************************************************************
+ *
+ *                      :*$@@%$*:                         ;:                ;;    ;;
+ *                    :@@%!  :!@@%:                       %!             ;%%@@%$ =@@@@@@@%;     @%@@@%%%%@@@@@
+ *                   :@%;       :$=                       %%$$$%$$         ;$$  ;$@=   !@$
+ *                   =@!                                  %!              @ $=;%   !@@@%:      !$$$$$$$$$$$$$$=
+ *                   =@*                                  %!              @ $= % %@=   =%@!      %=
+ *              *$%%! @@=        ;=$%%%$*:                %!              @ $= % =%%%%%%@$      *%:         =%
+ *            %@@!:    !@@@%=$@@@@%!  :*@@$:              %!              @ $= % $*     ;@      @*          :%*
+ *          ;@@!          ;!!!;:         ;@%:      =======@%========*     @ $$ % $%*****$@     :@$=*********=@$
+ *          $@*   ;@@@%=!:                *@*
+ *          =@$    ;;;!=%@@@@=!           =@!
+ *           %@$:      =@%: :*@@@*       %@=                    Copyright (c) 2016-2019.  北京上格云技术有限公司
+ *            ;%@@$=$@@%*       *@@@$=%@@%;
+ *               ::;::             ::;::                                              All rights reserved.
+ *
+ * ********************************************************************************************************************
+ */
+
+import { FloorScene } from "./FloorScene";
+import { MarkerItem } from "./items/MarkItem";
+import { SMouseEvent } from "@sybotan-web/graphy/lib";
+import { Marker } from "./types/Marker";
+
+/**
+ * 位置标签绘制标志
+ *
+ * @author 郝建龙
+ */
+export class LocationPointScene extends FloorScene {
+    /** 标志list    */
+    markerList: Marker[] = [];
+
+    /**
+     * 构造函数
+     *
+     * @param   data
+     */
+    constructor() {
+        super();
+    } // Constructor
+
+    /**
+     * 添加标志list至scene中
+     *
+     * @param   marker    标志对象list
+     */
+    addMarkerList(markerList: Marker[]): void {
+        markerList.map(t => {
+            this.addMarker(t);
+        });
+    } // Function addMarkerList()
+
+    /**
+     * 添加标志到scene中
+     *
+     * @param   marker  标志对象
+     */
+    addMarker(marker: Marker) {
+        let flag = new MarkerItem(marker);
+        flag.moveTo(marker.X, marker.Y);
+        flag.zOrder = 9999999;
+        this.markerList.push(marker);
+        flag.connect("click", this, this.markerClick);
+        this.addItem(flag);
+    } // Function addMarker()
+
+    /**
+     * 标志的点击事件
+     *
+     * @param   item    点击的旗子item
+     * @param   event   点击的事件
+     */
+    markerClick(item: MarkerItem, event: SMouseEvent) {
+        console.log(this.data);
+        console.log(arguments);
+        alert(1);
+    } // Function markerClick()
+} // Class LocationPointScene

+ 2 - 1
src/index.ts

@@ -1,3 +1,4 @@
 import { FloorScene } from "./FloorScene";
+import { LocationPointScene } from "./LocationPointScene";
 
-export { FloorScene };
+export { FloorScene, LocationPointScene };

文件差异内容过多而无法显示
+ 85 - 0
src/items/MarkItem.ts


+ 35 - 0
src/types/Marker.ts

@@ -0,0 +1,35 @@
+/*
+ * ********************************************************************************************************************
+ *
+ *                      :*$@@%$*:                         ;:                ;;    ;;
+ *                    :@@%!  :!@@%:                       %!             ;%%@@%$ =@@@@@@@%;     @%@@@%%%%@@@@@
+ *                   :@%;       :$=                       %%$$$%$$         ;$$  ;$@=   !@$
+ *                   =@!                                  %!              @ $=;%   !@@@%:      !$$$$$$$$$$$$$$=
+ *                   =@*                                  %!              @ $= % %@=   =%@!      %=
+ *              *$%%! @@=        ;=$%%%$*:                %!              @ $= % =%%%%%%@$      *%:         =%
+ *            %@@!:    !@@@%=$@@@@%!  :*@@$:              %!              @ $= % $*     ;@      @*          :%*
+ *          ;@@!          ;!!!;:         ;@%:      =======@%========*     @ $$ % $%*****$@     :@$=*********=@$
+ *          $@*   ;@@@%=!:                *@*
+ *          =@$    ;;;!=%@@@@=!           =@!
+ *           %@$:      =@%: :*@@@*       %@=                    Copyright (c) 2016-2019.  北京上格云技术有限公司
+ *            ;%@@$=$@@%*       *@@@$=%@@%;
+ *               ::;::             ::;::                                              All rights reserved.
+ *
+ * ********************************************************************************************************************
+ */
+
+/**
+ * 标记item接口
+ *
+ * @author  郝建龙
+ */
+export interface Marker {
+    /** 标记的id  */
+    Id: string;
+    /** 标记的名称  */
+    Name: string;
+    /** X坐标 */
+    X: number;
+    /** Y坐标 */
+    Y: number;
+} // Interface Marker