@shapediver/viewer.shared.math 1.15.6 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Box.d.ts → implementation/Box.d.ts} +8 -7
- package/dist/implementation/Box.d.ts.map +1 -0
- package/dist/{Box.js → implementation/Box.js} +10 -2
- package/dist/implementation/Box.js.map +1 -0
- package/dist/{Plane.d.ts → implementation/Plane.d.ts} +6 -5
- package/dist/implementation/Plane.d.ts.map +1 -0
- package/dist/{Plane.js → implementation/Plane.js} +4 -0
- package/dist/implementation/Plane.js.map +1 -0
- package/dist/{Sphere.d.ts → implementation/Sphere.d.ts} +6 -5
- package/dist/implementation/Sphere.d.ts.map +1 -0
- package/dist/{Sphere.js → implementation/Sphere.js} +4 -0
- package/dist/implementation/Sphere.js.map +1 -0
- package/dist/{Spherical.d.ts → implementation/Spherical.d.ts} +4 -3
- package/dist/implementation/Spherical.d.ts.map +1 -0
- package/dist/{Spherical.js → implementation/Spherical.js} +1 -0
- package/dist/implementation/Spherical.js.map +1 -0
- package/dist/implementation/Triangle.d.ts +13 -0
- package/dist/implementation/Triangle.d.ts.map +1 -0
- package/dist/{Triangle.js → implementation/Triangle.js} +5 -0
- package/dist/implementation/Triangle.js.map +1 -0
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IBox.d.ts +17 -0
- package/dist/interfaces/IBox.d.ts.map +1 -0
- package/dist/interfaces/IBox.js +3 -0
- package/dist/interfaces/IBox.js.map +1 -0
- package/dist/{IGeometry.d.ts → interfaces/IGeometry.d.ts} +1 -0
- package/dist/interfaces/IGeometry.d.ts.map +1 -0
- package/dist/{IGeometry.js → interfaces/IGeometry.js} +0 -0
- package/dist/{IGeometry.js.map → interfaces/IGeometry.js.map} +1 -1
- package/dist/interfaces/IPlane.d.ts +14 -0
- package/dist/interfaces/IPlane.d.ts.map +1 -0
- package/dist/interfaces/IPlane.js +3 -0
- package/dist/interfaces/IPlane.js.map +1 -0
- package/dist/interfaces/ISphere.d.ts +13 -0
- package/dist/interfaces/ISphere.d.ts.map +1 -0
- package/dist/interfaces/ISphere.js +3 -0
- package/dist/interfaces/ISphere.js.map +1 -0
- package/dist/interfaces/ISpherical.d.ts +10 -0
- package/dist/interfaces/ISpherical.d.ts.map +1 -0
- package/dist/interfaces/ISpherical.js +3 -0
- package/dist/interfaces/ISpherical.js.map +1 -0
- package/dist/interfaces/ITriangle.d.ts +8 -0
- package/dist/interfaces/ITriangle.d.ts.map +1 -0
- package/dist/interfaces/ITriangle.js +3 -0
- package/dist/interfaces/ITriangle.js.map +1 -0
- package/package.json +11 -8
- package/src/implementation/Box.ts +183 -0
- package/src/implementation/Plane.ts +86 -0
- package/src/implementation/Sphere.ts +72 -0
- package/src/implementation/Spherical.ts +61 -0
- package/src/implementation/Triangle.ts +51 -0
- package/src/index.ts +16 -0
- package/src/interfaces/IBox.ts +26 -0
- package/src/interfaces/IGeometry.ts +7 -0
- package/src/interfaces/IPlane.ts +23 -0
- package/src/interfaces/ISphere.ts +22 -0
- package/src/interfaces/ISpherical.ts +19 -0
- package/src/interfaces/ITriangle.ts +12 -0
- package/tsconfig.json +17 -0
- package/dist/Box.d.ts.map +0 -1
- package/dist/Box.js.map +0 -1
- package/dist/IGeometry.d.ts.map +0 -1
- package/dist/Plane.d.ts.map +0 -1
- package/dist/Plane.js.map +0 -1
- package/dist/Sphere.d.ts.map +0 -1
- package/dist/Sphere.js.map +0 -1
- package/dist/Spherical.d.ts.map +0 -1
- package/dist/Spherical.js.map +0 -1
- package/dist/Triangle.d.ts +0 -12
- package/dist/Triangle.d.ts.map +0 -1
- package/dist/Triangle.js.map +0 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { mat4, vec3 } from 'gl-matrix'
|
|
2
|
+
import { Sphere } from '..';
|
|
3
|
+
import { IBox } from '../interfaces/IBox';
|
|
4
|
+
import { ISphere } from '../interfaces/ISphere';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export class Box implements IBox {
|
|
8
|
+
// #region Properties (2)
|
|
9
|
+
|
|
10
|
+
private _boundingSphere: ISphere = new Sphere();
|
|
11
|
+
private _boundingSphereState: { min: vec3, max: vec3 } = {
|
|
12
|
+
min: vec3.create(), max: vec3.create()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// #endregion Properties (2)
|
|
16
|
+
|
|
17
|
+
// #region Constructors (1)
|
|
18
|
+
constructor(
|
|
19
|
+
private _min: vec3 = vec3.fromValues(Infinity, Infinity, Infinity),
|
|
20
|
+
private _max: vec3 = vec3.fromValues(-Infinity, -Infinity, -Infinity)
|
|
21
|
+
) { }
|
|
22
|
+
|
|
23
|
+
// #endregion Constructors (1)
|
|
24
|
+
|
|
25
|
+
// #region Public Accessors (5)
|
|
26
|
+
|
|
27
|
+
public intersect(origin: vec3, direction: vec3): number | null {
|
|
28
|
+
let tmin, tmax, txmin, txmax, tymin, tymax, tzmin, tzmax;
|
|
29
|
+
|
|
30
|
+
const invdirx = 1 / direction[0],
|
|
31
|
+
invdiry = 1 / direction[1],
|
|
32
|
+
invdirz = 1 / direction[2];
|
|
33
|
+
|
|
34
|
+
txmin = invdirx >= 0 ? (this.min[0] - origin[0]) * invdirx : (this.max[0] - origin[0]) * invdirx;
|
|
35
|
+
txmax = invdirx >= 0 ? (this.max[0] - origin[0]) * invdirx : (this.min[0] - origin[0]) * invdirx;
|
|
36
|
+
tmin = txmin;
|
|
37
|
+
tmax = txmax;
|
|
38
|
+
|
|
39
|
+
tymin = invdiry >= 0 ? (this.min[1] - origin[1]) * invdiry : (this.max[1] - origin[1]) * invdiry;
|
|
40
|
+
tymax = invdiry >= 0 ? (this.max[1] - origin[1]) * invdiry : (this.min[1] - origin[1]) * invdiry;
|
|
41
|
+
|
|
42
|
+
if ((tmin > tymax) || (tymin > tmax)) return null;
|
|
43
|
+
|
|
44
|
+
// These lines also handle the case where tmin or tmax is NaN
|
|
45
|
+
// (result of 0 * Infinity). x !== x returns true if x is NaN
|
|
46
|
+
|
|
47
|
+
if (tymin > tmin || tmin !== tmin) tmin = tymin;
|
|
48
|
+
if (tymax < tmax || tmax !== tmax) tmax = tymax;
|
|
49
|
+
|
|
50
|
+
tzmin = invdirz >= 0 ? (this.min[2] - origin[2]) * invdirz : (this.max[2] - origin[2]) * invdirz;
|
|
51
|
+
tzmax = invdirz >= 0 ? (this.max[2] - origin[2]) * invdirz : (this.min[2] - origin[2]) * invdirz;
|
|
52
|
+
|
|
53
|
+
if ((tmin > tzmax) || (tzmin > tmax)) return null;
|
|
54
|
+
if (tzmin > tmin || tmin !== tmin) tmin = tzmin;
|
|
55
|
+
if (tzmax < tmax || tmax !== tmax) tmax = tzmax;
|
|
56
|
+
|
|
57
|
+
//return point closest to the ray (positive side)
|
|
58
|
+
if (tmax < 0) return null;
|
|
59
|
+
return tmin >= 0 ? tmin : tmax;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
public get boundingSphere(): ISphere {
|
|
64
|
+
if (!(this._boundingSphereState.min[0] === this.min[0] && this._boundingSphereState.min[1] === this.min[1] && this._boundingSphereState.min[2] === this.min[2] &&
|
|
65
|
+
this._boundingSphereState.max[0] === this.max[0] && this._boundingSphereState.max[1] === this.max[1] && this._boundingSphereState.max[2] === this.max[2])) {
|
|
66
|
+
this._boundingSphere.setFromBox(this);
|
|
67
|
+
this._boundingSphereState = {
|
|
68
|
+
min: vec3.clone(this.min),
|
|
69
|
+
max: vec3.clone(this.max)
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return this._boundingSphere;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
public get max(): vec3 {
|
|
76
|
+
return this._max;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public set max(value: vec3) {
|
|
80
|
+
this._max = value;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public get min(): vec3 {
|
|
84
|
+
return this._min;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public set min(value: vec3) {
|
|
88
|
+
this._min = value;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// #endregion Public Accessors (5)
|
|
92
|
+
|
|
93
|
+
// #region Public Methods (5)
|
|
94
|
+
|
|
95
|
+
public applyMatrix(matrix: mat4): Box {
|
|
96
|
+
const points: vec3[] = [];
|
|
97
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.min[0], this.min[1], this.min[2]), matrix));
|
|
98
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.min[0], this.min[1], this.max[2]), matrix));
|
|
99
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.min[0], this.max[1], this.min[2]), matrix));
|
|
100
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.min[0], this.max[1], this.max[2]), matrix));
|
|
101
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.max[0], this.min[1], this.min[2]), matrix));
|
|
102
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.max[0], this.min[1], this.max[2]), matrix));
|
|
103
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.max[0], this.max[1], this.min[2]), matrix));
|
|
104
|
+
points.push(vec3.transformMat4(vec3.create(), vec3.fromValues(this.max[0], this.max[1], this.max[2]), matrix));
|
|
105
|
+
|
|
106
|
+
this.min = vec3.fromValues(Infinity, Infinity, Infinity);
|
|
107
|
+
this.max = vec3.fromValues(-Infinity, -Infinity, -Infinity);
|
|
108
|
+
|
|
109
|
+
for ( let i = 0, il = points.length; i < il; i ++ ) {
|
|
110
|
+
this.min = vec3.fromValues(Math.min(this.min[0], points[i][0]), Math.min(this.min[1], points[i][1]), Math.min(this.min[2], points[i][2]));
|
|
111
|
+
this.max = vec3.fromValues(Math.max(this.max[0], points[i][0]), Math.max(this.max[1], points[i][1]), Math.max(this.max[2], points[i][2]));
|
|
112
|
+
}
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
public clone(): IBox {
|
|
117
|
+
return new Box(vec3.clone(this.min), vec3.clone(this.max))
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public containsPoint(point: vec3): boolean {
|
|
121
|
+
return point[0] < this.min[0] || point[0] > this.max[0] ||
|
|
122
|
+
point[1] < this.min[1] || point[1] > this.max[1] ||
|
|
123
|
+
point[2] < this.min[2] || point[2] > this.max[2] ? false : true;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public clampPoint(point: vec3): vec3 {
|
|
127
|
+
point[0] = Math.max(this.min[0], Math.min(this.max[0], point[0]));
|
|
128
|
+
point[1] = Math.max(this.min[1], Math.min(this.max[1], point[1]));
|
|
129
|
+
point[2] = Math.max(this.min[2], Math.min(this.max[2], point[2]));
|
|
130
|
+
return point;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
public setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array): IBox {
|
|
134
|
+
let minX = Infinity, minY = Infinity, minZ = Infinity;
|
|
135
|
+
let maxX = -Infinity, maxY = -Infinity, maxZ = -Infinity;
|
|
136
|
+
|
|
137
|
+
for (let i = 0; i < array.length; i += 3) {
|
|
138
|
+
const x = array[i];
|
|
139
|
+
const y = array[i + 1];
|
|
140
|
+
const z = array[i + 2];
|
|
141
|
+
|
|
142
|
+
if (x < minX) minX = x;
|
|
143
|
+
if (y < minY) minY = y;
|
|
144
|
+
if (z < minZ) minZ = z;
|
|
145
|
+
|
|
146
|
+
if (x > maxX) maxX = x;
|
|
147
|
+
if (y > maxY) maxY = y;
|
|
148
|
+
if (z > maxZ) maxZ = z;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
this.min = vec3.fromValues(minX, minY, minZ);
|
|
152
|
+
this.max = vec3.fromValues(maxX, maxY, maxZ);
|
|
153
|
+
return this;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
public union(box: IBox): IBox {
|
|
157
|
+
if (box.min[0] < this.min[0]) this.min[0] = box.min[0];
|
|
158
|
+
if (box.min[1] < this.min[1]) this.min[1] = box.min[1];
|
|
159
|
+
if (box.min[2] < this.min[2]) this.min[2] = box.min[2];
|
|
160
|
+
|
|
161
|
+
if (box.max[0] > this.max[0]) this.max[0] = box.max[0];
|
|
162
|
+
if (box.max[1] > this.max[1]) this.max[1] = box.max[1];
|
|
163
|
+
if (box.max[2] > this.max[2]) this.max[2] = box.max[2];
|
|
164
|
+
return this;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
public isEmpty(): boolean {
|
|
168
|
+
return this.min[0] === Infinity && this.min[1] === Infinity && this.min[2] === Infinity &&
|
|
169
|
+
this.max[0] === -Infinity && this.max[1] === -Infinity && this.max[2] === -Infinity;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public reset(): void {
|
|
173
|
+
this._boundingSphere = new Sphere();
|
|
174
|
+
this._boundingSphereState = {
|
|
175
|
+
min: vec3.create(), max: vec3.create()
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
this._min = vec3.fromValues(Infinity, Infinity, Infinity);
|
|
179
|
+
this._max = vec3.fromValues(-Infinity, -Infinity, -Infinity);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// #endregion Public Methods (5)
|
|
183
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { mat3, mat4, vec3 } from 'gl-matrix'
|
|
2
|
+
import { IPlane } from '../interfaces/IPlane';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export class Plane implements IPlane {
|
|
6
|
+
|
|
7
|
+
// #region Constructors (1)
|
|
8
|
+
|
|
9
|
+
constructor(private _normal: vec3 = vec3.fromValues(1,0,0), private _constant: number = 0) {}
|
|
10
|
+
|
|
11
|
+
// #endregion Constructors (1)
|
|
12
|
+
|
|
13
|
+
// #region Public Accessors (4)
|
|
14
|
+
|
|
15
|
+
public get constant(): number {
|
|
16
|
+
return this._constant;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public set constant(value: number) {
|
|
20
|
+
this._constant = value;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public get normal(): vec3 {
|
|
24
|
+
return this._normal;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public set normal(value: vec3) {
|
|
28
|
+
this._normal = value;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// #endregion Public Accessors (4)
|
|
32
|
+
|
|
33
|
+
// #region Public Methods (7)
|
|
34
|
+
|
|
35
|
+
public applyMatrix(matrix: mat4): IPlane {
|
|
36
|
+
const normalMatrix = mat3.transpose(mat3.create(), mat3.invert(mat3.create(), mat3.fromMat4(mat3.create(), matrix)))
|
|
37
|
+
const p = vec3.transformMat4(vec3.create(), vec3.multiply(vec3.create(), vec3.clone(this.normal), vec3.fromValues(this._constant, this._constant, this._constant)), matrix)
|
|
38
|
+
this._normal = vec3.normalize(vec3.create(), vec3.transformMat3(vec3.create(), this._normal, normalMatrix));
|
|
39
|
+
this.constant = -vec3.dot(p, this._normal);
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public clampPoint(point: vec3): vec3 {
|
|
44
|
+
const d = -this.distanceToPoint(point);
|
|
45
|
+
return vec3.add(vec3.create(), vec3.multiply(vec3.create(), this.normal, vec3.fromValues(d, d, d)), point);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public clone(): IPlane {
|
|
49
|
+
return new Plane(this._normal, this._constant);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public containsPoint(point: vec3): boolean {
|
|
53
|
+
return this.distanceToPoint(point) === 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public distanceToPoint(point: vec3): number {
|
|
57
|
+
return vec3.dot(this.normal, point) + this.constant;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
public intersect(origin: vec3, direction: vec3): number | null {
|
|
61
|
+
const denominator = vec3.dot(this.normal, direction);
|
|
62
|
+
if (denominator === 0) {
|
|
63
|
+
// line is coplanar, return origin
|
|
64
|
+
if (this.distanceToPoint( origin ) === 0) return 0;
|
|
65
|
+
// Null is preferable to undefined since undefined means.... it is undefined
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const t = - (vec3.dot(origin, this.normal) + this.constant) / denominator;
|
|
69
|
+
if ( t < 0 ) return null;
|
|
70
|
+
|
|
71
|
+
return t; //vec3.add(vec3.create(), vec3.multiply(vec3.create(), direction, vec3.fromValues(t,t,t)), origin);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane {
|
|
75
|
+
vec3.copy(this.normal, normal);
|
|
76
|
+
this.constant = -vec3.dot(point, this.normal);
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public reset() {
|
|
81
|
+
this._normal = vec3.fromValues(1,0,0);
|
|
82
|
+
this._constant = 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// #endregion Public Methods (7)
|
|
86
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { mat4, vec3 } from 'gl-matrix'
|
|
2
|
+
import { IBox } from '../interfaces/IBox';
|
|
3
|
+
import { ISphere } from '../interfaces/ISphere';
|
|
4
|
+
|
|
5
|
+
export class Sphere implements ISphere {
|
|
6
|
+
// #region Constructors (1)
|
|
7
|
+
|
|
8
|
+
constructor(
|
|
9
|
+
private _center: vec3 = vec3.create(),
|
|
10
|
+
private _radius: number = 0
|
|
11
|
+
) { }
|
|
12
|
+
|
|
13
|
+
// #endregion Constructors (1)
|
|
14
|
+
|
|
15
|
+
// #region Public Accessors (4)
|
|
16
|
+
|
|
17
|
+
public get center(): vec3 {
|
|
18
|
+
return this._center;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public set center(value: vec3) {
|
|
22
|
+
this._center = value;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public get radius(): number {
|
|
26
|
+
return this._radius;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public set radius(value: number) {
|
|
30
|
+
this._radius = value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// #endregion Public Accessors (4)
|
|
34
|
+
|
|
35
|
+
// #region Public Methods (4)
|
|
36
|
+
|
|
37
|
+
public applyMatrix(matrix: mat4): Sphere {
|
|
38
|
+
this._center = vec3.transformMat4(vec3.create(), this._center, matrix);
|
|
39
|
+
const scaleXSq = matrix[0] * matrix[0] + matrix[1] * matrix[1] + matrix[2] * matrix[2];
|
|
40
|
+
const scaleYSq = matrix[4] * matrix[4] + matrix[5] * matrix[5] + matrix[6] * matrix[6];
|
|
41
|
+
const scaleZSq = matrix[8] * matrix[8] + matrix[9] * matrix[9] + matrix[10] * matrix[10];
|
|
42
|
+
const maxScaleOnAxis = Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq));
|
|
43
|
+
this.radius = this.radius * maxScaleOnAxis;
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public clone(): ISphere {
|
|
48
|
+
return new Sphere(vec3.clone(this._center), this._radius);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public containsPoint(point: vec3): boolean {
|
|
52
|
+
return (vec3.squaredDistance(point, this.center) <= (this.radius * this.radius));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public clampPoint(point: vec3): vec3 {
|
|
56
|
+
return point;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public setFromBox(box: IBox): ISphere {
|
|
60
|
+
vec3.add(this.center, box.min, box.max);
|
|
61
|
+
vec3.scale(this.center, this.center, 0.5);
|
|
62
|
+
this.radius = vec3.dist(box.min, box.max) * 0.5;
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public reset() {
|
|
67
|
+
this._center = vec3.create();
|
|
68
|
+
this._radius = 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// #endregion Public Methods (4)
|
|
72
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { vec3 } from 'gl-matrix'
|
|
2
|
+
import { ISpherical } from '../interfaces/ISpherical';
|
|
3
|
+
|
|
4
|
+
export class Spherical implements ISpherical {
|
|
5
|
+
constructor(
|
|
6
|
+
private _radius: number = 1,
|
|
7
|
+
private _phi: number = 0,
|
|
8
|
+
private _theta: number = 0,
|
|
9
|
+
) { }
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
public get radius(): number {
|
|
13
|
+
return this._radius;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public set radius(value: number) {
|
|
17
|
+
this._radius = value;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
public get phi(): number {
|
|
22
|
+
return this._phi;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public set phi(value: number) {
|
|
26
|
+
this._phi = value;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
public get theta(): number {
|
|
31
|
+
return this._theta;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public set theta(value: number) {
|
|
35
|
+
this._theta = value;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public makeSafe() {
|
|
39
|
+
const EPS = 0.000001;
|
|
40
|
+
this.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ));
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public fromVec3(p: vec3): ISpherical {
|
|
45
|
+
this.radius = Math.sqrt(p[0] * p[0] + p[1] * p[1] + p[2] * p[2]);
|
|
46
|
+
|
|
47
|
+
if (this.radius === 0) {
|
|
48
|
+
this.theta = 0;
|
|
49
|
+
this.phi = 0;
|
|
50
|
+
} else {
|
|
51
|
+
this.theta = Math.atan2(p[0], p[2]);
|
|
52
|
+
this.phi = Math.acos(Math.max(-1, Math.min(1, p[1] / this.radius)));
|
|
53
|
+
}
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public toVec3(): vec3 {
|
|
58
|
+
const sinPhiRadius = Math.sin( this.phi ) * this.radius;
|
|
59
|
+
return vec3.fromValues(sinPhiRadius * Math.sin( this.theta ), Math.cos( this.phi ) * this.radius, sinPhiRadius * Math.cos( this.theta ));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { mat4, vec3 } from 'gl-matrix'
|
|
2
|
+
import { ITriangle } from '../interfaces/ITriangle';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export class Triangle implements ITriangle {
|
|
6
|
+
constructor(
|
|
7
|
+
private _v0: vec3 = vec3.create(),
|
|
8
|
+
private _v1: vec3 = vec3.create(),
|
|
9
|
+
private _v2: vec3 = vec3.create(),
|
|
10
|
+
) { }
|
|
11
|
+
|
|
12
|
+
applyMatrix(matrix: mat4): ITriangle {
|
|
13
|
+
vec3.transformMat4(this._v0, this._v0, matrix);
|
|
14
|
+
vec3.transformMat4(this._v1, this._v1, matrix);
|
|
15
|
+
vec3.transformMat4(this._v2, this._v2, matrix);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
clone(): ITriangle {
|
|
20
|
+
return new Triangle(vec3.clone(this._v0), vec3.clone(this._v1), vec3.clone(this._v2));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Möller–Trumbore intersection algorithm
|
|
24
|
+
intersect(origin: vec3, direction: vec3): vec3 | null {
|
|
25
|
+
const EPSILON = 0.0000001;
|
|
26
|
+
const edge1 = vec3.sub(vec3.create(), this._v1, this._v0);
|
|
27
|
+
const edge2 = vec3.sub(vec3.create(), this._v2, this._v0);
|
|
28
|
+
const h = vec3.cross(vec3.create(), direction, edge2)
|
|
29
|
+
const a = vec3.dot(edge1, h);
|
|
30
|
+
if (a > -EPSILON && a < EPSILON)
|
|
31
|
+
return null; // This ray is parallel to this triangle.
|
|
32
|
+
const f = 1.0 / a;
|
|
33
|
+
const s = vec3.sub(vec3.create(), origin, this._v0);
|
|
34
|
+
const u = f * vec3.dot(s, h);
|
|
35
|
+
if (u < 0.0 || u > 1.0)
|
|
36
|
+
return null;
|
|
37
|
+
const q = vec3.cross(vec3.create(), s, edge1);
|
|
38
|
+
const v = f * vec3.dot(direction, q);
|
|
39
|
+
if (v < 0.0 || u + v > 1.0)
|
|
40
|
+
return null;
|
|
41
|
+
// At this stage we can compute t to find out where the intersection point is on the line.
|
|
42
|
+
const t = f * vec3.dot(edge2, q);
|
|
43
|
+
return t > EPSILON ? vec3.add(vec3.create(), vec3.multiply(vec3.create(), direction, vec3.fromValues(t, t, t)), origin):null;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
reset() {
|
|
47
|
+
this._v0 = vec3.create();
|
|
48
|
+
this._v1 = vec3.create();
|
|
49
|
+
this._v2 = vec3.create();
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Box } from './implementation/Box'
|
|
2
|
+
import { Plane } from './implementation/Plane'
|
|
3
|
+
import { Sphere } from './implementation/Sphere'
|
|
4
|
+
import { Spherical } from './implementation/Spherical'
|
|
5
|
+
import { Triangle } from './implementation/Triangle'
|
|
6
|
+
import { IBox } from './interfaces/IBox'
|
|
7
|
+
import { IGeometry } from './interfaces/IGeometry'
|
|
8
|
+
import { IPlane } from './interfaces/IPlane'
|
|
9
|
+
import { ISphere } from './interfaces/ISphere'
|
|
10
|
+
import { ISpherical } from './interfaces/ISpherical'
|
|
11
|
+
import { ITriangle } from './interfaces/ITriangle'
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
IBox, ISphere, ISpherical, IPlane, ITriangle, IGeometry,
|
|
15
|
+
Box, Sphere, Spherical, Plane, Triangle
|
|
16
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
+
import { IGeometry } from "./IGeometry";
|
|
3
|
+
import { ISphere } from "./ISphere";
|
|
4
|
+
|
|
5
|
+
export interface IBox extends IGeometry {
|
|
6
|
+
// #region Properties (3)
|
|
7
|
+
|
|
8
|
+
boundingSphere: ISphere;
|
|
9
|
+
max: vec3;
|
|
10
|
+
min: vec3;
|
|
11
|
+
|
|
12
|
+
// #endregion Properties (3)
|
|
13
|
+
|
|
14
|
+
// #region Public Methods (7)
|
|
15
|
+
|
|
16
|
+
applyMatrix(matrix: mat4): IBox;
|
|
17
|
+
clampPoint(point: vec3): vec3;
|
|
18
|
+
clone(): IBox;
|
|
19
|
+
containsPoint(point: vec3): boolean;
|
|
20
|
+
intersect(origin: vec3, direction: vec3): number | null;
|
|
21
|
+
isEmpty(): boolean;
|
|
22
|
+
setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array): IBox;
|
|
23
|
+
union(box: IBox): IBox;
|
|
24
|
+
|
|
25
|
+
// #endregion Public Methods (7)
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
+
import { IGeometry } from "./IGeometry";
|
|
3
|
+
|
|
4
|
+
export interface IPlane extends IGeometry {
|
|
5
|
+
// #region Properties (2)
|
|
6
|
+
|
|
7
|
+
constant: number;
|
|
8
|
+
normal: vec3;
|
|
9
|
+
|
|
10
|
+
// #endregion Properties (2)
|
|
11
|
+
|
|
12
|
+
// #region Public Methods (6)
|
|
13
|
+
|
|
14
|
+
applyMatrix(matrix: mat4): IPlane;
|
|
15
|
+
clampPoint(point: vec3): vec3;
|
|
16
|
+
clone(): IPlane;
|
|
17
|
+
containsPoint(point: vec3): boolean;
|
|
18
|
+
distanceToPoint(point: vec3): number;
|
|
19
|
+
intersect(origin: vec3, direction: vec3): number | null;
|
|
20
|
+
setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
|
|
21
|
+
|
|
22
|
+
// #endregion Public Methods (6)
|
|
23
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
+
import { IBox } from "./IBox";
|
|
3
|
+
import { IGeometry } from "./IGeometry";
|
|
4
|
+
|
|
5
|
+
export interface ISphere extends IGeometry {
|
|
6
|
+
// #region Properties (2)
|
|
7
|
+
|
|
8
|
+
center: vec3;
|
|
9
|
+
radius: number;
|
|
10
|
+
|
|
11
|
+
// #endregion Properties (2)
|
|
12
|
+
|
|
13
|
+
// #region Public Methods (4)
|
|
14
|
+
|
|
15
|
+
applyMatrix(matrix: mat4): ISphere;
|
|
16
|
+
clampPoint(point: vec3): vec3;
|
|
17
|
+
clone(): ISphere;
|
|
18
|
+
containsPoint(point: vec3): boolean;
|
|
19
|
+
setFromBox(box: IBox): ISphere;
|
|
20
|
+
|
|
21
|
+
// #endregion Public Methods (4)
|
|
22
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { vec3 } from "gl-matrix";
|
|
2
|
+
|
|
3
|
+
export interface ISpherical {
|
|
4
|
+
// #region Properties (3)
|
|
5
|
+
|
|
6
|
+
phi: number;
|
|
7
|
+
radius: number;
|
|
8
|
+
theta: number;
|
|
9
|
+
|
|
10
|
+
// #endregion Properties (3)
|
|
11
|
+
|
|
12
|
+
// #region Public Methods (3)
|
|
13
|
+
|
|
14
|
+
fromVec3(p: vec3): ISpherical;
|
|
15
|
+
makeSafe(): ISpherical;
|
|
16
|
+
toVec3(): vec3;
|
|
17
|
+
|
|
18
|
+
// #endregion Public Methods (3)
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
+
import { IGeometry } from "./IGeometry";
|
|
3
|
+
|
|
4
|
+
export interface ITriangle extends IGeometry {
|
|
5
|
+
// #region Public Methods (2)
|
|
6
|
+
|
|
7
|
+
applyMatrix(matrix: mat4): IGeometry;
|
|
8
|
+
clone(): ITriangle;
|
|
9
|
+
intersect(origin: vec3, direction: vec3): vec3 | null;
|
|
10
|
+
|
|
11
|
+
// #endregion Public Methods (2)
|
|
12
|
+
}
|
package/tsconfig.json
ADDED
package/dist/Box.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../src/Box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,qBAAa,GAAI,YAAW,SAAS;IAY7B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IAVhB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,oBAAoB,CAE3B;gBAMW,IAAI,GAAE,IAAoD,EAC1D,IAAI,GAAE,IAAuD;IAOlE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAoC9D,IAAW,cAAc,IAAI,MAAM,CAUlC;IAED,IAAW,GAAG,IAAI,IAAI,CAErB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,IAAI,EAEzB;IAED,IAAW,GAAG,IAAI,IAAI,CAErB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,IAAI,EAEzB;IAMM,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG;IAqB9B,KAAK,IAAI,GAAG;IAIZ,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAMnC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO7B,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,GAAG;IAuBjH,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG;IAWpB,OAAO,IAAI,OAAO;CAM5B"}
|
package/dist/Box.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../src/Box.ts"],"names":[],"mappings":"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"}
|
package/dist/IGeometry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IGeometry.d.ts","sourceRoot":"","sources":["../src/IGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAA;AAEtC,MAAM,WAAW,SAAS;IACtB,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC;IACrC,KAAK,IAAI,SAAS,CAAC;CACtB"}
|
package/dist/Plane.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,KAAM,YAAW,SAAS;IAIvB,OAAO,CAAC,OAAO;IAAiC,OAAO,CAAC,SAAS;gBAAzD,OAAO,GAAE,IAA6B,EAAU,SAAS,GAAE,MAAU;IAMzF,IAAW,QAAQ,IAAI,MAAM,CAE/B;IAEE,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEnC;IAEE,IAAW,MAAM,IAAI,IAAI,CAE3B;IAEE,IAAW,MAAM,CAAC,KAAK,EAAE,IAAI,EAE/B;IAMS,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS;IAQpC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAK7B,KAAK,IAAI,SAAS;IAIlB,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAInC,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAIpC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAcvD,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK;CAOzE"}
|
package/dist/Plane.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plane.js","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"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"}
|
package/dist/Sphere.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sphere.d.ts","sourceRoot":"","sources":["../src/Sphere.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,MAAO,YAAW,SAAS;IAIhC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBADP,OAAO,GAAE,IAAoB,EAC7B,OAAO,GAAE,MAAU;IAO/B,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,IAAI,EAE5B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAMM,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAUjC,KAAK,IAAI,MAAM;IAIf,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAInC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAI7B,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;CAQtC"}
|
package/dist/Sphere.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sphere.js","sourceRoot":"","sources":["../src/Sphere.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAKtC,MAAa,MAAM;IACf,2BAA2B;IAE3B,YACY,UAAgB,gBAAI,CAAC,MAAM,EAAE,EAC7B,UAAkB,CAAC;QADnB,YAAO,GAAP,OAAO,CAAsB;QAC7B,YAAO,GAAP,OAAO,CAAY;IAC3B,CAAC;IAEL,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,MAAM,CAAC,KAAW;QACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,MAAM,CAAC,KAAa;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAEtB,WAAW,CAAC,MAAY;QAC3B,IAAI,CAAC,OAAO,GAAG,gBAAI,CAAC,aAAa,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,MAAM,CAAC,gBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAEM,aAAa,CAAC,KAAW;QAC5B,OAAO,CAAC,gBAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,CAAC;IAEM,UAAU,CAAC,KAAW;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAQ;QACtB,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,gBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,gBAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;CAGJ;AA9DD,wBA8DC"}
|
package/dist/Spherical.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Spherical.d.ts","sourceRoot":"","sources":["../src/Spherical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,qBAAa,SAAS;IAEd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;gBAFN,OAAO,GAAE,MAAU,EACnB,IAAI,GAAE,MAAU,EAChB,MAAM,GAAE,MAAU;IAI9B,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAGD,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAE3B;IAGD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAEM,QAAQ;IAKR,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS;IAa5B,MAAM,IAAI,IAAI;CAIxB"}
|