@shapediver/viewer.shared.math 3.16.8 → 3.16.9

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.
@@ -1,25 +1,25 @@
1
- import { IBox, ISphere } from "@shapediver/viewer.shared.types";
2
- import { mat4, vec3 } from "gl-matrix";
3
- export declare class Box implements IBox {
4
- private _min;
5
- private _max;
6
- private _boundingSphere;
7
- private _boundingSphereState;
8
- constructor(_min?: vec3, _max?: vec3);
9
- intersect(origin: vec3, direction: vec3): number | null;
10
- intersects(origin: vec3, direction: vec3): boolean;
11
- get boundingSphere(): ISphere;
12
- get max(): vec3;
13
- set max(value: vec3);
14
- get min(): vec3;
15
- set min(value: vec3);
16
- applyMatrix(matrix: mat4): Box;
17
- clone(): IBox;
18
- containsPoint(point: vec3): boolean;
19
- clampPoint(point: vec3): vec3;
20
- setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array, stride?: number, bytes?: number, matrix?: mat4): IBox;
21
- union(box: IBox): IBox;
22
- isEmpty(): boolean;
23
- reset(): void;
24
- }
1
+ import { IBox, ISphere } from "@shapediver/viewer.shared.types";
2
+ import { mat4, vec3 } from "gl-matrix";
3
+ export declare class Box implements IBox {
4
+ private _min;
5
+ private _max;
6
+ private _boundingSphere;
7
+ private _boundingSphereState;
8
+ constructor(_min?: vec3, _max?: vec3);
9
+ intersect(origin: vec3, direction: vec3): number | null;
10
+ intersects(origin: vec3, direction: vec3): boolean;
11
+ get boundingSphere(): ISphere;
12
+ get max(): vec3;
13
+ set max(value: vec3);
14
+ get min(): vec3;
15
+ set min(value: vec3);
16
+ applyMatrix(matrix: mat4): Box;
17
+ clone(): IBox;
18
+ containsPoint(point: vec3): boolean;
19
+ clampPoint(point: vec3): vec3;
20
+ setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array, stride?: number, bytes?: number, matrix?: mat4): IBox;
21
+ union(box: IBox): IBox;
22
+ isEmpty(): boolean;
23
+ reset(): void;
24
+ }
25
25
  //# sourceMappingURL=Box.d.ts.map
@@ -1,201 +1,201 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Box = void 0;
4
- const gl_matrix_1 = require("gl-matrix");
5
- const __1 = require("..");
6
- class Box {
7
- // #endregion Properties (2)
8
- // #region Constructors (1)
9
- constructor(_min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity), _max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity)) {
10
- this._min = _min;
11
- this._max = _max;
12
- // #region Properties (2)
13
- this._boundingSphere = new __1.Sphere();
14
- this._boundingSphereState = {
15
- min: gl_matrix_1.vec3.create(),
16
- max: gl_matrix_1.vec3.create(),
17
- };
18
- }
19
- // #endregion Constructors (1)
20
- // #region Public Accessors (5)
21
- intersect(origin, direction) {
22
- let tmin, tmax, txmin, txmax, tymin, tymax, tzmin, tzmax;
23
- const invdirx = 1 / direction[0], invdiry = 1 / direction[1], invdirz = 1 / direction[2];
24
- txmin =
25
- invdirx >= 0
26
- ? (this.min[0] - origin[0]) * invdirx
27
- : (this.max[0] - origin[0]) * invdirx;
28
- txmax =
29
- invdirx >= 0
30
- ? (this.max[0] - origin[0]) * invdirx
31
- : (this.min[0] - origin[0]) * invdirx;
32
- tmin = txmin;
33
- tmax = txmax;
34
- tymin =
35
- invdiry >= 0
36
- ? (this.min[1] - origin[1]) * invdiry
37
- : (this.max[1] - origin[1]) * invdiry;
38
- tymax =
39
- invdiry >= 0
40
- ? (this.max[1] - origin[1]) * invdiry
41
- : (this.min[1] - origin[1]) * invdiry;
42
- if (tmin > tymax || tymin > tmax)
43
- return null;
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
- if (tymin > tmin || tmin !== tmin)
47
- tmin = tymin;
48
- if (tymax < tmax || tmax !== tmax)
49
- tmax = tymax;
50
- tzmin =
51
- invdirz >= 0
52
- ? (this.min[2] - origin[2]) * invdirz
53
- : (this.max[2] - origin[2]) * invdirz;
54
- tzmax =
55
- invdirz >= 0
56
- ? (this.max[2] - origin[2]) * invdirz
57
- : (this.min[2] - origin[2]) * invdirz;
58
- if (tmin > tzmax || tzmin > tmax)
59
- return null;
60
- if (tzmin > tmin || tmin !== tmin)
61
- tmin = tzmin;
62
- if (tzmax < tmax || tmax !== tmax)
63
- tmax = tzmax;
64
- //return point closest to the ray (positive side)
65
- if (tmax < 0)
66
- return null;
67
- return tmin >= 0 ? tmin : tmax;
68
- }
69
- intersects(origin, direction) {
70
- return this.intersect(origin, direction) === null ? false : true;
71
- }
72
- get boundingSphere() {
73
- if (!(this._boundingSphereState.min[0] === this.min[0] &&
74
- this._boundingSphereState.min[1] === this.min[1] &&
75
- this._boundingSphereState.min[2] === this.min[2] &&
76
- this._boundingSphereState.max[0] === this.max[0] &&
77
- this._boundingSphereState.max[1] === this.max[1] &&
78
- this._boundingSphereState.max[2] === this.max[2])) {
79
- this._boundingSphere.setFromBox(this);
80
- this._boundingSphereState = {
81
- min: gl_matrix_1.vec3.clone(this.min),
82
- max: gl_matrix_1.vec3.clone(this.max),
83
- };
84
- }
85
- return this._boundingSphere;
86
- }
87
- get max() {
88
- return this._max;
89
- }
90
- set max(value) {
91
- this._max = value;
92
- }
93
- get min() {
94
- return this._min;
95
- }
96
- set min(value) {
97
- this._min = value;
98
- }
99
- // #endregion Public Accessors (5)
100
- // #region Public Methods (5)
101
- applyMatrix(matrix) {
102
- const points = [];
103
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.min[2]), matrix));
104
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.max[2]), matrix));
105
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.min[2]), matrix));
106
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.max[2]), matrix));
107
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.min[2]), matrix));
108
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.max[2]), matrix));
109
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.min[2]), matrix));
110
- points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.max[2]), matrix));
111
- this.min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity);
112
- this.max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity);
113
- for (let i = 0, il = points.length; i < il; i++) {
114
- this.min = gl_matrix_1.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]));
115
- this.max = gl_matrix_1.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]));
116
- }
117
- return this;
118
- }
119
- clone() {
120
- return new Box(gl_matrix_1.vec3.clone(this.min), gl_matrix_1.vec3.clone(this.max));
121
- }
122
- containsPoint(point) {
123
- return point[0] < this.min[0] ||
124
- point[0] > this.max[0] ||
125
- point[1] < this.min[1] ||
126
- point[1] > this.max[1] ||
127
- point[2] < this.min[2] ||
128
- point[2] > this.max[2]
129
- ? false
130
- : true;
131
- }
132
- clampPoint(point) {
133
- point[0] = Math.max(this.min[0], Math.min(this.max[0], point[0]));
134
- point[1] = Math.max(this.min[1], Math.min(this.max[1], point[1]));
135
- point[2] = Math.max(this.min[2], Math.min(this.max[2], point[2]));
136
- return point;
137
- }
138
- setFromAttributeArray(array, stride, bytes, matrix) {
139
- const length = Math.floor(array.length / 3) * 3;
140
- const byteStride = stride && stride !== bytes ? +stride : 3;
141
- const min = [Infinity, Infinity, Infinity];
142
- const max = [-Infinity, -Infinity, -Infinity];
143
- let x, y, z;
144
- const point = gl_matrix_1.vec4.create();
145
- for (let i = 0; i < length; i += byteStride) {
146
- if (matrix) {
147
- gl_matrix_1.vec4.transformMat4(point, [array[i], array[i + 1], array[i + 2], 1], matrix);
148
- x = point[0] / point[3];
149
- y = point[1] / point[3];
150
- z = point[2] / point[3];
151
- }
152
- else {
153
- x = array[i];
154
- y = array[i + 1];
155
- z = array[i + 2];
156
- }
157
- min[0] = Math.min(min[0], x);
158
- min[1] = Math.min(min[1], y);
159
- min[2] = Math.min(min[2], z);
160
- max[0] = Math.max(max[0], x);
161
- max[1] = Math.max(max[1], y);
162
- max[2] = Math.max(max[2], z);
163
- }
164
- this.min = gl_matrix_1.vec3.fromValues(min[0], min[1], min[2]);
165
- this.max = gl_matrix_1.vec3.fromValues(max[0], max[1], max[2]);
166
- return this;
167
- }
168
- union(box) {
169
- if (box.min[0] < this.min[0])
170
- this.min[0] = box.min[0];
171
- if (box.min[1] < this.min[1])
172
- this.min[1] = box.min[1];
173
- if (box.min[2] < this.min[2])
174
- this.min[2] = box.min[2];
175
- if (box.max[0] > this.max[0])
176
- this.max[0] = box.max[0];
177
- if (box.max[1] > this.max[1])
178
- this.max[1] = box.max[1];
179
- if (box.max[2] > this.max[2])
180
- this.max[2] = box.max[2];
181
- return this;
182
- }
183
- isEmpty() {
184
- return (this.min[0] === Infinity &&
185
- this.min[1] === Infinity &&
186
- this.min[2] === Infinity &&
187
- this.max[0] === -Infinity &&
188
- this.max[1] === -Infinity &&
189
- this.max[2] === -Infinity);
190
- }
191
- reset() {
192
- gl_matrix_1.vec3.zero(this._boundingSphere.center);
193
- this._boundingSphere.radius = 0;
194
- gl_matrix_1.vec3.zero(this._boundingSphereState.min);
195
- gl_matrix_1.vec3.zero(this._boundingSphereState.max);
196
- gl_matrix_1.vec3.set(this._min, Infinity, Infinity, Infinity);
197
- gl_matrix_1.vec3.set(this._max, -Infinity, -Infinity, -Infinity);
198
- }
199
- }
200
- exports.Box = Box;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Box = void 0;
4
+ const gl_matrix_1 = require("gl-matrix");
5
+ const __1 = require("..");
6
+ class Box {
7
+ // #endregion Properties (2)
8
+ // #region Constructors (1)
9
+ constructor(_min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity), _max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity)) {
10
+ this._min = _min;
11
+ this._max = _max;
12
+ // #region Properties (2)
13
+ this._boundingSphere = new __1.Sphere();
14
+ this._boundingSphereState = {
15
+ min: gl_matrix_1.vec3.create(),
16
+ max: gl_matrix_1.vec3.create(),
17
+ };
18
+ }
19
+ // #endregion Constructors (1)
20
+ // #region Public Accessors (5)
21
+ intersect(origin, direction) {
22
+ let tmin, tmax, txmin, txmax, tymin, tymax, tzmin, tzmax;
23
+ const invdirx = 1 / direction[0], invdiry = 1 / direction[1], invdirz = 1 / direction[2];
24
+ txmin =
25
+ invdirx >= 0
26
+ ? (this.min[0] - origin[0]) * invdirx
27
+ : (this.max[0] - origin[0]) * invdirx;
28
+ txmax =
29
+ invdirx >= 0
30
+ ? (this.max[0] - origin[0]) * invdirx
31
+ : (this.min[0] - origin[0]) * invdirx;
32
+ tmin = txmin;
33
+ tmax = txmax;
34
+ tymin =
35
+ invdiry >= 0
36
+ ? (this.min[1] - origin[1]) * invdiry
37
+ : (this.max[1] - origin[1]) * invdiry;
38
+ tymax =
39
+ invdiry >= 0
40
+ ? (this.max[1] - origin[1]) * invdiry
41
+ : (this.min[1] - origin[1]) * invdiry;
42
+ if (tmin > tymax || tymin > tmax)
43
+ return null;
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
+ if (tymin > tmin || tmin !== tmin)
47
+ tmin = tymin;
48
+ if (tymax < tmax || tmax !== tmax)
49
+ tmax = tymax;
50
+ tzmin =
51
+ invdirz >= 0
52
+ ? (this.min[2] - origin[2]) * invdirz
53
+ : (this.max[2] - origin[2]) * invdirz;
54
+ tzmax =
55
+ invdirz >= 0
56
+ ? (this.max[2] - origin[2]) * invdirz
57
+ : (this.min[2] - origin[2]) * invdirz;
58
+ if (tmin > tzmax || tzmin > tmax)
59
+ return null;
60
+ if (tzmin > tmin || tmin !== tmin)
61
+ tmin = tzmin;
62
+ if (tzmax < tmax || tmax !== tmax)
63
+ tmax = tzmax;
64
+ //return point closest to the ray (positive side)
65
+ if (tmax < 0)
66
+ return null;
67
+ return tmin >= 0 ? tmin : tmax;
68
+ }
69
+ intersects(origin, direction) {
70
+ return this.intersect(origin, direction) === null ? false : true;
71
+ }
72
+ get boundingSphere() {
73
+ if (!(this._boundingSphereState.min[0] === this.min[0] &&
74
+ this._boundingSphereState.min[1] === this.min[1] &&
75
+ this._boundingSphereState.min[2] === this.min[2] &&
76
+ this._boundingSphereState.max[0] === this.max[0] &&
77
+ this._boundingSphereState.max[1] === this.max[1] &&
78
+ this._boundingSphereState.max[2] === this.max[2])) {
79
+ this._boundingSphere.setFromBox(this);
80
+ this._boundingSphereState = {
81
+ min: gl_matrix_1.vec3.clone(this.min),
82
+ max: gl_matrix_1.vec3.clone(this.max),
83
+ };
84
+ }
85
+ return this._boundingSphere;
86
+ }
87
+ get max() {
88
+ return this._max;
89
+ }
90
+ set max(value) {
91
+ this._max = value;
92
+ }
93
+ get min() {
94
+ return this._min;
95
+ }
96
+ set min(value) {
97
+ this._min = value;
98
+ }
99
+ // #endregion Public Accessors (5)
100
+ // #region Public Methods (5)
101
+ applyMatrix(matrix) {
102
+ const points = [];
103
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.min[2]), matrix));
104
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.max[2]), matrix));
105
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.min[2]), matrix));
106
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.max[2]), matrix));
107
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.min[2]), matrix));
108
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.max[2]), matrix));
109
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.min[2]), matrix));
110
+ points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.max[2]), matrix));
111
+ this.min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity);
112
+ this.max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity);
113
+ for (let i = 0, il = points.length; i < il; i++) {
114
+ this.min = gl_matrix_1.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]));
115
+ this.max = gl_matrix_1.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]));
116
+ }
117
+ return this;
118
+ }
119
+ clone() {
120
+ return new Box(gl_matrix_1.vec3.clone(this.min), gl_matrix_1.vec3.clone(this.max));
121
+ }
122
+ containsPoint(point) {
123
+ return point[0] < this.min[0] ||
124
+ point[0] > this.max[0] ||
125
+ point[1] < this.min[1] ||
126
+ point[1] > this.max[1] ||
127
+ point[2] < this.min[2] ||
128
+ point[2] > this.max[2]
129
+ ? false
130
+ : true;
131
+ }
132
+ clampPoint(point) {
133
+ point[0] = Math.max(this.min[0], Math.min(this.max[0], point[0]));
134
+ point[1] = Math.max(this.min[1], Math.min(this.max[1], point[1]));
135
+ point[2] = Math.max(this.min[2], Math.min(this.max[2], point[2]));
136
+ return point;
137
+ }
138
+ setFromAttributeArray(array, stride, bytes, matrix) {
139
+ const length = Math.floor(array.length / 3) * 3;
140
+ const byteStride = stride && stride !== bytes ? +stride : 3;
141
+ const min = [Infinity, Infinity, Infinity];
142
+ const max = [-Infinity, -Infinity, -Infinity];
143
+ let x, y, z;
144
+ const point = gl_matrix_1.vec4.create();
145
+ for (let i = 0; i < length; i += byteStride) {
146
+ if (matrix) {
147
+ gl_matrix_1.vec4.transformMat4(point, [array[i], array[i + 1], array[i + 2], 1], matrix);
148
+ x = point[0] / point[3];
149
+ y = point[1] / point[3];
150
+ z = point[2] / point[3];
151
+ }
152
+ else {
153
+ x = array[i];
154
+ y = array[i + 1];
155
+ z = array[i + 2];
156
+ }
157
+ min[0] = Math.min(min[0], x);
158
+ min[1] = Math.min(min[1], y);
159
+ min[2] = Math.min(min[2], z);
160
+ max[0] = Math.max(max[0], x);
161
+ max[1] = Math.max(max[1], y);
162
+ max[2] = Math.max(max[2], z);
163
+ }
164
+ this.min = gl_matrix_1.vec3.fromValues(min[0], min[1], min[2]);
165
+ this.max = gl_matrix_1.vec3.fromValues(max[0], max[1], max[2]);
166
+ return this;
167
+ }
168
+ union(box) {
169
+ if (box.min[0] < this.min[0])
170
+ this.min[0] = box.min[0];
171
+ if (box.min[1] < this.min[1])
172
+ this.min[1] = box.min[1];
173
+ if (box.min[2] < this.min[2])
174
+ this.min[2] = box.min[2];
175
+ if (box.max[0] > this.max[0])
176
+ this.max[0] = box.max[0];
177
+ if (box.max[1] > this.max[1])
178
+ this.max[1] = box.max[1];
179
+ if (box.max[2] > this.max[2])
180
+ this.max[2] = box.max[2];
181
+ return this;
182
+ }
183
+ isEmpty() {
184
+ return (this.min[0] === Infinity &&
185
+ this.min[1] === Infinity &&
186
+ this.min[2] === Infinity &&
187
+ this.max[0] === -Infinity &&
188
+ this.max[1] === -Infinity &&
189
+ this.max[2] === -Infinity);
190
+ }
191
+ reset() {
192
+ gl_matrix_1.vec3.zero(this._boundingSphere.center);
193
+ this._boundingSphere.radius = 0;
194
+ gl_matrix_1.vec3.zero(this._boundingSphereState.min);
195
+ gl_matrix_1.vec3.zero(this._boundingSphereState.max);
196
+ gl_matrix_1.vec3.set(this._min, Infinity, Infinity, Infinity);
197
+ gl_matrix_1.vec3.set(this._max, -Infinity, -Infinity, -Infinity);
198
+ }
199
+ }
200
+ exports.Box = Box;
201
201
  //# sourceMappingURL=Box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/implementation/Box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/implementation/Box.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,28 @@
1
- import { mat4, vec3 } from "gl-matrix";
2
- import { IPlane } from "@shapediver/viewer.shared.types";
3
- export declare class Plane implements IPlane {
4
- private _vector_u;
5
- private _vector_v;
6
- private _constant;
7
- private _normal;
8
- constructor(_vector_u?: vec3, _vector_v?: vec3, _constant?: number);
9
- get constant(): number;
10
- set constant(value: number);
11
- get normal(): vec3;
12
- set normal(value: vec3);
13
- get vector_u(): vec3;
14
- set vector_u(value: vec3);
15
- get vector_v(): vec3;
16
- set vector_v(value: vec3);
17
- applyMatrix(matrix: mat4): IPlane;
18
- clampPoint(point: vec3): vec3;
19
- clone(): IPlane;
20
- containsPoint(point: vec3): boolean;
21
- convertFromLSToWS(point: vec3): vec3;
22
- convertFromWSToLS(point: vec3, project?: boolean): vec3;
23
- distanceToPoint(point: vec3): number;
24
- intersect(origin: vec3, direction: vec3): number | null;
25
- reset(): void;
26
- setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
27
- }
1
+ import { mat4, vec3 } from "gl-matrix";
2
+ import { IPlane } from "@shapediver/viewer.shared.types";
3
+ export declare class Plane implements IPlane {
4
+ private _vector_u;
5
+ private _vector_v;
6
+ private _constant;
7
+ private _normal;
8
+ constructor(_vector_u?: vec3, _vector_v?: vec3, _constant?: number);
9
+ get constant(): number;
10
+ set constant(value: number);
11
+ get normal(): vec3;
12
+ set normal(value: vec3);
13
+ get vector_u(): vec3;
14
+ set vector_u(value: vec3);
15
+ get vector_v(): vec3;
16
+ set vector_v(value: vec3);
17
+ applyMatrix(matrix: mat4): IPlane;
18
+ clampPoint(point: vec3): vec3;
19
+ clone(): IPlane;
20
+ containsPoint(point: vec3): boolean;
21
+ convertFromLSToWS(point: vec3): vec3;
22
+ convertFromWSToLS(point: vec3, project?: boolean): vec3;
23
+ distanceToPoint(point: vec3): number;
24
+ intersect(origin: vec3, direction: vec3): number | null;
25
+ reset(): void;
26
+ setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
27
+ }
28
28
  //# sourceMappingURL=Plane.d.ts.map