xzw 8 mēneši atpakaļ
vecāks
revīzija
61a4c5fc77
3 mainītis faili ar 647 papildinājumiem un 193 dzēšanām
  1. 526 100
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 120 92
      src/sdk/cover/index.js

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 526 - 100
public/lib/potree/potree.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1 - 1
public/lib/potree/potree.js.map


+ 120 - 92
src/sdk/cover/index.js

@@ -280,7 +280,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
         })
         measure.addEventListener('marker_dropped', (e) => {//拖拽结束后发送changeCallBack
             if (measure.parent) {
-                //未被删除
+                //未被删除 
                 bus.emit('update', [
                     measure.dataset_points.map(p => p.clone()),
                     measure.points_datasets
@@ -1196,108 +1196,136 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
             return result
         },
 
-
+ /* export type PathProps = {
+          // 线段名称
+          name: string,
+          // 是否显示名称,
+          showName: boolean,
+          // 文字大小
+          fontSize: number,
+          // 是否显示方向,
+          showDirection: boolean,
+          // 方向是否反向
+          reverseDirection: boolean,
+          line: {
+            width: number,
+            color: string,
+            altitudeAboveGround: number
+            position: SceneLocalPos,
+            normal: SceneLocalPos,
+            modelId: string
+          },
+          points: {
+            // 点位名称
+            name: string,
+            position: SceneLocalPos,
+            modelId: string,
+          }[]
+        } 
+        
+        
+        
+        
+        bus: Emitter<{
+            // 标注点击事件
+            click: void;
+            // 鼠标移入标注事件
+            enter: void;
+            // 鼠标移出标注事件
+            leave: void;
+            // 线段坐标更改事件
+            linePositionChange: {
+              pos: SceneLocalPos,
+              normal: SceneLocalPos,
+              modelId: string
+            }
+            // 路径点位置变更
+            changePoints: PathProps['points']
+            // 距离相机位置变更
+            toCameraDistanceChange: number
+          }>;
+        
+        
+        
+        
+        
+        */
         createPath(props){//路线
- 
-            /* export type Path = {
-              bus: Emitter<{
-                // 标注点击事件
-                click: void;
-                // 鼠标移入标注事件
-                enter: void;
-                // 鼠标移出标注事件
-                leave: void;
-                // 顶部标注中心点像素位置更改事件, 传出像素位置
-                lineTopPositionChange: SceneLocalPos
-                // 路径点位置变更
-                changePoints: PathProps['points']
-                // 距离相机位置变更
-                toCameraDistanceChange: number
-              }>;
-              // 是否可编辑
-              changeCanEdit: (canMove: boolean) => void
-              // 标注可见性
-              visibility: (visibility: boolean) => void
-              // 更改标题气泡属性
-              changeLine: (props: Partial<PathProps['line']>) => void
-              // 顶标注中心像素位置 
-              lineTopPosition: ScreenLocalPos
-              // 距离相机位置
-              toCameraDistance: number
-              // 线段销毁
-              destory: () => void */
-              
-              
-              
-              
-              
-              
-              
-              
-        },
+        
+        
+            let bus = mitt()
+            
+        
+            let path
+            let info = {measureType : 'Path', minMarkers : 2}
+            if(props.points.length == 0){
 
+                path = viewer.measuringTool.startInsertion( info, () => { 
+                    bus.emit("end", ret); //完成  
+                }   
+            }else{
+                info.dataset_points = props.points.map(e=>e.modelId)
+                info.points_datasets = props.points.map(e=>e.position)
+                path = viewer.measuringTool.createMeasureFromData(info);
+                
+            }
+            let funs = getMeasureFunction(path, bus) 
+            path.dispatchEvent('',()=>{
+                changePoints
+            })
 
 
 
 
+            let functions = Object.assign(funs,{
+                changeCanEdit(state){
+                    path.setEditEnable(state)
+                }, 
+                visibility(v){// 标注可见性
+                    Potree.Utils.updateVisible(path,'user', v)
+                },
+                visibilityName(v){ 
+                    tag.setTitleVisi(v, 'user')
+                },
+                changePathPoints(points){
+                    
+                }  
+            })
+        
+         
+        
+        /* export type Path = {
+          
+          // 飞向路径
+          fly: () => void,
+          // 更改路径点
+          changePathPoints: (points: PathProps['points']) => void
+          // 播放路径,相机沿着路径运动,传入播放完毕回调
+          play: (playedHandler: () => void) => void
+          // 停止播放路径
+          pause: () => void
+          // 是否可编辑
+          changeCanEdit: (canMove: boolean) => void
+          // 可见性
+          visibility: (visibility: boolean) => void
+          // 气泡是否可见
+          visibilityName: (visibility: boolean) => void
+          // 更改标题气泡属性
+          changeLine: (props: Partial<PathProps['line']>) => void
+          // 距离相机位置
+          toCameraDistance: number
+          // 线段销毁
+          destory: () => void
+                       */
+              
+              
+        },
 
 
-        /* createTagging: (props: Tagging3DProps) => Tagging3D
 
-                export type Tagging3DProps = {
-                  // 标注类型 2d | 3d
-                  type: TaggingPositionType,
-                  // 模型id
-                  modelId: string,
-                  // 贴地射线获取的位置
-                  position: SceneLocalPos
-                  // 是否可以移动
-                  canMove: boolean,
-                  // 贴地图片url
-                  image: string
-                  // 离地高度
-                  altitudeAboveGround: number,
-                  
-                  // 贴地图片的变换
-                  mat: {
-                    scale: SceneLocalPos,
-                    rotation: Rotation,
-                  }
-                }
-                export type Tagging3D = {
-                  bus: Emitter<{
-                    // 标注点击事件
-                    click: void;
-                    // 鼠标移入标注事件
-                    enter: void;
-                    // 鼠标移出标注事件
-                    leave: void;
-                    // 顶部标注中心点像素位置更改事件,  传出像素位置
-                    topPositionChange: SceneLocalPos
-                    // 位置变更
-                    changePosition: {pos: SceneLocalPos, modelId: string}
-                    // 距离相机位置变更
-                    toCameraDistanceChange: number
-                  }>;
-                  changeCanMove: (canMove: boolean) => void
-                  // 更改图标
-                  changeImage: (url: string) => void
-                  // 标注可见性
-                  visibility: (visibility: boolean) => void
-                  // 标注图片变换,传入变换
-                  changeMat: (props: Tagging3DProps['mat']) => void
-                  // 更改离地高度
-                  changeAltitudeAboveGround: (val: number) => void
-                  // 顶标注中心像素位置 (2d要加上图片大小)
-                  topPosition: SceneLocalPos
-                  // 距离相机位置
-                  toCameraDistance: number
-                  // 标注销毁
-                  destory: () => void
-                }
 
- */
 
+ 
 
         createTagging(props){
             let bus = mitt()