From f69d136f061712dc6d983e97d28325610282db78 Mon Sep 17 00:00:00 2001 From: djmisterjon <24865815+djmisterjon@users.noreply.github.com> Date: Sat, 22 Jun 2019 09:33:29 -0400 Subject: [PATCH 1/3] ObservableEuler enumerability cb,scope not enumerable for json --- src/proj3d/ObservableEuler.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/proj3d/ObservableEuler.ts b/src/proj3d/ObservableEuler.ts index fb51ec9..6642498 100644 --- a/src/proj3d/ObservableEuler.ts +++ b/src/proj3d/ObservableEuler.ts @@ -11,6 +11,8 @@ namespace pixi_projection { export class ObservableEuler implements PIXI.PointLike, Euler { constructor(public cb: any, public scope: any, x?: number, y?: number, z?: number) { + Object.defineProperty(this, cb , { enumerable: false }); + Object.defineProperty(this, scope, { enumerable: false }); /** * @member {number} * @default 0 From 23e0ef81f90dc69dcdb1a664b10258b781d368bf Mon Sep 17 00:00:00 2001 From: djmisterjon <24865815+djmisterjon@users.noreply.github.com> Date: Fri, 2 Aug 2019 19:15:35 -0400 Subject: [PATCH 2/3] add more math tool compute distance between 2 3d obj --- src/utils.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/utils.ts b/src/utils.ts index 7e80779..dcf3fbf 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -25,6 +25,19 @@ namespace pixi_projection.utils { return !(v & (v - 1)) && (!!v); } + /** get distance between 2 3d obj */ + export function getDistanceFrom(t1: Container3d,t2:Container3d): {a:number,d:number} { + const p1 = t1.position3d; + const p2 = t2.position3d; + const deltaX = p1.x - p2.x; + const deltaY = p1.y - p2.y; + const deltaZ = p1.z - p2.z; + return { + d:Math.sqrt( deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ ), + a:-Math.atan2(p2.z - p1.z, p2.x - p1.x), + } + } + export function nextPow2(v: number): number { v += +(v === 0); --v; From 749241f5c6c6bf2f64c5c4fe192248d53e0ec328 Mon Sep 17 00:00:00 2001 From: djmisterjon <24865815+djmisterjon@users.noreply.github.com> Date: Fri, 2 Aug 2019 19:17:23 -0400 Subject: [PATCH 3/3] Revert "ObservableEuler enumerability" This reverts commit f69d136f061712dc6d983e97d28325610282db78. --- src/proj3d/ObservableEuler.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/proj3d/ObservableEuler.ts b/src/proj3d/ObservableEuler.ts index 6642498..fb51ec9 100644 --- a/src/proj3d/ObservableEuler.ts +++ b/src/proj3d/ObservableEuler.ts @@ -11,8 +11,6 @@ namespace pixi_projection { export class ObservableEuler implements PIXI.PointLike, Euler { constructor(public cb: any, public scope: any, x?: number, y?: number, z?: number) { - Object.defineProperty(this, cb , { enumerable: false }); - Object.defineProperty(this, scope, { enumerable: false }); /** * @member {number} * @default 0