Merge pull request #3013 from gyohk/threejs-modification

Added utility classes of three.js (and minor modifications).
This commit is contained in:
Masahiro Wakame
2014-10-27 10:51:44 +09:00
9 changed files with 147 additions and 10 deletions
+32
View File
@@ -0,0 +1,32 @@
// Type definitions for CSS3DRenderer.js
// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/renderers/CSS3DRenderer.js
// Definitions by: Satoru Kimura <https://github.com/gyohk>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
// This renderer does not work in IE. Can be found here for more information.
// https://github.com/mrdoob/three.js/issues/4783
/// <reference path="../three.d.ts" />
declare module THREE {
class CSS3DObject extends Object3D {
constructor(element: any);
element: any;
}
class CSS3DSprite extends CSS3DObject {
constructor(element: any);
}
class CSS3DRenderer {
constructor();
domElement:HTMLElement;
setSize(width: number, height: number): void;
render(scene: THREE.Scene, camera: THREE.Camera): void;
}
}
+16
View File
@@ -0,0 +1,16 @@
// Type definitions for Detector.js
// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/Detector.js
// Definitions by: Satoru Kimura <https://github.com/gyohk>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface DetectorStatic {
canvas: boolean;
webgl: boolean;
workers: boolean;
fileapi: boolean;
getWebGLErrorMessage(): HTMLElement;
addGetWebGLMessage(parameters?: {id?: string; parent?: HTMLElement}): void;
}
declare var Detector: DetectorStatic;
+42
View File
@@ -0,0 +1,42 @@
// Type definitions for OrbitControls.js
// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/controls/OrbitControls.js
// Definitions by: Satoru Kimura <https://github.com/gyohk>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../three.d.ts" />
declare module THREE {
class OrbitControls {
constructor(object:Camera, domElement?:HTMLElement);
object:Camera;
domElement:HTMLElement;
// API
enabled: boolean;
target: THREE.Vector3;
// deprecated
center: THREE.Vector3;
noZoom: boolean;
zoomSpeed: number;
minDistance: number;
maxDistance: number;
noRotate: boolean;
rotateSpeed: number;
noPan: boolean;
keyPanSpeed: number;
autoRotate: boolean;
autoRotateSpeed: number;
minPolarAngle: number;
maxPolarAngle: number;
minAzimuthAngle: number;
maxAzimuthAngle: number;
noKeys: boolean;
keys: { LEFT: number; UP: number; RIGHT: number; BOTTOM: number; };
mouseButtons: { ORBIT: MOUSE; ZOOM: MOUSE; PAN: MOUSE; };
update():void;
}
}
+33
View File
@@ -0,0 +1,33 @@
// Type definitions for TrackballControls.js
// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/controls/TrackballControls.js
// Definitions by: Satoru Kimura <https://github.com/gyohk>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../three.d.ts" />
declare module THREE {
class TrackballControls {
constructor(object:Camera, domElement?:HTMLElement);
object:Camera;
domElement:HTMLElement;
// API
enabled:boolean;
screen:{ left: number; top: number; width: number; height: number };
rotateSpeed:number;
zoomSpeed:number;
panSpeed:number;
noRotate:boolean;
noZoom:boolean;
noPan:boolean;
noRoll:boolean;
staticMoving:boolean;
dynamicDampingFactor:number;
minDistance:number;
maxDistance:number;
keys:number[];
update():void;
}
}
@@ -247,7 +247,6 @@
}
//
renderer = new THREE.CSS3DRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.domElement.style.position = 'absolute';
+10
View File
@@ -0,0 +1,10 @@
/// <reference path="../../three.d.ts" />
/// <reference path="../three-tests-setup.ts" />
() => {
if ( !Detector.canvas || !Detector.webgl || !Detector.workers || !Detector.fileapi ){
var errorElement = Detector.getWebGLErrorMessage();
Detector.addGetWebGLMessage();
}
}
+5 -8
View File
@@ -2,20 +2,18 @@
// https://github.com/mrdoob/three.js/tree/master/examples
//////////////////////////////////////////////////////////////
declare var Stats: any;
declare var Detector: any;
/// <reference path="../../stats/stats.d.ts" />
/// <reference path="../examples/Detector.d.ts" />
/// <reference path="../examples/CSS3DRenderer.d.ts" />
/// <reference path="../examples/OrbitControls.d.ts" />
/// <reference path="../examples/TrackballControls.d.ts" />
declare module THREE {
var AWDLoader: any;
var CSS3DSprite: any;
var CSS3DRenderer: any;
var CSS3DObject: any;
var DotScreenShader: any;
var TrackballControls: any;
var FlyControls: any;
var RenderPass: any;
var EffectComposer: any;
var OrbitControls: any;
var RGBShiftShader: any;
var RenderPass: any;
var BloomPass: any;
@@ -23,4 +21,3 @@ declare module THREE {
var FXAAShader: any;
var CopyShader: any;
}
+2
View File
@@ -57,3 +57,5 @@ THE SOFTWARE.
/// <reference path="./tests/canvas/canvas_materials.ts" />
/// <reference path="./tests/canvas/canvas_particles_floor.ts" />
// examples test.
/// <reference path="./tests/examples/Detector.ts" />
+7 -1
View File
@@ -8,6 +8,12 @@ interface WebGLRenderingContext {}
declare module THREE {
export var REVISION: string;
// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent.button
export enum MOUSE { }
export var LEFT: MOUSE;
export var MIDDLE: MOUSE;
export var RIGHT: MOUSE;
// GL STATE CONSTANTS
export enum CullFace { }
export var CullFaceNone: CullFace;
@@ -923,7 +929,7 @@ declare module THREE {
*/
dispose(): void;
//These properties does not exist in a normal Geometry class, but if you use the instance that was passed by JSONLoader, it will be added.
//These properties do not exist in a normal Geometry class, but if you use the instance that was passed by JSONLoader, it will be added.
bones: Bone[];
animation: AnimationData;
animations: AnimationData[];