mirror of
https://github.com/WhitestormJS/whs.js.git
synced 2026-02-01 16:57:32 +00:00
commit
b13bb983dd
22
types/components/cameras/CubeCamera.d.ts
vendored
Normal file
22
types/components/cameras/CubeCamera.d.ts
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
import {
|
||||
CameraComponent,
|
||||
CameraComponentParams
|
||||
} from '../../core';
|
||||
|
||||
import {CubeCamera as CubeCameraNative} from 'three';
|
||||
|
||||
interface CubeCameraParams extends CameraComponentParams {
|
||||
near?: number,
|
||||
far?: number,
|
||||
cubeResolution?: number
|
||||
}
|
||||
|
||||
export class CubeCamera extends CameraComponent {
|
||||
|
||||
/**
|
||||
* @param params
|
||||
*/
|
||||
constructor(params?: CubeCameraParams);
|
||||
|
||||
build(): CubeCameraNative;
|
||||
}
|
||||
25
types/components/cameras/OrthographicCamera.d.ts
vendored
Normal file
25
types/components/cameras/OrthographicCamera.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
import {
|
||||
CameraComponent,
|
||||
CameraComponentParams
|
||||
} from '../../core';
|
||||
|
||||
import {OrthographicCamera as OrthographicCameraNative} from 'three';
|
||||
|
||||
interface OrthographicCameraParams extends CameraComponentParams {
|
||||
near?: number,
|
||||
far?: number,
|
||||
left?: number,
|
||||
right?: number,
|
||||
top?: number,
|
||||
bottom?: number
|
||||
}
|
||||
|
||||
export class OrthographicCamera extends CameraComponent {
|
||||
|
||||
/**
|
||||
* @param params
|
||||
*/
|
||||
constructor(params?: OrthographicCameraParams);
|
||||
|
||||
build(): OrthographicCameraNative;
|
||||
}
|
||||
23
types/components/cameras/PerspectiveCamera.d.ts
vendored
Normal file
23
types/components/cameras/PerspectiveCamera.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
import {
|
||||
CameraComponent,
|
||||
CameraComponentParams
|
||||
} from '../../core';
|
||||
|
||||
import {PerspectiveCamera as PerspectiveCameraNative} from 'three';
|
||||
|
||||
interface PerspectiveCameraParams extends CameraComponentParams {
|
||||
near?: number,
|
||||
far?: number,
|
||||
fov?: number,
|
||||
aspect?: number
|
||||
}
|
||||
|
||||
export class PerspectiveCamera extends CameraComponent {
|
||||
|
||||
/**
|
||||
* @param params
|
||||
*/
|
||||
constructor(params?: PerspectiveCameraParams);
|
||||
|
||||
build(): PerspectiveCameraNative;
|
||||
}
|
||||
1
types/components/cameras/index.d.ts
vendored
Normal file
1
types/components/cameras/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export * from './CubeCamera';
|
||||
1
types/components/index.d.ts
vendored
1
types/components/index.d.ts
vendored
@ -1 +1,2 @@
|
||||
export * from './meshes';
|
||||
export * from './cameras';
|
||||
|
||||
43
types/core/CameraComponent.d.ts
vendored
43
types/core/CameraComponent.d.ts
vendored
@ -1,45 +1,34 @@
|
||||
import {Component} from './Component';
|
||||
import {CompositionError} from '../core'
|
||||
|
||||
export interface defaults {
|
||||
build: true;
|
||||
export interface CameraComponentParams {
|
||||
build?: boolean;
|
||||
|
||||
position: {
|
||||
x: 0,
|
||||
y: 0,
|
||||
z: 0
|
||||
position?: {
|
||||
x?: number,
|
||||
y?: number,
|
||||
z?: number
|
||||
};
|
||||
|
||||
rotation: {
|
||||
x: 0,
|
||||
y: 0,
|
||||
z: 0
|
||||
rotation?: {
|
||||
x?: number,
|
||||
y?: number,
|
||||
z?: number
|
||||
};
|
||||
}
|
||||
|
||||
export class CameraComponent extends Component {
|
||||
/*
|
||||
* Creates a new CameraComponent
|
||||
* TODO define params & instuctions interface
|
||||
* TODO define instuctions interface
|
||||
*/
|
||||
constructor(params?: object, defaults?: defaults, instructions?: object);
|
||||
constructor(params?: CameraComponentParams, defaults?: CameraComponentParams, instructions?: object);
|
||||
|
||||
/*
|
||||
* TODO
|
||||
*/
|
||||
build(): Error;
|
||||
build(): CompositionError;
|
||||
|
||||
/*
|
||||
* TODO
|
||||
*/
|
||||
wrap(): any;
|
||||
wrap(): Promise<CameraComponent>;
|
||||
|
||||
/*
|
||||
* TODO
|
||||
*/
|
||||
copy(source: Component): CameraComponent;
|
||||
copy(source: CameraComponent): CameraComponent;
|
||||
|
||||
/*
|
||||
* TODO
|
||||
*/
|
||||
clone(): CameraComponent;
|
||||
}
|
||||
|
||||
8
types/core/Component.d.ts
vendored
8
types/core/Component.d.ts
vendored
@ -1,10 +1,6 @@
|
||||
import {ModuleSystem} from './ModuleSystem';
|
||||
import {App} from './App';
|
||||
|
||||
export class AddPromise {
|
||||
// TODO
|
||||
}
|
||||
|
||||
export class Component extends ModuleSystem {
|
||||
/**
|
||||
*
|
||||
@ -16,12 +12,12 @@ export class Component extends ModuleSystem {
|
||||
* Notes: As we work in 3D space - we have an App and objects it contains.
|
||||
* The App is the parent, objects are its children.
|
||||
*/
|
||||
addTo(parent: App): AddPromise;
|
||||
addTo(parent: App): Promise<Component>;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
add(object: object): AddPromise;
|
||||
add(object: object): Promise<Component>;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
|
||||
@ -8,7 +8,13 @@ import {
|
||||
} from "./core";
|
||||
import {MeshStandardMaterial} from 'three';
|
||||
|
||||
import {Box, Sphere} from './components';
|
||||
import {
|
||||
Box,
|
||||
Sphere,
|
||||
CubeCamera,
|
||||
OrthographicCamera,
|
||||
PerspectiveCamera
|
||||
} from './components';
|
||||
|
||||
const app = new App();
|
||||
app.start();
|
||||
@ -65,3 +71,26 @@ const sphere = new Sphere({
|
||||
material: new MeshStandardMaterial()
|
||||
});
|
||||
sphere.addTo(app);
|
||||
|
||||
const cubeCamera = new CubeCamera({
|
||||
build: false,
|
||||
|
||||
position: {
|
||||
x: 1,
|
||||
y: 10,
|
||||
z: 0
|
||||
}
|
||||
});
|
||||
const nativeCubeCamera = cubeCamera.build();
|
||||
|
||||
const orthographicCamera = new OrthographicCamera({
|
||||
build: false,
|
||||
far: 100
|
||||
});
|
||||
const orthographicCameraNative = orthographicCamera.build();
|
||||
|
||||
const perspectiveCamera = new PerspectiveCamera({
|
||||
build: false,
|
||||
far: 100
|
||||
});
|
||||
const perspectiveCameraNative = orthographicCamera.build();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user