From 98dabd8fec5d2930add944997577a5f702013736 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 16 Apr 2016 06:41:19 +0200 Subject: atleast got typescript working --- Morph.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Morph.ts (limited to 'Morph.ts') diff --git a/Morph.ts b/Morph.ts new file mode 100644 index 0000000..f97ea5c --- /dev/null +++ b/Morph.ts @@ -0,0 +1,43 @@ +/// +/// + +export class Morph extends Physijs.Mesh { + faces:number; + //TODO, probelm s tym ze ked extendujem Mesh, tak sa nedostanem k Geometry ale iba k BufferGeometry + + constructor(numFaces:number, material:THREE.Material, mass:number) { + let geometry = Morph.generateGeometry(numFaces); + super(geometry, material, mass); + } + + static generateGeometry(numFaces:number):THREE.Geometry { + if (numFaces == 4) { + return new THREE.TetrahedronGeometry(); + } else if (numFaces == 6) { + return new THREE.BoxGeometry(1, 1, 1, 2, 2, 2); + } else if (numFaces == 12) { + return new THREE.DodecahedronGeometry(1, 0); + } else if (numFaces == 20) { + return new THREE.IcosahedronGeometry(1, 0); + } + return null; + } + + private updateGeometry(numFaces:number) { + this.faces = numFaces; + this.geometry = Morph.generateGeometry(this.faces); + } + + shrink(numFaces:number):void { + this.updateGeometry(this.faces - numFaces); + } + + grow(numFaces:number):void { + this.updateGeometry(this.faces + numFaces); + } + + wobble():void { + + } + +} \ No newline at end of file -- cgit v1.2.3-70-g09d2