@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,404 +0,0 @@
|
|
|
1
|
-
import {math} from "../math/index.js";
|
|
2
|
-
|
|
3
|
-
const angleAxis = math.vec4(4);
|
|
4
|
-
const q1 = math.vec4();
|
|
5
|
-
const q2 = math.vec4();
|
|
6
|
-
const xAxis = math.vec3([1, 0, 0]);
|
|
7
|
-
const yAxis = math.vec3([0, 1, 0]);
|
|
8
|
-
const zAxis = math.vec3([0, 0, 1]);
|
|
9
|
-
|
|
10
|
-
const veca = math.vec3(3);
|
|
11
|
-
const vecb = math.vec3(3);
|
|
12
|
-
|
|
13
|
-
const identityMat = math.identityMat4();
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* A dynamically-updatable transform within a {@link SceneModel}.
|
|
17
|
-
*
|
|
18
|
-
* * Can be composed into hierarchies
|
|
19
|
-
* * Shared by multiple {@link SceneModelMesh}es
|
|
20
|
-
* * Created with {@link SceneModel#createTransform}
|
|
21
|
-
* * Stored by ID in {@link SceneModel#transforms}
|
|
22
|
-
* * Referenced by {@link SceneModelMesh#transform}
|
|
23
|
-
*/
|
|
24
|
-
export class SceneModelTransform {
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
constructor(cfg) {
|
|
30
|
-
this._model = cfg.model;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Unique ID of this SceneModelTransform.
|
|
34
|
-
*
|
|
35
|
-
* The SceneModelTransform is registered against this ID in {@link SceneModel#transforms}.
|
|
36
|
-
*/
|
|
37
|
-
this.id = cfg.id;
|
|
38
|
-
|
|
39
|
-
this._parentTransform = cfg.parent;
|
|
40
|
-
this._childTransforms = [];
|
|
41
|
-
this._meshes = [];
|
|
42
|
-
this._scale = new Float32Array([1,1,1]);
|
|
43
|
-
this._quaternion = math.identityQuaternion(new Float32Array(4));
|
|
44
|
-
this._rotation = new Float32Array(3);
|
|
45
|
-
this._position = new Float32Array(3);
|
|
46
|
-
this._localMatrix = math.identityMat4(new Float32Array(16));
|
|
47
|
-
this._worldMatrix = math.identityMat4(new Float32Array(16));
|
|
48
|
-
this._localMatrixDirty = true;
|
|
49
|
-
this._worldMatrixDirty = true;
|
|
50
|
-
|
|
51
|
-
if (cfg.matrix) {
|
|
52
|
-
this.matrix = cfg.matrix;
|
|
53
|
-
} else {
|
|
54
|
-
this.scale = cfg.scale;
|
|
55
|
-
this.position = cfg.position;
|
|
56
|
-
if (cfg.quaternion) {
|
|
57
|
-
} else {
|
|
58
|
-
this.rotation = cfg.rotation;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (cfg.parent) {
|
|
62
|
-
cfg.parent._addChildTransform(this);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
_addChildTransform(childTransform) {
|
|
67
|
-
this._childTransforms.push(childTransform);
|
|
68
|
-
childTransform._parentTransform = this;
|
|
69
|
-
childTransform._setWorldMatrixDirty();
|
|
70
|
-
childTransform._setAABBDirty();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
_addMesh(mesh) {
|
|
74
|
-
this._meshes.push(mesh);
|
|
75
|
-
mesh.transform = this;
|
|
76
|
-
// childTransform._setWorldMatrixDirty();
|
|
77
|
-
// childTransform._setAABBDirty();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* The optional parent SceneModelTransform.
|
|
82
|
-
*
|
|
83
|
-
* @type {SceneModelTransform}
|
|
84
|
-
*/
|
|
85
|
-
get parentTransform() {
|
|
86
|
-
return this._parentTransform;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* The {@link SceneModelMesh}es transformed by this SceneModelTransform.
|
|
91
|
-
*
|
|
92
|
-
* @returns {[]}
|
|
93
|
-
*/
|
|
94
|
-
get meshes() {
|
|
95
|
-
return this._meshes;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Sets the SceneModelTransform's local translation.
|
|
100
|
-
*
|
|
101
|
-
* Default value is ````[0,0,0]````.
|
|
102
|
-
*
|
|
103
|
-
* @type {Number[]}
|
|
104
|
-
*/
|
|
105
|
-
set position(value) {
|
|
106
|
-
this._position.set(value || [0, 0, 0]);
|
|
107
|
-
this._setLocalMatrixDirty();
|
|
108
|
-
this._model.glRedraw();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Gets the SceneModelTransform's translation.
|
|
113
|
-
*
|
|
114
|
-
* Default value is ````[0,0,0]````.
|
|
115
|
-
*
|
|
116
|
-
* @type {Number[]}
|
|
117
|
-
*/
|
|
118
|
-
get position() {
|
|
119
|
-
return this._position;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Sets the SceneModelTransform's rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.
|
|
124
|
-
*
|
|
125
|
-
* Default value is ````[0,0,0]````.
|
|
126
|
-
*
|
|
127
|
-
* @type {Number[]}
|
|
128
|
-
*/
|
|
129
|
-
set rotation(value) {
|
|
130
|
-
this._rotation.set(value || [0, 0, 0]);
|
|
131
|
-
math.eulerToQuaternion(this._rotation, "XYZ", this._quaternion);
|
|
132
|
-
this._setLocalMatrixDirty();
|
|
133
|
-
this._model.glRedraw();
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Gets the SceneModelTransform's rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.
|
|
138
|
-
*
|
|
139
|
-
* Default value is ````[0,0,0]````.
|
|
140
|
-
*
|
|
141
|
-
* @type {Number[]}
|
|
142
|
-
*/
|
|
143
|
-
get rotation() {
|
|
144
|
-
return this._rotation;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Sets the SceneModelTransform's rotation quaternion.
|
|
149
|
-
*
|
|
150
|
-
* Default value is ````[0,0,0,1]````.
|
|
151
|
-
*
|
|
152
|
-
* @type {Number[]}
|
|
153
|
-
*/
|
|
154
|
-
set quaternion(value) {
|
|
155
|
-
this._quaternion.set(value || [0, 0, 0, 1]);
|
|
156
|
-
math.quaternionToEuler(this._quaternion, "XYZ", this._rotation);
|
|
157
|
-
this._setLocalMatrixDirty();
|
|
158
|
-
this._model.glRedraw();
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Gets the SceneModelTransform's rotation quaternion.
|
|
163
|
-
*
|
|
164
|
-
* Default value is ````[0,0,0,1]````.
|
|
165
|
-
*
|
|
166
|
-
* @type {Number[]}
|
|
167
|
-
*/
|
|
168
|
-
get quaternion() {
|
|
169
|
-
return this._quaternion;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Sets the SceneModelTransform's scale.
|
|
174
|
-
*
|
|
175
|
-
* Default value is ````[1,1,1]````.
|
|
176
|
-
*
|
|
177
|
-
* @type {Number[]}
|
|
178
|
-
*/
|
|
179
|
-
set scale(value) {
|
|
180
|
-
this._scale.set(value || [1, 1, 1]);
|
|
181
|
-
this._setLocalMatrixDirty();
|
|
182
|
-
this._model.glRedraw();
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Gets the SceneModelTransform's scale.
|
|
187
|
-
*
|
|
188
|
-
* Default value is ````[1,1,1]````.
|
|
189
|
-
*
|
|
190
|
-
* @type {Number[]}
|
|
191
|
-
*/
|
|
192
|
-
get scale() {
|
|
193
|
-
return this._scale;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Sets the SceneModelTransform's transform matrix.
|
|
198
|
-
*
|
|
199
|
-
* Default value is ````[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]````.
|
|
200
|
-
*
|
|
201
|
-
* @type {Number[]}
|
|
202
|
-
*/
|
|
203
|
-
set matrix(value) {
|
|
204
|
-
if (!this._localMatrix) {
|
|
205
|
-
this._localMatrix = math.identityMat4();
|
|
206
|
-
}
|
|
207
|
-
this._localMatrix.set(value || identityMat);
|
|
208
|
-
math.decomposeMat4(this._localMatrix, this._position, this._quaternion, this._scale);
|
|
209
|
-
this._localMatrixDirty = false;
|
|
210
|
-
this._transformDirty();
|
|
211
|
-
this._model.glRedraw();
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Gets the SceneModelTransform's transform matrix.
|
|
216
|
-
*
|
|
217
|
-
* Default value is ````[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]````.
|
|
218
|
-
*
|
|
219
|
-
* @type {Number[]}
|
|
220
|
-
*/
|
|
221
|
-
get matrix() {
|
|
222
|
-
if (this._localMatrixDirty) {
|
|
223
|
-
if (!this._localMatrix) {
|
|
224
|
-
this._localMatrix = math.identityMat4();
|
|
225
|
-
}
|
|
226
|
-
math.composeMat4(this._position, this._quaternion, this._scale, this._localMatrix);
|
|
227
|
-
this._localMatrixDirty = false;
|
|
228
|
-
}
|
|
229
|
-
return this._localMatrix;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* Gets the SceneModelTransform's World matrix.
|
|
234
|
-
*
|
|
235
|
-
* @property worldMatrix
|
|
236
|
-
* @type {Number[]}
|
|
237
|
-
*/
|
|
238
|
-
get worldMatrix() {
|
|
239
|
-
if (this._worldMatrixDirty) {
|
|
240
|
-
this._buildWorldMatrix();
|
|
241
|
-
}
|
|
242
|
-
return this._worldMatrix;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Rotates the SceneModelTransform about the given axis by the given increment.
|
|
247
|
-
*
|
|
248
|
-
* @param {Number[]} axis Local axis about which to rotate.
|
|
249
|
-
* @param {Number} angle Angle increment in degrees.
|
|
250
|
-
*/
|
|
251
|
-
rotate(axis, angle) {
|
|
252
|
-
angleAxis[0] = axis[0];
|
|
253
|
-
angleAxis[1] = axis[1];
|
|
254
|
-
angleAxis[2] = axis[2];
|
|
255
|
-
angleAxis[3] = angle * math.DEGTORAD;
|
|
256
|
-
math.angleAxisToQuaternion(angleAxis, q1);
|
|
257
|
-
math.mulQuaternions(this.quaternion, q1, q2);
|
|
258
|
-
this.quaternion = q2;
|
|
259
|
-
this._setLocalMatrixDirty();
|
|
260
|
-
this._model.glRedraw();
|
|
261
|
-
return this;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Rotates the SceneModelTransform about the given World-space axis by the given increment.
|
|
266
|
-
*
|
|
267
|
-
* @param {Number[]} axis Local axis about which to rotate.
|
|
268
|
-
* @param {Number} angle Angle increment in degrees.
|
|
269
|
-
*/
|
|
270
|
-
rotateOnWorldAxis(axis, angle) {
|
|
271
|
-
angleAxis[0] = axis[0];
|
|
272
|
-
angleAxis[1] = axis[1];
|
|
273
|
-
angleAxis[2] = axis[2];
|
|
274
|
-
angleAxis[3] = angle * math.DEGTORAD;
|
|
275
|
-
math.angleAxisToQuaternion(angleAxis, q1);
|
|
276
|
-
math.mulQuaternions(q1, this.quaternion, q1);
|
|
277
|
-
//this.quaternion.premultiply(q1);
|
|
278
|
-
return this;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* Rotates the SceneModelTransform about the local X-axis by the given increment.
|
|
283
|
-
*
|
|
284
|
-
* @param {Number} angle Angle increment in degrees.
|
|
285
|
-
*/
|
|
286
|
-
rotateX(angle) {
|
|
287
|
-
return this.rotate(xAxis, angle);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Rotates the SceneModelTransform about the local Y-axis by the given increment.
|
|
292
|
-
*
|
|
293
|
-
* @param {Number} angle Angle increment in degrees.
|
|
294
|
-
*/
|
|
295
|
-
rotateY(angle) {
|
|
296
|
-
return this.rotate(yAxis, angle);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
/**
|
|
300
|
-
* Rotates the SceneModelTransform about the local Z-axis by the given increment.
|
|
301
|
-
*
|
|
302
|
-
* @param {Number} angle Angle increment in degrees.
|
|
303
|
-
*/
|
|
304
|
-
rotateZ(angle) {
|
|
305
|
-
return this.rotate(zAxis, angle);
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* Translates the SceneModelTransform along the local axis by the given increment.
|
|
310
|
-
*
|
|
311
|
-
* @param {Number[]} axis Normalized local space 3D vector along which to translate.
|
|
312
|
-
* @param {Number} distance Distance to translate along the vector.
|
|
313
|
-
*/
|
|
314
|
-
translate(axis) {
|
|
315
|
-
this._position[0] += axis[0];
|
|
316
|
-
this._position[1] += axis[1];
|
|
317
|
-
this._position[2] += axis[2];
|
|
318
|
-
this._setLocalMatrixDirty();
|
|
319
|
-
this._model.glRedraw();
|
|
320
|
-
return this;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
/**
|
|
324
|
-
* Translates the SceneModelTransform along the local X-axis by the given increment.
|
|
325
|
-
*
|
|
326
|
-
* @param {Number} distance Distance to translate along the X-axis.
|
|
327
|
-
*/
|
|
328
|
-
translateX(distance) {
|
|
329
|
-
this._position[0] += distance;
|
|
330
|
-
this._setLocalMatrixDirty();
|
|
331
|
-
this._model.glRedraw();
|
|
332
|
-
return this;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* Translates the SceneModelTransform along the local Y-axis by the given increment.
|
|
337
|
-
*
|
|
338
|
-
* @param {Number} distance Distance to translate along the Y-axis.
|
|
339
|
-
*/
|
|
340
|
-
translateY(distance) {
|
|
341
|
-
this._position[1] += distance;
|
|
342
|
-
this._setLocalMatrixDirty();
|
|
343
|
-
this._model.glRedraw();
|
|
344
|
-
return this;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* Translates the SceneModelTransform along the local Z-axis by the given increment.
|
|
349
|
-
*
|
|
350
|
-
* @param {Number} distance Distance to translate along the Z-axis.
|
|
351
|
-
*/
|
|
352
|
-
translateZ(distance) {
|
|
353
|
-
this._position[2] += distance;
|
|
354
|
-
this._setLocalMatrixDirty();
|
|
355
|
-
this._model.glRedraw();
|
|
356
|
-
return this;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
_setLocalMatrixDirty() {
|
|
360
|
-
this._localMatrixDirty = true;
|
|
361
|
-
this._transformDirty();
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
_transformDirty() {
|
|
365
|
-
this._worldMatrixDirty = true;
|
|
366
|
-
for (let i = 0, len = this._childTransforms.length; i < len; i++) {
|
|
367
|
-
const childTransform = this._childTransforms[i];
|
|
368
|
-
childTransform._transformDirty();
|
|
369
|
-
if (childTransform._meshes && childTransform._meshes.length > 0) {
|
|
370
|
-
const meshes = childTransform._meshes;
|
|
371
|
-
for (let j =0, lenj = meshes.length; j < lenj; j++) {
|
|
372
|
-
meshes[j]._transformDirty();
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
if (this._meshes && this._meshes.length > 0) {
|
|
377
|
-
const meshes = this._meshes;
|
|
378
|
-
for (let j =0, lenj = meshes.length; j < lenj; j++) {
|
|
379
|
-
meshes[j]._transformDirty();
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
_buildWorldMatrix() {
|
|
385
|
-
const localMatrix = this.matrix;
|
|
386
|
-
if (!this._parentTransform) {
|
|
387
|
-
for (let i = 0, len = localMatrix.length; i < len; i++) {
|
|
388
|
-
this._worldMatrix[i] = localMatrix[i];
|
|
389
|
-
}
|
|
390
|
-
} else {
|
|
391
|
-
math.mulMat4(this._parentTransform.worldMatrix, localMatrix, this._worldMatrix);
|
|
392
|
-
}
|
|
393
|
-
this._worldMatrixDirty = false;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
_setSubtreeAABBsDirty(sceneTransform) {
|
|
397
|
-
sceneTransform._aabbDirty = true;
|
|
398
|
-
if (sceneTransform._childTransforms) {
|
|
399
|
-
for (let i = 0, len = sceneTransform._childTransforms.length; i < len; i++) {
|
|
400
|
-
this._setSubtreeAABBsDirty(sceneTransform._childTransforms[i]);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import {SceneModel} from "./SceneModel.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @desc A high-performance model representation for efficient rendering and low memory usage.
|
|
5
|
-
*
|
|
6
|
-
* * VBOSceneModel was replaced with {@link SceneModel} in ````xeokit-sdk v2.4````.
|
|
7
|
-
* * VBOSceneModel currently extends {@link SceneModel}, in order to maintain backward-compatibility until we remove VBOSceneModel.
|
|
8
|
-
* * See {@link SceneModel} for API details.
|
|
9
|
-
*
|
|
10
|
-
* @deprecated
|
|
11
|
-
* @implements {Drawable}
|
|
12
|
-
* @implements {Entity}
|
|
13
|
-
* @extends {SceneModel}
|
|
14
|
-
*/
|
|
15
|
-
export class VBOSceneModel extends SceneModel {
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* See {@link VBOSceneModel} for details.
|
|
19
|
-
*
|
|
20
|
-
* @param owner
|
|
21
|
-
* @param cfg
|
|
22
|
-
*/
|
|
23
|
-
constructor(owner, cfg = {}) {
|
|
24
|
-
super(owner, cfg);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author https://github.com/tmarti, with support from https://tribia.com/
|
|
3
|
-
* @license MIT
|
|
4
|
-
*
|
|
5
|
-
* This file takes a geometry given by { positionsCompressed, indices }, and returns
|
|
6
|
-
* equivalent { positionsCompressed, indices } arrays but which only contain unique
|
|
7
|
-
* positionsCompressed.
|
|
8
|
-
*
|
|
9
|
-
* The time is O(N logN) with the number of positionsCompressed due to a pre-sorting
|
|
10
|
-
* step, but is much more GC-friendly and actually faster than the classic O(N)
|
|
11
|
-
* approach based in keeping a hash-based LUT to identify unique positionsCompressed.
|
|
12
|
-
*/
|
|
13
|
-
let comparePositions = null;
|
|
14
|
-
|
|
15
|
-
function compareVertex(a, b) {
|
|
16
|
-
let res;
|
|
17
|
-
for (let i = 0; i < 3; i++) {
|
|
18
|
-
if (0 !== (res = comparePositions[a * 3 + i] - comparePositions[b * 3 + i])) {
|
|
19
|
-
return res;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return 0;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
let seqInit = null;
|
|
26
|
-
|
|
27
|
-
function setMaxNumberOfPositions(maxPositions) {
|
|
28
|
-
if (seqInit !== null && seqInit.length >= maxPositions) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
seqInit = new Uint32Array(maxPositions);
|
|
32
|
-
for (let i = 0; i < maxPositions; i++) {
|
|
33
|
-
seqInit[i] = i;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* This function obtains unique positionsCompressed in the provided object
|
|
39
|
-
* .positionsCompressed array and calculates an index mapping, which is then
|
|
40
|
-
* applied to the provided object .indices and .edgeindices.
|
|
41
|
-
*
|
|
42
|
-
* The input object items are not modified, and instead new set
|
|
43
|
-
* of positionsCompressed, indices and edgeIndices with the applied optimization
|
|
44
|
-
* are returned.
|
|
45
|
-
*
|
|
46
|
-
* The algorithm, instead of being based in a hash-like LUT for
|
|
47
|
-
* identifying unique positionsCompressed, is based in pre-sorting the input
|
|
48
|
-
* positionsCompressed...
|
|
49
|
-
*
|
|
50
|
-
* (it's possible to define a _"consistent ordering"_ for the positionsCompressed
|
|
51
|
-
* as positionsCompressed are quantized and thus not suffer from float number
|
|
52
|
-
* comparison artifacts)
|
|
53
|
-
*
|
|
54
|
-
* ... so same positionsCompressed are adjacent in the sorted array, and then
|
|
55
|
-
* it's easy to scan linearly the sorted array. During the linear run,
|
|
56
|
-
* we will know that we found a different position because the comparison
|
|
57
|
-
* function will return != 0 between current and previous element.
|
|
58
|
-
*
|
|
59
|
-
* During this linear traversal of the array, a `unique counter` is used
|
|
60
|
-
* in order to calculate the mapping between original indices and unique
|
|
61
|
-
* indices.
|
|
62
|
-
*
|
|
63
|
-
* @param {{positionsCompressed: number[],indices: number[], edgeIndices: number[]}} mesh The input mesh to process, with `positionsCompressed`, `indices` and `edgeIndices` keys.
|
|
64
|
-
*
|
|
65
|
-
* @returns {[Uint16Array, Uint32Array, Uint32Array]} An array with 3 elements: 0 => the uniquified positionsCompressed; 1 and 2 => the remapped edges and edgeIndices arrays
|
|
66
|
-
*/
|
|
67
|
-
export function uniquifyPositions(mesh) {
|
|
68
|
-
const _positions = mesh.positionsCompressed;
|
|
69
|
-
const _indices = mesh.indices;
|
|
70
|
-
const _edgeIndices = mesh.edgeIndices;
|
|
71
|
-
|
|
72
|
-
setMaxNumberOfPositions(_positions.length / 3);
|
|
73
|
-
|
|
74
|
-
const seq = seqInit.slice(0, _positions.length / 3);
|
|
75
|
-
const remappings = seqInit.slice(0, _positions.length / 3);
|
|
76
|
-
|
|
77
|
-
comparePositions = _positions;
|
|
78
|
-
|
|
79
|
-
seq.sort(compareVertex);
|
|
80
|
-
|
|
81
|
-
let uniqueIdx = 0
|
|
82
|
-
|
|
83
|
-
remappings[seq[0]] = 0;
|
|
84
|
-
|
|
85
|
-
for (let i = 1, len = seq.length; i < len; i++) {
|
|
86
|
-
if (0 !== compareVertex(seq[i], seq[i - 1])) {
|
|
87
|
-
uniqueIdx++;
|
|
88
|
-
}
|
|
89
|
-
remappings[seq[i]] = uniqueIdx;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const numUniquePositions = uniqueIdx + 1;
|
|
93
|
-
const newPositions = new Uint16Array(numUniquePositions * 3);
|
|
94
|
-
|
|
95
|
-
uniqueIdx = 0
|
|
96
|
-
|
|
97
|
-
newPositions [uniqueIdx * 3 + 0] = _positions [seq[0] * 3 + 0];
|
|
98
|
-
newPositions [uniqueIdx * 3 + 1] = _positions [seq[0] * 3 + 1];
|
|
99
|
-
newPositions [uniqueIdx * 3 + 2] = _positions [seq[0] * 3 + 2];
|
|
100
|
-
|
|
101
|
-
for (let i = 1, len = seq.length; i < len; i++) {
|
|
102
|
-
if (0 !== compareVertex(seq[i], seq[i - 1])) {
|
|
103
|
-
uniqueIdx++;
|
|
104
|
-
newPositions [uniqueIdx * 3 + 0] = _positions [seq[i] * 3 + 0];
|
|
105
|
-
newPositions [uniqueIdx * 3 + 1] = _positions [seq[i] * 3 + 1];
|
|
106
|
-
newPositions [uniqueIdx * 3 + 2] = _positions [seq[i] * 3 + 2];
|
|
107
|
-
}
|
|
108
|
-
remappings[seq[i]] = uniqueIdx;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
comparePositions = null;
|
|
112
|
-
|
|
113
|
-
const newIndices = new Uint32Array(_indices.length);
|
|
114
|
-
|
|
115
|
-
for (let i = 0, len = _indices.length; i < len; i++) {
|
|
116
|
-
newIndices[i] = remappings [_indices[i]];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const newEdgeIndices = new Uint32Array(_edgeIndices.length);
|
|
120
|
-
|
|
121
|
-
for (let i = 0, len = _edgeIndices.length; i < len; i++) {
|
|
122
|
-
newEdgeIndices[i] = remappings [_edgeIndices[i]];
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return [newPositions, newIndices, newEdgeIndices];
|
|
126
|
-
}
|