|
@@ -29,8 +29,6 @@ import android.graphics.Color
|
|
import android.graphics.PointF
|
|
import android.graphics.PointF
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
import android.os.Environment
|
|
import android.os.Environment
|
|
-import android.support.v7.widget.GridLayoutManager
|
|
|
|
-import android.support.v7.widget.LinearLayoutManager
|
|
|
|
import android.util.Log
|
|
import android.util.Log
|
|
import android.view.Gravity
|
|
import android.view.Gravity
|
|
import android.view.MotionEvent
|
|
import android.view.MotionEvent
|
|
@@ -49,6 +47,7 @@ import cn.sagacloud.android.cadengine.Lasso
|
|
import cn.sagacloud.android.cadengine.Opt
|
|
import cn.sagacloud.android.cadengine.Opt
|
|
import cn.sagacloud.android.cadengine.items.*
|
|
import cn.sagacloud.android.cadengine.items.*
|
|
import cn.sagacloud.android.cadengine.types.*
|
|
import cn.sagacloud.android.cadengine.types.*
|
|
|
|
+import cn.sagacloud.android.cadengine.types.Space
|
|
import cn.sagacloud.cadengine.HttpDownloadMap
|
|
import cn.sagacloud.cadengine.HttpDownloadMap
|
|
import com.afollestad.materialdialogs.MaterialDialog
|
|
import com.afollestad.materialdialogs.MaterialDialog
|
|
import com.arashivision.sdkcamera.camera.InstaCameraManager
|
|
import com.arashivision.sdkcamera.camera.InstaCameraManager
|
|
@@ -63,6 +62,7 @@ import com.sybotan.android.demo.activities.poc.DeviceActivity
|
|
import com.sybotan.android.demo.activities.poc.RelationActivity
|
|
import com.sybotan.android.demo.activities.poc.RelationActivity
|
|
import com.sybotan.android.demo.adapter.PipeAdapter
|
|
import com.sybotan.android.demo.adapter.PipeAdapter
|
|
import com.sybotan.android.demo.bean.result.*
|
|
import com.sybotan.android.demo.bean.result.*
|
|
|
|
+import com.sybotan.android.demo.graphy.GraphyHelper
|
|
import com.sybotan.android.demo.retrofit.BaseViewModelInterface
|
|
import com.sybotan.android.demo.retrofit.BaseViewModelInterface
|
|
import com.sybotan.android.demo.tools.DensityUtils
|
|
import com.sybotan.android.demo.tools.DensityUtils
|
|
import com.sybotan.android.demo.tools.WordWrapView
|
|
import com.sybotan.android.demo.tools.WordWrapView
|
|
@@ -166,7 +166,7 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
private lateinit var qrcodeNext: TextView
|
|
private lateinit var qrcodeNext: TextView
|
|
private lateinit var pipeNext: TextView
|
|
private lateinit var pipeNext: TextView
|
|
private lateinit var pipeEdit: EditText
|
|
private lateinit var pipeEdit: EditText
|
|
- private lateinit var drawEquip: EditText
|
|
|
|
|
|
+ private lateinit var drawEquip: TextView
|
|
private lateinit var drawPipe: TextView
|
|
private lateinit var drawPipe: TextView
|
|
private lateinit var piprRv: RecyclerView
|
|
private lateinit var piprRv: RecyclerView
|
|
private lateinit var equipCancel: TextView
|
|
private lateinit var equipCancel: TextView
|
|
@@ -188,6 +188,8 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
private lateinit var quesTv: TextView
|
|
private lateinit var quesTv: TextView
|
|
private lateinit var quesSubmit: TextView
|
|
private lateinit var quesSubmit: TextView
|
|
private lateinit var qrcodeEdit: EditText
|
|
private lateinit var qrcodeEdit: EditText
|
|
|
|
+ private lateinit var webview: WebView
|
|
|
|
+ private lateinit var quesIma: ImageView
|
|
|
|
|
|
/**
|
|
/**
|
|
* 创建Activity时的回调函数
|
|
* 创建Activity时的回调函数
|
|
@@ -206,16 +208,12 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
InstaCameraManager.getInstance().registerCameraChangedCallback(this)
|
|
InstaCameraManager.getInstance().registerCameraChangedCallback(this)
|
|
graphyView.scene = scene
|
|
graphyView.scene = scene
|
|
|
|
|
|
- val rect1 = scene.addRectItem(10f, 10f, 400f, 300f)
|
|
|
|
- rect1.moveTo(53587.82f, 28717.135f)
|
|
|
|
- rect1.zOrder = 1000009f
|
|
|
|
|
|
|
|
/** 开启异步 */
|
|
/** 开启异步 */
|
|
doAsync {
|
|
doAsync {
|
|
val downloadGZIPMap = HttpDownloadMap.downloadGZIPMap(floorMap)
|
|
val downloadGZIPMap = HttpDownloadMap.downloadGZIPMap(floorMap)
|
|
downloadGZIPMap?.let {
|
|
downloadGZIPMap?.let {
|
|
scene.loadData(it)
|
|
scene.loadData(it)
|
|
- eagleView.scene = scene
|
|
|
|
}
|
|
}
|
|
/** 主线程处理ui */
|
|
/** 主线程处理ui */
|
|
uiThread {
|
|
uiThread {
|
|
@@ -232,7 +230,6 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
// scene.addItem(mapItem)
|
|
// scene.addItem(mapItem)
|
|
mapItem = BaseMapItem(this@GraphyActivity, null)
|
|
mapItem = BaseMapItem(this@GraphyActivity, null)
|
|
}
|
|
}
|
|
- eagleView.fitSceneToView()
|
|
|
|
|
|
|
|
Log.e("viewH", graphyView.measuredHeight.toString())
|
|
Log.e("viewH", graphyView.measuredHeight.toString())
|
|
}
|
|
}
|
|
@@ -357,6 +354,8 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
quesTv = findViewById(R.id.quesTv)
|
|
quesTv = findViewById(R.id.quesTv)
|
|
quesSubmit = findViewById(R.id.quesSubmit)
|
|
quesSubmit = findViewById(R.id.quesSubmit)
|
|
qrcodeEdit = findViewById(R.id.qrcodeEdit)
|
|
qrcodeEdit = findViewById(R.id.qrcodeEdit)
|
|
|
|
+ webview = findViewById(R.id.webview)
|
|
|
|
+ quesIma = findViewById(R.id.quesIma)
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -780,10 +779,7 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
|
|
|
/** 查询空间核查问题 */
|
|
/** 查询空间核查问题 */
|
|
GraphyVM.GET_PROBLEM -> {
|
|
GraphyVM.GET_PROBLEM -> {
|
|
- for (item in scene.pointItemList) {
|
|
|
|
- scene.removeItem(item)
|
|
|
|
- }
|
|
|
|
- scene.pointItemList.clear()
|
|
|
|
|
|
+ graphyHelper.removeAllPoint()
|
|
var list = params as ArrayList<ProblemsModel>
|
|
var list = params as ArrayList<ProblemsModel>
|
|
val mPoints = ArrayList<PointF>()
|
|
val mPoints = ArrayList<PointF>()
|
|
val point1 = PointF()
|
|
val point1 = PointF()
|
|
@@ -810,14 +806,9 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
point.mX = position.x.toFloat()
|
|
point.mX = position.x.toFloat()
|
|
point.mY = position.y.toFloat()
|
|
point.mY = position.y.toFloat()
|
|
point.id = model.id
|
|
point.id = model.id
|
|
- var item = PointItem(point, null, scene.defaultPointScale)
|
|
|
|
- item.isVisible = true
|
|
|
|
- item.zOrder = 10000001f
|
|
|
|
- scene.pointItemList.add(item)
|
|
|
|
- scene.addItem(item)
|
|
|
|
- item.setOnActionMove(object : PointItem.ActionMove {
|
|
|
|
|
|
+ val addPoint = graphyHelper.addPoint(point)
|
|
|
|
+ addPoint.setOnActionMove(object : PointItem.ActionMove {
|
|
override fun onActionMove(event: MotionEvent) {
|
|
override fun onActionMove(event: MotionEvent) {
|
|
- eagleView.setCenterPoint(PointF(event.x, event.y), graphyView.scale * 10f)
|
|
|
|
}
|
|
}
|
|
|
|
|
|
})
|
|
})
|
|
@@ -854,11 +845,7 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
point.mX = position.x.toFloat()
|
|
point.mX = position.x.toFloat()
|
|
point.mY = position.y.toFloat()
|
|
point.mY = position.y.toFloat()
|
|
|
|
|
|
- var item = QrcodeItem(point, null, scene.defaultPointScale)
|
|
|
|
- item.isVisible = true
|
|
|
|
- item.zOrder = 100000f
|
|
|
|
- scene.qrcodeItemList.add(item)
|
|
|
|
- scene.addItem(item)
|
|
|
|
|
|
+ graphyHelper.addQrcode(point)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -987,15 +974,12 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
}, this, buildingId, floorId)
|
|
}, this, buildingId, floorId)
|
|
graphyVM.getSpaceJob(from)
|
|
graphyVM.getSpaceJob(from)
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ val graphyHelper : GraphyHelper = GraphyHelper(scene)
|
|
/**
|
|
/**
|
|
* 刷新地图上管线
|
|
* 刷新地图上管线
|
|
*/
|
|
*/
|
|
private fun refreshPipe(spacePipeModel: ArrayList<SpacePipeModel>) {
|
|
private fun refreshPipe(spacePipeModel: ArrayList<SpacePipeModel>) {
|
|
- for (item in scene.pipeItemList) {
|
|
|
|
- scene.removeItem(item)
|
|
|
|
- }
|
|
|
|
- scene.pipeItemList.clear()
|
|
|
|
|
|
+ graphyHelper.removeAllPipeline()
|
|
this.spacePipeModel = spacePipeModel
|
|
this.spacePipeModel = spacePipeModel
|
|
for (model in this.spacePipeModel) {
|
|
for (model in this.spacePipeModel) {
|
|
if (!model.children.isEmpty() && !model.isCheck) {
|
|
if (!model.children.isEmpty() && !model.isCheck) {
|
|
@@ -1004,18 +988,11 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
|
|
|
pipe.points!!.addAll(child.position)
|
|
pipe.points!!.addAll(child.position)
|
|
|
|
|
|
- val pipeItem = PipeLineItem(pipe, null)
|
|
|
|
- pipeItem.isVisible = true
|
|
|
|
- pipeItem.zOrder = 100000f
|
|
|
|
- scene.pipeItemList.add(pipeItem)
|
|
|
|
- scene.addItem(pipeItem)
|
|
|
|
|
|
+ graphyHelper.addPipeline(pipe)
|
|
|
|
|
|
for (point in child.position) {
|
|
for (point in child.position) {
|
|
- val pipeNodeItem = PipeNodeItem(point, null)
|
|
|
|
- pipeNodeItem.isVisible = true
|
|
|
|
- pipeNodeItem.zOrder = 100000f
|
|
|
|
- scene.addItem(pipeNodeItem)
|
|
|
|
- scene.pipeNodeList.add(pipeNodeItem)
|
|
|
|
|
|
+
|
|
|
|
+ val pipeNodeItem = graphyHelper.addPipeNode(point)
|
|
pipeNodeItem.setOnScrollListener(object : PipeNodeItem.OnScroll {
|
|
pipeNodeItem.setOnScrollListener(object : PipeNodeItem.OnScroll {
|
|
override fun onScroll(x: Float, y: Float) {
|
|
override fun onScroll(x: Float, y: Float) {
|
|
for (item in scene.pipeItemList) {
|
|
for (item in scene.pipeItemList) {
|
|
@@ -1029,11 +1006,7 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
po.y = node.y
|
|
po.y = node.y
|
|
newData.points!!.add(po)
|
|
newData.points!!.add(po)
|
|
}
|
|
}
|
|
- val pipeItem2 = PipeLineItem(newData, null)
|
|
|
|
- pipeItem2.isVisible = true
|
|
|
|
- pipeItem2.zOrder = 100000f
|
|
|
|
- scene.pipeItemList.add(pipeItem2)
|
|
|
|
- scene.addItem(pipeItem2)
|
|
|
|
|
|
+ graphyHelper.addPipeline(newData)
|
|
|
|
|
|
// for (pointItem1 in scene.pipeItemList) {
|
|
// for (pointItem1 in scene.pipeItemList) {
|
|
// for (pointList1 in pointItem1.data.points!!) {
|
|
// for (pointList1 in pointItem1.data.points!!) {
|
|
@@ -1090,10 +1063,7 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
* 刷新地图上设备
|
|
* 刷新地图上设备
|
|
*/
|
|
*/
|
|
private fun refreshEquip(list: List<SpaceEqModel>) {
|
|
private fun refreshEquip(list: List<SpaceEqModel>) {
|
|
- for (item in scene.equipList) {
|
|
|
|
- scene.removeItem(item)
|
|
|
|
- }
|
|
|
|
- scene.equipList.clear()
|
|
|
|
|
|
+ graphyHelper.removeAllEquip()
|
|
for (model in list) {
|
|
for (model in list) {
|
|
if (!model.children.isEmpty() && !model.isCheck) {
|
|
if (!model.children.isEmpty() && !model.isCheck) {
|
|
for (child in model.children) {
|
|
for (child in model.children) {
|
|
@@ -1105,11 +1075,7 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
point.type = model.type
|
|
point.type = model.type
|
|
point.position = child.position
|
|
point.position = child.position
|
|
|
|
|
|
- var item = EquipItem(point, null, scene.defaultPointScale)
|
|
|
|
- item.isVisible = true
|
|
|
|
- item.zOrder = 10000012f
|
|
|
|
- scene.equipList.add(item)
|
|
|
|
- scene.addItem(item)
|
|
|
|
|
|
+ graphyHelper.addEquip(point)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1119,25 +1085,16 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
* 重置空间界面
|
|
* 重置空间界面
|
|
*/
|
|
*/
|
|
private fun refreshAll() {
|
|
private fun refreshAll() {
|
|
- for (item in scene.pointItemList) {
|
|
|
|
- scene.removeItem(item)
|
|
|
|
- }
|
|
|
|
- scene.pointItemList.clear()
|
|
|
|
|
|
+ graphyHelper.removeAllPoint()
|
|
|
|
|
|
for (item in scene.tunableSpaceList) {
|
|
for (item in scene.tunableSpaceList) {
|
|
scene.removeItem(item)
|
|
scene.removeItem(item)
|
|
}
|
|
}
|
|
scene.tunableSpaceList.clear()
|
|
scene.tunableSpaceList.clear()
|
|
|
|
|
|
- for (item in scene.qrcodeItemList) {
|
|
|
|
- scene.removeItem(item)
|
|
|
|
- }
|
|
|
|
- scene.qrcodeItemList.clear()
|
|
|
|
|
|
+ graphyHelper.removeAllQrcode()
|
|
|
|
+ graphyHelper.removeAllEquip()
|
|
|
|
|
|
- for (item in scene.equipList) {
|
|
|
|
- scene.removeItem(item)
|
|
|
|
- }
|
|
|
|
- scene.equipList.clear()
|
|
|
|
|
|
|
|
spaceStructure.visibility = View.GONE
|
|
spaceStructure.visibility = View.GONE
|
|
quesDetail.visibility = View.GONE
|
|
quesDetail.visibility = View.GONE
|