@shapediver/viewer.shared.math
Advanced tools
@@ -0,3 +1,3 @@ | ||
| import { IPlane } from '../interfaces/IPlane'; | ||
| import { mat4, vec3 } from 'gl-matrix'; | ||
| import { IPlane } from '../interfaces/IPlane'; | ||
| export declare class Plane implements IPlane { | ||
@@ -17,5 +17,5 @@ private _normal; | ||
| intersect(origin: vec3, direction: vec3): number | null; | ||
| reset(): void; | ||
| setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane; | ||
| reset(): void; | ||
| } | ||
| //# sourceMappingURL=Plane.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../../src/implementation/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,qBAAa,KAAM,YAAW,MAAM;IAIpB,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,MAAM;IAQjC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAK7B,KAAK,IAAI,MAAM;IAIf,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,MAAM;IAMhE,KAAK;CAMf"} | ||
| {"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../../src/implementation/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,KAAM,YAAW,MAAM;IAGpB,OAAO,CAAC,OAAO;IAAmC,OAAO,CAAC,SAAS;gBAA3D,OAAO,GAAE,IAA+B,EAAU,SAAS,GAAE,MAAU;IAM3F,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,IAAI,EAE5B;IAMM,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAUjC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAK7B,KAAK,IAAI,MAAM;IAIf,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,KAAK;IAKL,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;CAO1E"} |
@@ -12,3 +12,3 @@ "use strict"; | ||
| // #endregion Constructors (1) | ||
| // #region Public Accessors (4) | ||
| // #region Public Getters And Setters (4) | ||
| get constant() { | ||
@@ -26,6 +26,9 @@ return this._constant; | ||
| } | ||
| // #endregion Public Accessors (4) | ||
| // #region Public Methods (7) | ||
| // #endregion Public Getters And Setters (4) | ||
| // #region Public Methods (8) | ||
| applyMatrix(matrix) { | ||
| const normalMatrix = gl_matrix_1.mat3.transpose(gl_matrix_1.mat3.create(), gl_matrix_1.mat3.invert(gl_matrix_1.mat3.create(), gl_matrix_1.mat3.fromMat4(gl_matrix_1.mat3.create(), matrix))); | ||
| let inverse = gl_matrix_1.mat3.invert(gl_matrix_1.mat3.create(), gl_matrix_1.mat3.fromMat4(gl_matrix_1.mat3.create(), matrix)); | ||
| if (!inverse) | ||
| inverse = gl_matrix_1.mat3.create(); | ||
| const normalMatrix = gl_matrix_1.mat3.transpose(gl_matrix_1.mat3.create(), inverse); | ||
| const p = gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.multiply(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.clone(this.normal), gl_matrix_1.vec3.fromValues(this._constant, this._constant, this._constant)), matrix); | ||
@@ -63,2 +66,6 @@ this._normal = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.transformMat3(gl_matrix_1.vec3.create(), this._normal, normalMatrix)); | ||
| } | ||
| reset() { | ||
| this._normal = gl_matrix_1.vec3.fromValues(1, 0, 0); | ||
| this._constant = 0; | ||
| } | ||
| setFromNormalAndCoplanarPoint(normal, point) { | ||
@@ -69,8 +76,4 @@ gl_matrix_1.vec3.copy(this.normal, normal); | ||
| } | ||
| reset() { | ||
| this._normal = gl_matrix_1.vec3.fromValues(1, 0, 0); | ||
| this._constant = 0; | ||
| } | ||
| } | ||
| exports.Plane = Plane; | ||
| //# sourceMappingURL=Plane.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Plane.js","sourceRoot":"","sources":["../../src/implementation/Plane.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"Plane.js","sourceRoot":"","sources":["../../src/implementation/Plane.ts"],"names":[],"mappings":";;;AACA,yCAA6C;AAE7C,MAAa,KAAK;IACd,2BAA2B;IAE3B,YAAoB,UAAgB,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,YAAoB,CAAC;QAAvE,YAAO,GAAP,OAAO,CAAiC;QAAU,cAAS,GAAT,SAAS,CAAY;IAAI,CAAC;IAEhG,8BAA8B;IAE9B,yCAAyC;IAEzC,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,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,4CAA4C;IAE5C,6BAA6B;IAEtB,WAAW,CAAC,MAAY;QAC3B,IAAI,OAAO,GAAG,gBAAI,CAAC,MAAM,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,gBAAI,CAAC,aAAa,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5K,IAAI,CAAC,OAAO,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,aAAa,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,QAAQ,GAAG,CAAC,gBAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,KAAW;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/G,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEM,aAAa,CAAC,KAAW;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEM,eAAe,CAAC,KAAW;QAC9B,OAAO,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACxD,CAAC;IAEM,SAAS,CAAC,MAAY,EAAE,SAAe;QAC1C,MAAM,WAAW,GAAG,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,CAAC,EAAE;YACnB,kCAAkC;YAClC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YACjD,4EAA4E;YAC5E,OAAO,IAAI,CAAC;SACf;QACD,MAAM,CAAC,GAAG,CAAE,CAAC,gBAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvB,OAAO,CAAC,CAAC,CAAC,mGAAmG;IACjH,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,OAAO,GAAG,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,6BAA6B,CAAC,MAAY,EAAE,KAAW;QAC1D,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,gBAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;CAGJ;AAlFD,sBAkFC"} |
+3
-3
| { | ||
| "name": "@shapediver/viewer.shared.math", | ||
| "version": "3.1.2", | ||
| "version": "3.2.0", | ||
| "description": "", | ||
@@ -42,6 +42,6 @@ "keywords": [], | ||
| "dependencies": { | ||
| "@shapediver/viewer.shared.services": "3.1.2", | ||
| "@shapediver/viewer.shared.services": "3.2.0", | ||
| "gl-matrix": "3.3.0" | ||
| }, | ||
| "gitHead": "b777b52622744784ca90b32c2008f24653e57c76" | ||
| "gitHead": "36007f976342f0390133d7e5cecf4ebf79905c8a" | ||
| } |
@@ -1,41 +0,41 @@ | ||
| import { mat3, mat4, vec3 } from 'gl-matrix' | ||
| import { IPlane } from '../interfaces/IPlane'; | ||
| import { mat3, mat4, vec3 } from 'gl-matrix'; | ||
| export class Plane implements IPlane { | ||
| // #region Constructors (1) | ||
| constructor(private _normal: vec3 = vec3.fromValues(1,0,0), private _constant: number = 0) {} | ||
| constructor(private _normal: vec3 = vec3.fromValues(1, 0, 0), private _constant: number = 0) { } | ||
| // #endregion Constructors (1) | ||
| // #region Public Accessors (4) | ||
| // #region Public Getters And Setters (4) | ||
| public get constant(): number { | ||
| return this._constant; | ||
| } | ||
| return this._constant; | ||
| } | ||
| public set constant(value: number) { | ||
| this._constant = value; | ||
| } | ||
| this._constant = value; | ||
| } | ||
| public get normal(): vec3 { | ||
| return this._normal; | ||
| } | ||
| return this._normal; | ||
| } | ||
| public set normal(value: vec3) { | ||
| this._normal = value; | ||
| } | ||
| this._normal = value; | ||
| } | ||
| // #endregion Public Accessors (4) | ||
| // #endregion Public Getters And Setters (4) | ||
| // #region Public Methods (7) | ||
| // #region Public Methods (8) | ||
| public applyMatrix(matrix: mat4): IPlane { | ||
| const normalMatrix = mat3.transpose(mat3.create(), mat3.invert(mat3.create(), mat3.fromMat4(mat3.create(), matrix))) | ||
| const p = vec3.transformMat4(vec3.create(), vec3.multiply(vec3.create(), vec3.clone(this.normal), vec3.fromValues(this._constant, this._constant, this._constant)), matrix) | ||
| let inverse = mat3.invert(mat3.create(), mat3.fromMat4(mat3.create(), matrix)); | ||
| if (!inverse) inverse = mat3.create(); | ||
| const normalMatrix = mat3.transpose(mat3.create(), inverse); | ||
| const p = vec3.transformMat4(vec3.create(), vec3.multiply(vec3.create(), vec3.clone(this.normal), vec3.fromValues(this._constant, this._constant, this._constant)), matrix); | ||
| this._normal = vec3.normalize(vec3.create(), vec3.transformMat3(vec3.create(), this._normal, normalMatrix)); | ||
| this.constant = -vec3.dot(p, this._normal); | ||
| return this; | ||
| this.constant = -vec3.dot(p, this._normal); | ||
| return this; | ||
| } | ||
@@ -53,3 +53,3 @@ | ||
| public containsPoint(point: vec3): boolean { | ||
| return this.distanceToPoint(point) === 0; | ||
| return this.distanceToPoint(point) === 0; | ||
| } | ||
@@ -62,11 +62,11 @@ | ||
| public intersect(origin: vec3, direction: vec3): number | null { | ||
| const denominator = vec3.dot(this.normal, direction); | ||
| if (denominator === 0) { | ||
| // line is coplanar, return origin | ||
| if (this.distanceToPoint( origin ) === 0) return 0; | ||
| // Null is preferable to undefined since undefined means.... it is undefined | ||
| return null; | ||
| } | ||
| const t = - (vec3.dot(origin, this.normal) + this.constant) / denominator; | ||
| if ( t < 0 ) return null; | ||
| const denominator = vec3.dot(this.normal, direction); | ||
| if (denominator === 0) { | ||
| // line is coplanar, return origin | ||
| if (this.distanceToPoint(origin) === 0) return 0; | ||
| // Null is preferable to undefined since undefined means.... it is undefined | ||
| return null; | ||
| } | ||
| const t = - (vec3.dot(origin, this.normal) + this.constant) / denominator; | ||
| if (t < 0) return null; | ||
@@ -76,14 +76,14 @@ return t; //vec3.add(vec3.create(), vec3.multiply(vec3.create(), direction, vec3.fromValues(t,t,t)), origin); | ||
| public reset() { | ||
| this._normal = vec3.fromValues(1, 0, 0); | ||
| this._constant = 0; | ||
| } | ||
| public setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane { | ||
| vec3.copy(this.normal, normal); | ||
| this.constant = -vec3.dot(point, this.normal); | ||
| return this; | ||
| this.constant = -vec3.dot(point, this.normal); | ||
| return this; | ||
| } | ||
| public reset() { | ||
| this._normal = vec3.fromValues(1,0,0); | ||
| this._constant = 0; | ||
| } | ||
| // #endregion Public Methods (7) | ||
| // #endregion Public Methods (8) | ||
| } |
87319
0.51%1117
0.45%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed