<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      mxGraph中線段多次折疊,然后拖動cell至線上,出現(xiàn)放置錯誤與連接線錯誤連接的情況修復(fù)

      當(dāng)線段如下折疊后,拖動一個cell到線上

      出現(xiàn)問題如下 

       

      通過閱讀源碼,發(fā)現(xiàn)他的計算或者傳遞有誤,一直返回的是0

      src\view\mxGraph.js 文件中的

      mxGraph.prototype.splitEdge = function(edge, cells, newEdge, dx, dy, x, y, parent)
      {
      //....    
                //下面的
      mxUtils.findNearestSegment 計算結(jié)果一直為0
                var idx = mxUtils.findNearestSegment(state, (dx + t.x) * s, (dy + t.y) * s); 
      //....
      };

       

      為了不影響其他功能,臨時修改成下面內(nèi)容。

       

      //var idx = mxUtils.findNearestSegment(state, (dx + t.x) * s, (dy + t.y) * s);
                      var idx = 0;
                      if(cells!=null && cells.length >0){
                          var pointX = cells[0].geometry.x + dx
                          var pointY = cells[0].geometry.y + dy
                          idx = mxUtils.myFindNearestSegment(state, (dx + t.x) * s, (dy + t.y) * s);
                      }

      mxUtils.js添加下面的內(nèi)容

       

          myFindNearestSegment: function(edge, x, y)
          {
              if( edge.geometry!=null && edge.geometry.sourcePoint!=null && edge.geometry.targetPoint !=null ){
                  if( edge.geometry.points!=null && edge.geometry.points.length > 0){
                      var lineList = []
                      var startPoint = {
                          x2: edge.geometry.sourcePoint.x,
                          x3: edge.geometry.points[0].x,
                          y2: edge.geometry.sourcePoint.y,
                          x3: edge.geometry.points[0].y
                      }
                      lineList.push(startPoint)
                      for(var i = 0; i<edge.geometry.points.length -1 ; i++){
                          var middlePoint = {
                              x2: edge.geometry.points[i].x,
                              x3: edge.geometry.points[i+1].x,
                              y2: edge.geometry.points[i].y,
                              x3: edge.geometry.points[i+1].y
                          }
                          lineList.push(middlePoint)
                      }
                      var endPoint = {
                          x2: edge.geometry.points[edge.geometry.points.length-1].x,
                          x3: edge.geometry.targetPoint.x,
                          y2: edge.geometry.points[edge.geometry.points-1].y,
                          x3: edge.geometry.targetPoint.y
                      }
                      lineList.push(endPoint)
      
                      var distance = null;
                      var pointIndex = 0;
                      for(var index = 0; index<lineList.length ; index ++ ){
                          var line = lineList[index]
                          var diff = this.pointToLineDisTance(x,y,line.x2,line.y2,line.x3,line.y3)
                          if(distance ==null || distance > diff){
                              distance = diff
                              pointIndex = index
                          }
                      }
                      return pointIndex;
                  }
              }else{
                  return 0
              }
          },
      
          pointToLineDistance: function (x1, y1, x2, y2, x3, y3) {
              // 計算直線 (x2, y2) 到 (x3, y3) 的方向向量
              var numerator = Math.abs((y3 - y2) * x1 - (x3 - x2) * y1 + x3 * y2 - y3 * x2);
              var denominator = Math.sqrt(Math.pow(y3 - y2, 2) + Math.pow(x3 - x2, 2));
              return numerator / denominator;
          },

       

      posted @ 2024-11-22 15:51  沙師弟demo  閱讀(53)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久章草这里只有精品| 亚洲色欲久久久久综合网| 国产精品国三级国产av| 热久久这里只有精品国产| 日本一区二区三深夜不卡| 夜爽8888视频在线观看| 9久9久热精品视频在线观看| 国产乱码1卡二卡3卡四卡5| 苍井空浴缸大战猛男120分钟| 亚洲精品国产精品不乱码| 日韩一区在线中文字幕| 久久av无码精品人妻出轨| 亚洲精品乱码免费精品乱| 91精品人妻中文字幕色| 久久99亚洲网美利坚合众国| 国产综合久久久久久鬼色| 欧美va天堂在线电影| 91精品国产色综合久久不| 亚洲人成网站77777在线观看 | 亚洲熟妇无码av另类vr影视| 合阳县| 久久夜色精品国产亚洲av| 欧美丰满熟妇xxxx性| 国产永久免费高清在线观看| 激情综合色综合久久综合| 国产a网站| 亚洲嫩模一区二区三区| 国产伦精品一区二区三区妓女下载| 国产一国产精品免费播放| 开心一区二区三区激情| 四虎国产精品免费久久久| 国产真实younv在线| 最近中文字幕完整版hd| 五月婷婷久久中文字幕| 西和县| 野外做受三级视频| japanese边做边乳喷| 欧美亚洲综合成人A∨在线| 国内自拍第一区二区三区| 国产综合精品一区二区三区| 好吊视频一区二区三区在线|