soonspacejs
Version:
soonspacejs 2.x
66 lines (65 loc) • 2 kB
TypeScript
import { ColorRepresentation, Object3D } from 'three';
interface Interpolate {
t: number;
}
interface IVector2 {
x: number;
y: number;
}
interface PlaneIVector2 {
x: number;
z: number;
}
interface IVector3 extends IVector2 {
z: number;
}
interface IVector3 extends IVector2 {
z: number;
}
type Position = IVector3;
type Rotation = IVector3;
type Scale = IVector3;
type IColor = ColorRepresentation;
interface Level {
max: number | null;
min: number | null;
}
interface OffsetPoint {
offsetX: number;
offsetY: number;
}
type FlyToViewpoint = 'current' | 'top' | 'bottom' | 'front' | 'back' | 'left' | 'right' | 'frontTop' | 'backTop' | 'leftTop' | 'rightTop' | 'leftFrontTop' | 'rightFrontTop' | 'leftBackTop' | 'rightBackTop';
type AxisType = 'x' | 'y' | 'z';
type SceneEventType = 'hover' | 'click' | 'rightClick' | 'dblClick';
type SceneEventTypeUppercase = 'Hover' | 'Click' | 'RightClick' | 'DblClick';
type PoiType = '2d' | '2D' | '2.5d' | '2.5D' | '3d' | '3D';
type PoiNodeType = PoiType;
interface BaseSelectOptions {
color?: IColor;
opacity?: number;
}
interface BaseObjectInfo {
id: string;
sid?: string;
uuid?: string;
name?: string;
level?: Level;
visible?: boolean;
position?: Position;
rotation?: Rotation;
scale?: Scale;
userData?: any;
extraIds?: string[];
}
interface BaseObject3DInfo extends BaseObjectInfo {
onLoad?: ((object: Object3D) => void) | null;
onClick?: ((object: Object3D) => void) | null;
onDblClick?: ((object: Object3D) => void) | null;
onRightClick?: ((object: Object3D) => void) | null;
}
interface ScaleFixed {
originScale: number;
fixedScale: number;
distance: number;
}
export { Interpolate, IVector2, IVector3, Position, Rotation, Scale, IColor, PlaneIVector2, Level, OffsetPoint, FlyToViewpoint, AxisType, SceneEventType, SceneEventTypeUppercase, PoiType, PoiNodeType, BaseSelectOptions, BaseObject3DInfo, BaseObjectInfo, ScaleFixed, };