@matematrolii/sketchbook
Version:
3D matematrolii playground built on three.js and cannon.js
50 lines (49 loc) • 2.12 kB
TypeScript
import * as THREE from 'three';
import * as CANNON from 'cannon';
import { VectorSpringSimulator } from '../physics/spring_simulation/VectorSpringSimulator';
import { RelativeSpringSimulator } from '../physics/spring_simulation/RelativeSpringSimulator';
import { World } from '../world/World';
import { IWorldEntity } from '../interfaces/IWorldEntity';
import { CapsuleCollider } from '../physics/colliders/CapsuleCollider';
import { EntityType } from '../enums/EntityType';
export declare class Item extends THREE.Object3D implements IWorldEntity {
updateOrder: number;
entityType: EntityType;
height: number;
tiltContainer: THREE.Group;
modelContainer: THREE.Group;
materials: THREE.Material[];
velocity: THREE.Vector3;
arcadeVelocityInfluence: THREE.Vector3;
velocityTarget: THREE.Vector3;
arcadeVelocityIsAdditive: boolean;
defaultVelocitySimulatorDamping: number;
defaultVelocitySimulatorMass: number;
velocitySimulator: VectorSpringSimulator;
moveSpeed: number;
orientation: THREE.Vector3;
orientationTarget: THREE.Vector3;
defaultRotationSimulatorDamping: number;
defaultRotationSimulatorMass: number;
rotationSimulator: RelativeSpringSimulator;
viewVector: THREE.Vector3;
itemBox: CapsuleCollider;
world: World;
isPicked: boolean;
private physicsEnabled;
private gltf;
constructor(gltf: any, texture: string);
setArcadeVelocityInfluence(x: number, y?: number, z?: number): void;
setViewVector(vector: THREE.Vector3): void;
setPosition(x: number, y: number, z: number): void;
resetVelocity(): void;
setArcadeVelocityTarget(velZ: number, velX?: number, velY?: number): void;
setOrientation(vector: THREE.Vector3, instantly?: boolean): void;
setPhysicsEnabled(value: boolean): void;
readItemData(gltf: any, textureUrl: string): void;
update(timeStep: number): void;
physicsPreStep(body: CANNON.Body, character: Item): void;
physicsPostStep(body: CANNON.Body, character: Item): void;
addToWorld(world: World): void;
removeFromWorld(world: World): void;
}