@tolokoban/tgd 2.0.78 → 2.0.79
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/lib/dist/camera/camera.d.ts +13 -2
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +61 -8
- package/lib/dist/controller/camera/orbit.d.ts +3 -3
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +4 -5
- package/lib/dist/geometry/box.d.ts +4 -2
- package/lib/dist/geometry/box.d.ts.map +1 -1
- package/lib/dist/geometry/box.js +26 -20
- package/lib/dist/geometry/index.d.ts +1 -0
- package/lib/dist/geometry/index.d.ts.map +1 -1
- package/lib/dist/geometry/index.js +2 -1
- package/lib/dist/geometry/sphere-ico.d.ts +19 -0
- package/lib/dist/geometry/sphere-ico.d.ts.map +1 -0
- package/lib/dist/geometry/sphere-ico.js +78 -0
- package/lib/dist/material/global.d.ts +3 -3
- package/lib/dist/material/global.d.ts.map +1 -1
- package/lib/dist/material/global.js +9 -9
- package/lib/dist/math/transfo.d.ts +4 -3
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +2 -2
- package/lib/dist/math/vec2.d.ts +3 -3
- package/lib/dist/math/vec2.d.ts.map +1 -1
- package/lib/dist/math/vec2.js +4 -4
- package/lib/dist/math/vec3.d.ts +5 -5
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +5 -4
- package/lib/dist/math/vec4.d.ts +4 -4
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +18 -17
- package/lib/dist/painter/group.d.ts +11 -3
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +24 -10
- package/lib/dist/painter/index.d.ts +1 -0
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -1
- package/lib/dist/painter/lod/cache.d.ts +9 -0
- package/lib/dist/painter/lod/cache.d.ts.map +1 -0
- package/lib/dist/painter/lod/cache.js +60 -0
- package/lib/dist/painter/lod/index.d.ts +2 -0
- package/lib/dist/painter/lod/index.d.ts.map +1 -0
- package/lib/dist/painter/lod/index.js +2 -0
- package/lib/dist/painter/lod/lod.d.ts +60 -0
- package/lib/dist/painter/lod/lod.d.ts.map +1 -0
- package/lib/dist/painter/lod/lod.js +72 -0
- package/lib/dist/painter/lod/octree.d.ts +8 -0
- package/lib/dist/painter/lod/octree.d.ts.map +1 -0
- package/lib/dist/painter/lod/octree.js +41 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +6 -6
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +6 -6
- package/lib/dist/painter/node/node.d.ts +4 -3
- package/lib/dist/painter/node/node.d.ts.map +1 -1
- package/lib/dist/painter/node/node.js +27 -12
- package/lib/dist/painter/painter.d.ts +1 -0
- package/lib/dist/painter/painter.d.ts.map +1 -1
- package/lib/dist/painter/painter.js +4 -1
- package/lib/dist/utils/canvas.js +1 -1
- package/package.json +1 -1
- package/lib/dist/material/bsdf.d.ts +0 -25
- package/lib/dist/material/bsdf.d.ts.map +0 -1
- package/lib/dist/material/bsdf.js +0 -98
- package/lib/dist/material/principled.d.ts +0 -25
- package/lib/dist/material/principled.d.ts.map +0 -1
- package/lib/dist/material/principled.js +0 -112
- package/lib/dist/material/solid.d.ts +0 -22
- package/lib/dist/material/solid.d.ts.map +0 -1
- package/lib/dist/material/solid.js +0 -20
- package/lib/dist/types/input-keyboard.d.ts +0 -8
- package/lib/dist/types/input-keyboard.d.ts.map +0 -1
- package/lib/dist/types/input-keyboard.js +0 -2
- package/lib/dist/utils/math.d.ts +0 -19
- package/lib/dist/utils/math.d.ts.map +0 -1
- package/lib/dist/utils/math.js +0 -59
- package/lib/dist/utils/math.test.d.ts +0 -2
- package/lib/dist/utils/math.test.d.ts.map +0 -1
- package/lib/dist/utils/math.test.js +0 -22
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { TgdMat4, type TgdQuat, TgdTransfo, type TgdTransfoOptions, type TgdVec3, TgdVec4 } from "../math";
|
|
2
|
+
import type { ArrayNumber3, ArrayNumber4 } from "../types";
|
|
3
|
+
import type { TgdInterfaceTransformable } from "../interface";
|
|
3
4
|
export interface TgdCameraOptions {
|
|
4
5
|
near?: number;
|
|
5
6
|
/** Can be Infinity for perspective camera (`Number.POSITIVE_INFINITY`) */
|
|
@@ -58,6 +59,16 @@ export declare abstract class TgdCamera implements TgdInterfaceTransformable {
|
|
|
58
59
|
fitSpaceAtTarget(width: number, height: number, cover?: boolean): void;
|
|
59
60
|
from(camera: TgdCamera): this;
|
|
60
61
|
fromTransfo(transfo: Readonly<TgdTransfo>): this;
|
|
62
|
+
apply(point: ArrayNumber3 | TgdVec3 | ArrayNumber4 | TgdVec4): TgdVec4;
|
|
63
|
+
/**
|
|
64
|
+
* Useful for LOD. If an object takes a small space on the screen,
|
|
65
|
+
* we can display its low res version.
|
|
66
|
+
* @returns The surface of the bounding square in screen space of a space bbox.
|
|
67
|
+
*/
|
|
68
|
+
computeBoundingBoxVisibleSurface(bbox: Readonly<{
|
|
69
|
+
min: Readonly<ArrayNumber3 | TgdVec3>;
|
|
70
|
+
max: Readonly<ArrayNumber3 | TgdVec3>;
|
|
71
|
+
}>): number;
|
|
61
72
|
/**
|
|
62
73
|
* @param screenX -1 is the left edge, 0 id the center and +1 is the right edge.
|
|
63
74
|
* @param screenY -1 is the bottom edge, 0 id the center and +1 is the top edge.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/camera/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/camera/camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TgdMat4, TgdTransfo, } from "./../math/index.js";
|
|
1
|
+
import { TgdMat4, TgdTransfo, TgdVec4, } from "./../math/index.js";
|
|
2
2
|
export class TgdCamera {
|
|
3
3
|
constructor(options = {}) {
|
|
4
4
|
var _a, _b, _c, _d;
|
|
@@ -12,7 +12,7 @@ export class TgdCamera {
|
|
|
12
12
|
this._dirtyProjection = true;
|
|
13
13
|
this.dirtyProjectionInverse = true;
|
|
14
14
|
this._near = 1e-3;
|
|
15
|
-
this._far =
|
|
15
|
+
this._far = Number.POSITIVE_INFINITY;
|
|
16
16
|
// transformation
|
|
17
17
|
this._matrixModelView = new TgdMat4();
|
|
18
18
|
this._matrixProjectionInverse = new TgdMat4();
|
|
@@ -132,6 +132,59 @@ export class TgdCamera {
|
|
|
132
132
|
this.dirtyModelView = true;
|
|
133
133
|
return this;
|
|
134
134
|
}
|
|
135
|
+
apply(point) {
|
|
136
|
+
return new TgdVec4(point)
|
|
137
|
+
.applyMatrix(this.matrixModelView)
|
|
138
|
+
.applyMatrix(this.matrixProjection);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Useful for LOD. If an object takes a small space on the screen,
|
|
142
|
+
* we can display its low res version.
|
|
143
|
+
* @returns The surface of the bounding square in screen space of a space bbox.
|
|
144
|
+
*/
|
|
145
|
+
computeBoundingBoxVisibleSurface(bbox) {
|
|
146
|
+
const [x0, y0, z0] = bbox.min;
|
|
147
|
+
const [x1, y1, z1] = bbox.max;
|
|
148
|
+
const points = [
|
|
149
|
+
[x0, y0, z0],
|
|
150
|
+
[x0, y0, z1],
|
|
151
|
+
[x0, y1, z0],
|
|
152
|
+
[x0, y1, z1],
|
|
153
|
+
[x1, y0, z0],
|
|
154
|
+
[x1, y0, z1],
|
|
155
|
+
[x1, y1, z0],
|
|
156
|
+
[x1, y1, z1],
|
|
157
|
+
];
|
|
158
|
+
let left = 0;
|
|
159
|
+
let right = 0;
|
|
160
|
+
let top = 0;
|
|
161
|
+
let bottom = 0;
|
|
162
|
+
let minX = +Number.MAX_VALUE;
|
|
163
|
+
let maxX = -Number.MAX_VALUE;
|
|
164
|
+
let minY = +Number.MAX_VALUE;
|
|
165
|
+
let maxY = -Number.MAX_VALUE;
|
|
166
|
+
for (const point of points) {
|
|
167
|
+
const [xx, yy, , ww] = this.apply(point);
|
|
168
|
+
const x = xx / ww;
|
|
169
|
+
const y = yy / ww;
|
|
170
|
+
maxX = Math.max(maxX, x);
|
|
171
|
+
minX = Math.min(minX, x);
|
|
172
|
+
maxY = Math.max(maxY, y);
|
|
173
|
+
minY = Math.min(minY, y);
|
|
174
|
+
if (x < -1)
|
|
175
|
+
left++;
|
|
176
|
+
else if (x > +1)
|
|
177
|
+
right++;
|
|
178
|
+
if (y < -1)
|
|
179
|
+
top++;
|
|
180
|
+
else if (y > +1)
|
|
181
|
+
bottom++;
|
|
182
|
+
}
|
|
183
|
+
if (left === 8 || right === 8 || top === 8 || bottom === 8) {
|
|
184
|
+
return 0;
|
|
185
|
+
}
|
|
186
|
+
return (maxX - minX) * (maxY - minY);
|
|
187
|
+
}
|
|
135
188
|
/**
|
|
136
189
|
* This matrix will transform a world coordinate into a camera coordinate.
|
|
137
190
|
*/
|
|
@@ -163,11 +216,11 @@ export class TgdCamera {
|
|
|
163
216
|
console.log("TgdCamera", name);
|
|
164
217
|
console.log(" Distance:", this.transfo.distance);
|
|
165
218
|
console.log(" Zoom:", this.zoom);
|
|
166
|
-
this.transfo.orientation.debug(
|
|
167
|
-
this.transfo.position.debug(
|
|
168
|
-
this.transfo.actualPosition.debug(
|
|
169
|
-
this.matrixModelView.debug(
|
|
170
|
-
this.matrixProjection.debug(
|
|
219
|
+
this.transfo.orientation.debug(" Orientation");
|
|
220
|
+
this.transfo.position.debug(" Target");
|
|
221
|
+
this.transfo.actualPosition.debug(" Actual position");
|
|
222
|
+
this.matrixModelView.debug(" MatrixModelView");
|
|
223
|
+
this.matrixProjection.debug(" MatrixProjection");
|
|
171
224
|
}
|
|
172
225
|
get dirtyModelView() {
|
|
173
226
|
return this._dirtyModelView;
|
|
@@ -188,4 +241,4 @@ export class TgdCamera {
|
|
|
188
241
|
}
|
|
189
242
|
}
|
|
190
243
|
TgdCamera.incrementalId = 1;
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILE9BQU8sRUFDUCxVQUFVLEdBRWIsTUFBTSxXQUFXLENBQUE7QUFvQmxCLE1BQU0sT0FBZ0IsU0FBUztJQXlCM0IsWUFBWSxVQUE0QixFQUFFOztRQW5CbEMsaUJBQVksR0FBRyxJQUFJLENBQUE7UUFDbkIsa0JBQWEsR0FBRyxJQUFJLENBQUE7UUFDcEIsdUJBQWtCLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUV4QyxnQ0FBZ0M7UUFDeEIsb0JBQWUsR0FBRyxJQUFJLENBQUE7UUFDdEIsMEJBQXFCLEdBQUcsSUFBSSxDQUFBO1FBQzVCLGVBQVUsR0FBRyxJQUFJLENBQUE7UUFDZixxQkFBZ0IsR0FBRyxJQUFJLENBQUE7UUFDdkIsMkJBQXNCLEdBQUcsSUFBSSxDQUFBO1FBRTdCLFVBQUssR0FBRyxJQUFJLENBQUE7UUFDWixTQUFJLEdBQUcsUUFBUSxDQUFBO1FBRXpCLGlCQUFpQjtRQUNBLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDaEMsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUNqRCxVQUFLLEdBQUcsQ0FBQyxDQUFBO1FBR2IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLGFBQWEsU0FBUyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7UUFDcEUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLEdBQUcsbUNBQUksR0FBRyxDQUFBO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLElB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
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILE9BQU8sRUFFUCxVQUFVLEVBR1YsT0FBTyxHQUNWLE1BQU0sV0FBVyxDQUFBO0FBcUJsQixNQUFNLE9BQWdCLFNBQVM7SUF5QjNCLFlBQVksVUFBNEIsRUFBRTs7UUFuQmxDLGlCQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ25CLGtCQUFhLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLHVCQUFrQixHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7UUFFeEMsZ0NBQWdDO1FBQ3hCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLDBCQUFxQixHQUFHLElBQUksQ0FBQTtRQUM1QixlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2YscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLDJCQUFzQixHQUFHLElBQUksQ0FBQTtRQUU3QixVQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ1osU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQTtRQUV6QyxpQkFBaUI7UUFDQSxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ2hDLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDakQsVUFBSyxHQUFHLENBQUMsQ0FBQTtRQUdiLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxhQUFhLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFBO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxJQUFJLENBQUE7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLE9BQU8sQ0FBQyxHQUFHLG1DQUFJLEdBQUcsQ0FBQTtRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxP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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TgdInputPointerModifierKeys } from "../../types";
|
|
2
|
-
import { TgdEvent } from "../../event";
|
|
3
1
|
import { TgdCamera, TgdCameraState } from "../../camera";
|
|
4
2
|
import { TgdContext } from "../../context";
|
|
3
|
+
import { TgdEvent } from "../../event";
|
|
4
|
+
import { TgdInputPointerModifierKeys } from "../../types";
|
|
5
5
|
export interface TgdControllerCameraOrbitZoomRequest extends TgdInputPointerModifierKeys {
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
@@ -81,7 +81,7 @@ export interface TgdControllerCameraOrbitOptions {
|
|
|
81
81
|
* The position where the `reset()` method will bring you.
|
|
82
82
|
* If undefined, the context camera state will be used.
|
|
83
83
|
*/
|
|
84
|
-
cameraInitialState?: Readonly<TgdCameraState
|
|
84
|
+
cameraInitialState?: Readonly<Partial<TgdCameraState>>;
|
|
85
85
|
/**
|
|
86
86
|
* If `debug` is set, the special hotkey `?` will drop the
|
|
87
87
|
* current camera status to the console.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orbit.d.ts","sourceRoot":"","sources":["../../../src/controller/camera/orbit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orbit.d.ts","sourceRoot":"","sources":["../../../src/controller/camera/orbit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { tgdActionCreateCameraInterpolation, tgdEasingFunctionOutQuad, } from "./../../utils/index.js";
|
|
2
|
-
import { tgdCalcClamp } from "./../../math/math.js";
|
|
3
1
|
import { TgdEvent } from "./../../event/index.js";
|
|
4
2
|
import { TgdMat3, TgdQuat, TgdVec3 } from "./../../math/index.js";
|
|
3
|
+
import { tgdCalcClamp } from "./../../math/math.js";
|
|
4
|
+
import { tgdActionCreateCameraInterpolation, tgdEasingFunctionOutQuad, } from "./../../utils/index.js";
|
|
5
5
|
export class TgdControllerCameraOrbit {
|
|
6
6
|
constructor(context, { name, geo, zoom = 1, minZoom = 1e-3, maxZoom = Infinity, speedZoom = 1, speedOrbit = 1, speedPanning = 1, inertiaZoom = 0, inertiaOrbit = 0, inertiaPanning = 0, fixedTarget = false, debug = false, onZoomRequest = alwaysTrue, cameraInitialState, } = {}) {
|
|
7
7
|
this.id = `TgdControllerCameraOrbit#${TgdControllerCameraOrbit.counter++}`;
|
|
@@ -159,8 +159,7 @@ export class TgdControllerCameraOrbit {
|
|
|
159
159
|
this.geo = Object.assign({ lat: 0, lng: 0, minLat: -Math.PI / 2, maxLat: +Math.PI / 2, minLng: -Number.MAX_VALUE, maxLng: +Number.MAX_VALUE }, geo);
|
|
160
160
|
}
|
|
161
161
|
this.debug = debug;
|
|
162
|
-
this.cameraInitialState =
|
|
163
|
-
cameraInitialState !== null && cameraInitialState !== void 0 ? cameraInitialState : context.camera.getCurrentState();
|
|
162
|
+
this.cameraInitialState = Object.assign(Object.assign({}, context.camera.getCurrentState()), cameraInitialState);
|
|
164
163
|
const { inputs } = context;
|
|
165
164
|
inputs.pointer.eventMoveStart.addListener(this.handleMoveStart);
|
|
166
165
|
inputs.pointer.eventMoveEnd.addListener(this.handleMoveEnd);
|
|
@@ -339,4 +338,4 @@ function makeGeoVec3(lat, lng) {
|
|
|
339
338
|
const x = radius * Math.sin(lng);
|
|
340
339
|
return new TgdVec3(x, y, z);
|
|
341
340
|
}
|
|
342
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9jYW1lcmEvb3JiaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyx3QkFBd0IsR0FDM0IsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBTTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBK0ZyRCxNQUFNLE9BQU8sd0JBQXdCO0lBNkZqQyxZQUNJLE9BQW1CLEVBQ25CLEVBQ0ksSUFBSSxFQUNKLEdBQUcsRUFDSCxJQUFJLEdBQUcsQ0FBQyxFQUNSLE9BQU8sR0FBRyxJQUFJLEVBQ2QsT0FBTyxHQUFHLFFBQVEsRUFDbEIsU0FBUyxHQUFHLENBQUMsRUFDYixVQUFVLEdBQUcsQ0FBQyxFQUNkLFlBQVksR0FBRyxDQUFDLEVBQ2hCLFdBQVcsR0FBRyxDQUFDLEVBQ2YsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLENBQUMsRUFDbEIsV0FBVyxHQUFHLEtBQUssRUFDbkIsS0FBSyxHQUFHLEtBQUssRUFDYixhQUFhLEdBQUcsVUFBVSxFQUMxQixrQkFBa0IsTUFDd0IsRUFBRTtRQTFHcEMsT0FBRSxHQUFHLDRCQUE0Qix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBRXJFLGdCQUFXLEdBQUcsSUFBSSxRQUFRLEVBQWEsQ0FBQTtRQUloRCxZQUFPLEdBQUcsSUFBSSxDQUFBO1FBRWQsWUFBTyxHQUFHLFFBQVEsQ0FBQTtRQUVsQixjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBRWIsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQUVkLGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRWhCLGdCQUFXLEdBQUcs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
|
|
341
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9jYW1lcmEvb3JiaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBTzdDLE9BQU8sRUFDSCxrQ0FBa0MsRUFDbEMsd0JBQXdCLEdBQzNCLE1BQU0sWUFBWSxDQUFBO0FBOEZuQixNQUFNLE9BQU8sd0JBQXdCO0lBNkZqQyxZQUNJLE9BQW1CLEVBQ25CLEVBQ0ksSUFBSSxFQUNKLEdBQUcsRUFDSCxJQUFJLEdBQUcsQ0FBQyxFQUNSLE9BQU8sR0FBRyxJQUFJLEVBQ2QsT0FBTyxHQUFHLFFBQVEsRUFDbEIsU0FBUyxHQUFHLENBQUMsRUFDYixVQUFVLEdBQUcsQ0FBQyxFQUNkLFlBQVksR0FBRyxDQUFDLEVBQ2hCLFdBQVcsR0FBRyxDQUFDLEVBQ2YsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLENBQUMsRUFDbEIsV0FBVyxHQUFHLEtBQUssRUFDbkIsS0FBSyxHQUFHLEtBQUssRUFDYixhQUFhLEdBQUcsVUFBVSxFQUMxQixrQkFBa0IsTUFDd0IsRUFBRTtRQTFHcEMsT0FBRSxHQUFHLDRCQUE0Qix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBRXJFLGdCQUFXLEdBQUcsSUFBSSxRQUFRLEVBQWEsQ0FBQTtRQUloRCxZQUFPLEdBQUcsSUFBSSxDQUFBO1FBRWQsWUFBTyxHQUFHLFFBQVEsQ0FBQTtRQUVsQixjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBRWIsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQUVkLGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRWhCLGdCQUFXLEdBQUcsQ0FBQyxDQUFBO1FBRWYsaUJBQVksR0FBRyxDQUFDLENBQUE7UUFFaEIsbUJBQWMsR0FBRyxDQUFDLENBQUE7UUFFekI7OztXQUdHO1FBQ0ksZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFFbkIsdUJBQWtCLEdBQTZCO1lBQ2xELFFBQVEsRUFBRSxFQUFFO1lBQ1osV0FBVyxFQUFFLElBQUksT0FBTyxFQUFFO1lBQzFCLFFBQVEsRUFBRSxJQUFJLE9BQU8sRUFBRTtZQUN2QixtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLElBQUksRUFBRSxDQUFDO1NBQ1YsQ0FBQTtRQWlCRDs7V0FFRztRQUNLLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFFZixjQUFTLEdBQXdCLElBQUksQ0FBQTtRQUU3Qzs7OztXQUlHO1FBQ0ssZ0NBQTJCLEdBQUcsQ0FBQyxDQUFBO1FBRS9CLFVBQUssR0FBRyxDQUFDLENBQUE7UUFFakI7OztXQUdHO1FBQ0ssa0JBQWEsR0FBRyxDQUFDLENBQUE7UUFXUixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUVoQyw4QkFBeUIsR0FBRyxDQUFDLENBQUE7UUFFN0IsYUFBUSxHQUFzQixJQUFJLENBQUE7UUF3SnpCLGVBQVUsR0FBRyxDQUFDLEtBQStCLEVBQUUsRUFBRTtZQUM5RCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVM7Z0JBQUUsT0FBTTtZQUUzQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFCLENBQUMsQ0FBQTtRQUVnQixlQUFVLEdBQUcsQ0FBQyxLQUErQixFQUFFLEVBQUU7WUFDOUQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQztnQkFBRSxPQUFNO1lBRW5CLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDeEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7WUFDbkMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLENBQUM7Z0JBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUVoQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDaEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQ2pDLENBQUMsQ0FBQyxDQUFDO29CQUNILENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNsRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQkFDakMsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQTtnQkFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFBO2dCQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFDdkIsT0FBTTtZQUNWLENBQUM7WUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRWhFLElBQUksQ0FBQyxLQUFLLENBQ04sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ2xDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNsQyxLQUFLLENBQUMsUUFBUSxDQUNqQixDQUFBO1FBQ0wsQ0FBQyxDQUFBO1FBd0NnQixvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTTtZQUV6QixNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQTtZQUNuQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUE7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1lBQ3pCLENBQUM7UUFDTCxDQUFDLENBQUE7UUFFZ0Isa0JBQWEsR0FBRyxDQUFDLEtBQStCLEVBQUUsRUFBRTtZQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTTtZQUV6QixNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQTtZQUN0QyxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNqRSxNQUFNLE1BQU0sR0FDUixnQkFBZ0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzNELE1BQU0sTUFBTSxHQUNSLGdCQUFnQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDM0QsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUMzQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUc7b0JBQ2IsUUFBUSxFQUFFLFlBQVksR0FBRyxJQUFJO29CQUM3QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTt3QkFDaEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7d0JBQ2hELFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO3dCQUNoRCxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVk7NEJBQzlCLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFBO3dCQUNyQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7d0JBQ25DLE1BQU0sU0FBUyxHQUNYLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO3dCQUNwRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO3dCQUMxQixNQUFNLE1BQU0sR0FBRyxRQUFRLEdBQUcsU0FBUyxDQUFBO3dCQUNuQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFBO3dCQUN6QyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFBO3dCQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFBO29CQUNqQyxDQUFDO29CQUNELGNBQWMsRUFBRSx3QkFBd0I7aUJBQzNDLENBQUE7Z0JBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDeEMsQ0FBQztRQUNMLENBQUMsQ0FBQTtRQTZDZ0IsZUFBVSxHQUFHLENBQUMsS0FBK0IsRUFBRSxFQUFFO1lBQzlELElBQ0ksSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxPQUFPO2dCQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUNwQixDQUFDO2dCQUNDLDhCQUE4QjtnQkFDOUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFBLENBQUMsbUJBQW1CO2dCQUN0QyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtnQkFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFBRSxLQUFLLElBQUksR0FBRyxDQUFBO3FCQUN6RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUFFLEtBQUssSUFBSSxFQUFFLENBQUE7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7Z0JBQ3hCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FDckIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsRUFDdkQsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsT0FBTyxDQUNmLENBQUE7Z0JBQ0QsSUFDSSxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUk7b0JBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUM7d0JBQ2YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO3dCQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87d0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTzt3QkFDdEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO3dCQUN4QixDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNsQixDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNsQixJQUFJO3FCQUNQLENBQUMsRUFDSixDQUFDO29CQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO29CQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7Z0JBQ3pCLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQzFCLENBQUM7WUFDRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDcEQsQ0FBQyxDQUFBO1FBT2dCLGdCQUFXLEdBQUcsQ0FBQyxLQUFzQixFQUFFLEVBQUU7WUFDdEQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDN0MsQ0FBQztRQUNMLENBQUMsQ0FBQTtRQXRWRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDM0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUE7UUFDcEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksQ0FBQyxHQUFHLG1CQUNKLEdBQUcsRUFBRSxDQUFDLEVBQ04sR0FBRyxFQUFFLENBQUMsRUFDTixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsRUFDcEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQ3BCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQ3pCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQ3RCLEdBQUcsQ0FDVCxDQUFBO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsbUNBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEdBQ2hDLGtCQUFrQixDQUN4QixDQUFBO1FBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQy9ELE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDM0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNyRCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksSUFBSSxDQUFDLEdBQUc7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDdkQsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFzQixDQUFBO0lBQ3RDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFpQjtRQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FDdEQsSUFBSSxDQUFDLFdBQVcsQ0FDbkIsQ0FBQTtRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNyQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3JFLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ3JCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDL0QsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBRWxDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFBO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtZQUNuQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsT0FBTyxDQUFBO0lBQ2xELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUNsRSxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN6QixDQUFDO0lBRUQsU0FBUyxDQUFDLHlCQUF5QixHQUFHLENBQUM7UUFDbkMsSUFBSSx5QkFBeUIsSUFBSSxDQUFDO1lBQUUsT0FBTTtRQUUxQyxJQUFJLENBQUMsMkJBQTJCO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLHlCQUF5QixDQUFBO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLEdBQUcseUJBQXlCLENBQUE7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FDRCxZQUFvQixFQUNwQixFQUNJLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssR0FBRyxDQUFDLE1BTVQsRUFBRTtRQUVOLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLGtDQUFrQyxDQUM3QyxPQUFPLENBQUMsTUFBTSxFQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FDMUIsQ0FBQTtRQUNELE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDakIsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDVCxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsQ0FBQyxDQUFDLENBQUE7WUFDakIsQ0FBQztZQUNELFFBQVEsRUFBRSxZQUFZO1lBQ3RCLGNBQWM7WUFDZCxLQUFLO1lBQ0wsS0FBSztTQUNSLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUFtQjtRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FDbEMsQ0FBQTtJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0YsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM5RCxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDOUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN4RCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3hELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtJQUN6QyxDQUFDO0lBeUNPLEtBQUssQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLFFBQWlCO1FBQzNELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDeEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUMxQixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUNuQyxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUN4RCxNQUFNLEVBQUUsR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMzRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDcEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNwQixJQUFJLENBQUMsR0FBRztZQUFFLE9BQU07UUFFaEIsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDL0MsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7UUFDYixHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMvQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNiLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUE7UUFDL0MsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUNsQyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3pCLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMzQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUN0RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQStDTyxTQUFTLENBQUMsS0FBK0I7UUFDN0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25ELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDMUIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUE7UUFDbkMsTUFBTSxRQUFRLEdBQUcsR0FBRyxHQUFHLFlBQVksR0FBRyxXQUFXLENBQUE7UUFDakQsTUFBTSxFQUFFLEdBQ0osQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNwQyxRQUFRO1lBQ1IsTUFBTSxDQUFDLGtCQUFrQixDQUFBO1FBQzdCLE1BQU0sRUFBRSxHQUNKLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDcEMsUUFBUTtZQUNSLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQTtRQUM5QixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsZ0NBQWdDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBK0I7UUFDdkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDL0IsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7UUFDM0IsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7UUFDM0IsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU07UUFFN0MsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDMUIsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDMUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU07UUFFN0MsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO1FBQzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQzlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQXVDTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsRCxDQUFDOztBQS9iYyxnQ0FBTyxHQUFHLENBQUMsQUFBSixDQUFJO0FBeWM5Qjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTtBQUU3QixTQUFTLFdBQVcsQ0FBQyxHQUFXLEVBQUUsR0FBVztJQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkIsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEMsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQy9CLENBQUMifQ==
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import type { TgdVec3, TgdVec4 } from "../math";
|
|
2
|
+
import type { ArrayNumber3 } from "../types";
|
|
1
3
|
import { TgdGeometry } from "./geometry";
|
|
2
|
-
import { ArrayNumber3 } from "../types";
|
|
3
4
|
export interface TgdGeometryBoxOptions {
|
|
4
5
|
sizeX?: number;
|
|
5
6
|
sizeY?: number;
|
|
6
7
|
sizeZ?: number;
|
|
7
8
|
uvs?: "3x2" | "sameOnEachFace";
|
|
9
|
+
center?: ArrayNumber3 | TgdVec3 | TgdVec4;
|
|
8
10
|
}
|
|
9
11
|
export declare class TgdGeometryBox extends TgdGeometry {
|
|
10
12
|
static fromBoundingBox(min: ArrayNumber3, max: ArrayNumber3): TgdGeometryBox;
|
|
11
|
-
constructor({ sizeX, sizeY, sizeZ, uvs, }?: TgdGeometryBoxOptions);
|
|
13
|
+
constructor({ sizeX, sizeY, sizeZ, uvs, center, }?: TgdGeometryBoxOptions);
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=box.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/geometry/box.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/geometry/box.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAA;IAC9B,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA;CAC5C;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC3C,MAAM,CAAC,eAAe,CAClB,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,YAAY,GAClB,cAAc;gBAeL,EACR,KAAS,EACT,KAAS,EACT,KAAS,EACT,GAAsB,EACtB,MAAkB,GACrB,GAAE,qBAA0B;CAgChC"}
|
package/lib/dist/geometry/box.js
CHANGED
|
@@ -7,10 +7,15 @@ export class TgdGeometryBox extends TgdGeometry {
|
|
|
7
7
|
const sizeX = maxX - minX;
|
|
8
8
|
const sizeY = maxY - minY;
|
|
9
9
|
const sizeZ = maxZ - minZ;
|
|
10
|
-
const geometry = new TgdGeometryBox({
|
|
10
|
+
const geometry = new TgdGeometryBox({
|
|
11
|
+
sizeX,
|
|
12
|
+
sizeY,
|
|
13
|
+
sizeZ,
|
|
14
|
+
center: [(maxX + minX) / 2, (maxY + minY) / 2, (maxZ + minZ) / 2],
|
|
15
|
+
});
|
|
11
16
|
return geometry;
|
|
12
17
|
}
|
|
13
|
-
constructor({ sizeX = 1, sizeY = 1, sizeZ = 1, uvs = "sameOnEachFace", } = {}) {
|
|
18
|
+
constructor({ sizeX = 1, sizeY = 1, sizeZ = 1, uvs = "sameOnEachFace", center = [0, 0, 0], } = {}) {
|
|
14
19
|
const x = sizeX * 0.5;
|
|
15
20
|
const y = sizeY * 0.5;
|
|
16
21
|
const z = sizeZ * 0.5;
|
|
@@ -21,12 +26,12 @@ export class TgdGeometryBox extends TgdGeometry {
|
|
|
21
26
|
});
|
|
22
27
|
// prettier-ignore
|
|
23
28
|
dataset.set("POSITION", new Float32Array([
|
|
24
|
-
...coords("+x+y+z", x, y, z),
|
|
25
|
-
...coords("+y+z+x", x, y, z),
|
|
26
|
-
...coords("+z+x+y", x, y, z),
|
|
27
|
-
...coords("-x+z+y", x, y, z),
|
|
28
|
-
...coords("-y+x+z", x, y, z),
|
|
29
|
-
...coords("-z+y+x", x, y, z),
|
|
29
|
+
...coords("+x+y+z", center, x, y, z),
|
|
30
|
+
...coords("+y+z+x", center, x, y, z),
|
|
31
|
+
...coords("+z+x+y", center, x, y, z),
|
|
32
|
+
...coords("-x+z+y", center, x, y, z),
|
|
33
|
+
...coords("-y+x+z", center, x, y, z),
|
|
34
|
+
...coords("-z+y+x", center, x, y, z),
|
|
30
35
|
]));
|
|
31
36
|
dataset.set("TEXCOORD_0", new Float32Array(getUVs(uvs)));
|
|
32
37
|
// prettier-ignore
|
|
@@ -39,10 +44,14 @@ export class TgdGeometryBox extends TgdGeometry {
|
|
|
39
44
|
}
|
|
40
45
|
// prettier-ignore
|
|
41
46
|
const FACE_IJ = [
|
|
42
|
-
[-1, +1],
|
|
43
|
-
[+1,
|
|
47
|
+
[-1, +1],
|
|
48
|
+
[+1, +1],
|
|
49
|
+
[-1, -1],
|
|
50
|
+
[+1, -1],
|
|
51
|
+
[-1, -1],
|
|
52
|
+
[+1, +1],
|
|
44
53
|
];
|
|
45
|
-
function coords(definition, ...sizes) {
|
|
54
|
+
function coords(definition, center, ...sizes) {
|
|
46
55
|
function index(k) {
|
|
47
56
|
const txt = definition.charAt(k);
|
|
48
57
|
switch (txt) {
|
|
@@ -76,24 +85,21 @@ function coords(definition, ...sizes) {
|
|
|
76
85
|
const indexJ = index(5);
|
|
77
86
|
for (const [index, index_] of FACE_IJ) {
|
|
78
87
|
const row = [];
|
|
79
|
-
row[indexC] = sizes[indexC] * sgnC;
|
|
80
|
-
row[indexI] = sizes[indexI] * sgnI * index;
|
|
81
|
-
row[indexJ] = sizes[indexJ] * sgnJ * index_;
|
|
88
|
+
row[indexC] = sizes[indexC] * sgnC + center[indexC];
|
|
89
|
+
row[indexI] = sizes[indexI] * sgnI * index + center[indexI];
|
|
90
|
+
row[indexJ] = sizes[indexJ] * sgnJ * index_ + center[indexJ];
|
|
82
91
|
out.push(...row);
|
|
83
92
|
}
|
|
84
93
|
return out;
|
|
85
94
|
}
|
|
86
95
|
// prettier-ignore
|
|
87
|
-
const FACE_UV = [
|
|
88
|
-
0, 0, 1, 0, 0, 1,
|
|
89
|
-
1, 1, 0, 1, 1, 0
|
|
90
|
-
];
|
|
96
|
+
const FACE_UV = [0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0];
|
|
91
97
|
const W3x2 = 1 / 3;
|
|
92
98
|
const H3x2 = 1 / 2;
|
|
93
99
|
function face3x2(col, row) {
|
|
94
100
|
const x = W3x2 * col;
|
|
95
101
|
const y = H3x2 * row;
|
|
96
|
-
return FACE_UV.map((v, index) => index % 2
|
|
102
|
+
return FACE_UV.map((v, index) => index % 2 === 0 ? x + W3x2 * v : y + H3x2 * v);
|
|
97
103
|
}
|
|
98
104
|
function getUVs(uvs) {
|
|
99
105
|
switch (uvs) {
|
|
@@ -130,4 +136,4 @@ const ZP = [0, 0, 1];
|
|
|
130
136
|
const ZP6 = [...ZP, ...ZP, ...ZP, ...ZP, ...ZP, ...ZP];
|
|
131
137
|
const ZN = [0, 0, -1];
|
|
132
138
|
const ZN6 = [...ZN, ...ZN, ...ZN, ...ZN, ...ZN, ...ZN];
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlb21ldHJ5L2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFVeEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQ2xCLEdBQWlCLEVBQ2pCLEdBQWlCO1FBRWpCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQTtRQUM5QixNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUE7UUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUM7WUFDaEMsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEUsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxRQUFRLENBQUE7SUFDbkIsQ0FBQztJQUVELFlBQVksRUFDUixLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsS0FBSyxHQUFHLENBQUMsRUFDVCxHQUFHLEdBQUcsZ0JBQWdCLEVBQ3RCLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FB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RSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDaEIsQ0FBQTtJQUNBLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3BCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUN0RCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNyQixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDdEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3BCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUN0RCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNyQixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDdEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3BCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUN0RCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNyQixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
|
|
@@ -3,5 +3,6 @@ export * from "./geometry.js";
|
|
|
3
3
|
export * from "./gltf.js";
|
|
4
4
|
export * from "./grid.js";
|
|
5
5
|
export * from "./plane.js";
|
|
6
|
+
export * from "./sphere-ico.js";
|
|
6
7
|
export * from "./tools/index.js";
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VvbWV0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUE7QUFDckIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxTQUFTLENBQUEifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TgdVec3, TgdVec4 } from "../math";
|
|
2
|
+
import type { ArrayNumber3, ArrayNumber4 } from "../types";
|
|
3
|
+
import { TgdGeometry } from "./geometry";
|
|
4
|
+
export interface TgdGeometrySphereIcoOptions {
|
|
5
|
+
center?: ArrayNumber3 | ArrayNumber4 | TgdVec3 | TgdVec4;
|
|
6
|
+
radius?: number;
|
|
7
|
+
/**
|
|
8
|
+
* A value of 0 will get you a regular icosahedron.
|
|
9
|
+
* Then, each subdivision will cut every triangle in 3 new triangles.
|
|
10
|
+
*
|
|
11
|
+
* - Minimum: 0
|
|
12
|
+
* - Default: 2
|
|
13
|
+
*/
|
|
14
|
+
subdivisions?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class TgdGeometrySphereIco extends TgdGeometry {
|
|
17
|
+
constructor({ center, radius, subdivisions, }?: TgdGeometrySphereIcoOptions);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=sphere-ico.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sphere-ico.d.ts","sourceRoot":"","sources":["../../src/geometry/sphere-ico.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,oBAAqB,SAAQ,WAAW;gBACrC,EACR,MAAkB,EAClB,MAAU,EACV,YAAgB,GACnB,GAAE,2BAAgC;CAoBtC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { TgdDataset } from "./../dataset/index.js";
|
|
2
|
+
import { webglElementTypeArrayFromNumberArray } from "./../utils/index.js";
|
|
3
|
+
import { TgdGeometry } from "./geometry.js";
|
|
4
|
+
export class TgdGeometrySphereIco extends TgdGeometry {
|
|
5
|
+
constructor({ center = [0, 0, 0], radius = 1, subdivisions = 2, } = {}) {
|
|
6
|
+
const dataset = new TgdDataset({
|
|
7
|
+
POSITION: "vec3",
|
|
8
|
+
NORMAL: "vec3",
|
|
9
|
+
});
|
|
10
|
+
const positions = [];
|
|
11
|
+
const normals = [];
|
|
12
|
+
const elements = [];
|
|
13
|
+
createIcosahedron(positions, normals, elements, center, radius);
|
|
14
|
+
for (let loop = 0; loop < subdivisions; loop++) {
|
|
15
|
+
subdivide(positions, normals, elements, center, radius);
|
|
16
|
+
}
|
|
17
|
+
dataset.set("POSITION", new Float32Array(positions));
|
|
18
|
+
dataset.set("NORMAL", new Float32Array(normals));
|
|
19
|
+
super({
|
|
20
|
+
dataset,
|
|
21
|
+
elements: webglElementTypeArrayFromNumberArray(elements),
|
|
22
|
+
drawMode: "TRIANGLES",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function createIcosahedron(positions, normals, elements, center, radius) {
|
|
27
|
+
const [cx, cy, cz] = center;
|
|
28
|
+
normals.push(-0, -1, -0, 0.7236, -0.4472, 0.5257, -0.2764, -0.4472, 0.8507, -0.8944, -0.4472, -0, -0.2764, -0.4472, -0.8507, 0.7236, -0.4472, -0.5257, 0.2764, 0.4472, 0.8507, -0.7236, 0.4472, 0.5257, -0.7236, 0.4472, -0.5257, 0.2764, 0.4472, -0.8507, 0.8944, 0.4472, -0, -0, 1, -0);
|
|
29
|
+
for (let i = 0; i < normals.length; i += 3) {
|
|
30
|
+
positions.push(normals[i + 0] * radius + cx, normals[i + 1] * radius + cy, normals[i + 2] * radius + cz);
|
|
31
|
+
}
|
|
32
|
+
// prettier-ignore
|
|
33
|
+
elements.push(0, 1, 2, 1, 0, 5, 0, 2, 3, 0, 3, 4, 0, 4, 5, 1, 5, 10, 2, 1, 6, 3, 2, 7, 4, 3, 8, 5, 4, 9, 1, 10, 6, 2, 6, 7, 3, 7, 8, 4, 8, 9, 5, 9, 10, 6, 10, 11, 7, 6, 11, 8, 7, 11, 9, 8, 11, 10, 9, 11);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Each triangle will be divided in 4 sub triangles.
|
|
37
|
+
*/
|
|
38
|
+
function subdivide(positions, normals, elements, center, radius) {
|
|
39
|
+
const [cx, cy, cz] = center;
|
|
40
|
+
const newElements = [];
|
|
41
|
+
let pointsCount = Math.floor(positions.length / 3);
|
|
42
|
+
const indexesOfMidPoints = new Map();
|
|
43
|
+
const indexOfMidPoint = (indexA, indexB) => {
|
|
44
|
+
const idxA = Math.min(indexA, indexB);
|
|
45
|
+
const idxB = Math.max(indexA, indexB);
|
|
46
|
+
const key = `${idxA}/${idxB}`;
|
|
47
|
+
const indexFromCache = indexesOfMidPoints.get(key);
|
|
48
|
+
if (typeof indexFromCache === "number")
|
|
49
|
+
return indexFromCache;
|
|
50
|
+
const [nx, ny, nz] = averageNormal(normals, idxA, idxB);
|
|
51
|
+
normals.push(nx, ny, nz);
|
|
52
|
+
positions.push(nx * radius + cx, ny * radius + cy, nz * radius + cz);
|
|
53
|
+
const newIndex = pointsCount++;
|
|
54
|
+
indexesOfMidPoints.set(key, newIndex);
|
|
55
|
+
return newIndex;
|
|
56
|
+
};
|
|
57
|
+
for (let e = 0; e < elements.length; e += 3) {
|
|
58
|
+
const i0 = elements[e + 0];
|
|
59
|
+
const i1 = elements[e + 1];
|
|
60
|
+
const i2 = elements[e + 2];
|
|
61
|
+
const i01 = indexOfMidPoint(i0, i1);
|
|
62
|
+
const i12 = indexOfMidPoint(i1, i2);
|
|
63
|
+
const i02 = indexOfMidPoint(i0, i2);
|
|
64
|
+
// prettier-ignore
|
|
65
|
+
newElements.push(i0, i01, i02, i01, i1, i12, i01, i12, i02, i02, i12, i2);
|
|
66
|
+
}
|
|
67
|
+
elements.splice(0);
|
|
68
|
+
elements.push(...newElements);
|
|
69
|
+
}
|
|
70
|
+
function averageNormal(normals, i0, i1) {
|
|
71
|
+
const x = normals[i0 * 3 + 0] + normals[i1 * 3 + 0];
|
|
72
|
+
const y = normals[i0 * 3 + 1] + normals[i1 * 3 + 1];
|
|
73
|
+
const z = normals[i0 * 3 + 2] + normals[i1 * 3 + 2];
|
|
74
|
+
// eslint-disable-next-line unicorn/prefer-modern-math-apis
|
|
75
|
+
const inv3 = 1 / Math.sqrt(x * x + y * y + z * z);
|
|
76
|
+
return [x * inv3, y * inv3, z * inv3];
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BoZXJlLWljby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW9tZXRyeS9zcGhlcmUtaWNvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFHekMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFleEMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFDakQsWUFBWSxFQUNSLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ2xCLE1BQU0sR0FBRyxDQUFDLEVBQ1YsWUFBWSxHQUFHLENBQUMsTUFDYSxFQUFFO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzNCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQTtRQUNGLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQTtRQUM5QixNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUE7UUFDNUIsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFBO1FBQzdCLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMvRCxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7WUFDN0MsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMzRCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNwRCxPQUFPLENBQUMsR0FBRyxD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T0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbkQsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbkQsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbkQsMkRBQTJEO0lBQzNELE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDakQsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7QUFDekMsQ0FBQyJ9
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ArrayNumber3, ArrayNumber4 } from "../types";
|
|
2
|
-
import { TgdVec3, TgdVec4 } from "../math";
|
|
3
|
-
import { TgdMaterial } from "./material";
|
|
4
1
|
import { TgdLight } from "../light";
|
|
2
|
+
import { TgdVec3, TgdVec4 } from "../math";
|
|
5
3
|
import { TgdTexture2D, TgdTextureCube } from "../texture";
|
|
4
|
+
import { ArrayNumber3, ArrayNumber4 } from "../types";
|
|
5
|
+
import { TgdMaterial } from "./material";
|
|
6
6
|
export type TgdMaterialGlobalOptions = Partial<{
|
|
7
7
|
color: TgdVec4 | ArrayNumber4 | TgdTexture2D;
|
|
8
8
|
lights: TgdLight[];
|