settings.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. //xzw add
  2. import browser from './utils/browser'
  3. const config = {//配置参数 不可修改
  4. displayMode:{
  5. showPointCloud:{
  6. atPano:{
  7. showPoint : true,
  8. showSkybox: false,
  9. pointUsePanoTex : false
  10. },
  11. transition:{
  12. showPoint: true,
  13. showSkybox: false,
  14. pointUsePanoTex: false
  15. },
  16. canLeavePano: true //是否能离开pano位置
  17. },
  18. showPanos:{
  19. atPano:{
  20. showPoint : false,
  21. showSkybox: true,
  22. pointUsePanoTex : false
  23. },
  24. transition:{
  25. showPoint: true,
  26. showSkybox: true,
  27. pointUsePanoTex: true //是否使用全景贴图
  28. },
  29. canLeavePano: false
  30. },
  31. showBoth:{
  32. atPano:{
  33. showPoint : true,
  34. showSkybox: true,
  35. pointUsePanoTex : false //?
  36. },
  37. transition:{
  38. showPoint: true,
  39. showSkybox: true,
  40. pointUsePanoTex: true
  41. },
  42. canLeavePano: true //是否能离开pano位置 离开后自动变为showPointCloud
  43. },
  44. //test:
  45. pointUsePanoTex:{ //---静止时调点云
  46. atPano:{
  47. showPoint : true,
  48. showSkybox: false,
  49. pointUsePanoTex : true
  50. },
  51. transition:{
  52. showPoint: true,
  53. showSkybox: true,
  54. pointUsePanoTex: true //是否使用全景贴图
  55. },
  56. canLeavePano: false
  57. },
  58. },
  59. urls:{
  60. //localTextures:'../resources/textures/',
  61. prefix: 'laser-oss.4dkankan.com',//oss
  62. prefix2: 'testlaser.4dkankan.com'
  63. },
  64. transitionsTime:{
  65. flySpeed : 200,//400, // 毫秒/米
  66. panoToPano: 1000,//2000,
  67. flyIn:1000,
  68. flyOut:1000,
  69. }
  70. ,
  71. view:{
  72. fov:50, //navvis:50
  73. },
  74. pointDensity:{
  75. low:{//highPerformance
  76. maxLevel: 4, //最小为0
  77. pointBudget :1*1000*1000,
  78. },
  79. middle:{//balanced
  80. maxLevel: 5,
  81. pointBudget:4*1000*1000,
  82. },
  83. high:{//highQuality
  84. maxLevel: 8,
  85. pointBudget:8*1000*1000,
  86. }
  87. //minNodeSize?
  88. },
  89. measure:{
  90. lineColor:"#00c7b2",
  91. highLightColor:'#FFFFFF',//'#02e4cc', //hover时线条和mainLabel颜色
  92. backColor:'#333333',
  93. guideLineColor:"#FFFFFF",
  94. lineWidth: 4,
  95. labelOpacity:0.8,
  96. textColor: "#FFFFFF"
  97. },
  98. material:{//初始化
  99. pointSize:0.75,//0.4,
  100. minSize: 0.1,
  101. pointSizeType: 'ADAPTIVE'//
  102. //ADAPTIVE : 字会失真扭曲
  103. //'ATTENUATED' 往旁边看有缝隙、点在浮动
  104. //navvis的shader在哪里 为什么不会抖动
  105. }
  106. ,
  107. renderLayers:{//渲染层,方便分批渲染管理,替代scene的创建。数字不代表顺序。
  108. skybox: 1,
  109. pointcloud: 0,
  110. marker: 2,
  111. reticule: 3,
  112. measure:4,
  113. magnifier:5,
  114. volume:6,
  115. transformationTool:7,
  116. route:10,
  117. map:8,
  118. mapObjects:9,
  119. },
  120. tiling: {
  121. panoPreRenderRepeatDelay: 2500,
  122. panoPreRenderDelay: 500,
  123. preRenderTourPanos: browser.valueFromHash("tileprerender", 0),
  124. tilingFlagNames: ["usetiles", "tiles"],
  125. maxNavPanoQuality: browser.valueFromHash("maxtileq", null),
  126. maxZoomPanoQuality: browser.valueFromHash("maxztileq", null),
  127. overlayStyle: browser.valueFromHash("tileoverlay", 0),
  128. uploadIntervalDelay: browser.valueFromHash("tileupdelay", 10),
  129. initialIntervalDelay: browser.valueFromHash("itiledelay", 0),
  130. maxNonBaseUploadsPerFrame: browser.valueFromHash("maxnbtpf", 2),
  131. maxBaseUploadsPerFrame: browser.valueFromHash("maxbtpf", 6),
  132. customCompression: browser.valueFromHash("tilecustcomp", 0),
  133. mobileHighQualityOverride: !1,
  134. allowUltraHighResolution: !0
  135. },
  136. navigation: {
  137. panoScores: !1,
  138. mouseDirection: !0,
  139. filterStrictness: .75,
  140. angleFactor: -30,
  141. directionFactor: 10,
  142. distanceFactor: -1,
  143. optionalityFactor: 3
  144. },
  145. OrthoCameraLimit:{
  146. zoom:{min:0.001, max:100}, //如果camera缩太小,地图会因为数字边界问题而扭曲
  147. posBound:{
  148. min: {x:-1e5, y:-1e5,z:-1 / 0},
  149. max: {x:1e5, y:1e5, z:1 / 0 }
  150. }
  151. }
  152. ,
  153. }
  154. /* 显示模式:
  155. 1只显示点云: 滚轮为前进后退,方向键可以行走。进入漫游点时自动变为混合(这样全景可以弥补缝隙),过渡时只显示点云。
  156. 2只显示全景: 不能任意行走。 过渡时显示贴图材质非edl的点云(否则有折痕不贴合)。
  157. 3混合:都显示。 不能任意行走。过渡时显示贴图材质非edl的点云(因为只显示点云的话不太美,点云很碎,不细腻)
  158. */
  159. function getPrefix(){
  160. let u = window.location.href.split('//')
  161. let v = u[1].split('/');
  162. return v[0]
  163. }
  164. let settings = {//设置 可修改
  165. number: '', //场景序号
  166. isOfficial:false,
  167. displayMode:'',
  168. isTest :browser.urlHasValue('test'),
  169. prefix:getPrefix(),
  170. pointDensity: '',
  171. ifShowMarker:true,//显示漫游点
  172. floorplanType:null,//平面图类型 'default' | 'diy'
  173. floorplanEnable:false,
  174. cameraFar : 300, //相机最远范围 1-300
  175. limitFar: true, //是否使用setting的cameraFar来限制(如在点云裁剪时为false)
  176. showPanoMesh:false, //显示小球,
  177. dblToFocusPoint:false,//调试时如果需要双击飞向某个点云的点,就打开。此时不在漫游点的话单击将无法漫游。//因和单击漫游冲突
  178. unableNavigate : false//进入如裁剪界面时 禁止漫游
  179. }
  180. settings.isLocalhost = settings.prefix.includes('localhost')
  181. export {config, settings}