huangxingxing 1 yıl önce
ebeveyn
işleme
2e4e5b9889
2 değiştirilmiş dosya ile 43 ekleme ve 19 silme
  1. 10 8
      src/control/vtkModel.js
  2. 33 11
      src/view/components/InfoAnimation.vue

+ 10 - 8
src/control/vtkModel.js

@@ -34,8 +34,10 @@ export class VtkModel {
      * 选择管道 
      */
     this.isSelectPipe = false;
-
+    //管道节点选择对象
     this.selectObj = null;
+    //结果选择的点数据
+    this.selectJgPointId=0;
     this.validNodes = [];//节点数据
     this.pipes = [];//管道数据
 
@@ -345,17 +347,17 @@ function processSelections(selections) {
       const points = Array.from(pointIds).map((pointId) =>
         input.getPoints().getPoint(pointId)
       );
-      const scalarDataArray=input.getPointData().getScalars().getData();
-      pointIds.forEach(pointId=>{
-        console.log(input.getPointData().getScalars().getName());
-        console.log(scalarDataArray[pointId]);//节点标量数据
-      });
-      
+      // const scalarDataArray=input.getPointData().getScalars().getData();
+      // pointIds.forEach(pointId=>{
+      //   console.log(input.getPointData().getScalars().getName());
+      //   console.log(scalarDataArray[pointId]);//节点标量数据
+      // });
+      vtkmodel.selectJgPointId =pointIds[0];
     }
   }
   vtkmodel.renderWindow.render();
 
-  // console.log(vtkmodel.selectObj);
+ 
 }
 const throttleMouseHandler = throttle(pickOnMouseEvent, 20);
 const WHITE = [0, 0, 1];

+ 33 - 11
src/view/components/InfoAnimation.vue

@@ -56,7 +56,9 @@
             </div>
           </el-tab-pane>
         </el-tabs>
+        
       </div>
+       
     </el-aside>
     <!-- 监测点 -->
     <!-- 监测点 -->
@@ -117,6 +119,7 @@
               </div>
             </div>
           </div>
+         
         </el-collapse-item>
       </el-collapse>
     </div>
@@ -164,6 +167,7 @@ let endtime = ref(60);
 let timenum = ref(2);
 let aid = ref();
 let timing = ref(null);
+let timing2 = ref(null);
 const percentage = ref(20);
 const customColor = ref("#409eff");
 const tableRowClassName = ({ row, rowIndex }) => {
@@ -206,7 +210,8 @@ const job = ref({
   coids: "", //	物理属性ID逗号分隔
   cocodes: "", //物理属性code逗号分隔
 });
-
+//选择结果存储
+const selobj=ref([]);
 const zdtime = ref("");
 const chvals = ref([]);
 const cocodes = ref([]);
@@ -217,7 +222,7 @@ const cocodeIsInit = ref("false");
 function sliderchange(val) {
   newcount.value=count.value;
   fcon.step = count.value;
-  console.log(count.value);
+  // console.log(count.value);
   // vtkScalarRead();
   // getMonitor();
 }
@@ -344,8 +349,8 @@ function regionchange() {
 // aid获取
 const accident5 = (val) => {
   aid.value = val;
-  console.log(aid.value);
-  console.log("props.classradio", props.classradio);
+  // console.log(aid.value);
+  // console.log("props.classradio", props.classradio);
   if (props.classradio == "Fire") {
     monitor.value = true;
   } else if (props.classradio == "Water") {
@@ -354,11 +359,12 @@ const accident5 = (val) => {
   cocodeIsInit.value = false;
   //获取任务信息
   readJob();
+
   if (resultactiveName.value == "first") {
     timing.value = setInterval(() => {
       const timestamp = new Date().getTime();
       newtime.value = timestampToTime(timestamp);
-      // reddate(new Date());
+      reddate(new Date());
     }, 1000);
   } else {
     timing.value = setInterval(() => {
@@ -393,7 +399,7 @@ async function getMonitor() {
         }
         //监测点类型初始化
         if (!cocodeIsInit.value) {
-          console.log(2222);
+          // console.log(2222);
           cocodeIsInit.value = true;
           cocodes.value = res.cocodes;
           formInline.value.region = cocodes.value[0].cocode;
@@ -419,6 +425,21 @@ async function getMonitor() {
     })
     .catch((err) => {});
 }
+//选择结果定时器
+function jgSelect(){
+    timing2.value = setInterval(() => {//定时器
+      //  console.log("pointid",vtkmodel.selectJgPointId);//选择的点数据
+       //获取点对应的Scalar
+      selobj.value=[];
+      for (const key of fcon.scalar.keys()) {
+         selobj.value.push({
+           name:key,
+           value: fcon.scalar.get(key)[vtkmodel.selectJgPointId]
+         });
+       }
+      // console.log(vtkmodel.selectJgPointId,selobj.value)
+  }, 1000);
+}
 //获取任务信息
 async function readJob() {
   vtkmodel.clearModeAddJg(); //隐藏模版显示结果
@@ -434,6 +455,7 @@ async function readJob() {
         reddate(new Date());
         getMonitor();
         vtkGridRead();
+        jgSelect();
       } else {
         ElMessage({
           message: res.returnMsg,
@@ -461,7 +483,7 @@ function reddate(date) {
   }
   count.value = fcon.step;
   newcount.value = count.value;
-  console.log(newcount.value);
+  // console.log(newcount.value);
 }
 
 function vtkGridRead() {
@@ -469,7 +491,7 @@ function vtkGridRead() {
   fcon
     .initGemetry()
     .then((result) => {
-      console.log(fcon.polydata);
+      // console.log(fcon.polydata);
       vtkScalarRead();
     })
     .catch((err) => {});
@@ -478,7 +500,7 @@ function vtkScalarRead() {
   fcon
     .getScalrsByStep(fcon.step)
     .then((result) => {
-      console.log(fcon.scalar);
+      // console.log(fcon.scalar);
       vtkShow();
     })
     .catch((err) => {
@@ -493,12 +515,12 @@ function vtkShow() {
 
   console.log(formInline.value.region);
   const scalarArray = fcon.scalar.get(formInline.value.region);
-  console.log("scalarArray:", scalarArray);
+  // console.log("scalarArray:", scalarArray);
   const dataArray = vtkDataArray.newInstance({
     name: formInline.value.region,
     size: fcon.polydata.getNumberOfPoints(),
   });
-  console.log(dataArray);
+  // console.log(dataArray);
   dataArray.setData(scalarArray);
   fcon.polydata.getPointData().setScalars(dataArray);