From b9e1f8fedb32bade37fc5efb42401666cbd418a7 Mon Sep 17 00:00:00 2001 From: Chunlei Hou Date: Tue, 7 Feb 2017 22:13:43 +0800 Subject: [PATCH] add three-octree.d.ts and three-ctmloader.d.ts --- three/index.d.ts | 8 ++++-- three/test/examples/ctm/ctmloader.ts | 7 +++++ three/test/examples/octree.ts | 11 ++++++++ three/three-ctmloader.d.ts | 36 ++++++++++++++++++++++++ three/three-octree.d.ts | 42 ++++++++++++++++++++++++++++ 5 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 three/test/examples/ctm/ctmloader.ts create mode 100644 three/test/examples/octree.ts create mode 100644 three/three-ctmloader.d.ts create mode 100644 three/three-octree.d.ts diff --git a/three/index.d.ts b/three/index.d.ts index b4b4995ee8..35149e1d8f 100644 --- a/three/index.d.ts +++ b/three/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for three.js 0.83 // Project: http://mrdoob.github.com/three.js/ -// Definitions by: Kon , Satoru Kimura , Florent Poujol , SereznoKot +// Definitions by: Kon , Satoru Kimura , Florent Poujol , SereznoKot , HouChunlei // Definitions: https://github.com/borisyankov/DefinitelyTyped /// @@ -20,6 +20,8 @@ /// /// /// +/// +/// declare namespace THREE { export const REVISION: string; @@ -1996,7 +1998,7 @@ declare namespace THREE { mimeType: MimeType; path: string; responseType: string; - withCredentials: string + withCredentials: string load(url: string, onLoad?: (responseText: string) => void, onProgress?: (request: ProgressEvent) => void, onError?:(event: ErrorEvent) => void): any; setMimeType(mimeType: MimeType): FileLoader; @@ -3589,7 +3591,7 @@ declare namespace THREE { radius: number; phi: number; theta: number; - + set(radius: number, phi: number, theta: number): Spherical; clone(): this; copy(other: this): this; diff --git a/three/test/examples/ctm/ctmloader.ts b/three/test/examples/ctm/ctmloader.ts new file mode 100644 index 0000000000..e35cffb6a4 --- /dev/null +++ b/three/test/examples/ctm/ctmloader.ts @@ -0,0 +1,7 @@ +/// + +let _ctmloader = new THREE.CTMLoader(); +_ctmloader.load('https://github.com/mrdoob/three.js/blob/master/examples/models/ctm/ben.ctm', (geo: any) => { + console.log(geo.position); +}); + diff --git a/three/test/examples/octree.ts b/three/test/examples/octree.ts new file mode 100644 index 0000000000..de7de86ac7 --- /dev/null +++ b/three/test/examples/octree.ts @@ -0,0 +1,11 @@ +/// + +let _octree = new THREE.Octree({ + underferred: false, + depthMax: Infinity, + objectsThreshold: 8, + overlapPct: 0.15, +}); + +console.log(_octree.getDepthEnd()); + diff --git a/three/three-ctmloader.d.ts b/three/three-ctmloader.d.ts new file mode 100644 index 0000000000..276f14b6a3 --- /dev/null +++ b/three/three-ctmloader.d.ts @@ -0,0 +1,36 @@ +// Type definitions for three.js (CTMLoader.js) +// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/ctm/CTMLoader.js +// Definitions by: Hou Chunlei +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace THREE { + export class CTMLoader extends THREE.Loader { + constructor(); + + /** + * load multiple CTM parts defined in JSON. + * @param url(required) + * @param callback(required) + * @param parameters + */ + loadParts(url: string, callback: () => any, parameters?: any): any; + + /** + * Load CTMLoader compressed models + * @param url(required) + * @param callback(required) + * @param parameters + */ + load(url: string, callback: () => any, parameters?: any): any; + + /** + * create buffergeometry by ctm file. + * @param file(required) + * @param callback(required) + */ + createModel(file: string, callback: () => any): any; + + } +} diff --git a/three/three-octree.d.ts b/three/three-octree.d.ts new file mode 100644 index 0000000000..3ce479e81f --- /dev/null +++ b/three/three-octree.d.ts @@ -0,0 +1,42 @@ +// Type definitions for three.js (Octree.js) +// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/Octree.js +// Definitions by: Hou Chunlei +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace THREE { + export class Octree { + constructor(parameters?: any); + + update(): void; + + add(object: any, options?: any): any; + + addDeferred(object: any, options?: any): any; + + addObjectData(object: any, part: any): any; + + remove(object: any): any; + + extend(octree: Octree): any; + + rebuild(): any; + + updateObject(object: any): any; + + search(position: THREE.Vector3, radius: number, organizeByObject: boolean, direction: THREE.Vector3): any; + + setRoot(root: any): any; + + getDepthEnd(): number; + + getNodeCountEnd(): number; + + getObjectCountEnd(): number; + + toConsole(): any; + + + } +}