@xeokit/xeokit-sdk 2.5.2-beta-10 → 2.5.2-beta-13
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.
- package/dist/xeokit-sdk.cjs.js +146 -132
- package/dist/xeokit-sdk.es.js +146 -132
- package/dist/xeokit-sdk.es5.js +84 -84
- package/dist/xeokit-sdk.min.cjs.js +1 -1
- package/dist/xeokit-sdk.min.es.js +1 -1
- package/dist/xeokit-sdk.min.es5.js +1 -1
- package/package.json +1 -1
- package/src/src/extras/ContextMenu/ContextMenu.js +907 -0
- package/src/src/extras/ContextMenu/index.js +1 -0
- package/src/src/extras/MarqueePicker/MarqueePicker.js +352 -0
- package/src/src/extras/MarqueePicker/MarqueePickerMouseControl.js +174 -0
- package/src/src/extras/MarqueePicker/index.js +2 -0
- package/src/src/extras/PointerLens/PointerLens.js +312 -0
- package/src/src/extras/PointerLens/index.js +1 -0
- package/src/src/extras/collision/ObjectsKdTree3.js +149 -0
- package/src/src/extras/collision/index.js +1 -0
- package/src/src/extras/index.js +4 -0
- package/src/src/index.js +3 -0
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurement.js +731 -0
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.js +84 -0
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js +435 -0
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js +406 -0
- package/src/src/plugins/AngleMeasurementsPlugin/index.js +3 -0
- package/src/src/plugins/AnnotationsPlugin/Annotation.js +368 -0
- package/src/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js +583 -0
- package/src/src/plugins/AnnotationsPlugin/index.js +1 -0
- package/src/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js +333 -0
- package/src/src/plugins/AxisGizmoPlugin/index.js +1 -0
- package/src/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js +977 -0
- package/src/src/plugins/BCFViewpointsPlugin/index.js +1 -0
- package/src/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js +29 -0
- package/src/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js +751 -0
- package/src/src/plugins/CityJSONLoaderPlugin/index.js +1 -0
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js +963 -0
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.js +84 -0
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +399 -0
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js +505 -0
- package/src/src/plugins/DistanceMeasurementsPlugin/index.js +3 -0
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesControl.js +639 -0
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js +436 -0
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Overview.js +247 -0
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Plane.js +167 -0
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/index.js +1 -0
- package/src/src/plugins/FastNavPlugin/FastNavPlugin.js +429 -0
- package/src/src/plugins/FastNavPlugin/index.js +1 -0
- package/src/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +140 -0
- package/src/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js +421 -0
- package/src/src/plugins/GLTFLoaderPlugin/GLTFSceneModelLoader.js +669 -0
- package/src/src/plugins/GLTFLoaderPlugin/index.js +2 -0
- package/src/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js +58 -0
- package/src/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js +563 -0
- package/src/src/plugins/LASLoaderPlugin/index.js +1 -0
- package/src/src/plugins/LASLoaderPlugin/loadLASHeader.js +183 -0
- package/src/src/plugins/NavCubePlugin/CubeTextureCanvas.js +290 -0
- package/src/src/plugins/NavCubePlugin/NavCubePlugin.js +753 -0
- package/src/src/plugins/NavCubePlugin/index.js +1 -0
- package/src/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js +145 -0
- package/src/src/plugins/OBJLoaderPlugin/OBJSceneGraphLoader.js +777 -0
- package/src/src/plugins/OBJLoaderPlugin/index.js +1 -0
- package/src/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js +33 -0
- package/src/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js +274 -0
- package/src/src/plugins/STLLoaderPlugin/STLSceneGraphLoader.js +313 -0
- package/src/src/plugins/STLLoaderPlugin/index.js +2 -0
- package/src/src/plugins/SectionPlanesPlugin/Control.js +1328 -0
- package/src/src/plugins/SectionPlanesPlugin/Overview.js +249 -0
- package/src/src/plugins/SectionPlanesPlugin/Plane.js +169 -0
- package/src/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js +404 -0
- package/src/src/plugins/SectionPlanesPlugin/index.js +1 -0
- package/src/src/plugins/SkyboxesPlugin/SkyboxesPlugin.js +134 -0
- package/src/src/plugins/SkyboxesPlugin/index.js +1 -0
- package/src/src/plugins/StoreyViewsPlugin/Storey.js +84 -0
- package/src/src/plugins/StoreyViewsPlugin/StoreyMap.js +57 -0
- package/src/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js +773 -0
- package/src/src/plugins/StoreyViewsPlugin/index.js +1 -0
- package/src/src/plugins/TreeViewPlugin/RenderService.js +169 -0
- package/src/src/plugins/TreeViewPlugin/TreeViewNode.js +101 -0
- package/src/src/plugins/TreeViewPlugin/TreeViewPlugin.js +1370 -0
- package/src/src/plugins/TreeViewPlugin/index.js +1 -0
- package/src/src/plugins/ViewCullPlugin/ViewCullPlugin.js +295 -0
- package/src/src/plugins/ViewCullPlugin/index.js +1 -0
- package/src/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js +58 -0
- package/src/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js +942 -0
- package/src/src/plugins/WebIFCLoaderPlugin/index.js +1 -0
- package/src/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js +95 -0
- package/src/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +1194 -0
- package/src/src/plugins/XKTLoaderPlugin/index.js +2 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV1.js +169 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV10.js +660 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +663 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV2.js +230 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV3.js +223 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV4.js +283 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV5.js +246 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV6.js +301 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV7.js +439 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV8.js +563 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV9.js +518 -0
- package/src/src/plugins/XKTLoaderPlugin/parsers/lib/pako.js +2 -0
- package/src/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js +238 -0
- package/src/src/plugins/XML3DLoaderPlugin/XML3DSceneGraphLoader.js +1279 -0
- package/src/src/plugins/XML3DLoaderPlugin/index.js +1 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/.jshintrc +11 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/deflate.js +2060 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/inflate.js +2155 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/mime-types.js +1002 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/pako/codecs.js +64 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/z-worker.js +153 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-ext.js +267 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-fs.js +553 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip.js +991 -0
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zlib-asm/codecs.js +49 -0
- package/src/src/plugins/index.js +21 -0
- package/src/src/plugins/lib/culling/ObjectCullStates.js +208 -0
- package/src/src/plugins/lib/earcut.js +677 -0
- package/src/src/plugins/lib/html/Dot.js +179 -0
- package/src/src/plugins/lib/html/Label.js +174 -0
- package/src/src/plugins/lib/html/Wire.js +220 -0
- package/src/src/viewer/Configs.js +127 -0
- package/src/src/viewer/Plugin.js +233 -0
- package/src/src/viewer/Viewer.js +542 -0
- package/src/src/viewer/index.js +5 -0
- package/src/src/viewer/localization/LocaleService.js +475 -0
- package/src/src/viewer/metadata/IFCObjectDefaultColors.js +163 -0
- package/src/src/viewer/metadata/IFCObjectDefaults.js +17 -0
- package/src/src/viewer/metadata/MetaModel.js +414 -0
- package/src/src/viewer/metadata/MetaObject.js +223 -0
- package/src/src/viewer/metadata/MetaScene.js +336 -0
- package/src/src/viewer/metadata/Property.js +55 -0
- package/src/src/viewer/metadata/PropertySet.js +77 -0
- package/src/src/viewer/scene/Bitmap/Bitmap.js +473 -0
- package/src/src/viewer/scene/Bitmap/index.js +1 -0
- package/src/src/viewer/scene/CameraControl/CameraControl.js +1750 -0
- package/src/src/viewer/scene/CameraControl/lib/CameraUpdater.js +312 -0
- package/src/src/viewer/scene/CameraControl/lib/controllers/PanController.js +112 -0
- package/src/src/viewer/scene/CameraControl/lib/controllers/PickController.js +265 -0
- package/src/src/viewer/scene/CameraControl/lib/controllers/PivotController.js +384 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardAxisViewHandler.js +122 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardPanRotateDollyHandler.js +183 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/MouseMiscHandler.js +68 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/MousePanRotateDollyHandler.js +345 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/MousePickHandler.js +376 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPanRotateAndDollyHandler.js +288 -0
- package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPickHandler.js +235 -0
- package/src/src/viewer/scene/Component.js +915 -0
- package/src/src/viewer/scene/Entity.js +502 -0
- package/src/src/viewer/scene/ImagePlane/ImagePlane.js +570 -0
- package/src/src/viewer/scene/ImagePlane/index.js +1 -0
- package/src/src/viewer/scene/LineSet/LineSet.js +163 -0
- package/src/src/viewer/scene/LineSet/index.js +1 -0
- package/src/src/viewer/scene/camera/Camera.js +912 -0
- package/src/src/viewer/scene/camera/CameraFlightAnimation.js +669 -0
- package/src/src/viewer/scene/camera/CameraPath.js +194 -0
- package/src/src/viewer/scene/camera/CameraPathAnimation.js +326 -0
- package/src/src/viewer/scene/camera/CustomProjection.js +149 -0
- package/src/src/viewer/scene/camera/Frustum.js +316 -0
- package/src/src/viewer/scene/camera/Ortho.js +286 -0
- package/src/src/viewer/scene/camera/Perspective.js +304 -0
- package/src/src/viewer/scene/camera/index.js +2 -0
- package/src/src/viewer/scene/canvas/Canvas.js +490 -0
- package/src/src/viewer/scene/canvas/Spinner.js +323 -0
- package/src/src/viewer/scene/constants/constants.js +371 -0
- package/src/src/viewer/scene/core.js +268 -0
- package/src/src/viewer/scene/geometry/Geometry.js +33 -0
- package/src/src/viewer/scene/geometry/ReadableGeometry.js +682 -0
- package/src/src/viewer/scene/geometry/VBOGeometry.js +319 -0
- package/src/src/viewer/scene/geometry/builders/buildBoxGeometry.js +238 -0
- package/src/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js +106 -0
- package/src/src/viewer/scene/geometry/builders/buildCylinderGeometry.js +271 -0
- package/src/src/viewer/scene/geometry/builders/buildGridGeometry.js +102 -0
- package/src/src/viewer/scene/geometry/builders/buildPlaneGeometry.js +168 -0
- package/src/src/viewer/scene/geometry/builders/buildSphereGeometry.js +161 -0
- package/src/src/viewer/scene/geometry/builders/buildTorusGeometry.js +172 -0
- package/src/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js +1721 -0
- package/src/src/viewer/scene/geometry/builders/index.js +8 -0
- package/src/src/viewer/scene/geometry/index.js +4 -0
- package/src/src/viewer/scene/geometry/loaders/index.js +2 -0
- package/src/src/viewer/scene/geometry/loaders/load3DSGeometry.js +103 -0
- package/src/src/viewer/scene/geometry/loaders/loadOBJGeometry.js +130 -0
- package/src/src/viewer/scene/index.js +21 -0
- package/src/src/viewer/scene/input/Input.js +1333 -0
- package/src/src/viewer/scene/libs/k3d.js +1032 -0
- package/src/src/viewer/scene/lights/AmbientLight.js +175 -0
- package/src/src/viewer/scene/lights/CubeTexture.js +156 -0
- package/src/src/viewer/scene/lights/DirLight.js +314 -0
- package/src/src/viewer/scene/lights/Light.js +29 -0
- package/src/src/viewer/scene/lights/LightMap.js +77 -0
- package/src/src/viewer/scene/lights/PointLight.js +395 -0
- package/src/src/viewer/scene/lights/ReflectionMap.js +79 -0
- package/src/src/viewer/scene/lights/Shadow.js +138 -0
- package/src/src/viewer/scene/lights/index.js +5 -0
- package/src/src/viewer/scene/marker/Marker.js +383 -0
- package/src/src/viewer/scene/marker/SpriteMarker.js +356 -0
- package/src/src/viewer/scene/marker/index.js +2 -0
- package/src/src/viewer/scene/materials/EdgeMaterial.js +359 -0
- package/src/src/viewer/scene/materials/EmphasisMaterial.js +613 -0
- package/src/src/viewer/scene/materials/Fresnel.js +222 -0
- package/src/src/viewer/scene/materials/LambertMaterial.js +378 -0
- package/src/src/viewer/scene/materials/LinesMaterial.js +169 -0
- package/src/src/viewer/scene/materials/Material.js +39 -0
- package/src/src/viewer/scene/materials/MetallicMaterial.js +820 -0
- package/src/src/viewer/scene/materials/PhongMaterial.js +860 -0
- package/src/src/viewer/scene/materials/PointsMaterial.js +409 -0
- package/src/src/viewer/scene/materials/SpecularMaterial.js +807 -0
- package/src/src/viewer/scene/materials/Texture.js +513 -0
- package/src/src/viewer/scene/materials/index.js +8 -0
- package/src/src/viewer/scene/math/Frustum.js +118 -0
- package/src/src/viewer/scene/math/buildEdgeIndices.js +162 -0
- package/src/src/viewer/scene/math/geometryCompressionUtils.js +365 -0
- package/src/src/viewer/scene/math/index.js +3 -0
- package/src/src/viewer/scene/math/math.js +5386 -0
- package/src/src/viewer/scene/math/rtcCoords.js +139 -0
- package/src/src/viewer/scene/mementos/CameraMemento.js +200 -0
- package/src/src/viewer/scene/mementos/ModelMemento.js +263 -0
- package/src/src/viewer/scene/mementos/ObjectsMemento.js +259 -0
- package/src/src/viewer/scene/mementos/index.js +3 -0
- package/src/src/viewer/scene/mesh/Mesh.js +2202 -0
- package/src/src/viewer/scene/mesh/draw/DrawRenderer.js +996 -0
- package/src/src/viewer/scene/mesh/draw/DrawShaderSource.js +1570 -0
- package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesRenderer.js +259 -0
- package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesShaderSource.js +159 -0
- package/src/src/viewer/scene/mesh/emphasis/EmphasisFillRenderer.js +286 -0
- package/src/src/viewer/scene/mesh/emphasis/EmphasisFillShaderSource.js +262 -0
- package/src/src/viewer/scene/mesh/index.js +1 -0
- package/src/src/viewer/scene/mesh/occlusion/OcclusionRenderer.js +217 -0
- package/src/src/viewer/scene/mesh/occlusion/OcclusionShaderSource.js +157 -0
- package/src/src/viewer/scene/mesh/pick/PickMeshRenderer.js +223 -0
- package/src/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +151 -0
- package/src/src/viewer/scene/mesh/pick/PickTriangleRenderer.js +200 -0
- package/src/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +124 -0
- package/src/src/viewer/scene/mesh/shadow/ShadowRenderer.js +214 -0
- package/src/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +98 -0
- package/src/src/viewer/scene/metriqs/Metriqs.js +259 -0
- package/src/src/viewer/scene/model/ENTITY_FLAGS.js +21 -0
- package/src/src/viewer/scene/model/PerformanceModel.js +26 -0
- package/src/src/viewer/scene/model/RENDER_PASSES.js +34 -0
- package/src/src/viewer/scene/model/SceneModel.js +4018 -0
- package/src/src/viewer/scene/model/SceneModelEntity.js +715 -0
- package/src/src/viewer/scene/model/SceneModelMesh.js +341 -0
- package/src/src/viewer/scene/model/SceneModelTexture.js +38 -0
- package/src/src/viewer/scene/model/SceneModelTextureSet.js +59 -0
- package/src/src/viewer/scene/model/SceneModelTransform.js +404 -0
- package/src/src/viewer/scene/model/VBOSceneModel.js +26 -0
- package/src/src/viewer/scene/model/calculateUniquePositions.js +126 -0
- package/src/src/viewer/scene/model/compression.js +227 -0
- package/src/src/viewer/scene/model/dtx/BindableDataTexture.js +31 -0
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesBuffer.js +27 -0
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesLayer.js +891 -0
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesState.js +46 -0
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesTextureFactory.js +411 -0
- package/src/src/viewer/scene/model/dtx/lines/dataTextureRamStats.js +49 -0
- package/src/src/viewer/scene/model/dtx/lines/rebucketPositions.js +208 -0
- package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesColorRenderer.js +389 -0
- package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesRenderers.js +65 -0
- package/src/src/viewer/scene/model/dtx/triangles/DTXTrianglesLayer.js +1322 -0
- package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesBuffer.js +46 -0
- package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesState.js +250 -0
- package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesTextureFactory.js +518 -0
- package/src/src/viewer/scene/model/dtx/triangles/lib/dataTextureRamStats.js +54 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesColorRenderer.js +619 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesDepthRenderer.js +464 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesColorRenderer.js +414 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesRenderer.js +422 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesNormalsRenderer.js +345 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesOcclusionRenderer.js +436 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickDepthRenderer.js +462 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickMeshRenderer.js +436 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsFlatRenderer.js +455 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsRenderer.js +440 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesRenderers.js +307 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSilhouetteRenderer.js +465 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapInitRenderer.js +466 -0
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapRenderer.js +427 -0
- package/src/src/viewer/scene/model/index.js +5 -0
- package/src/src/viewer/scene/model/rebucketPositions.js +354 -0
- package/src/src/viewer/scene/model/vbo/ScratchMemory.js +63 -0
- package/src/src/viewer/scene/model/vbo/VBORenderer.js +646 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/VBOBatchingLinesLayer.js +699 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/lib/VBOBatchingLinesBuffer.js +19 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLineSnapInitRenderer.js +316 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesColorRenderer.js +114 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesRenderers.js +99 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSilhouetteRenderer.js +124 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapInitRenderer.js +311 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapRenderer.js +309 -0
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOSceneModelLineBatchingRenderer.js +24 -0
- package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsBuffer.js +20 -0
- package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsLayer.js +718 -0
- package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsRenderer.js +24 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsColorRenderer.js +168 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsOcclusionRenderer.js +136 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickDepthRenderer.js +156 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickMeshRenderer.js +148 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsRenderers.js +144 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsShadowRenderer.js +107 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSilhouetteRenderer.js +146 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapInitRenderer.js +309 -0
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapRenderer.js +303 -0
- package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesBuffer.js +24 -0
- package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +1257 -0
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesEdgesColorRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesColorRenderer.js} +6 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesEdgesRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesEmphasisRenderer.js} +6 -4
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesRenderer.js +12 -0
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesRenderers.js → src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js} +45 -45
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js} +4 -3
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesColorRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesColorTextureRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesDepthRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesDepthRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesFlatColorRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesFlatColorRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesNormalsRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesNormalsRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesOcclusionRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesOcclusionRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPBRRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPBRRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickDepthRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickDepthRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickMeshRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickMeshRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickNormalsFlatRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsFlatRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesPickNormalsRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesShadowRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesShadowRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesSilhouetteRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSilhouetteRenderer.js} +3 -3
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesSnapInitRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapInitRenderer.js} +1 -1
- package/src/{viewer/scene/model/vbo/batching/triangles/renderers/VBOBatchingTrianglesSnapRenderer.js → src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js} +1 -1
- package/src/src/viewer/scene/model/vbo/float16.js +760 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/VBOInstancingLinesLayer.js +704 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesColorRenderer.js +148 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderer.js +26 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderers.js +139 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSilhouetteRenderer.js +127 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapInitRenderer.js +331 -0
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapRenderer.js +316 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/VBOInstancingPointsLayer.js +728 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsColorRenderer.js +174 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsDepthRenderer.js +156 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsOcclusionRenderer.js +149 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickDepthRenderer.js +170 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickMeshRenderer.js +152 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderer.js +26 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderers.js +174 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsShadowRenderer.js +119 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSilhouetteRenderer.js +154 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapInitRenderer.js +330 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapRenderer.js +311 -0
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingTrianglesRenderer.js +150 -0
- package/src/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +1190 -0
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesEdgesColorRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesColorRenderer.js} +8 -4
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesEdgesRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesEmphasisRenderer.js} +8 -5
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesRenderer.js +12 -0
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesRenderers.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js} +45 -45
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesColorRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorRenderer.js} +3 -3
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesColorTextureRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesDepthRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesDepthRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesFlatColorRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatColorRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesFlatNormalsRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatNormalsRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOSceneModelTriangleInstancingRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js} +1 -1
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesNormalsRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesNormalsRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesOcclusionRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesOcclusionRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPBRRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPBRRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickDepthRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickDepthRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickMeshRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickMeshRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickNormalsFlatRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsFlatRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesPickNormalsRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesShadowRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesShadowRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesSilhouetteRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSilhouetteRenderer.js} +2 -2
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesSnapInitRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapInitRenderer.js} +1 -1
- package/src/{viewer/scene/model/vbo/instancing/triangles/renderers/VBOInstancingTrianglesSnapRenderer.js → src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js} +1 -1
- package/src/src/viewer/scene/nodes/Node.js +1383 -0
- package/src/src/viewer/scene/nodes/index.js +1 -0
- package/src/src/viewer/scene/paths/CubicBezierCurve.js +194 -0
- package/src/src/viewer/scene/paths/Curve.js +183 -0
- package/src/src/viewer/scene/paths/Path.js +239 -0
- package/src/src/viewer/scene/paths/QuadraticBezierCurve.js +161 -0
- package/src/src/viewer/scene/paths/SplineCurve.js +133 -0
- package/src/src/viewer/scene/paths/index.js +5 -0
- package/src/src/viewer/scene/postfx/SAO.js +543 -0
- package/src/src/viewer/scene/scene/Scene.js +2802 -0
- package/src/src/viewer/scene/sectionPlane/SectionPlane.js +198 -0
- package/src/src/viewer/scene/sectionPlane/SectionPlaneCache.js +101 -0
- package/src/src/viewer/scene/sectionPlane/index.js +1 -0
- package/src/src/viewer/scene/skybox/Skybox.js +123 -0
- package/src/src/viewer/scene/skybox/index.js +1 -0
- package/src/src/viewer/scene/stats.js +44 -0
- package/src/src/viewer/scene/utils/Cache.js +29 -0
- package/src/src/viewer/scene/utils/FileLoader.js +161 -0
- package/src/src/viewer/scene/utils/Loader.js +55 -0
- package/src/src/viewer/scene/utils/LoadingManager.js +86 -0
- package/src/src/viewer/scene/utils/Map.js +45 -0
- package/src/src/viewer/scene/utils/Queue.js +56 -0
- package/src/src/viewer/scene/utils/WorkerPool.js +73 -0
- package/src/src/viewer/scene/utils/index.js +6 -0
- package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js +650 -0
- package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/index.js +1 -0
- package/src/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js +31 -0
- package/src/src/viewer/scene/utils/textureTranscoders/index.js +2 -0
- package/src/src/viewer/scene/utils.js +453 -0
- package/src/src/viewer/scene/viewport/Viewport.js +212 -0
- package/src/src/viewer/scene/webgl/ArrayBuf.js +121 -0
- package/src/src/viewer/scene/webgl/Attribute.js +23 -0
- package/src/src/viewer/scene/webgl/Drawable.js +270 -0
- package/src/src/viewer/scene/webgl/FrameContext.js +313 -0
- package/src/src/viewer/scene/webgl/PickResult.js +364 -0
- package/src/src/viewer/scene/webgl/Pickable.js +69 -0
- package/src/src/viewer/scene/webgl/Program.js +181 -0
- package/src/src/viewer/scene/webgl/RenderBuffer.js +378 -0
- package/src/src/viewer/scene/webgl/RenderBufferManager.js +34 -0
- package/src/src/viewer/scene/webgl/RenderFlags.js +203 -0
- package/src/src/viewer/scene/webgl/RenderState.js +40 -0
- package/src/src/viewer/scene/webgl/Renderer.js +1781 -0
- package/src/src/viewer/scene/webgl/Sampler.js +18 -0
- package/src/src/viewer/scene/webgl/Shader.js +49 -0
- package/src/src/viewer/scene/webgl/Texture2D.js +442 -0
- package/src/src/viewer/scene/webgl/convertConstant.js +244 -0
- package/src/src/viewer/scene/webgl/getExtension.js +32 -0
- package/src/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +214 -0
- package/src/src/viewer/scene/webgl/occlusion/OcclusionTester.js +426 -0
- package/src/src/viewer/scene/webgl/sao/SAODepthLimitedBlurRenderer.js +324 -0
- package/src/src/viewer/scene/webgl/sao/SAOOcclusionRenderer.js +376 -0
- package/src/src/viewer/scene/webgl/webglEnums.js +61 -0
- package/src/src/viewer/scene/webglInfo.js +47 -0
- package/src/viewer/scene/model/SceneModel.js +1 -1
- package/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +1 -1
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesColorRenderer.js +131 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesEmphasisRenderer.js +135 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesRenderer.js +12 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js +375 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js +34 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorRenderer.js +238 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js +270 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesDepthRenderer.js +126 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesFlatColorRenderer.js +235 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesNormalsRenderer.js +139 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesOcclusionRenderer.js +125 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPBRRenderer.js +561 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickDepthRenderer.js +144 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickMeshRenderer.js +130 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +121 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsRenderer.js +131 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesShadowRenderer.js +107 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSilhouetteRenderer.js +136 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapInitRenderer.js +311 -0
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js +308 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +1 -1
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesColorRenderer.js +136 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesEmphasisRenderer.js +137 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesRenderer.js +12 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js +376 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorRenderer.js +253 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js +278 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesDepthRenderer.js +126 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatColorRenderer.js +244 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatNormalsRenderer.js +130 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js +29 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesNormalsRenderer.js +138 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesOcclusionRenderer.js +128 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPBRRenderer.js +561 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickDepthRenderer.js +149 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickMeshRenderer.js +136 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +130 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsRenderer.js +145 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesShadowRenderer.js +113 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSilhouetteRenderer.js +139 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapInitRenderer.js +342 -0
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js +325 -0
- package/src/viewer/scene/webgl/Renderer.js +20 -19
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/VBOSceneModelTriangleBatchingEdgesRenderer.js +0 -12
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/VBOSceneModelTriangleInstancingEdgesRenderer.js +0 -12
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import {math} from "../../viewer/scene/math/math.js";
|
|
2
|
+
import {Mesh} from "../../viewer/scene/mesh/Mesh.js";
|
|
3
|
+
import {ReadableGeometry} from "../../viewer/scene/geometry/ReadableGeometry.js";
|
|
4
|
+
import {PhongMaterial} from "../../viewer/scene/materials/PhongMaterial.js";
|
|
5
|
+
import {buildBoxGeometry} from "../../viewer/scene/geometry/builders/buildBoxGeometry.js";
|
|
6
|
+
import {EdgeMaterial} from "../../viewer/scene/materials/EdgeMaterial.js";
|
|
7
|
+
import {EmphasisMaterial} from "../../viewer/scene/materials/EmphasisMaterial.js";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Renders a 3D plane within an {@link Overview} to indicate its {@link SectionPlane}'s current position and orientation.
|
|
12
|
+
*
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
export class Plane {
|
|
16
|
+
|
|
17
|
+
/** @private */
|
|
18
|
+
constructor(overview, overviewScene, sectionPlane) {
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The ID of this SectionPlanesOverviewPlane.
|
|
22
|
+
*
|
|
23
|
+
* @type {String}
|
|
24
|
+
*/
|
|
25
|
+
this.id = sectionPlane.id;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The {@link SectionPlane} represented by this SectionPlanesOverviewPlane.
|
|
29
|
+
*
|
|
30
|
+
* @type {SectionPlane}
|
|
31
|
+
*/
|
|
32
|
+
this._sectionPlane = sectionPlane;
|
|
33
|
+
|
|
34
|
+
this._mesh = new Mesh(overviewScene, {
|
|
35
|
+
id: sectionPlane.id,
|
|
36
|
+
geometry: new ReadableGeometry(overviewScene, buildBoxGeometry({
|
|
37
|
+
xSize: .5,
|
|
38
|
+
ySize: .5,
|
|
39
|
+
zSize: .001
|
|
40
|
+
})),
|
|
41
|
+
material: new PhongMaterial(overviewScene, {
|
|
42
|
+
emissive: [1, 1, 1],
|
|
43
|
+
diffuse: [0, 0, 0],
|
|
44
|
+
backfaces: false
|
|
45
|
+
}),
|
|
46
|
+
edgeMaterial: new EdgeMaterial(overviewScene, {
|
|
47
|
+
edgeColor: [0.0, 0.0, 0.0],
|
|
48
|
+
edgeAlpha: 1.0,
|
|
49
|
+
edgeWidth: 1
|
|
50
|
+
}),
|
|
51
|
+
highlightMaterial: new EmphasisMaterial(overviewScene, {
|
|
52
|
+
fill: true,
|
|
53
|
+
fillColor: [0.5, 1, 0.5],
|
|
54
|
+
fillAlpha: 0.7,
|
|
55
|
+
edges: true,
|
|
56
|
+
edgeColor: [0.0, 0.0, 0.0],
|
|
57
|
+
edgeAlpha: 1.0,
|
|
58
|
+
edgeWidth: 1
|
|
59
|
+
}),
|
|
60
|
+
selectedMaterial: new EmphasisMaterial(overviewScene, {
|
|
61
|
+
fill: true,
|
|
62
|
+
fillColor: [0, 0, 1],
|
|
63
|
+
fillAlpha: 0.7,
|
|
64
|
+
edges: true,
|
|
65
|
+
edgeColor: [1.0, 0.0, 0.0],
|
|
66
|
+
edgeAlpha: 1.0,
|
|
67
|
+
edgeWidth: 1
|
|
68
|
+
}),
|
|
69
|
+
highlighted: true,
|
|
70
|
+
scale: [3, 3, 3],
|
|
71
|
+
position: [0, 0, 0],
|
|
72
|
+
rotation: [0, 0, 0],
|
|
73
|
+
opacity: 0.3,
|
|
74
|
+
edges: true
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
{
|
|
79
|
+
const vec = math.vec3([0, 0, 0]);
|
|
80
|
+
const pos2 = math.vec3();
|
|
81
|
+
const zeroVec = math.vec3([0, 0, 1]);
|
|
82
|
+
const quat = math.vec4(4);
|
|
83
|
+
const pos3 = math.vec3();
|
|
84
|
+
|
|
85
|
+
const update = () => {
|
|
86
|
+
|
|
87
|
+
const origin = this._sectionPlane.scene.center;
|
|
88
|
+
|
|
89
|
+
const negDir = [-this._sectionPlane.dir[0], -this._sectionPlane.dir[1], -this._sectionPlane.dir[2]];
|
|
90
|
+
math.subVec3(origin, this._sectionPlane.pos, vec);
|
|
91
|
+
const dist = -math.dotVec3(negDir, vec);
|
|
92
|
+
|
|
93
|
+
math.normalizeVec3(negDir);
|
|
94
|
+
math.mulVec3Scalar(negDir, dist, pos2);
|
|
95
|
+
const quaternion = math.vec3PairToQuaternion(zeroVec, this._sectionPlane.dir, quat);
|
|
96
|
+
|
|
97
|
+
pos3[0] = pos2[0] * 0.1;
|
|
98
|
+
pos3[1] = pos2[1] * 0.1;
|
|
99
|
+
pos3[2] = pos2[2] * 0.1;
|
|
100
|
+
|
|
101
|
+
this._mesh.quaternion = quaternion;
|
|
102
|
+
this._mesh.position = pos3;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
this._onSectionPlanePos = this._sectionPlane.on("pos", update);
|
|
106
|
+
this._onSectionPlaneDir = this._sectionPlane.on("dir", update);
|
|
107
|
+
|
|
108
|
+
// update();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
this._highlighted = false;
|
|
112
|
+
this._selected = false;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Sets if this SectionPlanesOverviewPlane is highlighted.
|
|
117
|
+
*
|
|
118
|
+
* @type {Boolean}
|
|
119
|
+
* @private
|
|
120
|
+
*/
|
|
121
|
+
setHighlighted(highlighted) {
|
|
122
|
+
this._highlighted = !!highlighted;
|
|
123
|
+
this._mesh.highlighted = this._highlighted;
|
|
124
|
+
this._mesh.highlightMaterial.fillColor = highlighted ? [0, 0.7, 0] : [0, 0, 0];
|
|
125
|
+
// this._selectedMesh.highlighted = true;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Gets if this SectionPlanesOverviewPlane is highlighted.
|
|
130
|
+
*
|
|
131
|
+
* @type {Boolean}
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
getHighlighted() {
|
|
135
|
+
return this._highlighted;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Sets if this SectionPlanesOverviewPlane is selected.
|
|
140
|
+
*
|
|
141
|
+
* @type {Boolean}
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
setSelected(selected) {
|
|
145
|
+
this._selected = !!selected;
|
|
146
|
+
this._mesh.edgeMaterial.edgeWidth = selected ? 3 : 1;
|
|
147
|
+
this._mesh.highlightMaterial.edgeWidth = selected ? 3 : 1;
|
|
148
|
+
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Gets if this SectionPlanesOverviewPlane is selected.
|
|
153
|
+
*
|
|
154
|
+
* @type {Boolean}
|
|
155
|
+
* @private
|
|
156
|
+
*/
|
|
157
|
+
getSelected() {
|
|
158
|
+
return this._selected;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/** @private */
|
|
162
|
+
destroy() {
|
|
163
|
+
this._sectionPlane.off(this._onSectionPlanePos);
|
|
164
|
+
this._sectionPlane.off(this._onSectionPlaneDir);
|
|
165
|
+
this._mesh.destroy();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./FaceAlignedSectionPlanesPlugin.js";
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import {Plugin} from "../../viewer/Plugin.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* {@link Viewer} plugin that makes interaction smoother with large models, by temporarily switching
|
|
5
|
+
* the Viewer to faster, lower-quality rendering modes whenever we interact.
|
|
6
|
+
*
|
|
7
|
+
* [<img src="https://xeokit.io/img/docs/FastNavPlugin/FastNavPlugin.gif">](https://xeokit.github.io/xeokit-sdk/examples/#performance_FastNavPlugin)
|
|
8
|
+
*
|
|
9
|
+
* FastNavPlugin works by hiding specified Viewer rendering features, and optionally scaling the Viewer's canvas
|
|
10
|
+
* resolution, whenever we interact with the Viewer. Then, once we've finished interacting, FastNavPlugin restores those
|
|
11
|
+
* rendering features and the original canvas scale, after a configured delay.
|
|
12
|
+
*
|
|
13
|
+
* Depending on how we configure FastNavPlugin, we essentially switch to a smooth-rendering low-quality view while
|
|
14
|
+
* interacting, then return to the normal higher-quality view after we stop, following an optional delay.
|
|
15
|
+
*
|
|
16
|
+
* Down-scaling the canvas resolution gives particularly good results. For example, scaling by ````0.5```` means that
|
|
17
|
+
* we're rendering a quarter of the pixels while interacting, which can make the Viewer noticeably smoother with big models.
|
|
18
|
+
*
|
|
19
|
+
* The screen capture above shows FastNavPlugin in action. In this example, whenever we move the Camera or resize the Canvas,
|
|
20
|
+
* FastNavPlugin switches off enhanced edges and ambient shadows (SAO), and down-scales the canvas, making it slightly
|
|
21
|
+
* blurry. When ````0.5```` seconds passes with no interaction, the plugin shows edges and SAO again, and restores the
|
|
22
|
+
* original canvas scale.
|
|
23
|
+
*
|
|
24
|
+
* # Usage
|
|
25
|
+
*
|
|
26
|
+
* In the example below, we'll create a {@link Viewer}, add a {@link FastNavPlugin}, then use an {@link XKTLoaderPlugin} to load a model.
|
|
27
|
+
*
|
|
28
|
+
* Whenever we interact with the Viewer, our FastNavPlugin will:
|
|
29
|
+
*
|
|
30
|
+
* * hide edges,
|
|
31
|
+
* * hide ambient shadows (SAO),
|
|
32
|
+
* * hide physically-based materials (switching to non-PBR),
|
|
33
|
+
* * hide transparent objects, and
|
|
34
|
+
* * scale the canvas resolution by 0.5, causing the GPU to render 75% less pixels.
|
|
35
|
+
* <br>
|
|
36
|
+
*
|
|
37
|
+
* We'll also configure a 0.5 second delay before we transition back to high-quality each time we stop ineracting, so that we're
|
|
38
|
+
* not continually flipping between low and high quality as we interact. Since we're only rendering ambient shadows when not interacting, we'll also treat ourselves
|
|
39
|
+
* to expensive, high-quality SAO settings, that we wouldn't normally configure for an interactive SAO effect.
|
|
40
|
+
*
|
|
41
|
+
* * [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#performance_FastNavPlugin)]
|
|
42
|
+
*
|
|
43
|
+
* ````javascript
|
|
44
|
+
* import {Viewer, XKTLoaderPlugin, FastNavPlugin} from "xeokit-sdk.es.js";
|
|
45
|
+
*
|
|
46
|
+
* // Create a Viewer with PBR and SAO enabled
|
|
47
|
+
*
|
|
48
|
+
* const viewer = new Viewer({
|
|
49
|
+
* canvasId: "myCanvas",
|
|
50
|
+
* transparent: true,
|
|
51
|
+
* pbr: true, // Enable physically-based rendering for Viewer
|
|
52
|
+
* sao: true // Enable ambient shadows for Viewer
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* viewer.scene.camera.eye = [-66.26, 105.84, -281.92];
|
|
56
|
+
* viewer.scene.camera.look = [42.45, 49.62, -43.59];
|
|
57
|
+
* viewer.scene.camera.up = [0.05, 0.95, 0.15];
|
|
58
|
+
*
|
|
59
|
+
* // Higher-quality SAO settings
|
|
60
|
+
*
|
|
61
|
+
* viewer.scene.sao.enabled = true;
|
|
62
|
+
* viewer.scene.sao.numSamples = 60;
|
|
63
|
+
* viewer.scene.sao.kernelRadius = 170;
|
|
64
|
+
*
|
|
65
|
+
* // Install a FastNavPlugin
|
|
66
|
+
*
|
|
67
|
+
* new FastNavPlugin(viewer, {
|
|
68
|
+
* hideEdges: true, // Don't show edges while we interact (default is true)
|
|
69
|
+
* hideSAO: true, // Don't show ambient shadows while we interact (default is true)
|
|
70
|
+
* hideColorTexture: true, // No color textures while we interact (default is true)
|
|
71
|
+
* hidePBR: true, // No physically-based rendering while we interact (default is true)
|
|
72
|
+
* hideTransparentObjects: true, // Hide transparent objects while we interact (default is false)
|
|
73
|
+
* scaleCanvasResolution: true, // Scale canvas resolution while we interact (default is false)
|
|
74
|
+
* scaleCanvasResolutionFactor: 0.5, // Factor by which we scale canvas resolution when we interact (default is 0.6)
|
|
75
|
+
* delayBeforeRestore: true, // When we stop interacting, delay before restoring normal render (default is true)
|
|
76
|
+
* delayBeforeRestoreSeconds: 0.5 // The delay duration, in seconds (default is 0.5)
|
|
77
|
+
* });
|
|
78
|
+
*
|
|
79
|
+
* // Load a BIM model from XKT
|
|
80
|
+
*
|
|
81
|
+
* const xktLoader = new XKTLoaderPlugin(viewer);
|
|
82
|
+
*
|
|
83
|
+
* const model = xktLoader.load({
|
|
84
|
+
* id: "myModel",
|
|
85
|
+
* src: "./models/xkt/HolterTower.xkt",
|
|
86
|
+
* sao: true, // Enable ambient shadows for this model
|
|
87
|
+
* pbr: true // Enable physically-based rendering for this model
|
|
88
|
+
* });
|
|
89
|
+
* ````
|
|
90
|
+
*
|
|
91
|
+
* @class FastNavPlugin
|
|
92
|
+
*/
|
|
93
|
+
class FastNavPlugin extends Plugin {
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @constructor
|
|
97
|
+
* @param {Viewer} viewer The Viewer.
|
|
98
|
+
* @param {Object} cfg FastNavPlugin configuration.
|
|
99
|
+
* @param {String} [cfg.id="FastNav"] Optional ID for this plugin, so that we can find it within {@link Viewer#plugins}.
|
|
100
|
+
* @param {Boolean} [cfg.hideColorTexture=true] Whether to temporarily hide color textures whenever we interact with the Viewer.
|
|
101
|
+
* @param {Boolean} [cfg.hidePBR=true] Whether to temporarily hide physically-based rendering (PBR) whenever we interact with the Viewer.
|
|
102
|
+
* @param {Boolean} [cfg.hideSAO=true] Whether to temporarily hide scalable ambient occlusion (SAO) whenever we interact with the Viewer.
|
|
103
|
+
* @param {Boolean} [cfg.hideEdges=true] Whether to temporarily hide edges whenever we interact with the Viewer.
|
|
104
|
+
* @param {Boolean} [cfg.hideTransparentObjects=false] Whether to temporarily hide transparent objects whenever we interact with the Viewer.
|
|
105
|
+
* @param {Number} [cfg.scaleCanvasResolution=false] Whether to temporarily down-scale the canvas resolution whenever we interact with the Viewer.
|
|
106
|
+
* @param {Number} [cfg.scaleCanvasResolutionFactor=0.6] The factor by which we downscale the canvas resolution whenever we interact with the Viewer.
|
|
107
|
+
* @param {Boolean} [cfg.delayBeforeRestore=true] Whether to temporarily have a delay before restoring normal rendering after we stop interacting with the Viewer.
|
|
108
|
+
* @param {Number} [cfg.delayBeforeRestoreSeconds=0.5] Delay in seconds before restoring normal rendering after we stop interacting with the Viewer.
|
|
109
|
+
*/
|
|
110
|
+
constructor(viewer, cfg = {}) {
|
|
111
|
+
|
|
112
|
+
super("FastNav", viewer);
|
|
113
|
+
|
|
114
|
+
this._hideColorTexture = cfg.hideColorTexture !== false;
|
|
115
|
+
this._hidePBR = cfg.hidePBR !== false;
|
|
116
|
+
this._hideSAO = cfg.hideSAO !== false;
|
|
117
|
+
this._hideEdges = cfg.hideEdges !== false;
|
|
118
|
+
this._hideTransparentObjects = !!cfg.hideTransparentObjects;
|
|
119
|
+
this._scaleCanvasResolution = !!cfg.scaleCanvasResolution;
|
|
120
|
+
this._scaleCanvasResolutionFactor = cfg.scaleCanvasResolutionFactor || 0.6;
|
|
121
|
+
this._delayBeforeRestore = (cfg.delayBeforeRestore !== false);
|
|
122
|
+
this._delayBeforeRestoreSeconds = cfg.delayBeforeRestoreSeconds || 0.5;
|
|
123
|
+
|
|
124
|
+
let timer = this._delayBeforeRestoreSeconds * 1000;
|
|
125
|
+
let fastMode = false;
|
|
126
|
+
|
|
127
|
+
const switchToLowQuality = () => {
|
|
128
|
+
timer = (this._delayBeforeRestoreSeconds * 1000);
|
|
129
|
+
if (!fastMode) {
|
|
130
|
+
viewer.scene._renderer.setColorTextureEnabled(!this._hideColorTexture);
|
|
131
|
+
viewer.scene._renderer.setPBREnabled(!this._hidePBR);
|
|
132
|
+
viewer.scene._renderer.setSAOEnabled(!this._hideSAO);
|
|
133
|
+
viewer.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects);
|
|
134
|
+
viewer.scene._renderer.setEdgesEnabled(!this._hideEdges);
|
|
135
|
+
if (this._scaleCanvasResolution) {
|
|
136
|
+
viewer.scene.canvas.resolutionScale = this._scaleCanvasResolutionFactor;
|
|
137
|
+
} else {
|
|
138
|
+
viewer.scene.canvas.resolutionScale = 1;
|
|
139
|
+
}
|
|
140
|
+
fastMode = true;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
const switchToHighQuality = () => {
|
|
145
|
+
viewer.scene.canvas.resolutionScale = 1;
|
|
146
|
+
viewer.scene._renderer.setEdgesEnabled(true);
|
|
147
|
+
viewer.scene._renderer.setColorTextureEnabled(true);
|
|
148
|
+
viewer.scene._renderer.setPBREnabled(true);
|
|
149
|
+
viewer.scene._renderer.setSAOEnabled(true);
|
|
150
|
+
viewer.scene._renderer.setTransparentEnabled(true);
|
|
151
|
+
fastMode = false;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
this._onCanvasBoundary = viewer.scene.canvas.on("boundary", switchToLowQuality);
|
|
155
|
+
this._onCameraMatrix = viewer.scene.camera.on("matrix", switchToLowQuality);
|
|
156
|
+
|
|
157
|
+
this._onSceneTick = viewer.scene.on("tick", (tickEvent) => {
|
|
158
|
+
if (!fastMode) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
timer -= tickEvent.deltaTime;
|
|
162
|
+
if ((!this._delayBeforeRestore) || timer <= 0) {
|
|
163
|
+
switchToHighQuality();
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
let down = false;
|
|
168
|
+
|
|
169
|
+
this._onSceneMouseDown = viewer.scene.input.on("mousedown", () => {
|
|
170
|
+
down = true;
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
this._onSceneMouseUp = viewer.scene.input.on("mouseup", () => {
|
|
174
|
+
down = false;
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
this._onSceneMouseMove = viewer.scene.input.on("mousemove", () => {
|
|
178
|
+
if (!down) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
switchToLowQuality();
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Gets whether to temporarily hide color textures whenever we interact with the Viewer.
|
|
187
|
+
*
|
|
188
|
+
* Default is ````true````.
|
|
189
|
+
*
|
|
190
|
+
* @return {Boolean} ````true```` if hiding color textures.
|
|
191
|
+
*/
|
|
192
|
+
get hideColorTexture() {
|
|
193
|
+
return this._hideColorTexture;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Sets whether to temporarily hide color textures whenever we interact with the Viewer.
|
|
198
|
+
*
|
|
199
|
+
* Default is ````true````.
|
|
200
|
+
*
|
|
201
|
+
* @param {Boolean} hideColorTexture ````true```` to hide color textures.
|
|
202
|
+
*/
|
|
203
|
+
set hideColorTexture(hideColorTexture) {
|
|
204
|
+
this._hideColorTexture = hideColorTexture;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Gets whether to temporarily hide physically-based rendering (PBR) whenever we interact with the Viewer.
|
|
209
|
+
*
|
|
210
|
+
* Default is ````true````.
|
|
211
|
+
*
|
|
212
|
+
* @return {Boolean} ````true```` if hiding PBR.
|
|
213
|
+
*/
|
|
214
|
+
get hidePBR() {
|
|
215
|
+
return this._hidePBR;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Sets whether to temporarily hide physically-based rendering (PBR) whenever we interact with the Viewer.
|
|
220
|
+
*
|
|
221
|
+
* Default is ````true````.
|
|
222
|
+
*
|
|
223
|
+
* @param {Boolean} hidePBR ````true```` to hide PBR.
|
|
224
|
+
*/
|
|
225
|
+
set hidePBR(hidePBR) {
|
|
226
|
+
this._hidePBR = hidePBR;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Gets whether to temporarily hide scalable ambient shadows (SAO) whenever we interact with the Viewer.
|
|
231
|
+
*
|
|
232
|
+
* Default is ````true````.
|
|
233
|
+
*
|
|
234
|
+
* @return {Boolean} ````true```` if hiding SAO.
|
|
235
|
+
*/
|
|
236
|
+
get hideSAO() {
|
|
237
|
+
return this._hideSAO;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Sets whether to temporarily hide scalable ambient shadows (SAO) whenever we interact with the Viewer.
|
|
242
|
+
*
|
|
243
|
+
* Default is ````true````.
|
|
244
|
+
*
|
|
245
|
+
* @param {Boolean} hideSAO ````true```` to hide SAO.
|
|
246
|
+
*/
|
|
247
|
+
set hideSAO(hideSAO) {
|
|
248
|
+
this._hideSAO = hideSAO;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Gets whether to temporarily hide edges whenever we interact with the Viewer.
|
|
253
|
+
*
|
|
254
|
+
* Default is ````true````.
|
|
255
|
+
*
|
|
256
|
+
* @return {Boolean} ````true```` if hiding edges.
|
|
257
|
+
*/
|
|
258
|
+
get hideEdges() {
|
|
259
|
+
return this._hideEdges;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Sets whether to temporarily hide edges whenever we interact with the Viewer.
|
|
264
|
+
*
|
|
265
|
+
* Default is ````true````.
|
|
266
|
+
*
|
|
267
|
+
* @param {Boolean} hideEdges ````true```` to hide edges.
|
|
268
|
+
*/
|
|
269
|
+
set hideEdges(hideEdges) {
|
|
270
|
+
this._hideEdges = hideEdges;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Gets whether to temporarily hide transparent objects whenever we interact with the Viewer.
|
|
275
|
+
*
|
|
276
|
+
* Does not hide X-rayed, selected, highlighted objects.
|
|
277
|
+
*
|
|
278
|
+
* Default is ````false````.
|
|
279
|
+
*
|
|
280
|
+
* @return {Boolean} ````true```` if hiding transparent objects.
|
|
281
|
+
*/
|
|
282
|
+
get hideTransparentObjects() {
|
|
283
|
+
return this._hideTransparentObjects
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Sets whether to temporarily hide transparent objects whenever we interact with the Viewer.
|
|
288
|
+
*
|
|
289
|
+
* Does not hide X-rayed, selected, highlighted objects.
|
|
290
|
+
*
|
|
291
|
+
* Default is ````false````.
|
|
292
|
+
*
|
|
293
|
+
* @param {Boolean} hideTransparentObjects ````true```` to hide transparent objects.
|
|
294
|
+
*/
|
|
295
|
+
set hideTransparentObjects(hideTransparentObjects) {
|
|
296
|
+
this._hideTransparentObjects = (hideTransparentObjects !== false);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Gets whether to temporarily scale the canvas resolution whenever we interact with the Viewer.
|
|
301
|
+
*
|
|
302
|
+
* Default is ````false````.
|
|
303
|
+
*
|
|
304
|
+
* The scaling factor is configured via {@link FastNavPlugin#scaleCanvasResolutionFactor}.
|
|
305
|
+
*
|
|
306
|
+
* @return {Boolean} ````true```` if scaling the canvas resolution.
|
|
307
|
+
*/
|
|
308
|
+
get scaleCanvasResolution() {
|
|
309
|
+
return this._scaleCanvasResolution;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Sets whether to temporarily scale the canvas resolution whenever we interact with the Viewer.
|
|
314
|
+
*
|
|
315
|
+
* Default is ````false````.
|
|
316
|
+
*
|
|
317
|
+
* The scaling factor is configured via {@link FastNavPlugin#scaleCanvasResolutionFactor}.
|
|
318
|
+
*
|
|
319
|
+
* @param {Boolean} scaleCanvasResolution ````true```` to scale the canvas resolution.
|
|
320
|
+
*/
|
|
321
|
+
set scaleCanvasResolution(scaleCanvasResolution) {
|
|
322
|
+
this._scaleCanvasResolution = scaleCanvasResolution;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Gets the factor by which we temporarily scale the canvas resolution when we interact with the viewer.
|
|
327
|
+
*
|
|
328
|
+
* Default is ````0.6````.
|
|
329
|
+
*
|
|
330
|
+
* Enable canvas resolution scaling by setting {@link FastNavPlugin#scaleCanvasResolution} ````true````.
|
|
331
|
+
*
|
|
332
|
+
* @return {Number} Factor by which we scale the canvas resolution.
|
|
333
|
+
*/
|
|
334
|
+
get scaleCanvasResolutionFactor() {
|
|
335
|
+
return this._scaleCanvasResolutionFactor;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Sets the factor by which we temporarily scale the canvas resolution when we interact with the viewer.
|
|
340
|
+
*
|
|
341
|
+
* Accepted range is ````[0.0 .. 1.0]````.
|
|
342
|
+
*
|
|
343
|
+
* Default is ````0.6````.
|
|
344
|
+
*
|
|
345
|
+
* Enable canvas resolution scaling by setting {@link FastNavPlugin#scaleCanvasResolution} ````true````.
|
|
346
|
+
*
|
|
347
|
+
* @param {Number} scaleCanvasResolutionFactor Factor by which we scale the canvas resolution.
|
|
348
|
+
*/
|
|
349
|
+
set scaleCanvasResolutionFactor(scaleCanvasResolutionFactor) {
|
|
350
|
+
this._scaleCanvasResolutionFactor = scaleCanvasResolutionFactor || 0.6;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Gets whether to have a delay before restoring normal rendering after we stop interacting with the Viewer.
|
|
355
|
+
*
|
|
356
|
+
* The delay duration is configured via {@link FastNavPlugin#delayBeforeRestoreSeconds}.
|
|
357
|
+
*
|
|
358
|
+
* Default is ````true````.
|
|
359
|
+
*
|
|
360
|
+
* @return {Boolean} Whether to have a delay.
|
|
361
|
+
*/
|
|
362
|
+
get delayBeforeRestore() {
|
|
363
|
+
return this._delayBeforeRestore;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Sets whether to have a delay before restoring normal rendering after we stop interacting with the Viewer.
|
|
368
|
+
*
|
|
369
|
+
* The delay duration is configured via {@link FastNavPlugin#delayBeforeRestoreSeconds}.
|
|
370
|
+
*
|
|
371
|
+
* Default is ````true````.
|
|
372
|
+
*
|
|
373
|
+
* @param {Boolean} delayBeforeRestore Whether to have a delay.
|
|
374
|
+
*/
|
|
375
|
+
set delayBeforeRestore(delayBeforeRestore) {
|
|
376
|
+
this._delayBeforeRestore = delayBeforeRestore;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Gets the delay before restoring normal rendering after we stop interacting with the Viewer.
|
|
381
|
+
*
|
|
382
|
+
* The delay is enabled when {@link FastNavPlugin#delayBeforeRestore} is ````true````.
|
|
383
|
+
*
|
|
384
|
+
* Default is ````0.5```` seconds.
|
|
385
|
+
*
|
|
386
|
+
* @return {Number} Delay in seconds.
|
|
387
|
+
*/
|
|
388
|
+
get delayBeforeRestoreSeconds() {
|
|
389
|
+
return this._delayBeforeRestoreSeconds;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Sets the delay before restoring normal rendering after we stop interacting with the Viewer.
|
|
394
|
+
*
|
|
395
|
+
* The delay is enabled when {@link FastNavPlugin#delayBeforeRestore} is ````true````.
|
|
396
|
+
*
|
|
397
|
+
* Default is ````0.5```` seconds.
|
|
398
|
+
*
|
|
399
|
+
* @param {Number} delayBeforeRestoreSeconds Delay in seconds.
|
|
400
|
+
*/
|
|
401
|
+
set delayBeforeRestoreSeconds(delayBeforeRestoreSeconds) {
|
|
402
|
+
this._delayBeforeRestoreSeconds = delayBeforeRestoreSeconds !== null && delayBeforeRestoreSeconds !== undefined ? delayBeforeRestoreSeconds : 0.5;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* @private
|
|
407
|
+
*/
|
|
408
|
+
send(name, value) {
|
|
409
|
+
switch (name) {
|
|
410
|
+
case "clear":
|
|
411
|
+
break;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Destroys this plugin.
|
|
417
|
+
*/
|
|
418
|
+
destroy() {
|
|
419
|
+
this.viewer.scene.camera.off(this._onCameraMatrix);
|
|
420
|
+
this.viewer.scene.canvas.off(this._onCanvasBoundary);
|
|
421
|
+
this.viewer.scene.input.off(this._onSceneMouseDown);
|
|
422
|
+
this.viewer.scene.input.off(this._onSceneMouseUp);
|
|
423
|
+
this.viewer.scene.input.off(this._onSceneMouseMove);
|
|
424
|
+
this.viewer.scene.off(this._onSceneTick);
|
|
425
|
+
super.destroy();
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
export {FastNavPlugin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./FastNavPlugin.js";
|