@xeokit/xeokit-sdk 2.5.2-beta-13 → 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.
- package/dist/xeokit-sdk.cjs.js +30 -9
- package/dist/xeokit-sdk.es.js +30 -9
- package/dist/xeokit-sdk.es5.js +67 -65
- 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/viewer/metadata/MetaModel.js +15 -0
- package/src/viewer/metadata/MetaScene.js +15 -9
- package/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +0 -663
- package/src/src/extras/ContextMenu/ContextMenu.js +0 -907
- package/src/src/extras/ContextMenu/index.js +0 -1
- package/src/src/extras/MarqueePicker/MarqueePicker.js +0 -352
- package/src/src/extras/MarqueePicker/MarqueePickerMouseControl.js +0 -174
- package/src/src/extras/MarqueePicker/index.js +0 -2
- package/src/src/extras/PointerLens/PointerLens.js +0 -312
- package/src/src/extras/PointerLens/index.js +0 -1
- package/src/src/extras/collision/ObjectsKdTree3.js +0 -149
- package/src/src/extras/collision/index.js +0 -1
- package/src/src/extras/index.js +0 -4
- package/src/src/index.js +0 -3
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurement.js +0 -731
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.js +0 -84
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js +0 -435
- package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js +0 -406
- package/src/src/plugins/AngleMeasurementsPlugin/index.js +0 -3
- package/src/src/plugins/AnnotationsPlugin/Annotation.js +0 -368
- package/src/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js +0 -583
- package/src/src/plugins/AnnotationsPlugin/index.js +0 -1
- package/src/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js +0 -333
- package/src/src/plugins/AxisGizmoPlugin/index.js +0 -1
- package/src/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js +0 -977
- package/src/src/plugins/BCFViewpointsPlugin/index.js +0 -1
- package/src/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js +0 -29
- package/src/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js +0 -751
- package/src/src/plugins/CityJSONLoaderPlugin/index.js +0 -1
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js +0 -963
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.js +0 -84
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +0 -399
- package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js +0 -505
- package/src/src/plugins/DistanceMeasurementsPlugin/index.js +0 -3
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesControl.js +0 -639
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js +0 -436
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Overview.js +0 -247
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Plane.js +0 -167
- package/src/src/plugins/FaceAlignedSectionPlanesPlugin/index.js +0 -1
- package/src/src/plugins/FastNavPlugin/FastNavPlugin.js +0 -429
- package/src/src/plugins/FastNavPlugin/index.js +0 -1
- package/src/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +0 -140
- package/src/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js +0 -421
- package/src/src/plugins/GLTFLoaderPlugin/GLTFSceneModelLoader.js +0 -669
- package/src/src/plugins/GLTFLoaderPlugin/index.js +0 -2
- package/src/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js +0 -58
- package/src/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js +0 -563
- package/src/src/plugins/LASLoaderPlugin/index.js +0 -1
- package/src/src/plugins/LASLoaderPlugin/loadLASHeader.js +0 -183
- package/src/src/plugins/NavCubePlugin/CubeTextureCanvas.js +0 -290
- package/src/src/plugins/NavCubePlugin/NavCubePlugin.js +0 -753
- package/src/src/plugins/NavCubePlugin/index.js +0 -1
- package/src/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js +0 -145
- package/src/src/plugins/OBJLoaderPlugin/OBJSceneGraphLoader.js +0 -777
- package/src/src/plugins/OBJLoaderPlugin/index.js +0 -1
- package/src/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js +0 -33
- package/src/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js +0 -274
- package/src/src/plugins/STLLoaderPlugin/STLSceneGraphLoader.js +0 -313
- package/src/src/plugins/STLLoaderPlugin/index.js +0 -2
- package/src/src/plugins/SectionPlanesPlugin/Control.js +0 -1328
- package/src/src/plugins/SectionPlanesPlugin/Overview.js +0 -249
- package/src/src/plugins/SectionPlanesPlugin/Plane.js +0 -169
- package/src/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js +0 -404
- package/src/src/plugins/SectionPlanesPlugin/index.js +0 -1
- package/src/src/plugins/SkyboxesPlugin/SkyboxesPlugin.js +0 -134
- package/src/src/plugins/SkyboxesPlugin/index.js +0 -1
- package/src/src/plugins/StoreyViewsPlugin/Storey.js +0 -84
- package/src/src/plugins/StoreyViewsPlugin/StoreyMap.js +0 -57
- package/src/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js +0 -773
- package/src/src/plugins/StoreyViewsPlugin/index.js +0 -1
- package/src/src/plugins/TreeViewPlugin/RenderService.js +0 -169
- package/src/src/plugins/TreeViewPlugin/TreeViewNode.js +0 -101
- package/src/src/plugins/TreeViewPlugin/TreeViewPlugin.js +0 -1370
- package/src/src/plugins/TreeViewPlugin/index.js +0 -1
- package/src/src/plugins/ViewCullPlugin/ViewCullPlugin.js +0 -295
- package/src/src/plugins/ViewCullPlugin/index.js +0 -1
- package/src/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js +0 -58
- package/src/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js +0 -942
- package/src/src/plugins/WebIFCLoaderPlugin/index.js +0 -1
- package/src/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js +0 -95
- package/src/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +0 -1194
- package/src/src/plugins/XKTLoaderPlugin/index.js +0 -2
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV1.js +0 -169
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV10.js +0 -660
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +0 -663
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV2.js +0 -230
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV3.js +0 -223
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV4.js +0 -283
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV5.js +0 -246
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV6.js +0 -301
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV7.js +0 -439
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV8.js +0 -563
- package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV9.js +0 -518
- package/src/src/plugins/XKTLoaderPlugin/parsers/lib/pako.js +0 -2
- package/src/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js +0 -238
- package/src/src/plugins/XML3DLoaderPlugin/XML3DSceneGraphLoader.js +0 -1279
- package/src/src/plugins/XML3DLoaderPlugin/index.js +0 -1
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/.jshintrc +0 -11
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/deflate.js +0 -2060
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/inflate.js +0 -2155
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/mime-types.js +0 -1002
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/pako/codecs.js +0 -64
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/z-worker.js +0 -153
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-ext.js +0 -267
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-fs.js +0 -553
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip.js +0 -991
- package/src/src/plugins/XML3DLoaderPlugin/zipjs/zlib-asm/codecs.js +0 -49
- package/src/src/plugins/index.js +0 -21
- package/src/src/plugins/lib/culling/ObjectCullStates.js +0 -208
- package/src/src/plugins/lib/earcut.js +0 -677
- package/src/src/plugins/lib/html/Dot.js +0 -179
- package/src/src/plugins/lib/html/Label.js +0 -174
- package/src/src/plugins/lib/html/Wire.js +0 -220
- package/src/src/viewer/Configs.js +0 -127
- package/src/src/viewer/Plugin.js +0 -233
- package/src/src/viewer/Viewer.js +0 -542
- package/src/src/viewer/index.js +0 -5
- package/src/src/viewer/localization/LocaleService.js +0 -475
- package/src/src/viewer/metadata/IFCObjectDefaultColors.js +0 -163
- package/src/src/viewer/metadata/IFCObjectDefaults.js +0 -17
- package/src/src/viewer/metadata/MetaModel.js +0 -414
- package/src/src/viewer/metadata/MetaObject.js +0 -223
- package/src/src/viewer/metadata/MetaScene.js +0 -336
- package/src/src/viewer/metadata/Property.js +0 -55
- package/src/src/viewer/metadata/PropertySet.js +0 -77
- package/src/src/viewer/scene/Bitmap/Bitmap.js +0 -473
- package/src/src/viewer/scene/Bitmap/index.js +0 -1
- package/src/src/viewer/scene/CameraControl/CameraControl.js +0 -1750
- package/src/src/viewer/scene/CameraControl/lib/CameraUpdater.js +0 -312
- package/src/src/viewer/scene/CameraControl/lib/controllers/PanController.js +0 -112
- package/src/src/viewer/scene/CameraControl/lib/controllers/PickController.js +0 -265
- package/src/src/viewer/scene/CameraControl/lib/controllers/PivotController.js +0 -384
- package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardAxisViewHandler.js +0 -122
- package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardPanRotateDollyHandler.js +0 -183
- package/src/src/viewer/scene/CameraControl/lib/handlers/MouseMiscHandler.js +0 -68
- package/src/src/viewer/scene/CameraControl/lib/handlers/MousePanRotateDollyHandler.js +0 -345
- package/src/src/viewer/scene/CameraControl/lib/handlers/MousePickHandler.js +0 -376
- package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPanRotateAndDollyHandler.js +0 -288
- package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPickHandler.js +0 -235
- package/src/src/viewer/scene/Component.js +0 -915
- package/src/src/viewer/scene/Entity.js +0 -502
- package/src/src/viewer/scene/ImagePlane/ImagePlane.js +0 -570
- package/src/src/viewer/scene/ImagePlane/index.js +0 -1
- package/src/src/viewer/scene/LineSet/LineSet.js +0 -163
- package/src/src/viewer/scene/LineSet/index.js +0 -1
- package/src/src/viewer/scene/camera/Camera.js +0 -912
- package/src/src/viewer/scene/camera/CameraFlightAnimation.js +0 -669
- package/src/src/viewer/scene/camera/CameraPath.js +0 -194
- package/src/src/viewer/scene/camera/CameraPathAnimation.js +0 -326
- package/src/src/viewer/scene/camera/CustomProjection.js +0 -149
- package/src/src/viewer/scene/camera/Frustum.js +0 -316
- package/src/src/viewer/scene/camera/Ortho.js +0 -286
- package/src/src/viewer/scene/camera/Perspective.js +0 -304
- package/src/src/viewer/scene/camera/index.js +0 -2
- package/src/src/viewer/scene/canvas/Canvas.js +0 -490
- package/src/src/viewer/scene/canvas/Spinner.js +0 -323
- package/src/src/viewer/scene/constants/constants.js +0 -371
- package/src/src/viewer/scene/core.js +0 -268
- package/src/src/viewer/scene/geometry/Geometry.js +0 -33
- package/src/src/viewer/scene/geometry/ReadableGeometry.js +0 -682
- package/src/src/viewer/scene/geometry/VBOGeometry.js +0 -319
- package/src/src/viewer/scene/geometry/builders/buildBoxGeometry.js +0 -238
- package/src/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js +0 -106
- package/src/src/viewer/scene/geometry/builders/buildCylinderGeometry.js +0 -271
- package/src/src/viewer/scene/geometry/builders/buildGridGeometry.js +0 -102
- package/src/src/viewer/scene/geometry/builders/buildPlaneGeometry.js +0 -168
- package/src/src/viewer/scene/geometry/builders/buildSphereGeometry.js +0 -161
- package/src/src/viewer/scene/geometry/builders/buildTorusGeometry.js +0 -172
- package/src/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js +0 -1721
- package/src/src/viewer/scene/geometry/builders/index.js +0 -8
- package/src/src/viewer/scene/geometry/index.js +0 -4
- package/src/src/viewer/scene/geometry/loaders/index.js +0 -2
- package/src/src/viewer/scene/geometry/loaders/load3DSGeometry.js +0 -103
- package/src/src/viewer/scene/geometry/loaders/loadOBJGeometry.js +0 -130
- package/src/src/viewer/scene/index.js +0 -21
- package/src/src/viewer/scene/input/Input.js +0 -1333
- package/src/src/viewer/scene/libs/k3d.js +0 -1032
- package/src/src/viewer/scene/lights/AmbientLight.js +0 -175
- package/src/src/viewer/scene/lights/CubeTexture.js +0 -156
- package/src/src/viewer/scene/lights/DirLight.js +0 -314
- package/src/src/viewer/scene/lights/Light.js +0 -29
- package/src/src/viewer/scene/lights/LightMap.js +0 -77
- package/src/src/viewer/scene/lights/PointLight.js +0 -395
- package/src/src/viewer/scene/lights/ReflectionMap.js +0 -79
- package/src/src/viewer/scene/lights/Shadow.js +0 -138
- package/src/src/viewer/scene/lights/index.js +0 -5
- package/src/src/viewer/scene/marker/Marker.js +0 -383
- package/src/src/viewer/scene/marker/SpriteMarker.js +0 -356
- package/src/src/viewer/scene/marker/index.js +0 -2
- package/src/src/viewer/scene/materials/EdgeMaterial.js +0 -359
- package/src/src/viewer/scene/materials/EmphasisMaterial.js +0 -613
- package/src/src/viewer/scene/materials/Fresnel.js +0 -222
- package/src/src/viewer/scene/materials/LambertMaterial.js +0 -378
- package/src/src/viewer/scene/materials/LinesMaterial.js +0 -169
- package/src/src/viewer/scene/materials/Material.js +0 -39
- package/src/src/viewer/scene/materials/MetallicMaterial.js +0 -820
- package/src/src/viewer/scene/materials/PhongMaterial.js +0 -860
- package/src/src/viewer/scene/materials/PointsMaterial.js +0 -409
- package/src/src/viewer/scene/materials/SpecularMaterial.js +0 -807
- package/src/src/viewer/scene/materials/Texture.js +0 -513
- package/src/src/viewer/scene/materials/index.js +0 -8
- package/src/src/viewer/scene/math/Frustum.js +0 -118
- package/src/src/viewer/scene/math/buildEdgeIndices.js +0 -162
- package/src/src/viewer/scene/math/geometryCompressionUtils.js +0 -365
- package/src/src/viewer/scene/math/index.js +0 -3
- package/src/src/viewer/scene/math/math.js +0 -5386
- package/src/src/viewer/scene/math/rtcCoords.js +0 -139
- package/src/src/viewer/scene/mementos/CameraMemento.js +0 -200
- package/src/src/viewer/scene/mementos/ModelMemento.js +0 -263
- package/src/src/viewer/scene/mementos/ObjectsMemento.js +0 -259
- package/src/src/viewer/scene/mementos/index.js +0 -3
- package/src/src/viewer/scene/mesh/Mesh.js +0 -2202
- package/src/src/viewer/scene/mesh/draw/DrawRenderer.js +0 -996
- package/src/src/viewer/scene/mesh/draw/DrawShaderSource.js +0 -1570
- package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesRenderer.js +0 -259
- package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesShaderSource.js +0 -159
- package/src/src/viewer/scene/mesh/emphasis/EmphasisFillRenderer.js +0 -286
- package/src/src/viewer/scene/mesh/emphasis/EmphasisFillShaderSource.js +0 -262
- package/src/src/viewer/scene/mesh/index.js +0 -1
- package/src/src/viewer/scene/mesh/occlusion/OcclusionRenderer.js +0 -217
- package/src/src/viewer/scene/mesh/occlusion/OcclusionShaderSource.js +0 -157
- package/src/src/viewer/scene/mesh/pick/PickMeshRenderer.js +0 -223
- package/src/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +0 -151
- package/src/src/viewer/scene/mesh/pick/PickTriangleRenderer.js +0 -200
- package/src/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +0 -124
- package/src/src/viewer/scene/mesh/shadow/ShadowRenderer.js +0 -214
- package/src/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +0 -98
- package/src/src/viewer/scene/metriqs/Metriqs.js +0 -259
- package/src/src/viewer/scene/model/ENTITY_FLAGS.js +0 -21
- package/src/src/viewer/scene/model/PerformanceModel.js +0 -26
- package/src/src/viewer/scene/model/RENDER_PASSES.js +0 -34
- package/src/src/viewer/scene/model/SceneModel.js +0 -4018
- package/src/src/viewer/scene/model/SceneModelEntity.js +0 -715
- package/src/src/viewer/scene/model/SceneModelMesh.js +0 -341
- package/src/src/viewer/scene/model/SceneModelTexture.js +0 -38
- package/src/src/viewer/scene/model/SceneModelTextureSet.js +0 -59
- package/src/src/viewer/scene/model/SceneModelTransform.js +0 -404
- package/src/src/viewer/scene/model/VBOSceneModel.js +0 -26
- package/src/src/viewer/scene/model/calculateUniquePositions.js +0 -126
- package/src/src/viewer/scene/model/compression.js +0 -227
- package/src/src/viewer/scene/model/dtx/BindableDataTexture.js +0 -31
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesBuffer.js +0 -27
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesLayer.js +0 -891
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesState.js +0 -46
- package/src/src/viewer/scene/model/dtx/lines/DTXLinesTextureFactory.js +0 -411
- package/src/src/viewer/scene/model/dtx/lines/dataTextureRamStats.js +0 -49
- package/src/src/viewer/scene/model/dtx/lines/rebucketPositions.js +0 -208
- package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesColorRenderer.js +0 -389
- package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesRenderers.js +0 -65
- package/src/src/viewer/scene/model/dtx/triangles/DTXTrianglesLayer.js +0 -1322
- package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesBuffer.js +0 -46
- package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesState.js +0 -250
- package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesTextureFactory.js +0 -518
- package/src/src/viewer/scene/model/dtx/triangles/lib/dataTextureRamStats.js +0 -54
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesColorRenderer.js +0 -619
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesDepthRenderer.js +0 -464
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesColorRenderer.js +0 -414
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesRenderer.js +0 -422
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesNormalsRenderer.js +0 -345
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesOcclusionRenderer.js +0 -436
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickDepthRenderer.js +0 -462
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickMeshRenderer.js +0 -436
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsFlatRenderer.js +0 -455
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsRenderer.js +0 -440
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesRenderers.js +0 -307
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSilhouetteRenderer.js +0 -465
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapInitRenderer.js +0 -466
- package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapRenderer.js +0 -427
- package/src/src/viewer/scene/model/index.js +0 -5
- package/src/src/viewer/scene/model/rebucketPositions.js +0 -354
- package/src/src/viewer/scene/model/vbo/ScratchMemory.js +0 -63
- package/src/src/viewer/scene/model/vbo/VBORenderer.js +0 -646
- package/src/src/viewer/scene/model/vbo/batching/lines/VBOBatchingLinesLayer.js +0 -699
- package/src/src/viewer/scene/model/vbo/batching/lines/lib/VBOBatchingLinesBuffer.js +0 -19
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLineSnapInitRenderer.js +0 -316
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesColorRenderer.js +0 -114
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesRenderers.js +0 -99
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSilhouetteRenderer.js +0 -124
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapInitRenderer.js +0 -311
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapRenderer.js +0 -309
- package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOSceneModelLineBatchingRenderer.js +0 -24
- package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsBuffer.js +0 -20
- package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsLayer.js +0 -718
- package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsRenderer.js +0 -24
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsColorRenderer.js +0 -168
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsOcclusionRenderer.js +0 -136
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickDepthRenderer.js +0 -156
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickMeshRenderer.js +0 -148
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsRenderers.js +0 -144
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsShadowRenderer.js +0 -107
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSilhouetteRenderer.js +0 -146
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapInitRenderer.js +0 -309
- package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapRenderer.js +0 -303
- package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesBuffer.js +0 -24
- package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +0 -1257
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesColorRenderer.js +0 -131
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesEmphasisRenderer.js +0 -135
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesRenderer.js +0 -12
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js +0 -375
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js +0 -34
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorRenderer.js +0 -238
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js +0 -270
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesDepthRenderer.js +0 -126
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesFlatColorRenderer.js +0 -235
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesNormalsRenderer.js +0 -139
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesOcclusionRenderer.js +0 -125
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPBRRenderer.js +0 -561
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickDepthRenderer.js +0 -144
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickMeshRenderer.js +0 -130
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +0 -121
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsRenderer.js +0 -131
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesShadowRenderer.js +0 -107
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSilhouetteRenderer.js +0 -136
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapInitRenderer.js +0 -311
- package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js +0 -308
- package/src/src/viewer/scene/model/vbo/float16.js +0 -760
- package/src/src/viewer/scene/model/vbo/instancing/lines/VBOInstancingLinesLayer.js +0 -704
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesColorRenderer.js +0 -148
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderer.js +0 -26
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderers.js +0 -139
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSilhouetteRenderer.js +0 -127
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapInitRenderer.js +0 -331
- package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapRenderer.js +0 -316
- package/src/src/viewer/scene/model/vbo/instancing/points/VBOInstancingPointsLayer.js +0 -728
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsColorRenderer.js +0 -174
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsDepthRenderer.js +0 -156
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsOcclusionRenderer.js +0 -149
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickDepthRenderer.js +0 -170
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickMeshRenderer.js +0 -152
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderer.js +0 -26
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderers.js +0 -174
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsShadowRenderer.js +0 -119
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSilhouetteRenderer.js +0 -154
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapInitRenderer.js +0 -330
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapRenderer.js +0 -311
- package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingTrianglesRenderer.js +0 -150
- package/src/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +0 -1190
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesColorRenderer.js +0 -136
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesEmphasisRenderer.js +0 -137
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesRenderer.js +0 -12
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js +0 -376
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorRenderer.js +0 -253
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js +0 -278
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesDepthRenderer.js +0 -126
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatColorRenderer.js +0 -244
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatNormalsRenderer.js +0 -130
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js +0 -29
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesNormalsRenderer.js +0 -138
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesOcclusionRenderer.js +0 -128
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPBRRenderer.js +0 -561
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickDepthRenderer.js +0 -149
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickMeshRenderer.js +0 -136
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +0 -130
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsRenderer.js +0 -145
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesShadowRenderer.js +0 -113
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSilhouetteRenderer.js +0 -139
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapInitRenderer.js +0 -342
- package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js +0 -325
- package/src/src/viewer/scene/nodes/Node.js +0 -1383
- package/src/src/viewer/scene/nodes/index.js +0 -1
- package/src/src/viewer/scene/paths/CubicBezierCurve.js +0 -194
- package/src/src/viewer/scene/paths/Curve.js +0 -183
- package/src/src/viewer/scene/paths/Path.js +0 -239
- package/src/src/viewer/scene/paths/QuadraticBezierCurve.js +0 -161
- package/src/src/viewer/scene/paths/SplineCurve.js +0 -133
- package/src/src/viewer/scene/paths/index.js +0 -5
- package/src/src/viewer/scene/postfx/SAO.js +0 -543
- package/src/src/viewer/scene/scene/Scene.js +0 -2802
- package/src/src/viewer/scene/sectionPlane/SectionPlane.js +0 -198
- package/src/src/viewer/scene/sectionPlane/SectionPlaneCache.js +0 -101
- package/src/src/viewer/scene/sectionPlane/index.js +0 -1
- package/src/src/viewer/scene/skybox/Skybox.js +0 -123
- package/src/src/viewer/scene/skybox/index.js +0 -1
- package/src/src/viewer/scene/stats.js +0 -44
- package/src/src/viewer/scene/utils/Cache.js +0 -29
- package/src/src/viewer/scene/utils/FileLoader.js +0 -161
- package/src/src/viewer/scene/utils/Loader.js +0 -55
- package/src/src/viewer/scene/utils/LoadingManager.js +0 -86
- package/src/src/viewer/scene/utils/Map.js +0 -45
- package/src/src/viewer/scene/utils/Queue.js +0 -56
- package/src/src/viewer/scene/utils/WorkerPool.js +0 -73
- package/src/src/viewer/scene/utils/index.js +0 -6
- package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js +0 -650
- package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/index.js +0 -1
- package/src/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js +0 -31
- package/src/src/viewer/scene/utils/textureTranscoders/index.js +0 -2
- package/src/src/viewer/scene/utils.js +0 -453
- package/src/src/viewer/scene/viewport/Viewport.js +0 -212
- package/src/src/viewer/scene/webgl/ArrayBuf.js +0 -121
- package/src/src/viewer/scene/webgl/Attribute.js +0 -23
- package/src/src/viewer/scene/webgl/Drawable.js +0 -270
- package/src/src/viewer/scene/webgl/FrameContext.js +0 -313
- package/src/src/viewer/scene/webgl/PickResult.js +0 -364
- package/src/src/viewer/scene/webgl/Pickable.js +0 -69
- package/src/src/viewer/scene/webgl/Program.js +0 -181
- package/src/src/viewer/scene/webgl/RenderBuffer.js +0 -378
- package/src/src/viewer/scene/webgl/RenderBufferManager.js +0 -34
- package/src/src/viewer/scene/webgl/RenderFlags.js +0 -203
- package/src/src/viewer/scene/webgl/RenderState.js +0 -40
- package/src/src/viewer/scene/webgl/Renderer.js +0 -1781
- package/src/src/viewer/scene/webgl/Sampler.js +0 -18
- package/src/src/viewer/scene/webgl/Shader.js +0 -49
- package/src/src/viewer/scene/webgl/Texture2D.js +0 -442
- package/src/src/viewer/scene/webgl/convertConstant.js +0 -244
- package/src/src/viewer/scene/webgl/getExtension.js +0 -32
- package/src/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +0 -214
- package/src/src/viewer/scene/webgl/occlusion/OcclusionTester.js +0 -426
- package/src/src/viewer/scene/webgl/sao/SAODepthLimitedBlurRenderer.js +0 -324
- package/src/src/viewer/scene/webgl/sao/SAOOcclusionRenderer.js +0 -376
- package/src/src/viewer/scene/webgl/webglEnums.js +0 -61
- package/src/src/viewer/scene/webglInfo.js +0 -47
|
@@ -1,436 +0,0 @@
|
|
|
1
|
-
import {math} from "../../viewer/scene/math/math.js";
|
|
2
|
-
import {Plugin} from "../../viewer/Plugin.js";
|
|
3
|
-
import {SectionPlane} from "../../viewer/scene/sectionPlane/SectionPlane.js";
|
|
4
|
-
import {FaceAlignedSectionPlanesControl} from "./FaceAlignedSectionPlanesControl.js";
|
|
5
|
-
import {Overview} from "./Overview.js";
|
|
6
|
-
|
|
7
|
-
const tempAABB = math.AABB3();
|
|
8
|
-
const tempVec3 = math.vec3();
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* FaceAlignedSectionPlanesPlugin is a {@link Viewer} plugin that creates and edits face-aligned {@link SectionPlane}s.
|
|
12
|
-
*
|
|
13
|
-
* [<img src="https://xeokit.github.io/xeokit-sdk/assets/images/FaceAlignedSectionPlanesPlugin.gif">](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_FaceAlignedSectionPlanesPlugin)
|
|
14
|
-
*
|
|
15
|
-
* [[Run this example](https://xeokit.github.io/xeokit-sdk/examples/#gizmos_FaceAlignedSectionPlanesPlugin)]
|
|
16
|
-
*
|
|
17
|
-
* ## Overview
|
|
18
|
-
*
|
|
19
|
-
* * Use the FaceAlignedSectionPlanesPlugin to
|
|
20
|
-
* create and edit {@link SectionPlane}s to slice portions off your models and reveal internal structures.
|
|
21
|
-
*
|
|
22
|
-
* * As shown in the screen capture above, FaceAlignedSectionPlanesPlugin shows an overview of all your SectionPlanes (on the right, in
|
|
23
|
-
* this example).
|
|
24
|
-
* * Click a plane in the overview to activate a 3D control with which you can interactively
|
|
25
|
-
* reposition its SectionPlane in the main canvas.
|
|
26
|
-
* * Configure the plugin with an HTML element that the user can click-and-drag on to reposition the SectionPlane for which the control is active.
|
|
27
|
-
* * Use {@link BCFViewpointsPlugin} to save and load SectionPlanes in BCF viewpoints.
|
|
28
|
-
*
|
|
29
|
-
* ## Usage
|
|
30
|
-
*
|
|
31
|
-
* In the example below, we'll use a {@link GLTFLoaderPlugin} to load a model, and a FaceAlignedSectionPlanesPlugin
|
|
32
|
-
* to slice it open with two {@link SectionPlane}s. We'll show the overview in the bottom right of the Viewer
|
|
33
|
-
* canvas. Finally, we'll programmatically activate the 3D editing control, so that we can use it to interactively
|
|
34
|
-
* reposition our second SectionPlane.
|
|
35
|
-
*
|
|
36
|
-
* ````JavaScript
|
|
37
|
-
* import {Viewer, GLTFLoaderPlugin, FaceAlignedSectionPlanesPlugin} from "xeokit-sdk.es.js";
|
|
38
|
-
*
|
|
39
|
-
* // Create a Viewer and arrange its Camera
|
|
40
|
-
*
|
|
41
|
-
* const viewer = new Viewer({
|
|
42
|
-
* canvasId: "myCanvas"
|
|
43
|
-
* });
|
|
44
|
-
*
|
|
45
|
-
* viewer.camera.eye = [-5.02, 2.22, 15.09];
|
|
46
|
-
* viewer.camera.look = [4.97, 2.79, 9.89];
|
|
47
|
-
* viewer.camera.up = [-0.05, 0.99, 0.02];
|
|
48
|
-
*
|
|
49
|
-
* // Add a GLTFLoaderPlugin
|
|
50
|
-
*
|
|
51
|
-
* const gltfLoader = new GLTFLoaderPlugin(viewer);
|
|
52
|
-
*
|
|
53
|
-
* // Add a FaceAlignedSectionPlanesPlugin, with overview visible
|
|
54
|
-
*
|
|
55
|
-
* const faceAlignedSectionPlanes = new FaceAlignedSectionPlanesPlugin(viewer, {
|
|
56
|
-
* overviewCanvasID: "myOverviewCanvas",
|
|
57
|
-
* overviewVisible: true,
|
|
58
|
-
* controlElementId: "myControlElement", // ID of element to capture drag events that move the SectionPlane
|
|
59
|
-
* dragSensitivity: 1 // Sensitivity factor that governs the rate at which dragging moves the SectionPlane
|
|
60
|
-
* });
|
|
61
|
-
*
|
|
62
|
-
* // Load a model
|
|
63
|
-
*
|
|
64
|
-
* const model = gltfLoader.load({
|
|
65
|
-
* id: "myModel",
|
|
66
|
-
* src: "./models/gltf/schependomlaan/scene.glb"
|
|
67
|
-
* });
|
|
68
|
-
*
|
|
69
|
-
* // Create a couple of section planes
|
|
70
|
-
* // These will be shown in the overview
|
|
71
|
-
*
|
|
72
|
-
* faceAlignedSectionPlanes.createSectionPlane({
|
|
73
|
-
* id: "mySectionPlane",
|
|
74
|
-
* pos: [1.04, 1.95, 9.74],
|
|
75
|
-
* dir: [1.0, 0.0, 0.0]
|
|
76
|
-
* });
|
|
77
|
-
*
|
|
78
|
-
* faceAlignedSectionPlanes.createSectionPlane({
|
|
79
|
-
* id: "mySectionPlane2",
|
|
80
|
-
* pos: [2.30, 4.46, 14.93],
|
|
81
|
-
* dir: [0.0, -0.09, -0.79]
|
|
82
|
-
* });
|
|
83
|
-
*
|
|
84
|
-
* // Show the FaceAlignedSectionPlanesPlugin's 3D editing gizmo,
|
|
85
|
-
* // to interactively reposition one of our SectionPlanes
|
|
86
|
-
*
|
|
87
|
-
* faceAlignedSectionPlanes.showControl("mySectionPlane2");
|
|
88
|
-
*
|
|
89
|
-
* const mySectionPlane2 = faceAlignedSectionPlanes.sectionPlanes["mySectionPlane2"];
|
|
90
|
-
*
|
|
91
|
-
* // Programmatically reposition one of our SectionPlanes
|
|
92
|
-
* // This also updates its position as shown in the overview gizmo
|
|
93
|
-
*
|
|
94
|
-
* mySectionPlane2.pos = [11.0, 6.0, -12];
|
|
95
|
-
* mySectionPlane2.dir = [0.4, 0.0, 0.5];
|
|
96
|
-
* ````
|
|
97
|
-
*/
|
|
98
|
-
export class FaceAlignedSectionPlanesPlugin extends Plugin {
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* @constructor
|
|
102
|
-
* @param {Viewer} viewer The Viewer.
|
|
103
|
-
* @param {Object} cfg Plugin configuration.
|
|
104
|
-
* @param {String} [cfg.id="SectionPlanes"] Optional ID for this plugin, so that we can find it within {@link Viewer#plugins}.
|
|
105
|
-
* @param {String} [cfg.overviewCanvasId] ID of a canvas element to display the overview.
|
|
106
|
-
* @param {String} [cfg.overviewVisible=true] Initial visibility of the overview canvas.
|
|
107
|
-
* @param {String} cfg.controlElementId ID of an HTML element that catches drag events to move the active SectionPlane.
|
|
108
|
-
* @param {Number} [cfg.dragSensitivity=1] Sensitivity factor that governs the rate at which dragging on the control element moves SectionPlane.
|
|
109
|
-
*/
|
|
110
|
-
constructor(viewer, cfg = {}) {
|
|
111
|
-
|
|
112
|
-
super("FaceAlignedSectionPlanesPlugin", viewer);
|
|
113
|
-
|
|
114
|
-
this._freeControls = [];
|
|
115
|
-
this._sectionPlanes = viewer.scene.sectionPlanes;
|
|
116
|
-
this._controls = {};
|
|
117
|
-
this._shownControlId = null;
|
|
118
|
-
this._dragSensitivity = cfg.dragSensitivity || 1;
|
|
119
|
-
|
|
120
|
-
if (cfg.overviewCanvasId !== null && cfg.overviewCanvasId !== undefined) {
|
|
121
|
-
|
|
122
|
-
const overviewCanvas = document.getElementById(cfg.overviewCanvasId);
|
|
123
|
-
|
|
124
|
-
if (!overviewCanvas) {
|
|
125
|
-
this.warn("Can't find overview canvas: '" + cfg.overviewCanvasId + "' - will create plugin without overview");
|
|
126
|
-
|
|
127
|
-
} else {
|
|
128
|
-
|
|
129
|
-
this._overview = new Overview(this, {
|
|
130
|
-
overviewCanvas: overviewCanvas,
|
|
131
|
-
visible: cfg.overviewVisible,
|
|
132
|
-
|
|
133
|
-
onHoverEnterPlane: ((id) => {
|
|
134
|
-
this._overview.setPlaneHighlighted(id, true);
|
|
135
|
-
}),
|
|
136
|
-
|
|
137
|
-
onHoverLeavePlane: ((id) => {
|
|
138
|
-
this._overview.setPlaneHighlighted(id, false);
|
|
139
|
-
}),
|
|
140
|
-
|
|
141
|
-
onClickedPlane: ((id) => {
|
|
142
|
-
if (this.getShownControl() === id) {
|
|
143
|
-
this.hideControl();
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
this.showControl(id);
|
|
147
|
-
const sectionPlane = this.sectionPlanes[id];
|
|
148
|
-
const sectionPlanePos = sectionPlane.pos;
|
|
149
|
-
tempAABB.set(this.viewer.scene.aabb);
|
|
150
|
-
math.getAABB3Center(tempAABB, tempVec3);
|
|
151
|
-
tempAABB[0] += sectionPlanePos[0] - tempVec3[0];
|
|
152
|
-
tempAABB[1] += sectionPlanePos[1] - tempVec3[1];
|
|
153
|
-
tempAABB[2] += sectionPlanePos[2] - tempVec3[2];
|
|
154
|
-
tempAABB[3] += sectionPlanePos[0] - tempVec3[0];
|
|
155
|
-
tempAABB[4] += sectionPlanePos[1] - tempVec3[1];
|
|
156
|
-
tempAABB[5] += sectionPlanePos[2] - tempVec3[2];
|
|
157
|
-
this.viewer.cameraFlight.flyTo({
|
|
158
|
-
aabb: tempAABB,
|
|
159
|
-
fitFOV: 65
|
|
160
|
-
});
|
|
161
|
-
}),
|
|
162
|
-
|
|
163
|
-
onClickedNothing: (() => {
|
|
164
|
-
this.hideControl();
|
|
165
|
-
})
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
if (cfg.controlElementId === null || cfg.controlElementId === undefined) {
|
|
171
|
-
this.error("Parameter expected: controlElementId");
|
|
172
|
-
} else {
|
|
173
|
-
this._controlElement = document.getElementById(cfg.controlElementId);
|
|
174
|
-
if (!this._controlElement) {
|
|
175
|
-
this.warn("Can't find control element: '" + cfg.controlElementId + "' - will create plugin without control element");
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
this._onSceneSectionPlaneCreated = viewer.scene.on("sectionPlaneCreated", (sectionPlane) => {
|
|
181
|
-
|
|
182
|
-
// SectionPlane created, either via FaceAlignedSectionPlanesPlugin#createSectionPlane(), or by directly
|
|
183
|
-
// instantiating a SectionPlane independently of FaceAlignedSectionPlanesPlugin, which can be done
|
|
184
|
-
// by BCFViewpointsPlugin#loadViewpoint().
|
|
185
|
-
|
|
186
|
-
this._sectionPlaneCreated(sectionPlane);
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Sets the factor that governs how fast a SectionPlane moves as we drag on the control element.
|
|
192
|
-
*
|
|
193
|
-
* @param {Number} dragSensitivity The dragging sensitivity factor.
|
|
194
|
-
*/
|
|
195
|
-
setDragSensitivity(dragSensitivity) {
|
|
196
|
-
this._dragSensitivity = dragSensitivity || 1;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Gets the factor that governs how fast a SectionPlane moves as we drag on the control element.
|
|
201
|
-
*
|
|
202
|
-
* @return {Number} The dragging sensitivity factor.
|
|
203
|
-
*/
|
|
204
|
-
getDragSensitivity() {
|
|
205
|
-
return this._dragSensitivity;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Sets if the overview canvas is visible.
|
|
210
|
-
*
|
|
211
|
-
* @param {Boolean} visible Whether or not the overview canvas is visible.
|
|
212
|
-
*/
|
|
213
|
-
setOverviewVisible(visible) {
|
|
214
|
-
if (this._overview) {
|
|
215
|
-
this._overview.setVisible(visible);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Gets if the overview canvas is visible.
|
|
221
|
-
*
|
|
222
|
-
* @return {Boolean} True when the overview canvas is visible.
|
|
223
|
-
*/
|
|
224
|
-
getOverviewVisible() {
|
|
225
|
-
if (this._overview) {
|
|
226
|
-
return this._overview.getVisible();
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Returns a map of the {@link SectionPlane}s created by this FaceAlignedSectionPlanesPlugin.
|
|
232
|
-
*
|
|
233
|
-
* @returns {{String:SectionPlane}} A map containing the {@link SectionPlane}s, each mapped to its {@link SectionPlane#id}.
|
|
234
|
-
*/
|
|
235
|
-
get sectionPlanes() {
|
|
236
|
-
return this._sectionPlanes;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Creates a {@link SectionPlane}.
|
|
241
|
-
*
|
|
242
|
-
* The {@link SectionPlane} will be registered by {@link SectionPlane#id} in {@link FaceAlignedSectionPlanesPlugin#sectionPlanes}.
|
|
243
|
-
*
|
|
244
|
-
* @param {Object} params {@link SectionPlane} configuration.
|
|
245
|
-
* @param {String} [params.id] Unique ID to assign to the {@link SectionPlane}. Must be unique among all components in the {@link Viewer}'s {@link Scene}. Auto-generated when omitted.
|
|
246
|
-
* @param {Number[]} [params.pos=[0,0,0]] World-space position of the {@link SectionPlane}.
|
|
247
|
-
* @param {Number[]} [params.dir=[0,0,-1]] World-space vector indicating the orientation of the {@link SectionPlane}.
|
|
248
|
-
* @param {Boolean} [params.active=true] Whether the {@link SectionPlane} is initially active. Only clips while this is true.
|
|
249
|
-
* @returns {SectionPlane} The new {@link SectionPlane}.
|
|
250
|
-
*/
|
|
251
|
-
createSectionPlane(params = {}) {
|
|
252
|
-
|
|
253
|
-
if (params.id !== undefined && params.id !== null && this.viewer.scene.components[params.id]) {
|
|
254
|
-
this.error("Viewer component with this ID already exists: " + params.id);
|
|
255
|
-
delete params.id;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// Note that SectionPlane constructor fires "sectionPlaneCreated" on the Scene,
|
|
259
|
-
// which FaceAlignedSectionPlanesPlugin handles and calls #_sectionPlaneCreated to create gizmo and add to overview canvas.
|
|
260
|
-
|
|
261
|
-
const sectionPlane = new SectionPlane(this.viewer.scene, {
|
|
262
|
-
id: params.id,
|
|
263
|
-
pos: params.pos,
|
|
264
|
-
dir: params.dir,
|
|
265
|
-
active: true || params.active
|
|
266
|
-
});
|
|
267
|
-
return sectionPlane;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
_sectionPlaneCreated(sectionPlane) {
|
|
271
|
-
const control = (this._freeControls.length > 0) ? this._freeControls.pop() : new FaceAlignedSectionPlanesControl(this);
|
|
272
|
-
control._setSectionPlane(sectionPlane);
|
|
273
|
-
control.setVisible(false);
|
|
274
|
-
this._controls[sectionPlane.id] = control;
|
|
275
|
-
if (this._overview) {
|
|
276
|
-
this._overview.addSectionPlane(sectionPlane);
|
|
277
|
-
}
|
|
278
|
-
sectionPlane.once("destroyed", () => {
|
|
279
|
-
this._sectionPlaneDestroyed(sectionPlane);
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* Inverts the direction of {@link SectionPlane#dir} on every existing SectionPlane.
|
|
285
|
-
*
|
|
286
|
-
* Inverts all SectionPlanes, including those that were not created with FaceAlignedSectionPlanesPlugin.
|
|
287
|
-
*/
|
|
288
|
-
flipSectionPlanes() {
|
|
289
|
-
const sectionPlanes = this.viewer.scene.sectionPlanes;
|
|
290
|
-
for (let id in sectionPlanes) {
|
|
291
|
-
const sectionPlane = sectionPlanes[id];
|
|
292
|
-
sectionPlane.flipDir();
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
/**
|
|
297
|
-
* Shows the 3D editing gizmo for a {@link SectionPlane}.
|
|
298
|
-
*
|
|
299
|
-
* @param {String} id ID of the {@link SectionPlane}.
|
|
300
|
-
*/
|
|
301
|
-
showControl(id) {
|
|
302
|
-
const control = this._controls[id];
|
|
303
|
-
if (!control) {
|
|
304
|
-
this.error("Control not found: " + id);
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
this.hideControl();
|
|
308
|
-
control.setVisible(true);
|
|
309
|
-
if (this._overview) {
|
|
310
|
-
this._overview.setPlaneSelected(id, true);
|
|
311
|
-
}
|
|
312
|
-
this._shownControlId = id;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* Gets the ID of the {@link SectionPlane} that the 3D editing gizmo is shown for.
|
|
317
|
-
*
|
|
318
|
-
* Returns ````null```` when the editing gizmo is not shown.
|
|
319
|
-
*
|
|
320
|
-
* @returns {String} ID of the the {@link SectionPlane} that the 3D editing gizmo is shown for, if shown, else ````null````.
|
|
321
|
-
*/
|
|
322
|
-
getShownControl() {
|
|
323
|
-
return this._shownControlId;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* Hides the 3D {@link SectionPlane} editing gizmo if shown.
|
|
328
|
-
*/
|
|
329
|
-
hideControl() {
|
|
330
|
-
for (let id in this._controls) {
|
|
331
|
-
if (this._controls.hasOwnProperty(id)) {
|
|
332
|
-
this._controls[id].setVisible(false);
|
|
333
|
-
if (this._overview) {
|
|
334
|
-
this._overview.setPlaneSelected(id, false);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
this._shownControlId = null;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Destroys a {@link SectionPlane} created by this FaceAlignedSectionPlanesPlugin.
|
|
343
|
-
*
|
|
344
|
-
* @param {String} id ID of the {@link SectionPlane}.
|
|
345
|
-
*/
|
|
346
|
-
destroySectionPlane(id) {
|
|
347
|
-
let sectionPlane = this.viewer.scene.sectionPlanes[id];
|
|
348
|
-
if (!sectionPlane) {
|
|
349
|
-
this.error("SectionPlane not found: " + id);
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
this._sectionPlaneDestroyed(sectionPlane);
|
|
353
|
-
sectionPlane.destroy();
|
|
354
|
-
|
|
355
|
-
if (id === this._shownControlId) {
|
|
356
|
-
this._shownControlId = null;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
_sectionPlaneDestroyed(sectionPlane) {
|
|
361
|
-
if (this._overview) {
|
|
362
|
-
this._overview.removeSectionPlane(sectionPlane);
|
|
363
|
-
}
|
|
364
|
-
const control = this._controls[sectionPlane.id];
|
|
365
|
-
if (!control) {
|
|
366
|
-
return;
|
|
367
|
-
}
|
|
368
|
-
control.setVisible(false);
|
|
369
|
-
control._setSectionPlane(null);
|
|
370
|
-
delete this._controls[sectionPlane.id];
|
|
371
|
-
this._freeControls.push(control);
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
/**
|
|
375
|
-
* Destroys all {@link SectionPlane}s created by this FaceAlignedSectionPlanesPlugin.
|
|
376
|
-
*/
|
|
377
|
-
clear() {
|
|
378
|
-
const ids = Object.keys(this._sectionPlanes);
|
|
379
|
-
for (let i = 0, len = ids.length; i < len; i++) {
|
|
380
|
-
this.destroySectionPlane(ids[i]);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
/**
|
|
385
|
-
* @private
|
|
386
|
-
*/
|
|
387
|
-
send(name, value) {
|
|
388
|
-
switch (name) {
|
|
389
|
-
|
|
390
|
-
case "snapshotStarting": // Viewer#getSnapshot() about to take snapshot - hide controls
|
|
391
|
-
for (let id in this._controls) {
|
|
392
|
-
if (this._controls.hasOwnProperty(id)) {
|
|
393
|
-
this._controls[id].setCulled(true);
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
break;
|
|
397
|
-
|
|
398
|
-
case "snapshotFinished": // Viewer#getSnapshot() finished taking snapshot - show controls again
|
|
399
|
-
for (let id in this._controls) {
|
|
400
|
-
if (this._controls.hasOwnProperty(id)) {
|
|
401
|
-
this._controls[id].setCulled(false);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
break;
|
|
405
|
-
|
|
406
|
-
case "clearSectionPlanes":
|
|
407
|
-
this.clear();
|
|
408
|
-
break;
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
/**
|
|
413
|
-
* Destroys this FaceAlignedSectionPlanesPlugin.
|
|
414
|
-
*
|
|
415
|
-
* Also destroys each {@link SectionPlane} created by this FaceAlignedSectionPlanesPlugin.
|
|
416
|
-
*
|
|
417
|
-
* Does not destroy the canvas the FaceAlignedSectionPlanesPlugin was configured with.
|
|
418
|
-
*/
|
|
419
|
-
destroy() {
|
|
420
|
-
this.clear();
|
|
421
|
-
if (this._overview) {
|
|
422
|
-
this._overview.destroy();
|
|
423
|
-
}
|
|
424
|
-
this._destroyFreeControls();
|
|
425
|
-
super.destroy();
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
_destroyFreeControls() {
|
|
429
|
-
let control = this._freeControls.pop();
|
|
430
|
-
while (control) {
|
|
431
|
-
control._destroy();
|
|
432
|
-
control = this._freeControls.pop();
|
|
433
|
-
}
|
|
434
|
-
this.viewer.scene.off(this._onSceneSectionPlaneCreated);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
import {math} from "../../viewer/scene/math/math.js";
|
|
2
|
-
import {Scene} from "../../viewer/scene/scene/Scene.js";
|
|
3
|
-
import {DirLight} from "./../../viewer/scene/lights/DirLight.js";
|
|
4
|
-
import {Plane} from "./Plane.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @desc An interactive 3D overview for navigating the {@link SectionPlane}s created by its {@link FaceAlignedSectionPlanesPlugin}.
|
|
8
|
-
*
|
|
9
|
-
* * Located at {@link FaceAlignedSectionPlanesPlugin#overview}.
|
|
10
|
-
* * Renders the overview on a separate canvas at a corner of the {@link Viewer}'s {@link Scene} {@link Canvas}.
|
|
11
|
-
* * The overview shows a 3D plane object for each {@link SectionPlane} in the {@link Scene}.
|
|
12
|
-
* * Click a plane object in the overview to toggle the visibility of a 3D gizmo to edit the position and orientation of its {@link SectionPlane}.
|
|
13
|
-
*
|
|
14
|
-
* @private
|
|
15
|
-
*/
|
|
16
|
-
export class Overview {
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @private
|
|
20
|
-
*/
|
|
21
|
-
constructor(plugin, cfg) {
|
|
22
|
-
|
|
23
|
-
if (!cfg.onHoverEnterPlane || !cfg.onHoverLeavePlane || !cfg.onClickedNothing || !cfg.onClickedPlane) {
|
|
24
|
-
throw "Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The {@link FaceAlignedSectionPlanesPlugin} that owns this SectionPlanesOverview.
|
|
29
|
-
*
|
|
30
|
-
* @type {FaceAlignedSectionPlanesPlugin}
|
|
31
|
-
*/
|
|
32
|
-
this.plugin = plugin;
|
|
33
|
-
|
|
34
|
-
this._viewer = plugin.viewer;
|
|
35
|
-
|
|
36
|
-
this._onHoverEnterPlane = cfg.onHoverEnterPlane;
|
|
37
|
-
this._onHoverLeavePlane = cfg.onHoverLeavePlane;
|
|
38
|
-
this._onClickedNothing = cfg.onClickedNothing;
|
|
39
|
-
this._onClickedPlane = cfg.onClickedPlane;
|
|
40
|
-
this._visible = true;
|
|
41
|
-
|
|
42
|
-
this._planes = {};
|
|
43
|
-
|
|
44
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
45
|
-
// Init canvas
|
|
46
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
47
|
-
|
|
48
|
-
this._canvas = cfg.overviewCanvas;
|
|
49
|
-
|
|
50
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
51
|
-
// Init scene
|
|
52
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
53
|
-
|
|
54
|
-
this._scene = new Scene(this._viewer, {
|
|
55
|
-
canvasId: this._canvas.id,
|
|
56
|
-
transparent: true
|
|
57
|
-
});
|
|
58
|
-
this._scene.clearLights();
|
|
59
|
-
new DirLight(this._scene, {
|
|
60
|
-
dir: [0.4, -0.4, 0.8],
|
|
61
|
-
color: [0.8, 1.0, 1.0],
|
|
62
|
-
intensity: 1.0,
|
|
63
|
-
space: "view"
|
|
64
|
-
});
|
|
65
|
-
new DirLight(this._scene, {
|
|
66
|
-
dir: [-0.8, -0.3, -0.4],
|
|
67
|
-
color: [0.8, 0.8, 0.8],
|
|
68
|
-
intensity: 1.0,
|
|
69
|
-
space: "view"
|
|
70
|
-
});
|
|
71
|
-
new DirLight(this._scene, {
|
|
72
|
-
dir: [0.8, -0.6, -0.8],
|
|
73
|
-
color: [1.0, 1.0, 1.0],
|
|
74
|
-
intensity: 1.0,
|
|
75
|
-
space: "view"
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
this._scene.camera;
|
|
79
|
-
this._scene.camera.perspective.fov = 70;
|
|
80
|
-
|
|
81
|
-
this._zUp = false;
|
|
82
|
-
|
|
83
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
84
|
-
// Synchronize overview scene camera with viewer camera
|
|
85
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
86
|
-
|
|
87
|
-
{
|
|
88
|
-
const camera = this._scene.camera;
|
|
89
|
-
const matrix = math.rotationMat4c(-90 * math.DEGTORAD, 1, 0, 0);
|
|
90
|
-
const eyeLookVec = math.vec3();
|
|
91
|
-
const eyeLookVecOverview = math.vec3();
|
|
92
|
-
const upOverview = math.vec3();
|
|
93
|
-
|
|
94
|
-
this._synchCamera = () => {
|
|
95
|
-
const eye = this._viewer.camera.eye;
|
|
96
|
-
const look = this._viewer.camera.look;
|
|
97
|
-
const up = this._viewer.camera.up;
|
|
98
|
-
math.mulVec3Scalar(math.normalizeVec3(math.subVec3(eye, look, eyeLookVec)), 7);
|
|
99
|
-
if (this._zUp) { // +Z up
|
|
100
|
-
math.transformVec3(matrix, eyeLookVec, eyeLookVecOverview);
|
|
101
|
-
math.transformVec3(matrix, up, upOverview);
|
|
102
|
-
camera.look = [0, 0, 0];
|
|
103
|
-
camera.eye = math.transformVec3(matrix, eyeLookVec, eyeLookVecOverview);
|
|
104
|
-
camera.up = math.transformPoint3(matrix, up, upOverview);
|
|
105
|
-
} else { // +Y up
|
|
106
|
-
camera.look = [0, 0, 0];
|
|
107
|
-
camera.eye = eyeLookVec;
|
|
108
|
-
camera.up = up;
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
this._onViewerCameraMatrix = this._viewer.camera.on("matrix", this._synchCamera);
|
|
114
|
-
|
|
115
|
-
this._onViewerCameraWorldAxis = this._viewer.camera.on("worldAxis", this._synchCamera);
|
|
116
|
-
|
|
117
|
-
this._onViewerCameraFOV = this._viewer.camera.perspective.on("fov", (fov) => {
|
|
118
|
-
this._scene.camera.perspective.fov = fov;
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
122
|
-
// Bind overview canvas events
|
|
123
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
124
|
-
|
|
125
|
-
{
|
|
126
|
-
var hoveredEntity = null;
|
|
127
|
-
|
|
128
|
-
this._onInputMouseMove = this._scene.input.on("mousemove", (coords) => {
|
|
129
|
-
const hit = this._scene.pick({
|
|
130
|
-
canvasPos: coords
|
|
131
|
-
});
|
|
132
|
-
if (hit) {
|
|
133
|
-
if (!hoveredEntity || hit.entity.id !== hoveredEntity.id) {
|
|
134
|
-
if (hoveredEntity) {
|
|
135
|
-
const plane = this._planes[hoveredEntity.id];
|
|
136
|
-
if (plane) {
|
|
137
|
-
this._onHoverLeavePlane(hoveredEntity.id);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
hoveredEntity = hit.entity;
|
|
141
|
-
const plane = this._planes[hoveredEntity.id];
|
|
142
|
-
if (plane) {
|
|
143
|
-
this._onHoverEnterPlane(hoveredEntity.id);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
} else {
|
|
147
|
-
if (hoveredEntity) {
|
|
148
|
-
this._onHoverLeavePlane(hoveredEntity.id);
|
|
149
|
-
hoveredEntity = null;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
this._scene.canvas.canvas.addEventListener("mouseup", this._onCanvasMouseUp = () => {
|
|
155
|
-
if (hoveredEntity) {
|
|
156
|
-
const plane = this._planes[hoveredEntity.id];
|
|
157
|
-
if (plane) {
|
|
158
|
-
this._onClickedPlane(hoveredEntity.id);
|
|
159
|
-
}
|
|
160
|
-
} else {
|
|
161
|
-
this._onClickedNothing();
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
this._scene.canvas.canvas.addEventListener("mouseout", this._onCanvasMouseOut = () => {
|
|
166
|
-
if (hoveredEntity) {
|
|
167
|
-
this._onHoverLeavePlane(hoveredEntity.id);
|
|
168
|
-
hoveredEntity = null;
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
174
|
-
// Configure overview
|
|
175
|
-
//--------------------------------------------------------------------------------------------------------------
|
|
176
|
-
|
|
177
|
-
this.setVisible(cfg.overviewVisible);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/** Called by SectionPlanesPlugin#createSectionPlane()
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
|
-
addSectionPlane(sectionPlane) {
|
|
184
|
-
this._planes[sectionPlane.id] = new Plane(this, this._scene, sectionPlane);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/** @private
|
|
188
|
-
*/
|
|
189
|
-
setPlaneHighlighted(id, highlighted) {
|
|
190
|
-
const plane = this._planes[id];
|
|
191
|
-
if (plane) {
|
|
192
|
-
plane.setHighlighted(highlighted);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/** @private
|
|
197
|
-
*/
|
|
198
|
-
setPlaneSelected(id, selected) {
|
|
199
|
-
const plane = this._planes[id];
|
|
200
|
-
if (plane) {
|
|
201
|
-
plane.setSelected(selected);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/** @private
|
|
206
|
-
*/
|
|
207
|
-
removeSectionPlane(sectionPlane) {
|
|
208
|
-
const plane = this._planes[sectionPlane.id];
|
|
209
|
-
if (plane) {
|
|
210
|
-
plane.destroy();
|
|
211
|
-
delete this._planes[sectionPlane.id];
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Sets if this SectionPlanesOverview is visible.
|
|
217
|
-
*
|
|
218
|
-
* @param {Boolean} visible Whether or not this SectionPlanesOverview is visible.
|
|
219
|
-
*/
|
|
220
|
-
setVisible(visible = true) {
|
|
221
|
-
this._visible = visible;
|
|
222
|
-
this._canvas.style.visibility = visible ? "visible" : "hidden";
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Gets if this SectionPlanesOverview is visible.
|
|
227
|
-
*
|
|
228
|
-
* @return {Boolean} True when this SectionPlanesOverview is visible.
|
|
229
|
-
*/
|
|
230
|
-
getVisible() {
|
|
231
|
-
return this._visible;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/** @private
|
|
235
|
-
*/
|
|
236
|
-
destroy() {
|
|
237
|
-
this._viewer.camera.off(this._onViewerCameraMatrix);
|
|
238
|
-
this._viewer.camera.off(this._onViewerCameraWorldAxis);
|
|
239
|
-
this._viewer.camera.perspective.off(this._onViewerCameraFOV);
|
|
240
|
-
|
|
241
|
-
this._scene.input.off(this._onInputMouseMove);
|
|
242
|
-
this._scene.canvas.canvas.removeEventListener("mouseup", this._onCanvasMouseUp);
|
|
243
|
-
this._scene.canvas.canvas.removeEventListener("mouseout", this._onCanvasMouseOut);
|
|
244
|
-
this._scene.destroy();
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|