@openglobus/og 0.25.10 → 0.26.0

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.
@@ -54,6 +54,7 @@ export interface IPlanetParams {
54
54
  atmosphereParameters?: IAtmosphereParams;
55
55
  minDistanceBeforeMemClear?: number;
56
56
  vectorTileSize?: number;
57
+ maxNodesCount?: number;
57
58
  }
58
59
  export type PlanetEventsList = [
59
60
  "draw",
@@ -307,6 +308,7 @@ export declare class Planet extends RenderNode {
307
308
  protected _transitionOpacityEnabled: boolean;
308
309
  protected _atmosphere: Atmosphere;
309
310
  private _minDistanceBeforeMemClear;
311
+ private _maxNodes;
310
312
  constructor(options?: IPlanetParams);
311
313
  /**
312
314
  * Returns true if current terrain data set is loaded
@@ -14,6 +14,12 @@ export interface IGlobusTerrainParams extends IEmptyTerrainParams {
14
14
  noDataValues?: number[];
15
15
  plainGridSize?: number;
16
16
  heightFactor?: number;
17
+ /**
18
+ * Fetch RequestCache value
19
+ * https://developer.mozilla.org/en-US/docs/Web/API/Request/cache
20
+ * @default "default"
21
+ */
22
+ cache?: string;
17
23
  }
18
24
  type TileData = {
19
25
  heights: number[] | TypedArray | null;
@@ -64,6 +70,7 @@ declare class GlobusTerrain extends EmptyTerrain {
64
70
  */
65
71
  protected _urlRewriteCallback: UrlRewriteFunc | null;
66
72
  protected _heightFactor: number;
73
+ protected _cache: string;
67
74
  constructor(name?: string, options?: IGlobusTerrainParams);
68
75
  get loader(): Loader<GlobusTerrain>;
69
76
  clearCache(): void;
@@ -1 +1 @@
1
- {"root":["../src/Clock.ts","../src/Deferred.ts","../src/Events.ts","../src/Extent.ts","../src/Globe.ts","../src/ImageCanvas.ts","../src/Lock.ts","../src/LonLat.ts","../src/Object3d.ts","../src/Popup.ts","../src/QueueArray.ts","../src/Rectangle.ts","../src/Stack.ts","../src/cons.ts","../src/index.ts","../src/math.ts","../src/mercator.ts","../src/astro/astro.ts","../src/astro/earth.ts","../src/astro/jd.ts","../src/astro/orbit.ts","../src/astro/rotation.ts","../src/bv/Box.ts","../src/bv/Sphere.ts","../src/bv/index.ts","../src/camera/Camera.ts","../src/camera/Frustum.ts","../src/camera/PlanetCamera.ts","../src/camera/index.ts","../src/control/CameraFrameComposer.ts","../src/control/CameraFrameHandler.ts","../src/control/CameraLock.ts","../src/control/CompassButton.ts","../src/control/Control.ts","../src/control/DebugInfo.ts","../src/control/DrawingSwitcher.ts","../src/control/EarthCoordinates.ts","../src/control/FramebufferPreview.ts","../src/control/GeoImageDragControl.ts","../src/control/KeyboardNavigation.ts","../src/control/LayerAnimation.ts","../src/control/LayerSwitcher.ts","../src/control/Lighting.ts","../src/control/MouseNavigation.ts","../src/control/MouseWheelZoomControl.ts","../src/control/OldMouseNavigation.ts","../src/control/RulerSwitcher.ts","../src/control/ScaleControl.ts","../src/control/SegmentBoundVisualization.ts","../src/control/ShowFps.ts","../src/control/SimpleNavigation.ts","../src/control/SimpleSkyBackground.ts","../src/control/Sun.ts","../src/control/ToggleWireframe.ts","../src/control/TouchNavigation.ts","../src/control/ZoomControl.ts","../src/control/index.ts","../src/control/atmosphere/Atmosphere.ts","../src/control/atmosphere/AtmosphereConfig.ts","../src/control/cameraDepthHandler/CameraDepthHandler.ts","../src/control/cameraDepthHandler/camera_depth.ts","../src/control/drawing/DrawingControl.ts","../src/control/drawing/LineStringDrawingScene.ts","../src/control/drawing/PolygonDrawingScene.ts","../src/control/elevationProfile/ElevationProfile.ts","../src/control/elevationProfile/ElevationProfileButtonsView.ts","../src/control/elevationProfile/ElevationProfileControl.ts","../src/control/elevationProfile/ElevationProfileLegend.ts","../src/control/elevationProfile/ElevationProfileScene.ts","../src/control/elevationProfile/ElevationProfileView.ts","../src/control/elevationProfile/PointListDialog.ts","../src/control/geoObjectEditor/ArrowEntity.ts","../src/control/geoObjectEditor/AxisTrackEntity.ts","../src/control/geoObjectEditor/GeoObjectEditor.ts","../src/control/geoObjectEditor/GeoObjectEditorDialog.ts","../src/control/geoObjectEditor/GeoObjectEditorScene.ts","../src/control/geoObjectEditor/MoveAxisEntity.ts","../src/control/geoObjectEditor/MovePlaneEntity.ts","../src/control/geoObjectEditor/RotateEntity.ts","../src/control/geoObjectEditor/colors.ts","../src/control/heightRuler/HeightRuler.ts","../src/control/heightRuler/HeightRulerScene.ts","../src/control/heightRuler/HeightRulerSwitcher.ts","../src/control/object3dManager/Object3dCollection.ts","../src/control/object3dManager/Object3dCollectionView.ts","../src/control/object3dManager/Object3dItemView.ts","../src/control/object3dManager/Object3dManager.ts","../src/control/object3dManager/Object3dManagerDialog.ts","../src/control/ruler/Ruler.ts","../src/control/ruler/RulerScene.ts","../src/control/selection/Selection.ts","../src/control/selection/SelectionScene.ts","../src/control/timeline/TimelineControl.ts","../src/control/timeline/TimelineModel.ts","../src/control/timeline/TimelineView.ts","../src/control/timeline/timelineUtils.ts","../src/control/visibleExtent/Segment.js","../src/control/visibleExtent/VisibleExtent.js","../src/control/visibleExtent/drawnode.ts","../src/ellipsoid/Ellipsoid.ts","../src/ellipsoid/index.ts","../src/ellipsoid/mars.ts","../src/ellipsoid/moon.ts","../src/ellipsoid/wgs84.ts","../src/entity/BaseBillboard.ts","../src/entity/BaseBillboardHandler.ts","../src/entity/Billboard.ts","../src/entity/BillboardHandler.ts","../src/entity/Entity.ts","../src/entity/EntityCollection.ts","../src/entity/GeoObject.ts","../src/entity/GeoObjectHandler.ts","../src/entity/Geometry.ts","../src/entity/GeometryHandler.ts","../src/entity/InstanceData.ts","../src/entity/Label.ts","../src/entity/LabelHandler.ts","../src/entity/LabelWorker.ts","../src/entity/LabelWorker.worker.js","../src/entity/PointCloud.ts","../src/entity/PointCloudHandler.ts","../src/entity/Polyline.ts","../src/entity/PolylineHandler.ts","../src/entity/Ray.ts","../src/entity/RayHandler.ts","../src/entity/Strip.ts","../src/entity/StripHandler.ts","../src/entity/index.ts","../src/input/KeyboardHandler.ts","../src/input/MouseHandler.ts","../src/input/TouchHandler.ts","../src/input/input.ts","../src/layer/BaseGeoImage.ts","../src/layer/Bing.ts","../src/layer/CanvasTiles.ts","../src/layer/GeoImage.ts","../src/layer/GeoTexture2d.ts","../src/layer/GeoVideo.ts","../src/layer/KML.ts","../src/layer/Layer.ts","../src/layer/Material.ts","../src/layer/OpenStreetMap.ts","../src/layer/Vector.ts","../src/layer/WMS.ts","../src/layer/XYZ.ts","../src/layer/index.ts","../src/light/LightSource.ts","../src/math/Line2.ts","../src/math/Line3.ts","../src/math/Mat3.ts","../src/math/Mat4.ts","../src/math/Plane.ts","../src/math/Quat.ts","../src/math/Ray.ts","../src/math/Vec2.ts","../src/math/Vec3.ts","../src/math/Vec4.ts","../src/math/coder.ts","../src/math/index.ts","../src/proj/EPSG3857.ts","../src/proj/EPSG4326.ts","../src/proj/Proj.ts","../src/proj/equi.ts","../src/quadTree/EntityCollectionNode.ts","../src/quadTree/EntityCollectionsTreeStrategy.ts","../src/quadTree/Node.ts","../src/quadTree/QuadTreeStrategy.ts","../src/quadTree/index.ts","../src/quadTree/quadTree.ts","../src/quadTree/EPSG4326/EPSG4326QuadTreeStrategy.ts","../src/quadTree/earth/EarthEntityCollectionNodeLonLat.ts","../src/quadTree/earth/EarthEntityCollectionsTreeStrategy.ts","../src/quadTree/earth/EarthQuadTreeStrategy.ts","../src/quadTree/equi/EquiEntityCollectionNodeLonLat.ts","../src/quadTree/equi/EquiEntityCollectionsTreeStrategy.ts","../src/quadTree/equi/EquiQuadTreeStrategy.ts","../src/quadTree/wgs84/Wgs84QuadTreeStrategy.ts","../src/renderer/Renderer.ts","../src/renderer/RendererEvents.ts","../src/scene/Axes.ts","../src/scene/BaseNode.ts","../src/scene/Planet.ts","../src/scene/RenderNode.ts","../src/scene/SkyBox.ts","../src/scene/index.ts","../src/segment/Segment.ts","../src/segment/SegmentLonLat.ts","../src/segment/SegmentLonLatEqui.ts","../src/segment/Slice.ts","../src/segment/segmentHelper.ts","../src/shaders/depth.ts","../src/shaders/pointCloud.ts","../src/shaders/screenFrame.ts","../src/shaders/skybox.ts","../src/shaders/atmos/atmos.ts","../src/shaders/billboard/billboard.ts","../src/shaders/drawnode/drawnode.ts","../src/shaders/geo_object/geo_object.ts","../src/shaders/label/label.ts","../src/shaders/polyline/polyline.ts","../src/shaders/ray/ray.ts","../src/shaders/tone_mapping/toneMapping.ts","../src/terrain/BilTerrain.ts","../src/terrain/EmptyTerrain.ts","../src/terrain/Geoid.ts","../src/terrain/GlobusRgbTerrain.ts","../src/terrain/GlobusTerrain.ts","../src/terrain/RgbTerrain.ts","../src/terrain/index.ts","../src/ui/Button.ts","../src/ui/ButtonGroup.ts","../src/ui/Checkbox.ts","../src/ui/Color.ts","../src/ui/Dialog.ts","../src/ui/Input.ts","../src/ui/Slider.ts","../src/ui/ToggleButton.ts","../src/ui/View.ts","../src/ui/icons.ts","../src/utils/BaseWorker.ts","../src/utils/FontAtlas.ts","../src/utils/GeoImageCreator.ts","../src/utils/ImagesCacheManager.ts","../src/utils/Loader.ts","../src/utils/NormalMapCreator.ts","../src/utils/PlainSegmentWorker.ts","../src/utils/PlainSegmentWorker.worker.js","../src/utils/TerrainWorker.ts","../src/utils/TerrainWorker.worker.js","../src/utils/TextureAtlas.ts","../src/utils/VectorTileCreator.ts","../src/utils/colorTable.ts","../src/utils/earcut.ts","../src/utils/objParser.ts","../src/utils/shared.ts","../src/utils/units.ts","../src/webgl/BaseFramebuffer.ts","../src/webgl/Framebuffer.ts","../src/webgl/Handler.ts","../src/webgl/Multisample.ts","../src/webgl/Program.ts","../src/webgl/ProgramController.ts","../src/webgl/index.ts","../src/webgl/types.ts","../src/webgl/variableHandlers.ts"],"version":"5.8.3"}
1
+ {"root":["../src/Clock.ts","../src/Deferred.ts","../src/Events.ts","../src/Extent.ts","../src/Globe.ts","../src/ImageCanvas.ts","../src/Lock.ts","../src/LonLat.ts","../src/Object3d.ts","../src/Popup.ts","../src/QueueArray.ts","../src/Rectangle.ts","../src/Stack.ts","../src/cons.ts","../src/index.ts","../src/math.ts","../src/mercator.ts","../src/astro/astro.ts","../src/astro/earth.ts","../src/astro/jd.ts","../src/astro/orbit.ts","../src/astro/rotation.ts","../src/bv/Box.ts","../src/bv/Sphere.ts","../src/bv/index.ts","../src/camera/Camera.ts","../src/camera/Frustum.ts","../src/camera/PlanetCamera.ts","../src/camera/index.ts","../src/control/CameraFrameComposer.ts","../src/control/CameraFrameHandler.ts","../src/control/CameraLock.ts","../src/control/CompassButton.ts","../src/control/Control.ts","../src/control/DebugInfo.ts","../src/control/DrawingSwitcher.ts","../src/control/EarthCoordinates.ts","../src/control/FramebufferPreview.ts","../src/control/GeoImageDragControl.ts","../src/control/KeyboardNavigation.ts","../src/control/LayerAnimation.ts","../src/control/LayerSwitcher.ts","../src/control/Lighting.ts","../src/control/MouseNavigation.ts","../src/control/MouseWheelZoomControl.ts","../src/control/OldMouseNavigation.ts","../src/control/RulerSwitcher.ts","../src/control/ScaleControl.ts","../src/control/SegmentBoundVisualization.ts","../src/control/ShowFps.ts","../src/control/SimpleNavigation.ts","../src/control/SimpleSkyBackground.ts","../src/control/Sun.ts","../src/control/ToggleWireframe.ts","../src/control/TouchNavigation.ts","../src/control/ZoomControl.ts","../src/control/index.ts","../src/control/atmosphere/Atmosphere.ts","../src/control/atmosphere/AtmosphereConfig.ts","../src/control/cameraDepthHandler/CameraDepthHandler.ts","../src/control/cameraDepthHandler/camera_depth.ts","../src/control/drawing/DrawingControl.ts","../src/control/drawing/LineStringDrawingScene.ts","../src/control/drawing/PolygonDrawingScene.ts","../src/control/elevationProfile/ElevationProfile.ts","../src/control/elevationProfile/ElevationProfileButtonsView.ts","../src/control/elevationProfile/ElevationProfileControl.ts","../src/control/elevationProfile/ElevationProfileLegend.ts","../src/control/elevationProfile/ElevationProfileScene.ts","../src/control/elevationProfile/ElevationProfileView.ts","../src/control/elevationProfile/PointListDialog.ts","../src/control/geoObjectEditor/ArrowEntity.ts","../src/control/geoObjectEditor/AxisTrackEntity.ts","../src/control/geoObjectEditor/GeoObjectEditor.ts","../src/control/geoObjectEditor/GeoObjectEditorDialog.ts","../src/control/geoObjectEditor/GeoObjectEditorScene.ts","../src/control/geoObjectEditor/MoveAxisEntity.ts","../src/control/geoObjectEditor/MovePlaneEntity.ts","../src/control/geoObjectEditor/RotateEntity.ts","../src/control/geoObjectEditor/colors.ts","../src/control/heightRuler/HeightRuler.ts","../src/control/heightRuler/HeightRulerScene.ts","../src/control/heightRuler/HeightRulerSwitcher.ts","../src/control/object3dManager/Object3dCollection.ts","../src/control/object3dManager/Object3dCollectionView.ts","../src/control/object3dManager/Object3dItemView.ts","../src/control/object3dManager/Object3dManager.ts","../src/control/object3dManager/Object3dManagerDialog.ts","../src/control/ruler/Ruler.ts","../src/control/ruler/RulerScene.ts","../src/control/selection/Selection.ts","../src/control/selection/SelectionScene.ts","../src/control/timeline/TimelineControl.ts","../src/control/timeline/TimelineModel.ts","../src/control/timeline/TimelineView.ts","../src/control/timeline/timelineUtils.ts","../src/control/visibleExtent/Segment.js","../src/control/visibleExtent/VisibleExtent.js","../src/control/visibleExtent/drawnode.ts","../src/ellipsoid/Ellipsoid.ts","../src/ellipsoid/index.ts","../src/ellipsoid/mars.ts","../src/ellipsoid/moon.ts","../src/ellipsoid/wgs84.ts","../src/entity/BaseBillboard.ts","../src/entity/BaseBillboardHandler.ts","../src/entity/Billboard.ts","../src/entity/BillboardHandler.ts","../src/entity/Entity.ts","../src/entity/EntityCollection.ts","../src/entity/GeoObject.ts","../src/entity/GeoObjectHandler.ts","../src/entity/Geometry.ts","../src/entity/GeometryHandler.ts","../src/entity/InstanceData.ts","../src/entity/Label.ts","../src/entity/LabelHandler.ts","../src/entity/LabelWorker.ts","../src/entity/LabelWorker.worker.js","../src/entity/PointCloud.ts","../src/entity/PointCloudHandler.ts","../src/entity/Polyline.ts","../src/entity/PolylineHandler.ts","../src/entity/Ray.ts","../src/entity/RayHandler.ts","../src/entity/Strip.ts","../src/entity/StripHandler.ts","../src/entity/index.ts","../src/input/KeyboardHandler.ts","../src/input/MouseHandler.ts","../src/input/TouchHandler.ts","../src/input/input.ts","../src/layer/BaseGeoImage.ts","../src/layer/Bing.ts","../src/layer/CanvasTiles.ts","../src/layer/GeoImage.ts","../src/layer/GeoTexture2d.ts","../src/layer/GeoVideo.ts","../src/layer/KML.ts","../src/layer/Layer.ts","../src/layer/Material.ts","../src/layer/OpenStreetMap.ts","../src/layer/Vector.ts","../src/layer/WMS.ts","../src/layer/XYZ.ts","../src/layer/index.ts","../src/light/LightSource.ts","../src/math/Line2.ts","../src/math/Line3.ts","../src/math/Mat3.ts","../src/math/Mat4.ts","../src/math/Plane.ts","../src/math/Quat.ts","../src/math/Ray.ts","../src/math/Vec2.ts","../src/math/Vec3.ts","../src/math/Vec4.ts","../src/math/coder.ts","../src/math/index.ts","../src/proj/EPSG3857.ts","../src/proj/EPSG4326.ts","../src/proj/Proj.ts","../src/proj/equi.ts","../src/quadTree/EntityCollectionNode.ts","../src/quadTree/EntityCollectionsTreeStrategy.ts","../src/quadTree/Node.ts","../src/quadTree/QuadTreeStrategy.ts","../src/quadTree/index.ts","../src/quadTree/quadTree.ts","../src/quadTree/EPSG4326/EPSG4326QuadTreeStrategy.ts","../src/quadTree/earth/EarthEntityCollectionNodeLonLat.ts","../src/quadTree/earth/EarthEntityCollectionsTreeStrategy.ts","../src/quadTree/earth/EarthQuadTreeStrategy.ts","../src/quadTree/equi/EquiEntityCollectionNodeLonLat.ts","../src/quadTree/equi/EquiEntityCollectionsTreeStrategy.ts","../src/quadTree/equi/EquiQuadTreeStrategy.ts","../src/quadTree/wgs84/Wgs84QuadTreeStrategy.ts","../src/renderer/Renderer.ts","../src/renderer/RendererEvents.ts","../src/scene/Axes.ts","../src/scene/BaseNode.ts","../src/scene/Planet.ts","../src/scene/RenderNode.ts","../src/scene/SkyBox.ts","../src/scene/index.ts","../src/segment/Segment.ts","../src/segment/SegmentLonLat.ts","../src/segment/SegmentLonLatEqui.ts","../src/segment/Slice.ts","../src/segment/segmentHelper.ts","../src/shaders/depth.ts","../src/shaders/pointCloud.ts","../src/shaders/screenFrame.ts","../src/shaders/skybox.ts","../src/shaders/atmos/atmos.ts","../src/shaders/billboard/billboard.ts","../src/shaders/drawnode/drawnode.ts","../src/shaders/geo_object/geo_object.ts","../src/shaders/label/label.ts","../src/shaders/polyline/polyline.ts","../src/shaders/ray/ray.ts","../src/shaders/tone_mapping/toneMapping.ts","../src/terrain/BilTerrain.ts","../src/terrain/EmptyTerrain.ts","../src/terrain/Geoid.ts","../src/terrain/GlobusRgbTerrain.ts","../src/terrain/GlobusTerrain.ts","../src/terrain/RgbTerrain.ts","../src/terrain/index.ts","../src/ui/Button.ts","../src/ui/ButtonGroup.ts","../src/ui/Checkbox.ts","../src/ui/Color.ts","../src/ui/Dialog.ts","../src/ui/Input.ts","../src/ui/Slider.ts","../src/ui/ToggleButton.ts","../src/ui/View.ts","../src/ui/icons.ts","../src/utils/BaseWorker.ts","../src/utils/FontAtlas.ts","../src/utils/GeoImageCreator.ts","../src/utils/ImagesCacheManager.ts","../src/utils/Loader.ts","../src/utils/NormalMapCreator.ts","../src/utils/PlainSegmentWorker.ts","../src/utils/PlainSegmentWorker.worker.js","../src/utils/TerrainWorker.ts","../src/utils/TerrainWorker.worker.js","../src/utils/TextureAtlas.ts","../src/utils/VectorTileCreator.ts","../src/utils/colorTable.ts","../src/utils/earcut.ts","../src/utils/objParser.ts","../src/utils/shared.ts","../src/utils/units.ts","../src/utils/gltf/glbParser.ts","../src/utils/gltf/gltfParser.ts","../src/utils/gltf/types.ts","../src/webgl/BaseFramebuffer.ts","../src/webgl/Framebuffer.ts","../src/webgl/Handler.ts","../src/webgl/Multisample.ts","../src/webgl/Program.ts","../src/webgl/ProgramController.ts","../src/webgl/index.ts","../src/webgl/types.ts","../src/webgl/variableHandlers.ts"],"version":"5.8.3"}
@@ -0,0 +1,9 @@
1
+ import { GltfData } from "./types";
2
+ export declare class Glb {
3
+ static load(src: string): Promise<GltfData>;
4
+ private static getChunks;
5
+ private static getChunk;
6
+ private static getChunkType;
7
+ private static parseChunks;
8
+ private static parseJsonChunk;
9
+ }
@@ -0,0 +1,25 @@
1
+ import { Entity } from "../../entity";
2
+ import { Object3d } from "../../Object3d";
3
+ import { GltfData, Mesh } from "./types";
4
+ export declare class Gltf {
5
+ private gltf;
6
+ private static _dracoDecoderModule;
7
+ static connectDracoDecoderModule(decoder: any): void;
8
+ static loadGlb(url: string): Promise<Gltf>;
9
+ private _materials;
10
+ private _images;
11
+ meshes: Mesh[];
12
+ constructor(gltf: GltfData);
13
+ getObjects3d(): Object3d[];
14
+ toEntities(): Entity[];
15
+ private _nodeToEntity;
16
+ meshToEntity(mesh: Mesh, parent?: Entity): Entity;
17
+ private _initImages;
18
+ private _getImage;
19
+ private _initMaterials;
20
+ private _initMeshes;
21
+ private _buildPrimitive;
22
+ private static _toObject3d;
23
+ private static _access;
24
+ private static _getTensor;
25
+ }
@@ -0,0 +1,194 @@
1
+ import { Object3d } from "../../Object3d";
2
+ export interface GltfData {
3
+ bin: ArrayBuffer[];
4
+ gltf: GltfMetadata;
5
+ }
6
+ export interface GltfMetadata {
7
+ accessors: Accessor[];
8
+ bufferViews: BufferView[];
9
+ meshes: GltfMesh[];
10
+ materials: {
11
+ name: string;
12
+ pbrMetallicRoughness?: {
13
+ baseColorFactor?: number[];
14
+ metallicFactor?: number;
15
+ roughnessFactor?: number;
16
+ baseColorTexture?: {
17
+ index: number;
18
+ texCoord?: number;
19
+ };
20
+ metallicRoughnessTexture?: {
21
+ index: number;
22
+ texCoord?: number;
23
+ };
24
+ };
25
+ normalTexture?: {
26
+ index: number;
27
+ texCoord?: number;
28
+ scale?: number;
29
+ };
30
+ occlusionTexture?: {
31
+ index: number;
32
+ texCoord?: number;
33
+ strength?: number;
34
+ };
35
+ emissiveTexture?: {
36
+ index: number;
37
+ texCoord?: number;
38
+ };
39
+ emissiveFactor?: number[];
40
+ alphaMode?: AlphaMode;
41
+ alphaCutoff?: number;
42
+ doubleSided?: boolean;
43
+ }[];
44
+ textures: {
45
+ sampler?: number;
46
+ source?: number;
47
+ name?: string;
48
+ }[];
49
+ images?: {
50
+ uri?: string;
51
+ mimeType?: MimeType;
52
+ bufferView?: number;
53
+ name?: string;
54
+ }[];
55
+ scene: number;
56
+ scenes: {
57
+ nodes?: number[];
58
+ name?: string;
59
+ }[];
60
+ nodes: GltfNode[];
61
+ extensionsRequired?: string[];
62
+ extensionsUsed?: string[];
63
+ }
64
+ export interface GltfMesh {
65
+ name: string;
66
+ primitives: GltfPrimitive[];
67
+ }
68
+ export interface GltfPrimitive {
69
+ indices?: number;
70
+ material?: number;
71
+ mode?: PrimitiveMode;
72
+ attributes: PrimitiveAttributes;
73
+ extensions?: {
74
+ [key: string]: any;
75
+ KHR_draco_mesh_compression?: {
76
+ bufferView: number;
77
+ attributes: PrimitiveAttributes;
78
+ };
79
+ };
80
+ }
81
+ export type PrimitiveAttributes = {
82
+ POSITION: number;
83
+ NORMAL: number;
84
+ } & Record<string, number>;
85
+ export interface GltfNode {
86
+ camera?: number;
87
+ children?: number[];
88
+ skin?: number;
89
+ matrix?: number[];
90
+ mesh?: number;
91
+ rotation?: number[];
92
+ scale?: number[];
93
+ translation?: number[];
94
+ weights?: number[];
95
+ name?: string;
96
+ }
97
+ export declare enum MimeType {
98
+ JPEG = "image/jpeg",
99
+ PNG = "image/png"
100
+ }
101
+ export interface Accessor {
102
+ bufferView: number;
103
+ byteOffset?: number;
104
+ componentType: AccessorComponentType;
105
+ count: number;
106
+ type: AccessorDataType;
107
+ max: number[];
108
+ min: number[];
109
+ }
110
+ export interface BufferView {
111
+ buffer: number;
112
+ byteLength: number;
113
+ byteOffset: number;
114
+ target?: BufferViewTarget;
115
+ byteStride?: number;
116
+ }
117
+ export declare enum BufferViewTarget {
118
+ ARRAY_BUFFER = 34962,
119
+ ELEMENT_ARRAY_BUFFER = 34963
120
+ }
121
+ export declare enum AccessorComponentType {
122
+ byte = 5120,
123
+ ubyte = 5121,
124
+ short = 5122,
125
+ ushort = 5123,
126
+ uint = 5125,
127
+ float = 5126
128
+ }
129
+ export declare enum AccessorDataType {
130
+ scalar = "SCALAR",
131
+ vec2 = "VEC2",
132
+ vec3 = "VEC3",
133
+ vec4 = "VEC4",
134
+ mat2 = "MAT2",
135
+ mat3 = "MAT3",
136
+ mat4 = "MAT4"
137
+ }
138
+ export interface Mesh {
139
+ name: string;
140
+ primitives: Primitive[];
141
+ }
142
+ export interface Primitive {
143
+ name: string;
144
+ indices?: ArrayBufferLike;
145
+ vertices: ArrayBufferLike;
146
+ normals: ArrayBufferLike;
147
+ texCoords?: ArrayBufferLike;
148
+ material?: Material;
149
+ mode: PrimitiveMode;
150
+ object3d?: Object3d;
151
+ }
152
+ export interface Material {
153
+ name: string;
154
+ baseColorFactor?: number[];
155
+ baseColorTexture?: Texture;
156
+ metallicRoughnessTexture?: Texture;
157
+ normalTexture?: NormalTexture;
158
+ occlusionTexture?: OcclusionTexture;
159
+ emissiveTexture?: Texture;
160
+ emissiveFactor?: number[];
161
+ alphaMode?: AlphaMode;
162
+ alphaCutoff?: number;
163
+ doubleSided?: boolean;
164
+ }
165
+ export interface Texture {
166
+ image: TextureImage;
167
+ texCoord?: number;
168
+ }
169
+ export interface NormalTexture extends Texture {
170
+ scale?: number;
171
+ }
172
+ export interface OcclusionTexture extends Texture {
173
+ strength?: number;
174
+ }
175
+ export interface TextureImage {
176
+ src?: string;
177
+ element?: HTMLImageElement;
178
+ mimeType?: MimeType;
179
+ name?: string;
180
+ }
181
+ export declare enum AlphaMode {
182
+ OPAQUE = "OPAQUE",
183
+ MASK = "MASK",
184
+ BLEND = "BLEND"
185
+ }
186
+ export declare enum PrimitiveMode {
187
+ points = 0,
188
+ lines = 1,
189
+ lineLoop = 2,
190
+ lineStrip = 3,
191
+ triangles = 4,
192
+ triangleStrip = 5,
193
+ triangleFan = 6
194
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openglobus/og",
3
- "version": "0.25.10",
3
+ "version": "0.26.0",
4
4
  "description": "[openglobus](https://www.openglobus.org/) is a javascript/typescript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers, and 3D objects. It uses the WebGL technology, open source, and completely free.",
5
5
  "main": "lib/og.es.js",
6
6
  "types": "lib/index.d.ts",
@@ -50,6 +50,7 @@
50
50
  "@babel/preset-typescript": "^7.27.0",
51
51
  "@eslint-community/eslint-utils": "^4.6.1",
52
52
  "@rollup/plugin-terser": "^0.4.4",
53
+ "@types/draco3d": "^1.4.10",
53
54
  "@types/mocha": "^10.0.10",
54
55
  "@types/node": "^22.15.3",
55
56
  "@typescript-eslint/eslint-plugin": "^8.31.1",