useloadpcd
Version:
A .pcd file loader for React with React hooks and Three.js.
84 lines (75 loc) • 1.67 kB
text/typescript
export interface IFeedback {
loading: boolean;
percentage: number;
error: ErrorEvent | null;
}
export interface ICamera {
fov?: number;
aspect?: number;
near?: number;
far?: number;
position?: IPosition;
}
export interface IPosition {
x?: number;
y?: number;
z?: number;
}
export interface IConfig {
particalSize?: number;
particalColor?: string;
backgroundColor?: string;
camera?: ICamera;
windowSize?: IWindow;
controls?: IControls;
}
export interface IControls {
rotateSpeed?: number;
zoomSpeed?: number;
panSpeed?: number;
noZoom?: boolean;
noPan?: boolean;
noRotate?: boolean;
staticMoving?: boolean;
dynamicDampingFactor?: number;
minDistance?: number;
maxDistance?: number;
}
export interface IWindow {
width?: number;
height?: number;
}
export interface ILoadedCamera {
position: {
x: number;
y?: number;
z: number;
};
aspect: number;
far: number;
fov: number;
near: number;
}
export interface ILoadedControls {
rotateSpeed: number;
zoomSpeed: number;
panSpeed: number;
noZoom: boolean;
noPan: boolean;
noRotate: boolean;
staticMoving: boolean;
dynamicDampingFactor: number;
minDistance: number;
maxDistance: number;
}
export interface ILoadedConfig {
camera: ILoadedCamera;
backgroundColor: string;
particalColor: string;
particalSize: number;
windowSize: {
width: number;
height: number;
};
controls: ILoadedControls;
}