threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
41 lines • 2.51 kB
TypeScript
import { Event, Mesh, Vector3 } from 'three';
import { IMaterial } from '../IMaterial';
import { IObject3D, IObject3DEvent, IObjectProcessor, IObjectSetDirtyOptions } from '../IObject';
import { IGeometry, IGeometryEvent } from '../IGeometry';
import { makeIObject3DUiConfig } from './IObjectUi';
export declare const iObjectCommons: {
setDirty: (this: IObject3D, options?: IObjectSetDirtyOptions) => void;
upgradeObject3D: typeof upgradeObject3D;
makeUiConfig: typeof makeIObject3DUiConfig;
autoCenter: <T extends IObject3D>(this: T, setDirty?: boolean, undo?: boolean) => T;
autoScale: <T extends IObject3D>(this: T, autoScaleRadius?: number, isCentered?: boolean, setDirty?: boolean, undo?: boolean) => T;
pivotToBoundsCenter: <T extends IObject3D>(this: T, setDirty?: boolean) => () => void;
pivotToPoint: <T extends IObject3D>(this: T, point: Vector3, setDirty?: boolean) => () => void;
eventCallbacks: {
onAddedToParent: (this: IObject3D, e: Event) => void;
onRemovedFromParent: (this: IObject3D, e: Event) => void;
onGeometryUpdate: (this: IObject3D, e: IGeometryEvent<"geometryUpdate">) => void;
};
initMaterial: (this: IObject3D) => void;
getMaterial: (this: IObject3D) => IMaterial | IMaterial[] | undefined;
getMaterials: (this: IObject3D) => IMaterial[];
setMaterial: (this: IObject3D, material: IMaterial | IMaterial[] | undefined) => never[] | undefined;
setMaterials: (this: IObject3D, materials: IMaterial[]) => void;
initGeometry: (this: IObject3D) => void;
getGeometry: (this: IObject3D & Mesh) => IGeometry | undefined;
setGeometry: (this: IObject3D & Mesh, geometry: IGeometry | undefined) => void;
refreshUi: (this: IObject3D) => void;
dispatchEvent: (superDispatch: IObject3D["dispatchEvent"]) => (this: IObject3D, event: IObject3DEvent) => void;
clone: (superClone: IObject3D["clone"]) => IObject3D["clone"];
copy: (superCopy: IObject3D["copy"]) => IObject3D["copy"];
add: (superAdd: IObject3D["add"]) => IObject3D["add"];
dispose: (superDispose?: IObject3D["dispose"]) => (this: IObject3D, removeFromParent?: boolean) => void;
};
/**
* Converts three.js Object3D to IObject3D, setup object events, adds utility methods, and runs objectProcessor.
* @param parent
* @param objectProcessor
*/
declare function upgradeObject3D(this: IObject3D, parent?: IObject3D | undefined, objectProcessor?: IObjectProcessor): void;
export {};
//# sourceMappingURL=iObjectCommons.d.ts.map