@openglobus/og 0.19.3 → 0.20.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.
- package/README.md +3 -3
- package/css/og.css +18 -4
- package/lib/@openglobus/js/Clock.d.ts +106 -0
- package/lib/@openglobus/js/Deferred.d.ts +6 -0
- package/lib/@openglobus/js/Events.d.ts +90 -0
- package/lib/@openglobus/js/Extent.d.ts +145 -0
- package/lib/@openglobus/js/Globe.d.ts +134 -0
- package/lib/@openglobus/js/ImageCanvas.d.ts +128 -0
- package/lib/@openglobus/js/Lock.d.ts +15 -0
- package/lib/@openglobus/js/LonLat.d.ts +128 -0
- package/lib/@openglobus/js/Object3d.d.ts +64 -0
- package/lib/@openglobus/js/Popup.d.ts +46 -0
- package/lib/@openglobus/js/QueueArray.d.ts +16 -0
- package/lib/@openglobus/js/Rectangle.d.ts +76 -0
- package/lib/@openglobus/js/Stack.d.ts +20 -0
- package/lib/@openglobus/js/astro/astro.d.ts +39 -0
- package/lib/@openglobus/js/astro/earth.d.ts +8 -0
- package/lib/@openglobus/js/astro/jd.d.ts +234 -0
- package/lib/@openglobus/js/astro/orbit.d.ts +5 -0
- package/lib/@openglobus/js/astro/rotation.d.ts +2 -0
- package/lib/@openglobus/js/bv/Box.d.ts +32 -0
- package/lib/@openglobus/js/bv/Sphere.d.ts +37 -0
- package/lib/@openglobus/js/bv/index.d.ts +3 -0
- package/lib/@openglobus/js/camera/Camera.d.ts +314 -0
- package/lib/@openglobus/js/camera/Frustum.d.ts +139 -0
- package/lib/@openglobus/js/camera/PlanetCamera.d.ts +234 -0
- package/lib/@openglobus/js/camera/index.d.ts +3 -0
- package/lib/@openglobus/js/cons.d.ts +40 -0
- package/lib/@openglobus/js/control/Atmosphere.d.ts +16 -0
- package/lib/@openglobus/js/control/CompassButton.d.ts +16 -0
- package/lib/@openglobus/js/control/Control.d.ts +100 -0
- package/lib/@openglobus/js/control/DebugInfo.d.ts +25 -0
- package/lib/@openglobus/js/control/DrawingSwitcher.d.ts +13 -0
- package/lib/@openglobus/js/control/EarthCoordinates.d.ts +41 -0
- package/lib/@openglobus/js/control/EarthNavigation.d.ts +50 -0
- package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +22 -0
- package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +28 -0
- package/lib/@openglobus/js/control/LayerAnimation.d.ts +71 -0
- package/lib/@openglobus/js/control/LayerSwitcher.d.ts +36 -0
- package/lib/@openglobus/js/control/Lighting.d.ts +53 -0
- package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -0
- package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/@openglobus/js/control/RulerSwitcher.d.ts +17 -0
- package/lib/@openglobus/js/control/ScaleControl.d.ts +24 -0
- package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/@openglobus/js/control/ShowFps.d.ts +9 -0
- package/lib/@openglobus/js/control/SimpleNavigation.d.ts +25 -0
- package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +17 -0
- package/lib/@openglobus/js/control/Sun.d.ts +33 -0
- package/lib/@openglobus/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/@openglobus/js/control/TouchNavigation.d.ts +52 -0
- package/lib/@openglobus/js/control/ZoomControl.d.ts +27 -0
- package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +12 -0
- package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +77 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +14 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +33 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +20 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +80 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +63 -0
- package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +12 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/lib/@openglobus/js/control/index.d.ts +29 -0
- package/lib/@openglobus/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/@openglobus/js/control/selection/Selection.d.ts +55 -0
- package/lib/@openglobus/js/control/selection/SelectionScene.d.ts +44 -0
- package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +18 -0
- package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +41 -0
- package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +85 -0
- package/lib/@openglobus/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/@openglobus/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +193 -0
- package/lib/@openglobus/js/ellipsoid/index.d.ts +3 -0
- package/lib/@openglobus/js/ellipsoid/wgs84.d.ts +6 -0
- package/lib/@openglobus/js/entity/BaseBillboard.d.ts +222 -0
- package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/lib/@openglobus/js/entity/Billboard.d.ts +113 -0
- package/lib/@openglobus/js/entity/BillboardHandler.d.ts +15 -0
- package/lib/@openglobus/js/entity/Entity.d.ts +354 -0
- package/lib/@openglobus/js/entity/EntityCollection.d.ts +363 -0
- package/lib/@openglobus/js/entity/GeoObject.d.ts +152 -0
- package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +104 -0
- package/lib/@openglobus/js/entity/Geometry.d.ts +124 -0
- package/lib/@openglobus/js/entity/GeometryHandler.d.ts +84 -0
- package/lib/@openglobus/js/entity/Label.d.ts +214 -0
- package/lib/@openglobus/js/entity/LabelHandler.d.ts +65 -0
- package/lib/@openglobus/js/entity/LabelWorker.d.ts +15 -0
- package/lib/@openglobus/js/entity/PointCloud.d.ts +179 -0
- package/lib/@openglobus/js/entity/PointCloudHandler.d.ts +42 -0
- package/lib/@openglobus/js/entity/Polyline.d.ts +345 -0
- package/lib/@openglobus/js/entity/PolylineHandler.d.ts +22 -0
- package/lib/@openglobus/js/entity/Ray.d.ts +133 -0
- package/lib/@openglobus/js/entity/RayHandler.d.ts +70 -0
- package/lib/@openglobus/js/entity/Strip.d.ts +139 -0
- package/lib/@openglobus/js/entity/StripHandler.d.ts +42 -0
- package/lib/@openglobus/js/entity/index.d.ts +10 -0
- package/lib/@openglobus/js/index.d.ts +33 -0
- package/lib/@openglobus/js/input/KeyboardHandler.d.ts +33 -0
- package/lib/@openglobus/js/input/MouseHandler.d.ts +16 -0
- package/lib/@openglobus/js/input/TouchHandler.d.ts +11 -0
- package/lib/@openglobus/js/input/input.d.ts +3 -0
- package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +145 -0
- package/lib/@openglobus/js/layer/Bing.d.ts +4 -0
- package/lib/@openglobus/js/layer/CanvasTiles.d.ts +103 -0
- package/lib/@openglobus/js/layer/GeoImage.d.ts +61 -0
- package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/@openglobus/js/layer/GeoVideo.d.ts +68 -0
- package/lib/@openglobus/js/layer/KML.d.ts +72 -0
- package/lib/@openglobus/js/layer/Layer.d.ts +415 -0
- package/lib/@openglobus/js/layer/Material.d.ts +34 -0
- package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +4 -0
- package/lib/@openglobus/js/layer/Vector.d.ts +246 -0
- package/lib/@openglobus/js/layer/WMS.d.ts +75 -0
- package/lib/@openglobus/js/layer/XYZ.d.ts +148 -0
- package/lib/@openglobus/js/layer/index.d.ts +12 -0
- package/lib/@openglobus/js/light/LightSource.d.ts +174 -0
- package/lib/@openglobus/js/math/Line2.d.ts +11 -0
- package/lib/@openglobus/js/math/Line3.d.ts +28 -0
- package/lib/@openglobus/js/math/Mat3.d.ts +77 -0
- package/lib/@openglobus/js/math/Mat4.d.ts +195 -0
- package/lib/@openglobus/js/math/Plane.d.ts +20 -0
- package/lib/@openglobus/js/math/Quat.d.ts +373 -0
- package/lib/@openglobus/js/math/Ray.d.ts +76 -0
- package/lib/@openglobus/js/math/Vec2.d.ts +310 -0
- package/lib/@openglobus/js/math/Vec3.d.ts +472 -0
- package/lib/@openglobus/js/math/Vec4.d.ts +163 -0
- package/lib/@openglobus/js/math/coder.d.ts +51 -0
- package/lib/@openglobus/js/math/index.d.ts +11 -0
- package/lib/@openglobus/js/math.d.ts +266 -0
- package/lib/@openglobus/js/mercator.d.ts +92 -0
- package/lib/@openglobus/js/proj/EPSG3857.d.ts +9 -0
- package/lib/@openglobus/js/proj/EPSG4326.d.ts +9 -0
- package/lib/@openglobus/js/proj/Proj.d.ts +43 -0
- package/lib/@openglobus/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +9 -0
- package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +11 -0
- package/lib/@openglobus/js/quadTree/Node.d.ts +80 -0
- package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +28 -0
- package/lib/@openglobus/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/@openglobus/js/quadTree/index.d.ts +12 -0
- package/lib/@openglobus/js/quadTree/quadTree.d.ts +40 -0
- package/lib/@openglobus/js/renderer/Renderer.d.ts +319 -0
- package/lib/@openglobus/js/renderer/RendererEvents.d.ts +240 -0
- package/lib/@openglobus/js/scene/Axes.d.ts +12 -0
- package/lib/@openglobus/js/scene/BaseNode.d.ts +61 -0
- package/lib/@openglobus/js/scene/Planet.d.ts +652 -0
- package/lib/@openglobus/js/scene/RenderNode.d.ts +150 -0
- package/lib/@openglobus/js/scene/SkyBox.d.ts +13 -0
- package/lib/@openglobus/js/scene/index.d.ts +5 -0
- package/lib/@openglobus/js/segment/Segment.d.ts +288 -0
- package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +44 -0
- package/lib/@openglobus/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/@openglobus/js/segment/Slice.d.ts +13 -0
- package/lib/@openglobus/js/segment/segmentHelper.d.ts +18 -0
- package/lib/@openglobus/js/shaders/atmos.d.ts +4 -0
- package/lib/@openglobus/js/shaders/billboard.d.ts +3 -0
- package/lib/@openglobus/js/shaders/bloom.d.ts +2 -0
- package/lib/@openglobus/js/shaders/blur.d.ts +3 -0
- package/lib/@openglobus/js/shaders/depth.d.ts +2 -0
- package/lib/@openglobus/js/shaders/drawnode.d.ts +8 -0
- package/lib/@openglobus/js/shaders/geoObject.d.ts +3 -0
- package/lib/@openglobus/js/shaders/label.d.ts +4 -0
- package/lib/@openglobus/js/shaders/lumFilter.d.ts +2 -0
- package/lib/@openglobus/js/shaders/pointCloud.d.ts +2 -0
- package/lib/@openglobus/js/shaders/polyline.d.ts +3 -0
- package/lib/@openglobus/js/shaders/ray.d.ts +2 -0
- package/lib/@openglobus/js/shaders/screenFrame.d.ts +2 -0
- package/lib/@openglobus/js/shaders/skybox.d.ts +2 -0
- package/lib/@openglobus/js/shaders/toneMapping.d.ts +2 -0
- package/lib/@openglobus/js/shaders/utils.d.ts +1 -0
- package/lib/@openglobus/js/terrain/BilTerrain.d.ts +18 -0
- package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +113 -0
- package/lib/@openglobus/js/terrain/Geoid.d.ts +33 -0
- package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +6 -0
- package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +137 -0
- package/lib/{js/terrain/MapboxTerrain.d.ts → @openglobus/js/terrain/RgbTerrain.d.ts} +6 -5
- package/lib/@openglobus/js/terrain/index.d.ts +6 -0
- package/lib/@openglobus/js/ui/Button.d.ts +32 -0
- package/lib/@openglobus/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/@openglobus/js/ui/Color.d.ts +22 -0
- package/lib/@openglobus/js/ui/Dialog.d.ts +55 -0
- package/lib/@openglobus/js/ui/Slider.d.ts +38 -0
- package/lib/@openglobus/js/ui/ToggleButton.d.ts +20 -0
- package/lib/@openglobus/js/ui/View.d.ts +37 -0
- package/lib/@openglobus/js/ui/icons.d.ts +1 -0
- package/lib/@openglobus/js/utils/BaseWorker.d.ts +14 -0
- package/lib/@openglobus/js/utils/FontAtlas.d.ts +82 -0
- package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +34 -0
- package/lib/@openglobus/js/utils/ImagesCacheManager.d.ts +22 -0
- package/lib/@openglobus/js/utils/Loader.d.ts +63 -0
- package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +52 -0
- package/lib/@openglobus/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/lib/@openglobus/js/utils/TerrainWorker.d.ts +28 -0
- package/lib/@openglobus/js/utils/TextureAtlas.d.ts +113 -0
- package/lib/@openglobus/js/utils/VectorTileCreator.d.ts +18 -0
- package/lib/@openglobus/js/utils/colorTable.d.ts +3 -0
- package/lib/@openglobus/js/utils/earcut.d.ts +7 -0
- package/lib/@openglobus/js/utils/objParser.d.ts +24 -0
- package/lib/@openglobus/js/utils/shared.d.ts +263 -0
- package/lib/@openglobus/js/utils/units.d.ts +16 -0
- package/lib/@openglobus/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/lib/@openglobus/js/webgl/Framebuffer.d.ts +69 -0
- package/lib/@openglobus/js/webgl/Handler.d.ts +473 -0
- package/lib/@openglobus/js/webgl/Multisample.d.ts +27 -0
- package/lib/@openglobus/js/webgl/Program.d.ts +159 -0
- package/lib/@openglobus/js/webgl/ProgramController.d.ts +86 -0
- package/lib/@openglobus/js/webgl/index.d.ts +6 -0
- package/lib/@openglobus/js/webgl/types.d.ts +9 -0
- package/lib/@openglobus/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/@openglobus/og.css +1 -1
- package/lib/@openglobus/og.esm.js +1 -1
- package/lib/@openglobus/og.esm.js.map +1 -1
- package/lib/@openglobus/og.umd.js +1 -1
- package/lib/@openglobus/og.umd.js.map +1 -1
- package/lib/js/Extent.js +2 -2
- package/lib/js/Globe.d.ts +1 -1
- package/lib/js/Object3d.d.ts +16 -1
- package/lib/js/Object3d.js +66 -1
- package/lib/js/astro/jd.js +26 -26
- package/lib/js/camera/Frustum.d.ts +1 -1
- package/lib/js/camera/Frustum.js +3 -2
- package/lib/js/control/DebugInfo.js +19 -18
- package/lib/js/control/Lighting.d.ts +4 -0
- package/lib/js/control/Lighting.js +51 -12
- package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
- package/lib/js/control/SimpleSkyBackground.js +13 -3
- package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
- package/lib/js/control/timeline/timelineUtils.js +32 -32
- package/lib/js/control/visibleExtent/drawnode.js +1 -1
- package/lib/js/entity/GeoObject.d.ts +20 -6
- package/lib/js/entity/GeoObject.js +44 -4
- package/lib/js/entity/GeoObjectHandler.d.ts +6 -1
- package/lib/js/entity/GeoObjectHandler.js +58 -6
- package/lib/js/entity/Geometry.d.ts +24 -11
- package/lib/js/entity/Geometry.js +17 -9
- package/lib/js/entity/GeometryHandler.js +5 -5
- package/lib/js/entity/Label.d.ts +7 -0
- package/lib/js/entity/Label.js +11 -0
- package/lib/js/entity/Polyline.d.ts +15 -7
- package/lib/js/entity/Polyline.js +54 -6
- package/lib/js/entity/Strip.d.ts +12 -0
- package/lib/js/entity/Strip.js +16 -0
- package/lib/js/entity/StripHandler.js +1 -1
- package/lib/js/entity/index.d.ts +10 -11
- package/lib/js/entity/index.js +10 -11
- package/lib/js/index.d.ts +5 -5
- package/lib/js/index.js +5 -5
- package/lib/js/layer/Bing.d.ts +4 -0
- package/lib/js/layer/Bing.js +40 -0
- package/lib/js/layer/GeoImage.d.ts +1 -1
- package/lib/js/layer/GeoVideo.d.ts +1 -1
- package/lib/js/layer/Layer.d.ts +1 -1
- package/lib/js/layer/Layer.js +2 -2
- package/lib/js/layer/OpenStreetMap.d.ts +4 -0
- package/lib/js/layer/OpenStreetMap.js +19 -0
- package/lib/js/layer/Vector.d.ts +3 -0
- package/lib/js/layer/Vector.js +3 -3
- package/lib/js/layer/index.d.ts +12 -11
- package/lib/js/layer/index.js +12 -11
- package/lib/js/math/Mat4.js +18 -17
- package/lib/js/mercator.js +2 -1
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
- package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
- package/lib/js/quadTree/EntityCollectionNode.js +13 -14
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
- package/lib/js/quadTree/Node.d.ts +2 -1
- package/lib/js/quadTree/Node.js +38 -28
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
- package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
- package/lib/js/renderer/Renderer.js +1 -0
- package/lib/js/scene/Axes.js +4 -4
- package/lib/js/scene/Planet.js +6 -4
- package/lib/js/segment/Segment.d.ts +12 -9
- package/lib/js/segment/Segment.js +47 -24
- package/lib/js/segment/SegmentLonLat.d.ts +1 -5
- package/lib/js/segment/SegmentLonLat.js +8 -100
- package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
- package/lib/js/shaders/billboard.js +4 -4
- package/lib/js/shaders/drawnode.js +16 -19
- package/lib/js/shaders/geoObject.js +10 -11
- package/lib/js/shaders/ray.js +7 -3
- package/lib/js/terrain/BilTerrain.d.ts +1 -1
- package/lib/js/terrain/BilTerrain.js +7 -6
- package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
- package/lib/js/terrain/EmptyTerrain.js +7 -0
- package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
- package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
- package/lib/js/terrain/GlobusTerrain.js +35 -30
- package/lib/js/terrain/RgbTerrain.d.ts +22 -0
- package/lib/js/terrain/RgbTerrain.js +415 -0
- package/lib/js/terrain/index.d.ts +3 -2
- package/lib/js/terrain/index.js +3 -2
- package/lib/js/ui/Color.d.ts +22 -0
- package/lib/js/ui/Color.js +58 -0
- package/lib/js/utils/GeoImageCreator.js +1 -1
- package/lib/js/utils/NormalMapCreator.js +1 -1
- package/lib/js/utils/VectorTileCreator.js +3 -3
- package/lib/js/utils/objParser.js +3 -3
- package/lib/js/utils/shared.d.ts +3 -9
- package/lib/js/utils/shared.js +24 -9
- package/package.json +26 -18
- package/lib/js/terrain/MapboxTerrain.js +0 -298
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
import { Quat } from "./Quat";
|
|
2
|
+
import { Vec4, NumberArray4 } from "./Vec4";
|
|
3
|
+
import { NumberArray2 } from "./Vec2";
|
|
4
|
+
export type NumberArray3 = [number, number, number];
|
|
5
|
+
/**
|
|
6
|
+
* Class represents a 3d vector.
|
|
7
|
+
* @class
|
|
8
|
+
* @param {number} [x] - First value.
|
|
9
|
+
* @param {number} [y] - Second value.
|
|
10
|
+
* @param {number} [z] - Third value.
|
|
11
|
+
*/
|
|
12
|
+
export declare class Vec3 {
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
* @type {number}
|
|
16
|
+
*/
|
|
17
|
+
x: number;
|
|
18
|
+
/**
|
|
19
|
+
* @public
|
|
20
|
+
* @type {number}
|
|
21
|
+
*/
|
|
22
|
+
y: number;
|
|
23
|
+
/**
|
|
24
|
+
* @public
|
|
25
|
+
* @type {number}
|
|
26
|
+
*/
|
|
27
|
+
z: number;
|
|
28
|
+
constructor(x?: number, y?: number, z?: number);
|
|
29
|
+
/** @const */
|
|
30
|
+
static get UP(): Vec3;
|
|
31
|
+
/** @const */
|
|
32
|
+
static get DOWN(): Vec3;
|
|
33
|
+
/** @const */
|
|
34
|
+
static get RIGHT(): Vec3;
|
|
35
|
+
/** @const */
|
|
36
|
+
static get LEFT(): Vec3;
|
|
37
|
+
/** @const */
|
|
38
|
+
static get FORWARD(): Vec3;
|
|
39
|
+
/** @const */
|
|
40
|
+
static get BACKWARD(): Vec3;
|
|
41
|
+
/** @const */
|
|
42
|
+
static get ZERO(): Vec3;
|
|
43
|
+
/** @const */
|
|
44
|
+
static get UNIT_X(): Vec3;
|
|
45
|
+
/** @const */
|
|
46
|
+
static get UNIT_Y(): Vec3;
|
|
47
|
+
/** @const */
|
|
48
|
+
static get UNIT_Z(): Vec3;
|
|
49
|
+
/** @const */
|
|
50
|
+
static get NORTH(): Vec3;
|
|
51
|
+
/**
|
|
52
|
+
* Separate 63 bit Vec3 to two Vec3 32-bit float values.
|
|
53
|
+
* @function
|
|
54
|
+
* @param {Vec3} v - Double type value.
|
|
55
|
+
* @param {Vec3} high - Out vector high values.
|
|
56
|
+
* @param {Vec3} low - Out vector low values.
|
|
57
|
+
*/
|
|
58
|
+
static doubleToTwoFloats(v: Vec3, high: Vec3, low: Vec3): void;
|
|
59
|
+
/**
|
|
60
|
+
* Separate 63 bit Vec3 to two Vec3 32-bit float values.
|
|
61
|
+
* @function
|
|
62
|
+
* @param {Vec3} v - Double type value.
|
|
63
|
+
* @param {Float32Array} high - Out vector high values.
|
|
64
|
+
* @param {Float32Array} low - Out vector low values.
|
|
65
|
+
* @returns {Array.<number>} Encoded array. (exactly 2 entries)
|
|
66
|
+
*/
|
|
67
|
+
static doubleToTwoFloat32Array(v: Vec3, high: Float32Array | NumberArray3, low: Float32Array | NumberArray3): void;
|
|
68
|
+
/**
|
|
69
|
+
* Creates 3d vector from array.
|
|
70
|
+
* @function
|
|
71
|
+
* @param {NumberArray2 | NumberArray3 | NumberArray4} arr - Input array (exactly 3 entries)
|
|
72
|
+
* @returns {Vec3} -
|
|
73
|
+
*/
|
|
74
|
+
static fromVec(arr: NumberArray2 | NumberArray3 | NumberArray4): Vec3;
|
|
75
|
+
/**
|
|
76
|
+
* Gets angle between two vectors.
|
|
77
|
+
* @static
|
|
78
|
+
* @param {Vec3} a - First vector.
|
|
79
|
+
* @param {Vec3} b - Second vector.
|
|
80
|
+
* @returns {number} -
|
|
81
|
+
*/
|
|
82
|
+
static angle(a: Vec3, b: Vec3): number;
|
|
83
|
+
/**
|
|
84
|
+
* Returns two vectors linear interpolation.
|
|
85
|
+
* @static
|
|
86
|
+
* @param {Vec3} v1 - Start vector.
|
|
87
|
+
* @param {Vec3} v2 - End vector.
|
|
88
|
+
* @param {number} l - Interpolate value.
|
|
89
|
+
* @returns {Vec3} -
|
|
90
|
+
*/
|
|
91
|
+
static lerp(v1: Vec3, v2: Vec3, l: number): Vec3;
|
|
92
|
+
/**
|
|
93
|
+
* Returns summary vector.
|
|
94
|
+
* @static
|
|
95
|
+
* @param {Vec3} a - First vector.
|
|
96
|
+
* @param {Vec3} b - Second vector.
|
|
97
|
+
* @returns {Vec3} - Summary vector.
|
|
98
|
+
*/
|
|
99
|
+
static add(a: Vec3, b: Vec3): Vec3;
|
|
100
|
+
/**
|
|
101
|
+
* Returns two vectors subtraction.
|
|
102
|
+
* @static
|
|
103
|
+
* @param {Vec3} a - First vector.
|
|
104
|
+
* @param {Vec3} b - Second vector.
|
|
105
|
+
* @returns {Vec3} - Vectors subtraction.
|
|
106
|
+
*/
|
|
107
|
+
static sub(a: Vec3, b: Vec3): Vec3;
|
|
108
|
+
/**
|
|
109
|
+
* Returns scaled vector.
|
|
110
|
+
* @static
|
|
111
|
+
* @param {Vec3} a - Input vector.
|
|
112
|
+
* @param {number} scale - Scale value.
|
|
113
|
+
* @returns {Vec3} -
|
|
114
|
+
*/
|
|
115
|
+
static scale(a: Vec3, scale: number): Vec3;
|
|
116
|
+
/**
|
|
117
|
+
* Returns two vectors production.
|
|
118
|
+
* @static
|
|
119
|
+
* @param {Vec3} a - First vector.
|
|
120
|
+
* @param {Vec3} b - Second vector.
|
|
121
|
+
* @returns {Vec3} -
|
|
122
|
+
*/
|
|
123
|
+
static mul(a: Vec3, b: Vec3): Vec3;
|
|
124
|
+
/**
|
|
125
|
+
* Returns true if two vectors are non-collinear.
|
|
126
|
+
* @public
|
|
127
|
+
* @param {Vec3} a - First vector.
|
|
128
|
+
* @param {Vec3} b - Second vector.
|
|
129
|
+
* @returns {Vec3} -
|
|
130
|
+
*/
|
|
131
|
+
static noncollinear(a: Vec3, b: Vec3): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Get projection of the vector to plane where n - normal to the plane.
|
|
134
|
+
* @static
|
|
135
|
+
* @param {Vec3} b - Vector to project.
|
|
136
|
+
* @param {Vec3} n - Plane normal.
|
|
137
|
+
* @param {Vec3} [def] - Default value for non existed result.
|
|
138
|
+
* @returns {Vec3} -
|
|
139
|
+
*/
|
|
140
|
+
static proj_b_to_plane(b: Vec3, n: Vec3, def?: Vec3): Vec3;
|
|
141
|
+
/**
|
|
142
|
+
* Get projection of the first vector to the second.
|
|
143
|
+
* @static
|
|
144
|
+
* @param {Vec3} b - First vector.
|
|
145
|
+
* @param {Vec3} a - Second vector.
|
|
146
|
+
* @returns {Vec3} -
|
|
147
|
+
*/
|
|
148
|
+
static proj_b_to_a(b: Vec3, a: Vec3): Vec3;
|
|
149
|
+
/**
|
|
150
|
+
* Makes vectors normalized and orthogonal to each other.
|
|
151
|
+
* Normalizes normal. Normalizes tangent and makes sure it is orthogonal to normal (that is, angle between them is 90 degrees).
|
|
152
|
+
* @static
|
|
153
|
+
* @param {Vec3} normal - Normal vector.
|
|
154
|
+
* @param {Vec3} tangent - Tangent vector.
|
|
155
|
+
* @returns {Vec3} -
|
|
156
|
+
*/
|
|
157
|
+
static orthoNormalize(normal: Vec3, tangent: Vec3): Vec3;
|
|
158
|
+
/**
|
|
159
|
+
* Returns vector components division product one to another.
|
|
160
|
+
* @static
|
|
161
|
+
* @param {Vec3} a - First vector.
|
|
162
|
+
* @param {Vec3} b - Second vector.
|
|
163
|
+
* @returns {Vec3} -
|
|
164
|
+
*/
|
|
165
|
+
static div(a: Vec3, b: Vec3): Vec3;
|
|
166
|
+
static length2(a: Vec3): number;
|
|
167
|
+
static dot(a: Vec3, b: Vec3): number;
|
|
168
|
+
/**
|
|
169
|
+
* Converts to 4d vector, Fourth value is 1.0.
|
|
170
|
+
* @public
|
|
171
|
+
* @returns {Vec4} -
|
|
172
|
+
*/
|
|
173
|
+
toVec4(): Vec4;
|
|
174
|
+
/**
|
|
175
|
+
* Returns clone vector.
|
|
176
|
+
* @public
|
|
177
|
+
* @returns {Vec3} -
|
|
178
|
+
*/
|
|
179
|
+
clone(): Vec3;
|
|
180
|
+
/**
|
|
181
|
+
* Converts vector to text string.
|
|
182
|
+
* @public
|
|
183
|
+
* @returns {string} -
|
|
184
|
+
*/
|
|
185
|
+
toString(): string;
|
|
186
|
+
/**
|
|
187
|
+
* Returns true if vector's values are zero.
|
|
188
|
+
* @public
|
|
189
|
+
* @returns {boolean} -
|
|
190
|
+
*/
|
|
191
|
+
isZero(): boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Get projection of the first vector to the second.
|
|
194
|
+
* @static
|
|
195
|
+
* @param {Vec3} a - Project vector.
|
|
196
|
+
* @returns {Vec3} -
|
|
197
|
+
*/
|
|
198
|
+
projToVec(a: Vec3): Vec3;
|
|
199
|
+
/**
|
|
200
|
+
* Compares with vector. Returns true if it equals another.
|
|
201
|
+
* @public
|
|
202
|
+
* @param {Vec3} p - Vector to compare.
|
|
203
|
+
* @returns {boolean} -
|
|
204
|
+
*/
|
|
205
|
+
equal(p: Vec3): boolean;
|
|
206
|
+
/**
|
|
207
|
+
* Copy input vector's values.
|
|
208
|
+
* @param {Vec3} p - Vector to copy.
|
|
209
|
+
* @returns {Vec3} -
|
|
210
|
+
*/
|
|
211
|
+
copy(p: Vec3): Vec3;
|
|
212
|
+
/**
|
|
213
|
+
* Gets vector's length.
|
|
214
|
+
* @public
|
|
215
|
+
* @returns {number} -
|
|
216
|
+
*/
|
|
217
|
+
length(): number;
|
|
218
|
+
/**
|
|
219
|
+
* Returns squared vector's length.
|
|
220
|
+
* @public
|
|
221
|
+
* @returns {number} -
|
|
222
|
+
*/
|
|
223
|
+
length2(): number;
|
|
224
|
+
/**
|
|
225
|
+
* Converts vector's values to a quaternion object.
|
|
226
|
+
* @public
|
|
227
|
+
* @returns {Quat} -
|
|
228
|
+
*/
|
|
229
|
+
getQuat(): Quat;
|
|
230
|
+
/**
|
|
231
|
+
* Adds vector to the current.
|
|
232
|
+
* @public
|
|
233
|
+
* @param {Vec3} p - Point to add.
|
|
234
|
+
* @returns {Vec3} -
|
|
235
|
+
*/
|
|
236
|
+
addA(p: Vec3): Vec3;
|
|
237
|
+
/**
|
|
238
|
+
* Gets two vectors summarization.
|
|
239
|
+
* @public
|
|
240
|
+
* @param {Vec3} p - Vector to add.
|
|
241
|
+
* @returns {Vec3} Returns a sum vector.
|
|
242
|
+
*/
|
|
243
|
+
add(p: Vec3): Vec3;
|
|
244
|
+
/**
|
|
245
|
+
* Subtract vector from the current.
|
|
246
|
+
* @public
|
|
247
|
+
* @param {Vec3} p - Subtract vector.
|
|
248
|
+
* @returns {Vec3} -
|
|
249
|
+
*/
|
|
250
|
+
subA(p: Vec3): Vec3;
|
|
251
|
+
/**
|
|
252
|
+
* Gets vector subtraction.
|
|
253
|
+
* @public
|
|
254
|
+
* @param {Vec3} p - Subtract vector.
|
|
255
|
+
* @return {Vec3} Returns new instance of a subtraction
|
|
256
|
+
*/
|
|
257
|
+
sub(p: Vec3): Vec3;
|
|
258
|
+
/**
|
|
259
|
+
* Scale current vector.
|
|
260
|
+
* @public
|
|
261
|
+
* @param {number} scale - Scale value.
|
|
262
|
+
* @returns {Vec3} -
|
|
263
|
+
*/
|
|
264
|
+
scale(scale: number): Vec3;
|
|
265
|
+
/**
|
|
266
|
+
* Scale current vector to another instance.
|
|
267
|
+
* @public
|
|
268
|
+
* @param {number} scale - Scale value.
|
|
269
|
+
* @returns {Vec3} -
|
|
270
|
+
*/
|
|
271
|
+
scaleTo(scale: number): Vec3;
|
|
272
|
+
/**
|
|
273
|
+
* Multiply current vector object to another and store result in the current instance.
|
|
274
|
+
* @public
|
|
275
|
+
* @param {Vec3} vec - Multiply vector.
|
|
276
|
+
* @returns {Vec3} -
|
|
277
|
+
*/
|
|
278
|
+
mulA(vec: Vec3): Vec3;
|
|
279
|
+
/**
|
|
280
|
+
* Multiply current vector object to another and returns new vector instance.
|
|
281
|
+
* @public
|
|
282
|
+
* @param {Vec3} vec - Multiply vector.
|
|
283
|
+
* @returns {Vec3} -
|
|
284
|
+
*/
|
|
285
|
+
mul(vec: Vec3): Vec3;
|
|
286
|
+
/**
|
|
287
|
+
* Divide current vector's components to another. Results stores in the current vector object.
|
|
288
|
+
* @public
|
|
289
|
+
* @param {Vec3} vec - Div vector.
|
|
290
|
+
* @returns {Vec3} -
|
|
291
|
+
*/
|
|
292
|
+
divA(vec: Vec3): Vec3;
|
|
293
|
+
/**
|
|
294
|
+
* Divide current vector's components to another and returns new vector instance.
|
|
295
|
+
* @public
|
|
296
|
+
* @param {Vec3} vec - Div vector.
|
|
297
|
+
* @returns {Vec3} -
|
|
298
|
+
*/
|
|
299
|
+
div(vec: Vec3): Vec3;
|
|
300
|
+
/**
|
|
301
|
+
* Gets vectors dot production.
|
|
302
|
+
* @public
|
|
303
|
+
* @param {Vec3} a - Another vector.
|
|
304
|
+
* @returns {number} -
|
|
305
|
+
*/
|
|
306
|
+
dot(a: Vec3): number;
|
|
307
|
+
/**
|
|
308
|
+
* Gets vectors dot production.
|
|
309
|
+
* @public
|
|
310
|
+
* @param {Array.<number>} arr - Array vector. (exactly 3 entries)
|
|
311
|
+
* @returns {number} -
|
|
312
|
+
*/
|
|
313
|
+
dotArr(arr: NumberArray3 | NumberArray4): number;
|
|
314
|
+
/**
|
|
315
|
+
* Gets vectors cross production.
|
|
316
|
+
* @public
|
|
317
|
+
* @param {Vec3} point3 - Another vector.
|
|
318
|
+
* @returns {Vec3} -
|
|
319
|
+
*/
|
|
320
|
+
cross(point3: Vec3): Vec3;
|
|
321
|
+
/**
|
|
322
|
+
* Sets vector to zero.
|
|
323
|
+
* @public
|
|
324
|
+
* @returns {Vec3} -
|
|
325
|
+
*/
|
|
326
|
+
clear(): Vec3;
|
|
327
|
+
/**
|
|
328
|
+
* Returns normalized vector.
|
|
329
|
+
* @public
|
|
330
|
+
* @returns {Vec3} -
|
|
331
|
+
*/
|
|
332
|
+
getNormal(): Vec3;
|
|
333
|
+
/**
|
|
334
|
+
* Returns normalized vector.
|
|
335
|
+
* @deprecated
|
|
336
|
+
* @public
|
|
337
|
+
* @returns {Vec3} -
|
|
338
|
+
*/
|
|
339
|
+
normal(): Vec3;
|
|
340
|
+
/**
|
|
341
|
+
* Returns normalized negate vector.
|
|
342
|
+
* @public
|
|
343
|
+
* @returns {Vec3} -
|
|
344
|
+
*/
|
|
345
|
+
normalNegate(): Vec3;
|
|
346
|
+
/**
|
|
347
|
+
* Returns normalized negate scale vector.
|
|
348
|
+
* @public
|
|
349
|
+
* @returns {Vec3} -
|
|
350
|
+
*/
|
|
351
|
+
normalNegateScale(scale: number): Vec3;
|
|
352
|
+
/**
|
|
353
|
+
* Returns normalized scale vector.
|
|
354
|
+
* @public
|
|
355
|
+
* @returns {Vec3} -
|
|
356
|
+
*/
|
|
357
|
+
normalScale(scale: number): Vec3;
|
|
358
|
+
/**
|
|
359
|
+
* Normalize current vector.
|
|
360
|
+
* @public
|
|
361
|
+
* @returns {Vec3} -
|
|
362
|
+
*/
|
|
363
|
+
normalize(): Vec3;
|
|
364
|
+
/**
|
|
365
|
+
* Converts vector to a number array.
|
|
366
|
+
* @public
|
|
367
|
+
* @returns {Array.<number>} - (exactly 3 entries)
|
|
368
|
+
* @deprecated
|
|
369
|
+
*/
|
|
370
|
+
toVec(): NumberArray3;
|
|
371
|
+
/**
|
|
372
|
+
* Converts vector to a number array.
|
|
373
|
+
* @public
|
|
374
|
+
* @returns {Array.<number>} - (exactly 3 entries)
|
|
375
|
+
*/
|
|
376
|
+
toArray(): NumberArray3;
|
|
377
|
+
/**
|
|
378
|
+
* Gets distance to point.
|
|
379
|
+
* @public
|
|
380
|
+
* @param {Vec3} p - Distant point.
|
|
381
|
+
* @returns {number} -
|
|
382
|
+
*/
|
|
383
|
+
distance(p: Vec3): number;
|
|
384
|
+
/**
|
|
385
|
+
* Gets square distance to point.
|
|
386
|
+
* @public
|
|
387
|
+
* @param {Vec3} p - Distant point.
|
|
388
|
+
* @returns {number} -
|
|
389
|
+
*/
|
|
390
|
+
distance2(p: Vec3): number;
|
|
391
|
+
/**
|
|
392
|
+
* Sets vector's values.
|
|
393
|
+
* @public
|
|
394
|
+
* @param {number} x - Value X.
|
|
395
|
+
* @param {number} y - Value Y.
|
|
396
|
+
* @param {number} z - Value Z.
|
|
397
|
+
* @returns {Vec3} -
|
|
398
|
+
*/
|
|
399
|
+
set(x: number, y: number, z: number): Vec3;
|
|
400
|
+
/**
|
|
401
|
+
* Negate current vector.
|
|
402
|
+
* @public
|
|
403
|
+
* @returns {Vec3} -
|
|
404
|
+
*/
|
|
405
|
+
negate(): Vec3;
|
|
406
|
+
/**
|
|
407
|
+
* Negate current vector to another instance.
|
|
408
|
+
* @public
|
|
409
|
+
* @returns {Vec3} -
|
|
410
|
+
*/
|
|
411
|
+
negateTo(): Vec3;
|
|
412
|
+
/**
|
|
413
|
+
* Gets projected point coordinates of the current vector on the ray.
|
|
414
|
+
* @public
|
|
415
|
+
* @param {Vec3} pos - Ray position.
|
|
416
|
+
* @param {Vec3} direction - Ray direction.
|
|
417
|
+
* @returns {Vec3} -
|
|
418
|
+
*/
|
|
419
|
+
projToRay(pos: Vec3, direction: Vec3): Vec3;
|
|
420
|
+
/**
|
|
421
|
+
* Gets angle between two vectors.
|
|
422
|
+
* @public
|
|
423
|
+
* @param {Vec3} a - Another vector.
|
|
424
|
+
* @returns {number} -
|
|
425
|
+
*/
|
|
426
|
+
angle(a: Vec3): number;
|
|
427
|
+
/**
|
|
428
|
+
* Returns two vectors linear interpolation.
|
|
429
|
+
* @public
|
|
430
|
+
* @param {Vec3} v2 - End vector.
|
|
431
|
+
* @param {number} l - Interpolate value.
|
|
432
|
+
* @returns {Vec3} -
|
|
433
|
+
*/
|
|
434
|
+
lerp(v2: Vec3, l: number): Vec3;
|
|
435
|
+
/**
|
|
436
|
+
* Returns vector interpolation by v(t) = v1 * t + v2 * (1 - t)
|
|
437
|
+
* @public
|
|
438
|
+
* @param {Vec3} v2 - End vector.
|
|
439
|
+
* @param {number} t - Interpolate value.
|
|
440
|
+
* @returns {Vec3} -
|
|
441
|
+
*/
|
|
442
|
+
smerp(v2: Vec3, t: number): Vec3;
|
|
443
|
+
static get LERP_DELTA(): number;
|
|
444
|
+
/**
|
|
445
|
+
* Spherically interpolates between two vectors.
|
|
446
|
+
* Interpolates between current and v2 vector by amount t. The difference between this and linear interpolation (aka, "lerp") is that
|
|
447
|
+
* the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated
|
|
448
|
+
* by the angle and its magnitude is interpolated between the magnitudes of from and to.
|
|
449
|
+
* @public
|
|
450
|
+
* @param {Vec3} v2 -
|
|
451
|
+
* @param {number} t - The parameter t is clamped to the range [0, 1].
|
|
452
|
+
* @returns {Vec3} -
|
|
453
|
+
*/
|
|
454
|
+
slerp(v2: Vec3, t: number): Vec3;
|
|
455
|
+
/**
|
|
456
|
+
* Gets the shortest arc quaternion to rotate this vector to the destination vector.
|
|
457
|
+
* @param {Vec3} dest -
|
|
458
|
+
* @param {Vec3} fallbackAxis -
|
|
459
|
+
* @returns {Quat} -
|
|
460
|
+
* @todo: TEST IT!
|
|
461
|
+
*/
|
|
462
|
+
getRotationTo(dest: Vec3, fallbackAxis: Vec3): Quat;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Vector 3d object creator.
|
|
466
|
+
* @function
|
|
467
|
+
* @param {number} [x] - value X.
|
|
468
|
+
* @param {number} [y] - value Y.
|
|
469
|
+
* @param {number} [z] - value Z.
|
|
470
|
+
* @returns {Vec3} -
|
|
471
|
+
*/
|
|
472
|
+
export declare function vec3(x?: number, y?: number, z?: number): Vec3;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { Vec3 } from "./Vec3";
|
|
2
|
+
export type NumberArray4 = [number, number, number, number];
|
|
3
|
+
/**
|
|
4
|
+
* Class represents a 4d vector.
|
|
5
|
+
* @class
|
|
6
|
+
* @param {number} [x] - First value.
|
|
7
|
+
* @param {number} [y] - Second value.
|
|
8
|
+
* @param {number} [z] - Third value.
|
|
9
|
+
* @param {number} [w] - Fourth value.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Vec4 {
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
* @type {number}
|
|
15
|
+
*/
|
|
16
|
+
x: number;
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
* @type {number}
|
|
20
|
+
*/
|
|
21
|
+
y: number;
|
|
22
|
+
/**
|
|
23
|
+
* @public
|
|
24
|
+
* @type {number}
|
|
25
|
+
*/
|
|
26
|
+
z: number;
|
|
27
|
+
/**
|
|
28
|
+
* @public
|
|
29
|
+
* @type {number}
|
|
30
|
+
*/
|
|
31
|
+
w: number;
|
|
32
|
+
constructor(x?: number, y?: number, z?: number, w?: number);
|
|
33
|
+
/**
|
|
34
|
+
* Identity vector [0,0,0,1].
|
|
35
|
+
* @const
|
|
36
|
+
* @type {Vec4}
|
|
37
|
+
*/
|
|
38
|
+
static get identity(): Vec4;
|
|
39
|
+
/**
|
|
40
|
+
* Creates 4d vector from array.
|
|
41
|
+
* @function
|
|
42
|
+
* @param {Array.<number>} arr - Array of four values
|
|
43
|
+
* @returns {Vec4}
|
|
44
|
+
*/
|
|
45
|
+
static fromVec(arr: NumberArray4): Vec4;
|
|
46
|
+
/**
|
|
47
|
+
* Converts to Vec3, without fourth value.
|
|
48
|
+
* @public
|
|
49
|
+
* @returns {Vec3}
|
|
50
|
+
*/
|
|
51
|
+
toVec3(): Vec3;
|
|
52
|
+
/**
|
|
53
|
+
* Returns clone vector.
|
|
54
|
+
* @public
|
|
55
|
+
* @returns {Vec4}
|
|
56
|
+
*/
|
|
57
|
+
clone(): Vec4;
|
|
58
|
+
/**
|
|
59
|
+
* Compares with vector. Returns true if it equals another.
|
|
60
|
+
* @public
|
|
61
|
+
* @param {Vec4} v - Vector to compare.
|
|
62
|
+
* @returns {boolean}
|
|
63
|
+
*/
|
|
64
|
+
equal(v: Vec4): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Copy input vector's values.
|
|
67
|
+
* @param {Vec4} v - Vector to copy.
|
|
68
|
+
* @returns {Vec4}
|
|
69
|
+
*/
|
|
70
|
+
copy(v: Vec4): Vec4;
|
|
71
|
+
/**
|
|
72
|
+
* Converts vector to a number array.
|
|
73
|
+
* @public
|
|
74
|
+
* @returns {Array.<number>} - (exactly 4 entries)
|
|
75
|
+
*/
|
|
76
|
+
toArray(): NumberArray4;
|
|
77
|
+
/**
|
|
78
|
+
* Converts vector to a number array.
|
|
79
|
+
* @public
|
|
80
|
+
* @returns {Array.<number>} - (exactly 4 entries)
|
|
81
|
+
*/
|
|
82
|
+
toArray3(): [number, number, number];
|
|
83
|
+
/**
|
|
84
|
+
* Sets vector's values.
|
|
85
|
+
* @public
|
|
86
|
+
* @param {number} x - Value X.
|
|
87
|
+
* @param {number} y - Value Y.
|
|
88
|
+
* @param {number} z - Value Z.
|
|
89
|
+
* @param {number} w - Value W.
|
|
90
|
+
* @returns {Vec4}
|
|
91
|
+
*/
|
|
92
|
+
set(x: number, y: number, z: number, w: number): Vec4;
|
|
93
|
+
/**
|
|
94
|
+
* Adds vector to the current.
|
|
95
|
+
* @public
|
|
96
|
+
* @param {Vec4} v - Vector to add.
|
|
97
|
+
* @returns {Vec4}
|
|
98
|
+
*/
|
|
99
|
+
addA(v: Vec4): Vec4;
|
|
100
|
+
/**
|
|
101
|
+
* Subtract vector from the current.
|
|
102
|
+
* @public
|
|
103
|
+
* @param {Vec4} v - Subtract vector.
|
|
104
|
+
* @returns {Vec4}
|
|
105
|
+
*/
|
|
106
|
+
subA(v: Vec4): Vec4;
|
|
107
|
+
/**
|
|
108
|
+
* Scale current vector.
|
|
109
|
+
* @public
|
|
110
|
+
* @param {number} scale - Scale value.
|
|
111
|
+
* @returns {Vec4}
|
|
112
|
+
*/
|
|
113
|
+
scale(scale: number): Vec4;
|
|
114
|
+
/**
|
|
115
|
+
* Makes vector affinity. Thereby fourth component becomes to 1.0.
|
|
116
|
+
* @public
|
|
117
|
+
* @returns {Vec4}
|
|
118
|
+
*/
|
|
119
|
+
affinity(): Vec4;
|
|
120
|
+
/**
|
|
121
|
+
* Scale current vector to another instance.
|
|
122
|
+
* @public
|
|
123
|
+
* @param {number} scale - Scale value.
|
|
124
|
+
* @returns {Vec3}
|
|
125
|
+
*/
|
|
126
|
+
scaleTo(scale: number): Vec4;
|
|
127
|
+
/**
|
|
128
|
+
* Vector's edge function that returns vector where each component is 0.0 if it's smaller than edge and otherwise 1.0.
|
|
129
|
+
* @public
|
|
130
|
+
* @returns {Vec4}
|
|
131
|
+
*/
|
|
132
|
+
getStep(edge: number): Vec4;
|
|
133
|
+
/**
|
|
134
|
+
* The vector frac function returns the vector of fractional parts of each value, i.e. x minus floor(x).
|
|
135
|
+
* @public
|
|
136
|
+
* @param {Vec4} v - Input vector
|
|
137
|
+
* @returns {Vec4}
|
|
138
|
+
*/
|
|
139
|
+
getFrac(v: Vec4): Vec4;
|
|
140
|
+
/**
|
|
141
|
+
* Gets vectors dot production.
|
|
142
|
+
* @public
|
|
143
|
+
* @param {Vec4} v - Another vector.
|
|
144
|
+
* @returns {number} - Dot product.
|
|
145
|
+
*/
|
|
146
|
+
dot(v: Vec4): number;
|
|
147
|
+
/**
|
|
148
|
+
* Returns true if vector's values are zero.
|
|
149
|
+
* @public
|
|
150
|
+
* @returns {boolean} -
|
|
151
|
+
*/
|
|
152
|
+
isZero(): boolean;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Vector 4d object creator.
|
|
156
|
+
* @function
|
|
157
|
+
* @param {number} [x] - First value.
|
|
158
|
+
* @param {number} [y] - Second value.
|
|
159
|
+
* @param {number} [z] - Third value.
|
|
160
|
+
* @param {number} [w] - Fourth value.
|
|
161
|
+
* @returns {Vec4}
|
|
162
|
+
*/
|
|
163
|
+
export declare function vec4(x?: number, y?: number, z?: number, w?: number): Vec4;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module og/math/coder
|
|
3
|
+
*/
|
|
4
|
+
import { NumberArray4, Vec4 } from "./Vec4";
|
|
5
|
+
import { NumberArray3 } from "./Vec3";
|
|
6
|
+
import { NumberArray2, Vec2 } from "./Vec2";
|
|
7
|
+
/**
|
|
8
|
+
* Encode 32 bit float value to the RGBA vector.
|
|
9
|
+
* @function
|
|
10
|
+
* @param {number} v - 32 bit float value.
|
|
11
|
+
* @returns {Vec4} - RGBA vector value.
|
|
12
|
+
*/
|
|
13
|
+
export declare function encodeFloatToRGBA(v: number): Vec4;
|
|
14
|
+
/**
|
|
15
|
+
* Decode RGBA vector to 32 bit float value.
|
|
16
|
+
* @function
|
|
17
|
+
* @param {Vec4} rgba - RGBA encoded 32 bit float value.
|
|
18
|
+
* @returns {number} - Float value.
|
|
19
|
+
*/
|
|
20
|
+
export declare function decodeFloatFromRGBA(rgba: Vec4): number;
|
|
21
|
+
/**
|
|
22
|
+
* Decode RGBA vector to 32 bit float value.
|
|
23
|
+
* @function
|
|
24
|
+
* @param {NumberArray4 | NumberArray3} arr - RGBA encoded 32 bit float value.
|
|
25
|
+
* @param {boolean} [use32=false] Use 32 bit result
|
|
26
|
+
* @returns {number} - Float value.
|
|
27
|
+
*/
|
|
28
|
+
export declare function decodeFloatFromRGBAArr(arr: NumberArray4 | NumberArray3 | Uint8Array, use32?: boolean): number;
|
|
29
|
+
/**
|
|
30
|
+
* Separate 64 bit value to two 32-bit float values.
|
|
31
|
+
* @function
|
|
32
|
+
* @param {number} value - Double type value.
|
|
33
|
+
* @returns {Float32Array} Encoded array. (exactly 2 entries)
|
|
34
|
+
*/
|
|
35
|
+
export declare function doubleToTwoFloats(value: number): Float32Array;
|
|
36
|
+
/**
|
|
37
|
+
* Separate 64 bit value to two 32-bit float values.
|
|
38
|
+
* @function
|
|
39
|
+
* @param {number} value - Double type value.
|
|
40
|
+
* @param {NumberArray2 | Float32Array} - Reference out array.
|
|
41
|
+
* @returns {NumberArray2 | Float32Array} Encoded array. (exactly 2 entries)
|
|
42
|
+
*/
|
|
43
|
+
export declare function doubleToTwoFloats2(value: number, highLowArr: NumberArray2 | Float32Array): NumberArray2 | Float32Array;
|
|
44
|
+
/**
|
|
45
|
+
* Separate 64 bit value to two 32-bit float values.
|
|
46
|
+
* @function
|
|
47
|
+
* @param {number} value - Double type value.
|
|
48
|
+
* @param {Vec2} highLowVec - Reference out vector object.
|
|
49
|
+
* @returns {Vec2} Encoded array. (exactly 2 entries)
|
|
50
|
+
*/
|
|
51
|
+
export declare function doubleToTwoFloatsV2(value: number, highLowVec: Vec2): Vec2;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Line2 } from './Line2';
|
|
2
|
+
import { Line3 } from './Line3';
|
|
3
|
+
import { Mat3 } from './Mat3';
|
|
4
|
+
import { Mat4 } from './Mat4';
|
|
5
|
+
import { Plane } from './Plane';
|
|
6
|
+
import { Quat } from './Quat';
|
|
7
|
+
import { Ray } from './Ray';
|
|
8
|
+
import { Vec2, NumberArray2 } from './Vec2';
|
|
9
|
+
import { Vec3, NumberArray3 } from './Vec3';
|
|
10
|
+
import { Vec4, NumberArray4 } from './Vec4';
|
|
11
|
+
export { Line2, Line3, Mat3, Mat4, Plane, Quat, Ray, Vec2, Vec3, Vec4, type NumberArray2, type NumberArray3, type NumberArray4 };
|