@threlte/extras
Version:
Utilities, abstractions and plugins for your Threlte apps
36 lines (35 loc) • 756 B
TypeScript
import type { Quaternion, Group, Vector3, Box3 } from 'three';
import type { Props } from '@threlte/core';
export interface SizeProps {
box: Box3;
size: Vector3;
center: Vector3;
distance: number;
}
export interface Origin {
camPos: Vector3;
camRot: Quaternion;
camZoom: number;
}
export interface Goal {
camPos: Vector3 | undefined;
camRot: Quaternion | undefined;
camZoom: number | undefined;
camUp: Vector3 | undefined;
target: Vector3 | undefined;
}
export interface BoundsProps extends Props<Group> {
/**
* @default false
*/
enabled?: boolean;
/**
* @default 1
*/
margin?: number;
/**
* @default true
*/
animate?: boolean;
onFit?: () => void;
}