@xeokit/xeokit-sdk 2.5.2-beta-11 → 2.5.2-beta-16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/dist/xeokit-sdk.cjs.js +176 -141
  2. package/dist/xeokit-sdk.es.js +176 -141
  3. package/dist/xeokit-sdk.es5.js +151 -149
  4. package/dist/xeokit-sdk.min.cjs.js +2 -2
  5. package/dist/xeokit-sdk.min.es.js +2 -2
  6. package/dist/xeokit-sdk.min.es5.js +2 -2
  7. package/package.json +1 -1
  8. package/src/viewer/metadata/MetaModel.js +15 -0
  9. package/src/viewer/metadata/MetaScene.js +15 -9
  10. package/src/viewer/scene/model/SceneModel.js +1 -1
  11. package/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +1 -1
  12. package/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +1 -1
  13. package/src/viewer/scene/webgl/Renderer.js +20 -19
  14. package/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +0 -663
  15. package/src/src/extras/ContextMenu/ContextMenu.js +0 -907
  16. package/src/src/extras/ContextMenu/index.js +0 -1
  17. package/src/src/extras/MarqueePicker/MarqueePicker.js +0 -352
  18. package/src/src/extras/MarqueePicker/MarqueePickerMouseControl.js +0 -174
  19. package/src/src/extras/MarqueePicker/index.js +0 -2
  20. package/src/src/extras/PointerLens/PointerLens.js +0 -312
  21. package/src/src/extras/PointerLens/index.js +0 -1
  22. package/src/src/extras/collision/ObjectsKdTree3.js +0 -149
  23. package/src/src/extras/collision/index.js +0 -1
  24. package/src/src/extras/index.js +0 -4
  25. package/src/src/index.js +0 -3
  26. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurement.js +0 -731
  27. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.js +0 -84
  28. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js +0 -435
  29. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js +0 -406
  30. package/src/src/plugins/AngleMeasurementsPlugin/index.js +0 -3
  31. package/src/src/plugins/AnnotationsPlugin/Annotation.js +0 -368
  32. package/src/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js +0 -583
  33. package/src/src/plugins/AnnotationsPlugin/index.js +0 -1
  34. package/src/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js +0 -333
  35. package/src/src/plugins/AxisGizmoPlugin/index.js +0 -1
  36. package/src/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js +0 -977
  37. package/src/src/plugins/BCFViewpointsPlugin/index.js +0 -1
  38. package/src/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js +0 -29
  39. package/src/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js +0 -751
  40. package/src/src/plugins/CityJSONLoaderPlugin/index.js +0 -1
  41. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js +0 -963
  42. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.js +0 -84
  43. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +0 -399
  44. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js +0 -505
  45. package/src/src/plugins/DistanceMeasurementsPlugin/index.js +0 -3
  46. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesControl.js +0 -639
  47. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js +0 -436
  48. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Overview.js +0 -247
  49. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Plane.js +0 -167
  50. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/index.js +0 -1
  51. package/src/src/plugins/FastNavPlugin/FastNavPlugin.js +0 -429
  52. package/src/src/plugins/FastNavPlugin/index.js +0 -1
  53. package/src/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +0 -140
  54. package/src/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js +0 -421
  55. package/src/src/plugins/GLTFLoaderPlugin/GLTFSceneModelLoader.js +0 -669
  56. package/src/src/plugins/GLTFLoaderPlugin/index.js +0 -2
  57. package/src/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js +0 -58
  58. package/src/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js +0 -563
  59. package/src/src/plugins/LASLoaderPlugin/index.js +0 -1
  60. package/src/src/plugins/LASLoaderPlugin/loadLASHeader.js +0 -183
  61. package/src/src/plugins/NavCubePlugin/CubeTextureCanvas.js +0 -290
  62. package/src/src/plugins/NavCubePlugin/NavCubePlugin.js +0 -753
  63. package/src/src/plugins/NavCubePlugin/index.js +0 -1
  64. package/src/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js +0 -145
  65. package/src/src/plugins/OBJLoaderPlugin/OBJSceneGraphLoader.js +0 -777
  66. package/src/src/plugins/OBJLoaderPlugin/index.js +0 -1
  67. package/src/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js +0 -33
  68. package/src/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js +0 -274
  69. package/src/src/plugins/STLLoaderPlugin/STLSceneGraphLoader.js +0 -313
  70. package/src/src/plugins/STLLoaderPlugin/index.js +0 -2
  71. package/src/src/plugins/SectionPlanesPlugin/Control.js +0 -1328
  72. package/src/src/plugins/SectionPlanesPlugin/Overview.js +0 -249
  73. package/src/src/plugins/SectionPlanesPlugin/Plane.js +0 -169
  74. package/src/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js +0 -404
  75. package/src/src/plugins/SectionPlanesPlugin/index.js +0 -1
  76. package/src/src/plugins/SkyboxesPlugin/SkyboxesPlugin.js +0 -134
  77. package/src/src/plugins/SkyboxesPlugin/index.js +0 -1
  78. package/src/src/plugins/StoreyViewsPlugin/Storey.js +0 -84
  79. package/src/src/plugins/StoreyViewsPlugin/StoreyMap.js +0 -57
  80. package/src/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js +0 -773
  81. package/src/src/plugins/StoreyViewsPlugin/index.js +0 -1
  82. package/src/src/plugins/TreeViewPlugin/RenderService.js +0 -169
  83. package/src/src/plugins/TreeViewPlugin/TreeViewNode.js +0 -101
  84. package/src/src/plugins/TreeViewPlugin/TreeViewPlugin.js +0 -1370
  85. package/src/src/plugins/TreeViewPlugin/index.js +0 -1
  86. package/src/src/plugins/ViewCullPlugin/ViewCullPlugin.js +0 -295
  87. package/src/src/plugins/ViewCullPlugin/index.js +0 -1
  88. package/src/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js +0 -58
  89. package/src/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js +0 -942
  90. package/src/src/plugins/WebIFCLoaderPlugin/index.js +0 -1
  91. package/src/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js +0 -95
  92. package/src/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +0 -1194
  93. package/src/src/plugins/XKTLoaderPlugin/index.js +0 -2
  94. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV1.js +0 -169
  95. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV10.js +0 -660
  96. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +0 -663
  97. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV2.js +0 -230
  98. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV3.js +0 -223
  99. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV4.js +0 -283
  100. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV5.js +0 -246
  101. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV6.js +0 -301
  102. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV7.js +0 -439
  103. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV8.js +0 -563
  104. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV9.js +0 -518
  105. package/src/src/plugins/XKTLoaderPlugin/parsers/lib/pako.js +0 -2
  106. package/src/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js +0 -238
  107. package/src/src/plugins/XML3DLoaderPlugin/XML3DSceneGraphLoader.js +0 -1279
  108. package/src/src/plugins/XML3DLoaderPlugin/index.js +0 -1
  109. package/src/src/plugins/XML3DLoaderPlugin/zipjs/.jshintrc +0 -11
  110. package/src/src/plugins/XML3DLoaderPlugin/zipjs/deflate.js +0 -2060
  111. package/src/src/plugins/XML3DLoaderPlugin/zipjs/inflate.js +0 -2155
  112. package/src/src/plugins/XML3DLoaderPlugin/zipjs/mime-types.js +0 -1002
  113. package/src/src/plugins/XML3DLoaderPlugin/zipjs/pako/codecs.js +0 -64
  114. package/src/src/plugins/XML3DLoaderPlugin/zipjs/z-worker.js +0 -153
  115. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-ext.js +0 -267
  116. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-fs.js +0 -553
  117. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip.js +0 -991
  118. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zlib-asm/codecs.js +0 -49
  119. package/src/src/plugins/index.js +0 -21
  120. package/src/src/plugins/lib/culling/ObjectCullStates.js +0 -208
  121. package/src/src/plugins/lib/earcut.js +0 -677
  122. package/src/src/plugins/lib/html/Dot.js +0 -179
  123. package/src/src/plugins/lib/html/Label.js +0 -174
  124. package/src/src/plugins/lib/html/Wire.js +0 -220
  125. package/src/src/viewer/Configs.js +0 -127
  126. package/src/src/viewer/Plugin.js +0 -233
  127. package/src/src/viewer/Viewer.js +0 -542
  128. package/src/src/viewer/index.js +0 -5
  129. package/src/src/viewer/localization/LocaleService.js +0 -475
  130. package/src/src/viewer/metadata/IFCObjectDefaultColors.js +0 -163
  131. package/src/src/viewer/metadata/IFCObjectDefaults.js +0 -17
  132. package/src/src/viewer/metadata/MetaModel.js +0 -414
  133. package/src/src/viewer/metadata/MetaObject.js +0 -223
  134. package/src/src/viewer/metadata/MetaScene.js +0 -336
  135. package/src/src/viewer/metadata/Property.js +0 -55
  136. package/src/src/viewer/metadata/PropertySet.js +0 -77
  137. package/src/src/viewer/scene/Bitmap/Bitmap.js +0 -473
  138. package/src/src/viewer/scene/Bitmap/index.js +0 -1
  139. package/src/src/viewer/scene/CameraControl/CameraControl.js +0 -1750
  140. package/src/src/viewer/scene/CameraControl/lib/CameraUpdater.js +0 -312
  141. package/src/src/viewer/scene/CameraControl/lib/controllers/PanController.js +0 -112
  142. package/src/src/viewer/scene/CameraControl/lib/controllers/PickController.js +0 -265
  143. package/src/src/viewer/scene/CameraControl/lib/controllers/PivotController.js +0 -384
  144. package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardAxisViewHandler.js +0 -122
  145. package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardPanRotateDollyHandler.js +0 -183
  146. package/src/src/viewer/scene/CameraControl/lib/handlers/MouseMiscHandler.js +0 -68
  147. package/src/src/viewer/scene/CameraControl/lib/handlers/MousePanRotateDollyHandler.js +0 -345
  148. package/src/src/viewer/scene/CameraControl/lib/handlers/MousePickHandler.js +0 -376
  149. package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPanRotateAndDollyHandler.js +0 -288
  150. package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPickHandler.js +0 -235
  151. package/src/src/viewer/scene/Component.js +0 -915
  152. package/src/src/viewer/scene/Entity.js +0 -502
  153. package/src/src/viewer/scene/ImagePlane/ImagePlane.js +0 -570
  154. package/src/src/viewer/scene/ImagePlane/index.js +0 -1
  155. package/src/src/viewer/scene/LineSet/LineSet.js +0 -163
  156. package/src/src/viewer/scene/LineSet/index.js +0 -1
  157. package/src/src/viewer/scene/camera/Camera.js +0 -912
  158. package/src/src/viewer/scene/camera/CameraFlightAnimation.js +0 -669
  159. package/src/src/viewer/scene/camera/CameraPath.js +0 -194
  160. package/src/src/viewer/scene/camera/CameraPathAnimation.js +0 -326
  161. package/src/src/viewer/scene/camera/CustomProjection.js +0 -149
  162. package/src/src/viewer/scene/camera/Frustum.js +0 -316
  163. package/src/src/viewer/scene/camera/Ortho.js +0 -286
  164. package/src/src/viewer/scene/camera/Perspective.js +0 -304
  165. package/src/src/viewer/scene/camera/index.js +0 -2
  166. package/src/src/viewer/scene/canvas/Canvas.js +0 -490
  167. package/src/src/viewer/scene/canvas/Spinner.js +0 -323
  168. package/src/src/viewer/scene/constants/constants.js +0 -371
  169. package/src/src/viewer/scene/core.js +0 -268
  170. package/src/src/viewer/scene/geometry/Geometry.js +0 -33
  171. package/src/src/viewer/scene/geometry/ReadableGeometry.js +0 -682
  172. package/src/src/viewer/scene/geometry/VBOGeometry.js +0 -319
  173. package/src/src/viewer/scene/geometry/builders/buildBoxGeometry.js +0 -238
  174. package/src/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js +0 -106
  175. package/src/src/viewer/scene/geometry/builders/buildCylinderGeometry.js +0 -271
  176. package/src/src/viewer/scene/geometry/builders/buildGridGeometry.js +0 -102
  177. package/src/src/viewer/scene/geometry/builders/buildPlaneGeometry.js +0 -168
  178. package/src/src/viewer/scene/geometry/builders/buildSphereGeometry.js +0 -161
  179. package/src/src/viewer/scene/geometry/builders/buildTorusGeometry.js +0 -172
  180. package/src/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js +0 -1721
  181. package/src/src/viewer/scene/geometry/builders/index.js +0 -8
  182. package/src/src/viewer/scene/geometry/index.js +0 -4
  183. package/src/src/viewer/scene/geometry/loaders/index.js +0 -2
  184. package/src/src/viewer/scene/geometry/loaders/load3DSGeometry.js +0 -103
  185. package/src/src/viewer/scene/geometry/loaders/loadOBJGeometry.js +0 -130
  186. package/src/src/viewer/scene/index.js +0 -21
  187. package/src/src/viewer/scene/input/Input.js +0 -1333
  188. package/src/src/viewer/scene/libs/k3d.js +0 -1032
  189. package/src/src/viewer/scene/lights/AmbientLight.js +0 -175
  190. package/src/src/viewer/scene/lights/CubeTexture.js +0 -156
  191. package/src/src/viewer/scene/lights/DirLight.js +0 -314
  192. package/src/src/viewer/scene/lights/Light.js +0 -29
  193. package/src/src/viewer/scene/lights/LightMap.js +0 -77
  194. package/src/src/viewer/scene/lights/PointLight.js +0 -395
  195. package/src/src/viewer/scene/lights/ReflectionMap.js +0 -79
  196. package/src/src/viewer/scene/lights/Shadow.js +0 -138
  197. package/src/src/viewer/scene/lights/index.js +0 -5
  198. package/src/src/viewer/scene/marker/Marker.js +0 -383
  199. package/src/src/viewer/scene/marker/SpriteMarker.js +0 -356
  200. package/src/src/viewer/scene/marker/index.js +0 -2
  201. package/src/src/viewer/scene/materials/EdgeMaterial.js +0 -359
  202. package/src/src/viewer/scene/materials/EmphasisMaterial.js +0 -613
  203. package/src/src/viewer/scene/materials/Fresnel.js +0 -222
  204. package/src/src/viewer/scene/materials/LambertMaterial.js +0 -378
  205. package/src/src/viewer/scene/materials/LinesMaterial.js +0 -169
  206. package/src/src/viewer/scene/materials/Material.js +0 -39
  207. package/src/src/viewer/scene/materials/MetallicMaterial.js +0 -820
  208. package/src/src/viewer/scene/materials/PhongMaterial.js +0 -860
  209. package/src/src/viewer/scene/materials/PointsMaterial.js +0 -409
  210. package/src/src/viewer/scene/materials/SpecularMaterial.js +0 -807
  211. package/src/src/viewer/scene/materials/Texture.js +0 -513
  212. package/src/src/viewer/scene/materials/index.js +0 -8
  213. package/src/src/viewer/scene/math/Frustum.js +0 -118
  214. package/src/src/viewer/scene/math/buildEdgeIndices.js +0 -162
  215. package/src/src/viewer/scene/math/geometryCompressionUtils.js +0 -365
  216. package/src/src/viewer/scene/math/index.js +0 -3
  217. package/src/src/viewer/scene/math/math.js +0 -5386
  218. package/src/src/viewer/scene/math/rtcCoords.js +0 -139
  219. package/src/src/viewer/scene/mementos/CameraMemento.js +0 -200
  220. package/src/src/viewer/scene/mementos/ModelMemento.js +0 -263
  221. package/src/src/viewer/scene/mementos/ObjectsMemento.js +0 -259
  222. package/src/src/viewer/scene/mementos/index.js +0 -3
  223. package/src/src/viewer/scene/mesh/Mesh.js +0 -2202
  224. package/src/src/viewer/scene/mesh/draw/DrawRenderer.js +0 -996
  225. package/src/src/viewer/scene/mesh/draw/DrawShaderSource.js +0 -1570
  226. package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesRenderer.js +0 -259
  227. package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesShaderSource.js +0 -159
  228. package/src/src/viewer/scene/mesh/emphasis/EmphasisFillRenderer.js +0 -286
  229. package/src/src/viewer/scene/mesh/emphasis/EmphasisFillShaderSource.js +0 -262
  230. package/src/src/viewer/scene/mesh/index.js +0 -1
  231. package/src/src/viewer/scene/mesh/occlusion/OcclusionRenderer.js +0 -217
  232. package/src/src/viewer/scene/mesh/occlusion/OcclusionShaderSource.js +0 -157
  233. package/src/src/viewer/scene/mesh/pick/PickMeshRenderer.js +0 -223
  234. package/src/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +0 -151
  235. package/src/src/viewer/scene/mesh/pick/PickTriangleRenderer.js +0 -200
  236. package/src/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +0 -124
  237. package/src/src/viewer/scene/mesh/shadow/ShadowRenderer.js +0 -214
  238. package/src/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +0 -98
  239. package/src/src/viewer/scene/metriqs/Metriqs.js +0 -259
  240. package/src/src/viewer/scene/model/ENTITY_FLAGS.js +0 -21
  241. package/src/src/viewer/scene/model/PerformanceModel.js +0 -26
  242. package/src/src/viewer/scene/model/RENDER_PASSES.js +0 -34
  243. package/src/src/viewer/scene/model/SceneModel.js +0 -4018
  244. package/src/src/viewer/scene/model/SceneModelEntity.js +0 -715
  245. package/src/src/viewer/scene/model/SceneModelMesh.js +0 -341
  246. package/src/src/viewer/scene/model/SceneModelTexture.js +0 -38
  247. package/src/src/viewer/scene/model/SceneModelTextureSet.js +0 -59
  248. package/src/src/viewer/scene/model/SceneModelTransform.js +0 -404
  249. package/src/src/viewer/scene/model/VBOSceneModel.js +0 -26
  250. package/src/src/viewer/scene/model/calculateUniquePositions.js +0 -126
  251. package/src/src/viewer/scene/model/compression.js +0 -227
  252. package/src/src/viewer/scene/model/dtx/BindableDataTexture.js +0 -31
  253. package/src/src/viewer/scene/model/dtx/lines/DTXLinesBuffer.js +0 -27
  254. package/src/src/viewer/scene/model/dtx/lines/DTXLinesLayer.js +0 -891
  255. package/src/src/viewer/scene/model/dtx/lines/DTXLinesState.js +0 -46
  256. package/src/src/viewer/scene/model/dtx/lines/DTXLinesTextureFactory.js +0 -411
  257. package/src/src/viewer/scene/model/dtx/lines/dataTextureRamStats.js +0 -49
  258. package/src/src/viewer/scene/model/dtx/lines/rebucketPositions.js +0 -208
  259. package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesColorRenderer.js +0 -389
  260. package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesRenderers.js +0 -65
  261. package/src/src/viewer/scene/model/dtx/triangles/DTXTrianglesLayer.js +0 -1322
  262. package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesBuffer.js +0 -46
  263. package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesState.js +0 -250
  264. package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesTextureFactory.js +0 -518
  265. package/src/src/viewer/scene/model/dtx/triangles/lib/dataTextureRamStats.js +0 -54
  266. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesColorRenderer.js +0 -619
  267. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesDepthRenderer.js +0 -464
  268. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesColorRenderer.js +0 -414
  269. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesRenderer.js +0 -422
  270. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesNormalsRenderer.js +0 -345
  271. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesOcclusionRenderer.js +0 -436
  272. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickDepthRenderer.js +0 -462
  273. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickMeshRenderer.js +0 -436
  274. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsFlatRenderer.js +0 -455
  275. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsRenderer.js +0 -440
  276. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesRenderers.js +0 -307
  277. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSilhouetteRenderer.js +0 -465
  278. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapInitRenderer.js +0 -466
  279. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapRenderer.js +0 -427
  280. package/src/src/viewer/scene/model/index.js +0 -5
  281. package/src/src/viewer/scene/model/rebucketPositions.js +0 -354
  282. package/src/src/viewer/scene/model/vbo/ScratchMemory.js +0 -63
  283. package/src/src/viewer/scene/model/vbo/VBORenderer.js +0 -646
  284. package/src/src/viewer/scene/model/vbo/batching/lines/VBOBatchingLinesLayer.js +0 -699
  285. package/src/src/viewer/scene/model/vbo/batching/lines/lib/VBOBatchingLinesBuffer.js +0 -19
  286. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLineSnapInitRenderer.js +0 -316
  287. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesColorRenderer.js +0 -114
  288. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesRenderers.js +0 -99
  289. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSilhouetteRenderer.js +0 -124
  290. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapInitRenderer.js +0 -311
  291. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapRenderer.js +0 -309
  292. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOSceneModelLineBatchingRenderer.js +0 -24
  293. package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsBuffer.js +0 -20
  294. package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsLayer.js +0 -718
  295. package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsRenderer.js +0 -24
  296. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsColorRenderer.js +0 -168
  297. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsOcclusionRenderer.js +0 -136
  298. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickDepthRenderer.js +0 -156
  299. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickMeshRenderer.js +0 -148
  300. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsRenderers.js +0 -144
  301. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsShadowRenderer.js +0 -107
  302. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSilhouetteRenderer.js +0 -146
  303. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapInitRenderer.js +0 -309
  304. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapRenderer.js +0 -303
  305. package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesBuffer.js +0 -24
  306. package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +0 -1257
  307. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesColorRenderer.js +0 -131
  308. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesEmphasisRenderer.js +0 -135
  309. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesRenderer.js +0 -12
  310. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js +0 -375
  311. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js +0 -34
  312. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorRenderer.js +0 -238
  313. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js +0 -270
  314. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesDepthRenderer.js +0 -126
  315. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesFlatColorRenderer.js +0 -235
  316. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesNormalsRenderer.js +0 -139
  317. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesOcclusionRenderer.js +0 -125
  318. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPBRRenderer.js +0 -561
  319. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickDepthRenderer.js +0 -144
  320. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickMeshRenderer.js +0 -130
  321. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +0 -121
  322. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsRenderer.js +0 -131
  323. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesShadowRenderer.js +0 -107
  324. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSilhouetteRenderer.js +0 -136
  325. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapInitRenderer.js +0 -311
  326. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js +0 -308
  327. package/src/src/viewer/scene/model/vbo/float16.js +0 -760
  328. package/src/src/viewer/scene/model/vbo/instancing/lines/VBOInstancingLinesLayer.js +0 -704
  329. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesColorRenderer.js +0 -148
  330. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderer.js +0 -26
  331. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderers.js +0 -139
  332. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSilhouetteRenderer.js +0 -127
  333. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapInitRenderer.js +0 -331
  334. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapRenderer.js +0 -316
  335. package/src/src/viewer/scene/model/vbo/instancing/points/VBOInstancingPointsLayer.js +0 -728
  336. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsColorRenderer.js +0 -174
  337. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsDepthRenderer.js +0 -156
  338. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsOcclusionRenderer.js +0 -149
  339. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickDepthRenderer.js +0 -170
  340. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickMeshRenderer.js +0 -152
  341. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderer.js +0 -26
  342. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderers.js +0 -174
  343. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsShadowRenderer.js +0 -119
  344. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSilhouetteRenderer.js +0 -154
  345. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapInitRenderer.js +0 -330
  346. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapRenderer.js +0 -311
  347. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingTrianglesRenderer.js +0 -150
  348. package/src/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +0 -1190
  349. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesColorRenderer.js +0 -136
  350. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesEmphasisRenderer.js +0 -137
  351. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesRenderer.js +0 -12
  352. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js +0 -376
  353. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorRenderer.js +0 -253
  354. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js +0 -278
  355. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesDepthRenderer.js +0 -126
  356. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatColorRenderer.js +0 -244
  357. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatNormalsRenderer.js +0 -130
  358. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js +0 -29
  359. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesNormalsRenderer.js +0 -138
  360. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesOcclusionRenderer.js +0 -128
  361. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPBRRenderer.js +0 -561
  362. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickDepthRenderer.js +0 -149
  363. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickMeshRenderer.js +0 -136
  364. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +0 -130
  365. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsRenderer.js +0 -145
  366. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesShadowRenderer.js +0 -113
  367. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSilhouetteRenderer.js +0 -139
  368. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapInitRenderer.js +0 -342
  369. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js +0 -325
  370. package/src/src/viewer/scene/nodes/Node.js +0 -1383
  371. package/src/src/viewer/scene/nodes/index.js +0 -1
  372. package/src/src/viewer/scene/paths/CubicBezierCurve.js +0 -194
  373. package/src/src/viewer/scene/paths/Curve.js +0 -183
  374. package/src/src/viewer/scene/paths/Path.js +0 -239
  375. package/src/src/viewer/scene/paths/QuadraticBezierCurve.js +0 -161
  376. package/src/src/viewer/scene/paths/SplineCurve.js +0 -133
  377. package/src/src/viewer/scene/paths/index.js +0 -5
  378. package/src/src/viewer/scene/postfx/SAO.js +0 -543
  379. package/src/src/viewer/scene/scene/Scene.js +0 -2802
  380. package/src/src/viewer/scene/sectionPlane/SectionPlane.js +0 -198
  381. package/src/src/viewer/scene/sectionPlane/SectionPlaneCache.js +0 -101
  382. package/src/src/viewer/scene/sectionPlane/index.js +0 -1
  383. package/src/src/viewer/scene/skybox/Skybox.js +0 -123
  384. package/src/src/viewer/scene/skybox/index.js +0 -1
  385. package/src/src/viewer/scene/stats.js +0 -44
  386. package/src/src/viewer/scene/utils/Cache.js +0 -29
  387. package/src/src/viewer/scene/utils/FileLoader.js +0 -161
  388. package/src/src/viewer/scene/utils/Loader.js +0 -55
  389. package/src/src/viewer/scene/utils/LoadingManager.js +0 -86
  390. package/src/src/viewer/scene/utils/Map.js +0 -45
  391. package/src/src/viewer/scene/utils/Queue.js +0 -56
  392. package/src/src/viewer/scene/utils/WorkerPool.js +0 -73
  393. package/src/src/viewer/scene/utils/index.js +0 -6
  394. package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js +0 -650
  395. package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/index.js +0 -1
  396. package/src/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js +0 -31
  397. package/src/src/viewer/scene/utils/textureTranscoders/index.js +0 -2
  398. package/src/src/viewer/scene/utils.js +0 -453
  399. package/src/src/viewer/scene/viewport/Viewport.js +0 -212
  400. package/src/src/viewer/scene/webgl/ArrayBuf.js +0 -121
  401. package/src/src/viewer/scene/webgl/Attribute.js +0 -23
  402. package/src/src/viewer/scene/webgl/Drawable.js +0 -270
  403. package/src/src/viewer/scene/webgl/FrameContext.js +0 -313
  404. package/src/src/viewer/scene/webgl/PickResult.js +0 -364
  405. package/src/src/viewer/scene/webgl/Pickable.js +0 -69
  406. package/src/src/viewer/scene/webgl/Program.js +0 -181
  407. package/src/src/viewer/scene/webgl/RenderBuffer.js +0 -378
  408. package/src/src/viewer/scene/webgl/RenderBufferManager.js +0 -34
  409. package/src/src/viewer/scene/webgl/RenderFlags.js +0 -203
  410. package/src/src/viewer/scene/webgl/RenderState.js +0 -40
  411. package/src/src/viewer/scene/webgl/Renderer.js +0 -1781
  412. package/src/src/viewer/scene/webgl/Sampler.js +0 -18
  413. package/src/src/viewer/scene/webgl/Shader.js +0 -49
  414. package/src/src/viewer/scene/webgl/Texture2D.js +0 -442
  415. package/src/src/viewer/scene/webgl/convertConstant.js +0 -244
  416. package/src/src/viewer/scene/webgl/getExtension.js +0 -32
  417. package/src/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +0 -214
  418. package/src/src/viewer/scene/webgl/occlusion/OcclusionTester.js +0 -426
  419. package/src/src/viewer/scene/webgl/sao/SAODepthLimitedBlurRenderer.js +0 -324
  420. package/src/src/viewer/scene/webgl/sao/SAOOcclusionRenderer.js +0 -376
  421. package/src/src/viewer/scene/webgl/webglEnums.js +0 -61
  422. package/src/src/viewer/scene/webglInfo.js +0 -47
  423. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesColorRenderer.js +0 -238
  424. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesColorTextureRenderer.js +0 -270
  425. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesDepthRenderer.js +0 -126
  426. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesEdgesColorRenderer.js +0 -127
  427. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesEdgesRenderer.js +0 -133
  428. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesFlatColorRenderer.js +0 -235
  429. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesNormalsRenderer.js +0 -139
  430. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesOcclusionRenderer.js +0 -125
  431. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPBRRenderer.js +0 -561
  432. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickDepthRenderer.js +0 -144
  433. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickMeshRenderer.js +0 -130
  434. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickNormalsFlatRenderer.js +0 -121
  435. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickNormalsRenderer.js +0 -131
  436. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesRenderer.js +0 -33
  437. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesRenderers.js +0 -375
  438. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesShadowRenderer.js +0 -107
  439. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesSilhouetteRenderer.js +0 -136
  440. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesSnapInitRenderer.js +0 -311
  441. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesSnapRenderer.js +0 -308
  442. package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOSceneModelTriangleBatchingEdgesRenderer.js +0 -12
  443. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesColorRenderer.js +0 -253
  444. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesColorTextureRenderer.js +0 -278
  445. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesDepthRenderer.js +0 -126
  446. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesEdgesColorRenderer.js +0 -132
  447. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesEdgesRenderer.js +0 -134
  448. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesFlatColorRenderer.js +0 -244
  449. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesFlatNormalsRenderer.js +0 -130
  450. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesNormalsRenderer.js +0 -138
  451. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesOcclusionRenderer.js +0 -128
  452. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPBRRenderer.js +0 -561
  453. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickDepthRenderer.js +0 -149
  454. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickMeshRenderer.js +0 -136
  455. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickNormalsFlatRenderer.js +0 -130
  456. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickNormalsRenderer.js +0 -145
  457. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesRenderers.js +0 -376
  458. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesShadowRenderer.js +0 -113
  459. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesSilhouetteRenderer.js +0 -139
  460. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesSnapInitRenderer.js +0 -342
  461. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesSnapRenderer.js +0 -325
  462. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOSceneModelTriangleInstancingEdgesRenderer.js +0 -12
  463. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOSceneModelTriangleInstancingRenderer.js +0 -29
@@ -1,753 +0,0 @@
1
- import {Plugin} from "../../viewer/Plugin.js";
2
- import {math} from "../../viewer/scene/math/math.js";
3
- import {Scene} from "../../viewer/scene/scene/Scene.js";
4
- import {DirLight} from "./../../viewer/scene/lights/DirLight.js";
5
- import {Mesh} from "./../../viewer/scene/mesh/Mesh.js";
6
- import {ReadableGeometry} from "../../viewer/scene/geometry/ReadableGeometry.js";
7
- import {PhongMaterial} from "../../viewer/scene/materials/PhongMaterial.js";
8
- import {Texture} from "../../viewer/scene/materials/Texture.js";
9
- import {buildCylinderGeometry} from "../../viewer/scene/geometry/builders/buildCylinderGeometry.js";
10
- import {CubeTextureCanvas} from "./CubeTextureCanvas.js";
11
- import {ClampToEdgeWrapping} from "../../viewer/scene/constants/constants.js";
12
-
13
- const tempVec3a = math.vec3();
14
- const tempVec3b = math.vec3();
15
- const tempMat4a = math.mat4();
16
-
17
- /**
18
- * {@link Viewer} plugin that lets us look at the entire {@link Scene} from along a chosen axis or diagonal.
19
- *
20
- * [<img src="https://user-images.githubusercontent.com/83100/55674490-c93c2e00-58b5-11e9-8a28-eb08876947c0.gif">](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_NavCubePlugin)
21
- *
22
- * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_NavCubePlugin)]
23
- *
24
- * ## Overview
25
- *
26
- * * Rotating the NavCube causes the Viewer's {@link Camera} to orbit its current
27
- * point-of-interest. Conversely, orbiting the Camera causes the NavCube to rotate accordingly.
28
- * * The faces of the NavCube are aligned with the Viewer's {@link Scene}'s World-space coordinate axis. Clicking on a face moves
29
- * the Camera to look at the entire Scene along the corresponding axis. Clicking on an edge or a corner looks at
30
- * the entire Scene along a diagonal.
31
- * * The NavCube can be configured to either jump or fly the Camera to each new position. We can configure how tightly the
32
- * NavCube fits the Scene to view, and when flying, we can configure how fast it flies. We can also configure whether the
33
- * NavCube fits all objects to view, or just the currently visible objects. See below for a usage example.
34
- * * Clicking the NavCube also sets {@link CameraControl#pivotPos} to the center of the fitted objects.
35
- *
36
- * ## Usage
37
- *
38
- * In the example below, we'll create a Viewer and add a NavCubePlugin, which will create a NavCube gizmo in the canvas
39
- * with the given ID. Then we'll use the {@link XKTLoaderPlugin} to load a model into the Viewer's Scene. We can then
40
- * use the NavCube to look at the model along each axis or diagonal.
41
- *
42
- * ````JavaScript
43
- * import {Viewer, XKTLoaderPlugin, NavCubePlugin} from "xeokit-sdk.es.js";
44
- *
45
- * const viewer = new Viewer({
46
- * canvasId: "myCanvas"
47
- * });
48
- *
49
- * viewer.camera.eye = [-3.93, 2.85, 27.01];
50
- * viewer.camera.look = [4.40, 3.72, 8.89];
51
- * viewer.camera.up = [-0.01, 0.99, 0.03];
52
- *
53
- * const navCube = new NavCubePlugin(viewer, {
54
- *
55
- * canvasID: "myNavCubeCanvas",
56
- *
57
- * visible: true, // Initially visible (default)
58
- *
59
- * cameraFly: true, // Fly camera to each selected axis/diagonal
60
- * cameraFitFOV: 45, // How much field-of-view the scene takes once camera has fitted it to view
61
- * cameraFlyDuration: 0.5,// How long (in seconds) camera takes to fly to each new axis/diagonal
62
- *
63
- * fitVisible: false, // Fit whole scene, including invisible objects (default)
64
- *
65
- * synchProjection: false // Keep NavCube in perspective projection, even when camera switches to ortho (default)
66
- * });
67
- *
68
- * const xktLoader = new XKTLoaderPlugin(viewer);
69
- *
70
- * const model = xktLoader.load({
71
- * id: "myModel",
72
- * src: "./models/xkt/Duplex.ifc.xkt",
73
- * edges: true
74
- * });
75
- * ````
76
- */
77
- class NavCubePlugin extends Plugin {
78
-
79
- /**
80
- * @constructor
81
- * @param {Viewer} viewer The Viewer.
82
- * @param {Object} cfg NavCubePlugin configuration.
83
- * @param {String} [cfg.id="NavCube"] Optional ID for this plugin, so that we can find it within {@link Viewer#plugins}.
84
- * @param {String} [cfg.canvasId] ID of an existing HTML canvas to display the NavCube - either this or canvasElement is mandatory. When both values are given, the element reference is always preferred to the ID.
85
- * @param {HTMLCanvasElement} [cfg.canvasElement] Reference of an existing HTML canvas to display the NavCube - either this or canvasId is mandatory. When both values are given, the element reference is always preferred to the ID.
86
- * @param {Boolean} [cfg.visible=true] Initial visibility.
87
- * @param {Boolean} [cfg.shadowVisible=true] Whether the shadow of the cube is visible.
88
- * @param {String} [cfg.cameraFly=true] Whether the {@link Camera} flies or jumps to each selected axis or diagonal.
89
- * @param {String} [cfg.cameraFitFOV=45] How much of the field-of-view, in degrees, that the 3D scene should fill the {@link Canvas} when the {@link Camera} moves to an axis or diagonal.
90
- * @param {String} [cfg.cameraFlyDuration=0.5] When flying the {@link Camera} to each new axis or diagonal, how long, in seconds, that the Camera takes to get there.
91
- * @param {String} [cfg.color="lightgrey"] Custom uniform color for the faces of the NavCube.
92
- * @param {String} [cfg.frontColor="#55FF55"] Custom color for the front face of the NavCube. Overrides ````color````.
93
- * @param {String} [cfg.backColor="#55FF55"] Custom color for the back face of the NavCube. Overrides ````color````.
94
- * @param {String} [cfg.leftColor="#FF5555"] Custom color for the left face of the NavCube. Overrides ````color````.
95
- * @param {String} [cfg.rightColor="#FF5555"] Custom color for the right face of the NavCube. Overrides ````color````.
96
- * @param {String} [cfg.topColor="#5555FF"] Custom color for the top face of the NavCube. Overrides ````color````.
97
- * @param {String} [cfg.bottomColor="#5555FF"] Custom color for the bottom face of the NavCube. Overrides ````color````.
98
- * @param {String} [cfg.hoverColor="rgba(0,0,0,0.4)"] Custom color for highlighting regions on the NavCube as we hover the pointer over them.
99
- * @param {String} [cfg.textColor="black"] Custom text color for labels of the NavCube.
100
- * @param {Boolean} [cfg.fitVisible=false] Sets whether the axis, corner and edge-aligned views will fit the
101
- * view to the entire {@link Scene} or just to visible object-{@link Entity}s. Entitys are visible objects when {@link Entity#isObject} and {@link Entity#visible} are both ````true````.
102
- * @param {Boolean} [cfg.synchProjection=false] Sets whether the NavCube switches between perspective and orthographic projections in synchrony with the {@link Camera}. When ````false````, the NavCube will always be rendered with perspective projection.
103
- * @param {Boolean} [cfg.isProjectNorth] sets whether the NavCube switches between true north and project north - using the project north offset angle.
104
- * @param {number} [cfg.projectNorthOffsetAngle] sets the NavCube project north offset angle - when the {@link isProjectNorth} is true.
105
- */
106
- constructor(viewer, cfg = {}) {
107
-
108
- super("NavCube", viewer, cfg);
109
-
110
- viewer.navCube = this;
111
-
112
- var visible = true;
113
-
114
- try {
115
- this._navCubeScene = new Scene(viewer, {
116
- canvasId: cfg.canvasId,
117
- canvasElement: cfg.canvasElement,
118
- transparent: true
119
- });
120
-
121
- this._navCubeCanvas = this._navCubeScene.canvas.canvas;
122
-
123
- this._navCubeScene.input.keyboardEnabled = false; // Don't want keyboard input in the NavCube
124
-
125
- } catch (error) {
126
- this.error(error);
127
- return;
128
- }
129
-
130
- const navCubeScene = this._navCubeScene;
131
-
132
- navCubeScene.clearLights();
133
-
134
- new DirLight(navCubeScene, {dir: [0.4, -0.4, 0.8], color: [0.8, 1.0, 1.0], intensity: 1.0, space: "view"});
135
- new DirLight(navCubeScene, {dir: [-0.8, -0.3, -0.4], color: [0.8, 0.8, 0.8], intensity: 1.0, space: "view"});
136
- new DirLight(navCubeScene, {dir: [0.8, -0.6, -0.8], color: [1.0, 1.0, 1.0], intensity: 1.0, space: "view"});
137
-
138
- this._navCubeCamera = navCubeScene.camera;
139
- this._navCubeCamera.ortho.scale = 7.0;
140
- this._navCubeCamera.ortho.near = 0.1;
141
- this._navCubeCamera.ortho.far = 2000;
142
-
143
- navCubeScene.edgeMaterial.edgeColor = [0.2, 0.2, 0.2];
144
- navCubeScene.edgeMaterial.edgeAlpha = 0.6;
145
-
146
- this._zUp = Boolean(viewer.camera.zUp);
147
-
148
- var self = this;
149
-
150
- this.setIsProjectNorth(cfg.isProjectNorth);
151
- this.setProjectNorthOffsetAngle(cfg.projectNorthOffsetAngle);
152
-
153
- const rotateTrueNorth = (function () {
154
- const trueNorthMatrix = math.mat4();
155
- return function (dir, vec, dest) {
156
- math.identityMat4(trueNorthMatrix);
157
- math.rotationMat4v(dir * self._projectNorthOffsetAngle * math.DEGTORAD, [0, 1, 0], trueNorthMatrix);
158
- return math.transformVec3(trueNorthMatrix, vec, dest)
159
- }
160
- }())
161
-
162
- this._synchCamera = (function () {
163
- var matrix = math.rotationMat4c(-90 * math.DEGTORAD, 1, 0, 0);
164
- var eyeLookVec = math.vec3();
165
- var eyeLookVecCube = math.vec3();
166
- var upCube = math.vec3();
167
- return function () {
168
- var eye = viewer.camera.eye;
169
- var look = viewer.camera.look;
170
- var up = viewer.camera.up;
171
- eyeLookVec = math.mulVec3Scalar(math.normalizeVec3(math.subVec3(eye, look, eyeLookVec)), 5);
172
-
173
- if (self._isProjectNorth && self._projectNorthOffsetAngle) {
174
- eyeLookVec = rotateTrueNorth(-1, eyeLookVec, tempVec3a);
175
- up = rotateTrueNorth(-1, up, tempVec3b);
176
- }
177
-
178
- if (self._zUp) { // +Z up
179
- math.transformVec3(matrix, eyeLookVec, eyeLookVecCube);
180
- math.transformVec3(matrix, up, upCube);
181
- self._navCubeCamera.look = [0, 0, 0];
182
- self._navCubeCamera.eye = math.transformVec3(matrix, eyeLookVec, eyeLookVecCube);
183
- self._navCubeCamera.up = math.transformPoint3(matrix, up, upCube);
184
- } else { // +Y up
185
- self._navCubeCamera.look = [0, 0, 0];
186
- self._navCubeCamera.eye = eyeLookVec;
187
- self._navCubeCamera.up = up;
188
- }
189
- };
190
- }());
191
-
192
- this._cubeTextureCanvas = new CubeTextureCanvas(viewer, navCubeScene, cfg);
193
-
194
- this._cubeSampler = new Texture(navCubeScene, {
195
- image: this._cubeTextureCanvas.getImage(),
196
- flipY: true,
197
- wrapS: ClampToEdgeWrapping,
198
- wrapT: ClampToEdgeWrapping
199
- });
200
-
201
- this._cubeMesh = new Mesh(navCubeScene, {
202
- geometry: new ReadableGeometry(navCubeScene, {
203
- primitive: "triangles",
204
- normals: [
205
- 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
206
- 0, 1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1,
207
- 0, 0, -1, 0, 0, -1, 0, 0, -1
208
- ],
209
- positions: [
210
- 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1,
211
- 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1,
212
- 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1
213
- ],
214
- uv: [
215
- 0.5, 0.6666, 0.25, 0.6666, 0.25, 0.3333, 0.5, 0.3333, 0.5, 0.6666, 0.5, 0.3333, 0.75, 0.3333, 0.75, 0.6666,
216
- 0.5, 0.6666, 0.5, 1, 0.25, 1, 0.25, 0.6666, 0.25, 0.6666, 0.0, 0.6666, 0.0, 0.3333, 0.25, 0.3333,
217
- 0.25, 0, 0.50, 0, 0.50, 0.3333, 0.25, 0.3333, 0.75, 0.3333, 1.0, 0.3333, 1.0, 0.6666, 0.75, 0.6666
218
- ],
219
- indices: [
220
- 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13, 14, 12, 14, 15, 16, 17, 18, 16,
221
- 18, 19, 20, 21, 22, 20, 22, 23
222
- ]
223
- }),
224
- material: new PhongMaterial(navCubeScene, {
225
- diffuse: [0.4, 0.4, 0.4],
226
- specular: [0.4, 0.4, 0.4],
227
- emissive: [.6, .6, .6],
228
- diffuseMap: this._cubeSampler,
229
- emissiveMap: this._cubeSampler
230
- }),
231
- visible: !!visible,
232
- edges: true
233
- });
234
-
235
- this._shadow = cfg.shadowVisible === false ? null : new Mesh(navCubeScene, {
236
- geometry: new ReadableGeometry(navCubeScene, buildCylinderGeometry({
237
- center: [0, 0, 0],
238
- radiusTop: 0.001,
239
- radiusBottom: 1.4,
240
- height: 0.01,
241
- radialSegments: 20,
242
- heightSegments: 1,
243
- openEnded: true
244
- })),
245
- material: new PhongMaterial(navCubeScene, {
246
- diffuse: [0.0, 0.0, 0.0], specular: [0, 0, 0], emissive: [0.0, 0.0, 0.0], alpha: 0.5
247
- }),
248
- position: [0, -1.5, 0],
249
- visible: !!visible,
250
- pickable: false,
251
- backfaces: false
252
- });
253
-
254
- this._onCameraMatrix = viewer.camera.on("matrix", this._synchCamera);
255
- this._onCameraWorldAxis = viewer.camera.on("worldAxis", () => {
256
- if (viewer.camera.zUp) {
257
- this._zUp = true;
258
- this._cubeTextureCanvas.setZUp();
259
- this._repaint();
260
- this._synchCamera();
261
- } else if (viewer.camera.yUp) {
262
- this._zUp = false;
263
- this._cubeTextureCanvas.setYUp();
264
- this._repaint();
265
- this._synchCamera();
266
- }
267
- });
268
- this._onCameraFOV = viewer.camera.perspective.on("fov", (fov) => {
269
- if (this._synchProjection) {
270
- this._navCubeCamera.perspective.fov = fov;
271
- }
272
- });
273
- this._onCameraProjection = viewer.camera.on("projection", (projection) => {
274
- if (this._synchProjection) {
275
- this._navCubeCamera.projection = (projection === "ortho" || projection === "perspective") ? projection : "perspective";
276
- }
277
- });
278
-
279
- var lastAreaId = -1;
280
-
281
- function actionMove(posX, posY) {
282
- var yawInc = (posX - lastX) * -sensitivity;
283
- var pitchInc = (posY - lastY) * -sensitivity;
284
- yaw -= yawInc;
285
- pitch -= pitchInc;
286
- if (minPitch !== undefined && pitch < minPitch) {
287
- pitch = minPitch;
288
- }
289
- if (maxPitch !== undefined && pitch > maxPitch) {
290
- pitch = maxPitch;
291
- }
292
- viewer.camera.orbitYaw(yawInc);
293
- viewer.camera.orbitPitch(-pitchInc);
294
- lastX = posX;
295
- lastY = posY;
296
- }
297
-
298
- function getCoordsWithinElement(event) {
299
- var coords = [0, 0];
300
- if (!event) {
301
- event = window.event;
302
- coords[0] = event.x;
303
- coords[1] = event.y;
304
- } else {
305
- var element = event.target;
306
- var totalOffsetLeft = 0;
307
- var totalOffsetTop = 0;
308
- while (element.offsetParent) {
309
- totalOffsetLeft += element.offsetLeft;
310
- totalOffsetTop += element.offsetTop;
311
- element = element.offsetParent;
312
- }
313
- coords[0] = event.pageX - totalOffsetLeft;
314
- coords[1] = event.pageY - totalOffsetTop;
315
- }
316
- return coords;
317
- }
318
-
319
- {
320
- var downX = null;
321
- var downY = null;
322
- var down = false;
323
- var over = false;
324
-
325
- var yaw = 0;
326
- var pitch = 0;
327
- var minPitch = null;
328
- var maxPitch = null;
329
- var sensitivity = 0.5;
330
-
331
- var lastX;
332
- var lastY;
333
-
334
-
335
- self._navCubeCanvas.addEventListener("mouseenter", self._onMouseEnter = function (e) {
336
- over = true;
337
- });
338
-
339
-
340
- self._navCubeCanvas.addEventListener("mouseleave", self._onMouseLeave = function (e) {
341
- over = false;
342
- });
343
-
344
- self._navCubeCanvas.addEventListener("mousedown", self._onMouseDown = function (e) {
345
- if (e.which !== 1) {
346
- return;
347
- }
348
- downX = e.x;
349
- downY = e.y;
350
- lastX = e.clientX;
351
- lastY = e.clientY;
352
- var canvasPos = getCoordsWithinElement(e);
353
- var hit = navCubeScene.pick({
354
- canvasPos: canvasPos
355
- });
356
- if (hit) {
357
- down = true;
358
-
359
- } else {
360
- down = false;
361
- }
362
- });
363
-
364
- document.addEventListener("mouseup", self._onMouseUp = function (e) {
365
- if (e.which !== 1) {// Left button
366
- return;
367
- }
368
- down = false;
369
- if (downX === null) {
370
- return;
371
- }
372
- var canvasPos = getCoordsWithinElement(e);
373
- var hit = navCubeScene.pick({
374
- canvasPos: canvasPos,
375
- pickSurface: true
376
- });
377
- if (hit) {
378
- if (hit.uv) {
379
- var areaId = self._cubeTextureCanvas.getArea(hit.uv);
380
- if (areaId >= 0) {
381
- document.body.style.cursor = "pointer";
382
- if (lastAreaId >= 0) {
383
- self._cubeTextureCanvas.setAreaHighlighted(lastAreaId, false);
384
- self._repaint();
385
- lastAreaId = -1;
386
- }
387
- if (areaId >= 0) {
388
- self._cubeTextureCanvas.setAreaHighlighted(areaId, true);
389
- lastAreaId = areaId;
390
- self._repaint();
391
- if (e.x < (downX - 3) || e.x > (downX + 3) || e.y < (downY - 3) || e.y > (downY + 3)) {
392
- return;
393
- }
394
- var dir = self._cubeTextureCanvas.getAreaDir(areaId);
395
- if (dir) {
396
- var up = self._cubeTextureCanvas.getAreaUp(areaId);
397
- if (self._isProjectNorth && self._projectNorthOffsetAngle) {
398
- dir = rotateTrueNorth(+1, dir, tempVec3a);
399
- up = rotateTrueNorth(+1, up, tempVec3b);
400
- }
401
- flyTo(dir, up, function () {
402
- if (lastAreaId >= 0) {
403
- self._cubeTextureCanvas.setAreaHighlighted(lastAreaId, false);
404
- self._repaint();
405
- lastAreaId = -1;
406
- }
407
- document.body.style.cursor = "pointer";
408
- if (lastAreaId >= 0) {
409
- self._cubeTextureCanvas.setAreaHighlighted(lastAreaId, false);
410
- self._repaint();
411
- lastAreaId = -1;
412
- }
413
- if (areaId >= 0) {
414
- self._cubeTextureCanvas.setAreaHighlighted(areaId, false);
415
- lastAreaId = -1;
416
- self._repaint();
417
- }
418
- });
419
- }
420
- }
421
- }
422
- }
423
- }
424
- });
425
-
426
- document.addEventListener("mousemove", self._onMouseMove = function (e) {
427
- if (lastAreaId >= 0) {
428
- self._cubeTextureCanvas.setAreaHighlighted(lastAreaId, false);
429
- self._repaint();
430
- lastAreaId = -1;
431
- }
432
- if (e.buttons === 1 && !down) {
433
- return;
434
- }
435
- if (down) {
436
- var posX = e.clientX;
437
- var posY = e.clientY;
438
- document.body.style.cursor = "move";
439
- actionMove(posX, posY);
440
- return;
441
- }
442
- if (!over) {
443
- return;
444
- }
445
- var canvasPos = getCoordsWithinElement(e);
446
- var hit = navCubeScene.pick({
447
- canvasPos: canvasPos,
448
- pickSurface: true
449
- });
450
- if (hit) {
451
- if (hit.uv) {
452
- document.body.style.cursor = "pointer";
453
- var areaId = self._cubeTextureCanvas.getArea(hit.uv);
454
- if (areaId === lastAreaId) {
455
- return;
456
- }
457
- if (lastAreaId >= 0) {
458
- self._cubeTextureCanvas.setAreaHighlighted(lastAreaId, false);
459
- }
460
- if (areaId >= 0) {
461
- self._cubeTextureCanvas.setAreaHighlighted(areaId, true);
462
- self._repaint();
463
- lastAreaId = areaId;
464
- }
465
- }
466
- } else {
467
- document.body.style.cursor = "default";
468
- if (lastAreaId >= 0) {
469
- self._cubeTextureCanvas.setAreaHighlighted(lastAreaId, false);
470
- self._repaint();
471
- lastAreaId = -1;
472
- }
473
- }
474
- });
475
-
476
- var flyTo = (function () {
477
- var center = math.vec3();
478
- return function (dir, up, ok) {
479
- var aabb = self._fitVisible ? viewer.scene.getAABB(viewer.scene.visibleObjectIds) : viewer.scene.aabb;
480
- var diag = math.getAABB3Diag(aabb);
481
- math.getAABB3Center(aabb, center);
482
- var dist = Math.abs(diag / Math.tan(self._cameraFitFOV * math.DEGTORAD));
483
- viewer.cameraControl.pivotPos = center;
484
- if (self._cameraFly) {
485
- viewer.cameraFlight.flyTo({
486
- look: center,
487
- eye: [center[0] - (dist * dir[0]), center[1] - (dist * dir[1]), center[2] - (dist * dir[2])],
488
- up: up || [0, 1, 0],
489
- orthoScale: diag * 1.1,
490
- fitFOV: self._cameraFitFOV,
491
- duration: self._cameraFlyDuration
492
- }, ok);
493
- } else {
494
- viewer.cameraFlight.jumpTo({
495
- look: center,
496
- eye: [center[0] - (dist * dir[0]), center[1] - (dist * dir[1]), center[2] - (dist * dir[2])],
497
- up: up || [0, 1, 0],
498
- orthoScale: diag * 1.1,
499
- fitFOV: self._cameraFitFOV
500
- }, ok);
501
- }
502
- };
503
- })();
504
- }
505
-
506
- this._onUpdated = viewer.localeService.on("updated", () => {
507
- this._cubeTextureCanvas.clear();
508
- this._repaint();
509
- });
510
-
511
- this.setVisible(cfg.visible);
512
- this.setCameraFitFOV(cfg.cameraFitFOV);
513
- this.setCameraFly(cfg.cameraFly);
514
- this.setCameraFlyDuration(cfg.cameraFlyDuration);
515
- this.setFitVisible(cfg.fitVisible);
516
- this.setSynchProjection(cfg.synchProjection);
517
- }
518
-
519
- send(name, value) {
520
- switch (name) {
521
- case "language":
522
- this._cubeTextureCanvas.clear();
523
- this._repaint(); // CubeTextureCanvas gets language from Viewer
524
- break;
525
- }
526
- }
527
-
528
- _repaint() {
529
- const image = this._cubeTextureCanvas.getImage();
530
- this._cubeMesh.material.diffuseMap.image = image;
531
- this._cubeMesh.material.emissiveMap.image = image;
532
- }
533
-
534
- /**
535
- * Sets if the NavCube is visible.
536
- *
537
- * @param {Boolean} visible Whether or not the NavCube is visible.
538
- */
539
- setVisible(visible = true) {
540
- if (!this._navCubeCanvas) {
541
- return;
542
- }
543
- this._cubeMesh.visible = visible;
544
- if (this._shadow) {
545
- this._shadow.visible = visible;
546
- }
547
- this._navCubeCanvas.style.visibility = visible ? "visible" : "hidden";
548
- }
549
-
550
- /**
551
- * Gets if the NavCube is visible.
552
- *
553
- * @return {Boolean} True when the NavCube is visible.
554
- */
555
- getVisible() {
556
- if (!this._navCubeCanvas) {
557
- return false;
558
- }
559
- return this._cubeMesh.visible;
560
- }
561
-
562
-
563
- /**
564
- * Sets whether the axis, corner and edge-aligned views will fit the
565
- * view to the entire {@link Scene} or just to visible object-{@link Entity}s.
566
- *
567
- * Entitys are visible objects when {@link Entity#isObject} and {@link Entity#visible} are both ````true````.
568
- *
569
- * @param {Boolean} fitVisible Set ````true```` to fit only visible object-Entitys.
570
- */
571
- setFitVisible(fitVisible = false) {
572
- this._fitVisible = fitVisible;
573
- }
574
-
575
- /**
576
- * Gets whether the axis, corner and edge-aligned views will fit the
577
- * view to the entire {@link Scene} or just to visible object-{@link Entity}s.
578
- *
579
- * Entitys are visible objects when {@link Entity#isObject} and {@link Entity#visible} are both ````true````.
580
- *
581
- * @return {Boolean} True when fitting only visible object-Entitys.
582
- */
583
- getFitVisible() {
584
- return this._fitVisible;
585
- }
586
-
587
- /**
588
- * Sets whether the {@link Camera} flies or jumps to each selected axis or diagonal.
589
- *
590
- * Default is ````true````, to fly.
591
- *
592
- * @param {Boolean} cameraFly Set ````true```` to fly, else ````false```` to jump.
593
- */
594
- setCameraFly(cameraFly = true) {
595
- this._cameraFly = cameraFly;
596
- }
597
-
598
- /**
599
- * Gets whether the {@link Camera} flies or jumps to each selected axis or diagonal.
600
- *
601
- * Default is ````true````, to fly.
602
- *
603
- * @returns {Boolean} Returns ````true```` to fly, else ````false```` to jump.
604
- */
605
- getCameraFly() {
606
- return this._cameraFly;
607
- }
608
-
609
- /**
610
- * Sets how much of the field-of-view, in degrees, that the {@link Scene} should
611
- * fill the canvas when flying or jumping the {@link Camera} to each selected axis or diagonal.
612
- *
613
- * Default value is ````45````.
614
- *
615
- * @param {Number} cameraFitFOV New FOV value.
616
- */
617
- setCameraFitFOV(cameraFitFOV = 45) {
618
- this._cameraFitFOV = cameraFitFOV;
619
- }
620
-
621
- /**
622
- * Gets how much of the field-of-view, in degrees, that the {@link Scene} should
623
- * fill the canvas when flying or jumping the {@link Camera} to each selected axis or diagonal.
624
- *
625
- * Default value is ````45````.
626
- *
627
- * @returns {Number} Current FOV value.
628
- */
629
- getCameraFitFOV() {
630
- return this._cameraFitFOV;
631
- }
632
-
633
- /**
634
- * When flying the {@link Camera} to each new axis or diagonal, sets how long, in seconds, that the Camera takes to get there.
635
- *
636
- * Default is ````0.5````.
637
- *
638
- * @param {Boolean} cameraFlyDuration Camera flight duration in seconds.
639
- */
640
- setCameraFlyDuration(cameraFlyDuration = 0.5) {
641
- this._cameraFlyDuration = cameraFlyDuration;
642
- }
643
-
644
- /**
645
- * When flying the {@link Camera} to each new axis or diagonal, gets how long, in seconds, that the Camera takes to get there.
646
- *
647
- * Default is ````0.5````.
648
- *
649
- * @returns {Boolean} Camera flight duration in seconds.
650
- */
651
- getCameraFlyDuration() {
652
- return this._cameraFlyDuration;
653
- }
654
-
655
- /**
656
- * Sets whether the NavCube switches between perspective and orthographic projections in synchrony with
657
- * the {@link Camera}. When ````false````, the NavCube will always be rendered with perspective projection.
658
- *
659
- * @param {Boolean} synchProjection Set ````true```` to keep NavCube projection synchronized with {@link Camera#projection}.
660
- */
661
- setSynchProjection(synchProjection = false) {
662
- this._synchProjection = synchProjection;
663
- }
664
-
665
- /**
666
- * Gets whether the NavCube switches between perspective and orthographic projections in synchrony with
667
- * the {@link Camera}. When ````false````, the NavCube will always be rendered with perspective projection.
668
- *
669
- * @return {Boolean} True when NavCube projection is synchronized with {@link Camera#projection}.
670
- */
671
- getSynchProjection() {
672
- return this._synchProjection;
673
- }
674
-
675
- /**
676
- * Sets whether the NavCube switches between project north and true north
677
- *
678
- * @param {Boolean} isProjectNorth Set ````true```` to use project north offset
679
- */
680
- setIsProjectNorth(isProjectNorth = false) {
681
- this._isProjectNorth = isProjectNorth;
682
- }
683
-
684
- /**
685
- * Gets whether the NavCube switches between project north and true north
686
- *
687
- * @return {Boolean} isProjectNorth when ````true```` - use project north offset
688
- */
689
- getIsProjectNorth() {
690
- return this._isProjectNorth;
691
- }
692
-
693
- /**
694
- * Sets the NavCube project north offset angle (used when {@link isProjectNorth} is ````true````
695
- *
696
- * @param {number} projectNorthOffsetAngle Set the vector offset for project north
697
- */
698
- setProjectNorthOffsetAngle(projectNorthOffsetAngle) {
699
- this._projectNorthOffsetAngle = projectNorthOffsetAngle;
700
- }
701
-
702
- /**
703
- * Gets the offset angle between project north and true north
704
- *
705
- * @return {number} projectNorthOffsetAngle
706
- */
707
- getProjectNorthOffsetAngle() {
708
- return this._projectNorthOffsetAngle;
709
- }
710
-
711
- /**
712
- * Destroys this NavCubePlugin.
713
- *
714
- * Does not destroy the canvas the NavCubePlugin was configured with.
715
- */
716
- destroy() {
717
-
718
- if (this._navCubeCanvas) {
719
-
720
- this.viewer.localeService.off(this._onUpdated);
721
- this.viewer.camera.off(this._onCameraMatrix);
722
- this.viewer.camera.off(this._onCameraWorldAxis);
723
- this.viewer.camera.perspective.off(this._onCameraFOV);
724
- this.viewer.camera.off(this._onCameraProjection);
725
-
726
- this._navCubeCanvas.removeEventListener("mouseenter", this._onMouseEnter);
727
- this._navCubeCanvas.removeEventListener("mouseleave", this._onMouseLeave);
728
- this._navCubeCanvas.removeEventListener("mousedown", this._onMouseDown);
729
-
730
- document.removeEventListener("mousemove", this._onMouseMove);
731
- document.removeEventListener("mouseup", this._onMouseUp);
732
-
733
- this._navCubeCanvas = null;
734
- this._cubeTextureCanvas.destroy();
735
- this._cubeTextureCanvas = null;
736
-
737
- this._onMouseEnter = null;
738
- this._onMouseLeave = null;
739
- this._onMouseDown = null;
740
- this._onMouseMove = null;
741
- this._onMouseUp = null;
742
- }
743
-
744
- this._navCubeScene.destroy();
745
- this._navCubeScene = null;
746
- this._cubeMesh = null;
747
- this._shadow = null;
748
-
749
- super.destroy();
750
- }
751
- }
752
-
753
- export {NavCubePlugin};