xzw 1 year ago
parent
commit
f797abe7a2
3 changed files with 21 additions and 19 deletions
  1. 4 3
      src/custom/objects/Sprite.js
  2. 15 15
      src/custom/objects/tool/Measure.js
  3. 2 1
      src/navigation/InputHandlerNew.js

+ 4 - 3
src/custom/objects/Sprite.js

@@ -24,7 +24,7 @@ export default class Sprite extends THREE.Mesh{
         
         let update = (e)=>{
             //this.update(e)
-            this.needsUpdate = true
+            this.matrixMap.clear()    //this.needsUpdate = true
         }
         viewer.mapViewer && viewer.mapViewer.addEventListener("camera_changed",  update) 
         viewer.addEventListener("camera_changed",  update) 
@@ -34,8 +34,8 @@ export default class Sprite extends THREE.Mesh{
          
         
         let applyMatrix = (e)=>{
-            if(this.needsUpdate) this.update(e)
-            else this.applyMatrix(e)
+            /* if(this.needsUpdate) this.update(e)
+            else  */this.applyMatrix(e)
         }
         viewer.addEventListener("raycaster", applyMatrix)        //before render
         viewer.addEventListener("render.begin", applyMatrix) //before render  //magnifier时要禁止吗
@@ -145,6 +145,7 @@ export default class Sprite extends THREE.Mesh{
         this.matrixMap.set(e.viewport, this.root.matrix.clone())
         
         this.useViewport = e.viewport
+         
     }
     
     applyMatrix(e){

+ 15 - 15
src/custom/objects/tool/Measure.js

@@ -26,14 +26,8 @@ const lineDepthInfo = {
     clipDistance : 4,//消失距离
     occlusionDistance: 1,//变为backColor距离 
 }
-const LabelDepthInfo = {
-    clipDistance : 6,//消失距离
-    occlusionDistance: 2,//变为backColor距离 
-}  
-/* const LabelDepthInfo = {
-    clipDistance : 0.1,//消失距离
-    occlusionDistance: 0.1,//变为backColor距离 
-} */
+ 
+ 
 
 const markerSizeInfo = {
     minSize : 25 ,  maxSize : 65,   nearBound : 0.2, farBound : 4,
@@ -45,6 +39,12 @@ const mainLabelProp = {
     fontsize:16, 
     useDepth : true ,
     renderOrder : 5, pickOrder:5, 
+    
+    
+    clipDistance : 20,//消失距离
+    occlusionDistance: 5,//变为backColor距离 
+    maxOcclusionFactor:0.7,
+    
 }
 const subLabelProp = { 
     backgroundColor: {r: 255, g: 255, b: 255, a:1},
@@ -733,7 +733,7 @@ export class Measure extends ctrlPolygon{
     getLineMat(type) { 
         if(!Measure.lineMats){
             Measure.lineMats = { 
-                edgeDefault:  LineDraw.createFatLineMat({
+                edgeDefault:  LineDraw.createFatLineMat($.extend({},lineDepthInfo,{ 
                     color: config.measure.default.color, 
                     lineWidth: config.measure.lineWidth,
                     useDepth :true,
@@ -744,22 +744,22 @@ export class Measure extends ctrlPolygon{
                     transparent: true,
                     opacity: config.measure.default.opacity,
                     depthTestWhenPick:true,
-                }),
-                edgeSelect:  LineDraw.createFatLineMat({
+                })),
+                edgeSelect:  LineDraw.createFatLineMat($.extend({},lineDepthInfo,{ 
                     color: config.measure.highlight.color,//'#f0ff00',
                     dashSize: 0.5, 
                     gapSize: 0.2, 
                     lineWidth: config.measure.lineWidth  ,
                     transparent: true,
                     opacity: config.measure.highlight.opacity
-                }),
-                guide:   LineDraw.createFatLineMat({
+                })),
+                guide:   LineDraw.createFatLineMat($.extend({},lineDepthInfo,{ 
                     color:config.measure.guide.color, 
                     dashSize: 0.1, 
                     gapSize: 0.02,
                     dashed: true,
                     lineWidth: config.measure.lineWidth  
-                }) 
+                }))
                     
             }
         }
@@ -770,7 +770,7 @@ export class Measure extends ctrlPolygon{
     
     createAreaPlane(){
         planeMats || (planeMats = { 
-            default: new DepthBasicMaterial( $.extend({},LabelDepthInfo,{
+            default: new DepthBasicMaterial( $.extend({},lineDepthInfo,{
                 color:color,
                 side:THREE.DoubleSide,
                 opacity:0.2,

+ 2 - 1
src/navigation/InputHandlerNew.js

@@ -1381,7 +1381,8 @@ export class InputHandler extends THREE.EventDispatcher {
                 let material = e.object.material
                 
                 return e.object.pickDontCheckDis || ( material.depthTest == false || material.depthWrite == false) && !material.realUseDepth  //!material.depthTestWhenPick
-                 || ( material.useDepth ? e.distance < this.intersect.distance + material.uniforms.occlusionDistance.value : e.distance < this.intersect.distance )
+                 || ( material.useDepth ? e.distance < this.intersect.distance + material.uniforms.clipDistance.value : e.distance < this.intersect.distance )
+                //maxClipFactor是否需要考虑?
             }) 
         }