|
@@ -0,0 +1,361 @@
|
|
|
+//package cn.sagacloud.android.cadengine
|
|
|
+//
|
|
|
+//import cn.sagacloud.android.cadengine.items.*
|
|
|
+//import cn.sagacloud.android.cadengine.types.*
|
|
|
+//
|
|
|
+///**
|
|
|
+// * 楼层场景
|
|
|
+// *
|
|
|
+// * @author 付国宝
|
|
|
+// */
|
|
|
+//class FloorScene {
|
|
|
+// /** item 数据 */
|
|
|
+// //data: FloorData | null = null;
|
|
|
+//
|
|
|
+// /** 是否显示空间 */
|
|
|
+// private var _isShowSpace: Boolean = true;
|
|
|
+// fun getIsShowSpace() : Boolean {
|
|
|
+// return this._isShowSpace
|
|
|
+// } // Function getIsShowSpace()
|
|
|
+// fun setIsShowSpace(v: Boolean ) {
|
|
|
+// if(this._isShowSpace == v){
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this._isShowSpace = v
|
|
|
+//// this.spaceList.map((t: SpaceItem) => {
|
|
|
+//// t.visible = this._isShowSpace;
|
|
|
+//// return t;
|
|
|
+//// })
|
|
|
+// } // Function setIsShowSpace()
|
|
|
+//
|
|
|
+// /** 是否显示柱子 */
|
|
|
+// private var _isShowColumn: Boolean = true;
|
|
|
+// fun getIsShowColumn() : Boolean {
|
|
|
+// return this._isShowColumn
|
|
|
+// } // Function getIsShowColumn()
|
|
|
+// fun setIsShowColumn(v: Boolean ) {
|
|
|
+// if(this._isShowColumn == v){
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this._isShowColumn = v
|
|
|
+//// this.columnList.map((t: ColumnItem) => {
|
|
|
+//// t.visible = this._isShowColumn;
|
|
|
+//// return t;
|
|
|
+//// })
|
|
|
+// } // Function setIsShowColumn()
|
|
|
+//
|
|
|
+// /** 是否显示墙体 */
|
|
|
+// private var _isShowWall: Boolean = true;
|
|
|
+// fun getIsShowWall() : Boolean {
|
|
|
+// return this._isShowWall
|
|
|
+// } // Function getIsShowWall()
|
|
|
+// fun setIsShowWall(v: Boolean ) {
|
|
|
+// if(this._isShowWall == v){
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this._isShowWall = v
|
|
|
+//// this.wallList.map((t: WallItem) => {
|
|
|
+//// t.visible = this._isShowWall;
|
|
|
+//// return t;
|
|
|
+//// })
|
|
|
+// } // Function setIsShowWall()
|
|
|
+//
|
|
|
+// /** 是否显示虚拟墙 */
|
|
|
+// private var _isShowVirtualWall: Boolean = true;
|
|
|
+// fun getIsShowVirtualWall() : Boolean {
|
|
|
+// return this._isShowVirtualWall
|
|
|
+// } // Function getIsShowVirtualWall()
|
|
|
+// fun setIsShowVirtualWall(v: Boolean ) {
|
|
|
+// if(this._isShowVirtualWall == v){
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this._isShowVirtualWall = v
|
|
|
+//// this.virtualWallList.map((t: VirtualWallItem) => {
|
|
|
+//// t.visible = this._isShowVirtualWall;
|
|
|
+//// return t;
|
|
|
+//// })
|
|
|
+// } // Function setIsShowVirtualWall()
|
|
|
+//
|
|
|
+// /** 是否显示门 */
|
|
|
+// private var _isShowDoor: Boolean = true;
|
|
|
+// fun getIsShowDoor() : Boolean {
|
|
|
+// return this._isShowDoor
|
|
|
+// } // Function getIsShowDoor()
|
|
|
+// fun setIsShowDoor(v: Boolean ) {
|
|
|
+// if(this._isShowDoor == v){
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this._isShowDoor = v
|
|
|
+//// this.doorList.map((t: DoorItem) => {
|
|
|
+//// t.visible = this._isShowDoor;
|
|
|
+//// return t;
|
|
|
+//// })
|
|
|
+// } // Function setIsShowDoor()
|
|
|
+//
|
|
|
+// /** 是否显示窗户 */
|
|
|
+// private var _isShowWindow: Boolean = true;
|
|
|
+// fun getIsShowWindow() : Boolean {
|
|
|
+// return this._isShowWindow
|
|
|
+// } // Function getIsShowWindow()
|
|
|
+// fun setIsShowWindow(v: Boolean ) {
|
|
|
+// if(this._isShowWindow == v){
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this._isShowWindow = v
|
|
|
+//// this.windowList.map((t: WindowItem) => {
|
|
|
+//// t.visible = this._isShowWindow
|
|
|
+//// return t
|
|
|
+//// })
|
|
|
+// } // Function setIsShowWindow()
|
|
|
+//
|
|
|
+// /** 墙 list */
|
|
|
+// var wallList: ArrayList<WallItem>? = null
|
|
|
+// /** 柱子 list */
|
|
|
+// var columnList: ArrayList<ColumnItem>? = null
|
|
|
+// /** 门 list */
|
|
|
+// var doorList: ArrayList<DoorItem>? = null
|
|
|
+// /** 窗 list */
|
|
|
+// var casementList: ArrayList<WindowItem>? = null
|
|
|
+// /** 虚拟墙 list */
|
|
|
+// var virtualWallList: ArrayList<VirtualWallItem>? = null
|
|
|
+// /** 空间 list */
|
|
|
+// var spaceList: ArrayList<SpaceItem>? = null
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * @param data 绘制空间地图得所有参数
|
|
|
+// */
|
|
|
+// constructor(){
|
|
|
+// super()
|
|
|
+// } // Constructor()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 获取底图压缩文件
|
|
|
+// *
|
|
|
+// * @param url 请求数据文件路径
|
|
|
+// */
|
|
|
+// fun loadUrl(url: String){
|
|
|
+// var that = this
|
|
|
+//// return Promise((relove, reject) => {
|
|
|
+//// Axios({
|
|
|
+//// method: "get",
|
|
|
+//// url: url,
|
|
|
+//// data: {},
|
|
|
+//// responseType: "blob"
|
|
|
+//// })
|
|
|
+//// .then((res: any) => {
|
|
|
+//// let blob = res.data
|
|
|
+//// this.unzip(blob)
|
|
|
+//// .then((jsonData: any) => {
|
|
|
+//// that.addBaseMapItem(jsonData)
|
|
|
+//// relove()
|
|
|
+//// })
|
|
|
+//// .catch((error: any) => {
|
|
|
+////// console.log(error)
|
|
|
+//// })
|
|
|
+//// })
|
|
|
+//// .catch((res: any) => {
|
|
|
+////// console.log(res)
|
|
|
+//// });
|
|
|
+//// })
|
|
|
+// } // Function loadUrl()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 解压数据
|
|
|
+// *
|
|
|
+// * @param blob 文件
|
|
|
+// */
|
|
|
+// private fun unzip(blob: Any) : Any {
|
|
|
+// var reader = FileReader()
|
|
|
+// reader.readAsBinaryString(blob)
|
|
|
+// var that = this
|
|
|
+// return Promise(resolve => {
|
|
|
+// reader.onload = (readerEvt: any) => {
|
|
|
+// var binaryString = readerEvt.target.result
|
|
|
+// //解压数据
|
|
|
+// var base64Data = btoa(binaryString)
|
|
|
+// var unGzipData = that.unzipBase64(base64Data)
|
|
|
+// that.data = unGzipData.EntityList[0].Elements
|
|
|
+// resolve(unGzipData)
|
|
|
+// }
|
|
|
+// })
|
|
|
+// } // Function unzip()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 获取楼层未压缩数据
|
|
|
+// *
|
|
|
+// * @param url 请求路径
|
|
|
+// */
|
|
|
+// fun getFloorData(url: String, data: HashMap<String, String>){
|
|
|
+// var that = this
|
|
|
+//// return Promise((resolve, reject) => {
|
|
|
+//// Axios({
|
|
|
+//// method: "post",
|
|
|
+//// url: url,
|
|
|
+//// data: data
|
|
|
+//// })
|
|
|
+//// .then((res: Any) => {
|
|
|
+//// var floordata = res.data.EntityList[0].Elements;
|
|
|
+//// that.addBaseMapItem(floordata);
|
|
|
+//// resolve(res.data);
|
|
|
+//// })
|
|
|
+//// .catch((res: Any) => {
|
|
|
+////// console.log(res);
|
|
|
+//// });
|
|
|
+//// })
|
|
|
+// } // Function getFloorData()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 增添所有底图 item;
|
|
|
+// *
|
|
|
+// * @param data itemList对象
|
|
|
+// */
|
|
|
+// private fun addBaseMapItem(data: FloorData){
|
|
|
+//// data.Walls.map((t: Wall) => {
|
|
|
+//// this.addWall(t)
|
|
|
+//// })
|
|
|
+//// data.Columns.map((t: Column) => {
|
|
|
+//// this.addColumn(t)
|
|
|
+//// })
|
|
|
+//// data.Windows.map((t: Casement) => {
|
|
|
+//// this.addCasement(t)
|
|
|
+//// })
|
|
|
+//// data.VirtualWalls.map((t: VirtualWall) => {
|
|
|
+//// this.addVirtualWall(t)
|
|
|
+//// })
|
|
|
+//// data.Doors.map((t: Door) => {
|
|
|
+//// this.addDoor(t)
|
|
|
+//// })
|
|
|
+//// data.Spaces.map((t: Space) => {
|
|
|
+//// this.addSpace(t)
|
|
|
+//// })
|
|
|
+// } // Function addBaseMapItem()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 添加空间到 scene 中
|
|
|
+// *
|
|
|
+// * @param space 空间list
|
|
|
+// */
|
|
|
+// fun addSpace(space: Space){
|
|
|
+// var item = SpaceItem(null, space)
|
|
|
+// item.zOrder = 2.0
|
|
|
+// item.visible = this.getIsShowSpace()
|
|
|
+// this.spaceList!!.add(item)
|
|
|
+// this.addItem(item)
|
|
|
+// } // Function addSpace()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 添加柱子到 scene 中
|
|
|
+// *
|
|
|
+// * @param column 柱子list
|
|
|
+// */
|
|
|
+// fun addColumn(column: Column){
|
|
|
+// var item = ColumnItem(null, column)
|
|
|
+// item.visible = this.getIsShowColumn()
|
|
|
+// this.columnList!!.add(item)
|
|
|
+// this.addItem(item)
|
|
|
+// } // Function addColumn()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 添加墙到 scene 中
|
|
|
+// *
|
|
|
+// * @param wall 墙list
|
|
|
+// */
|
|
|
+// fun addWall(wall: Wall){
|
|
|
+// var item = WallItem(null, wall)
|
|
|
+// item.visible = this.getIsShowWall()
|
|
|
+// this.wallList!!.add(item)
|
|
|
+// this.addItem(item)
|
|
|
+// } // Function addWall()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 添加所有虚拟墙到 scene 中
|
|
|
+// *
|
|
|
+// * @param virtualWall 虚拟墙list
|
|
|
+// */
|
|
|
+// fun addVirtualWall(virtualWall: VirtualWall){
|
|
|
+// var item = VirtualWallItem(null, virtualWall)
|
|
|
+// item.visible = this.getIsShowVirtualWall()
|
|
|
+// this.virtualWallList.add(item)
|
|
|
+// this.addItem(item)
|
|
|
+// } // Function addVirtualWall()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 添加门到 scene 中
|
|
|
+// *
|
|
|
+// * @param doors 门list
|
|
|
+// */
|
|
|
+// fun addDoor(door: Door){
|
|
|
+// var item = DoorItem(null, door)
|
|
|
+// item.zOrder = 1.0
|
|
|
+// item.visible = this.getIsShowDoor()
|
|
|
+// this.doorList.add(item)
|
|
|
+// this.addItem(item)
|
|
|
+// } // Function addDoor()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 添加窗户到 scene 中
|
|
|
+// *
|
|
|
+// * @param windows 窗户list
|
|
|
+// */
|
|
|
+// fun addCasement(casement: Window){
|
|
|
+// var item = WindowItem(null, casement)
|
|
|
+// item.zOrder = 1
|
|
|
+// item.visible = this.getIsShowWindow()
|
|
|
+// this.casementList!!.add(item)
|
|
|
+// this.addItem(item)
|
|
|
+// } // Function addCasement()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 扩大数组中相应字段一定倍数
|
|
|
+// *
|
|
|
+// * @param arr itemList
|
|
|
+// * @param k 倍数
|
|
|
+// * @param name 字段key值
|
|
|
+// */
|
|
|
+// fun changeMap(arr: Any, k: Any, name: Any){
|
|
|
+//// var data = arr.map((items: any) => {
|
|
|
+//// if (items[name] && items[name].length) {
|
|
|
+//// items[name].map((children: any) => {
|
|
|
+//// if (Array.isArray(children)) {
|
|
|
+//// return children.map(res => {
|
|
|
+//// res.Y = res.Y * k
|
|
|
+//// return res
|
|
|
+//// })
|
|
|
+//// } else {
|
|
|
+//// children.Y = children.Y * k;
|
|
|
+//// return children;
|
|
|
+//// }
|
|
|
+//// })
|
|
|
+//// }
|
|
|
+//// })
|
|
|
+//// return data
|
|
|
+// } // Function changeMap()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 解压文件
|
|
|
+// *
|
|
|
+// * @param b64Data base64数据
|
|
|
+// */
|
|
|
+// private fun unzipBase64(b64Data: Any){
|
|
|
+// var strData = atob(b64Data)
|
|
|
+//// var charData = strData.split("").map(function(x) {
|
|
|
+//// return x.charCodeAt(0)
|
|
|
+//// })
|
|
|
+// var binData = Uint8Array(charData)
|
|
|
+//// var data = pako.inflate(binData, { to: "string" })
|
|
|
+//// return eval("(" + data + ")")
|
|
|
+// } // Function unzipBase64()
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 压缩文件
|
|
|
+// *
|
|
|
+// * @param str 被压缩的数据
|
|
|
+// */
|
|
|
+// private fun zip(str: Any){
|
|
|
+// //escape(str) --->压缩前编码,防止中午乱码
|
|
|
+// var toMap = HashMap<String, String>()
|
|
|
+// toMap.put("to","string")
|
|
|
+// var binaryString = pako.gzip(escape(str), toMap);
|
|
|
+// return binaryString;
|
|
|
+// } // Function zip()
|
|
|
+//} // Class FloorScene
|