@realsee/five
Version:
Realsee Renderer SDK
100 lines (99 loc) • 3.48 kB
TypeScript
import type { Five } from '@realsee/five';
import { BasePlugin } from '../BasePlugin';
import * as THREE from 'three';
import type { Object3DHelperEventMap, Object3DHelperState, ObjectHelperControllers, PositionFrom } from './typing';
import type { HelperConfig, HelperOffset, Object3DHelperPluginEventMap, Object3DHelperPluginState } from './typing';
import { Subscribe } from '@realsee/five';
export declare const PLUGIN = "Object3DHelperPlugin";
export type AddObject3DHelperConfig = {
positionFrom?: PositionFrom;
offset?: HelperOffset;
/** Helpers 的世界坐标偏移量 */
helperOffset?: THREE.Vector3;
yAxis?: THREE.Vector3 | (() => THREE.Vector3);
xAxis?: THREE.Vector3 | (() => THREE.Vector3);
zAxis?: THREE.Vector3 | (() => THREE.Vector3);
moveHelper?: HelperConfig<{
xArrowEnable?: boolean;
yArrowEnable?: boolean;
zArrowEnable?: boolean;
}>;
/** 是否展示 MoveHelper 拖拽时的坐标提示,默认 false */
moveHelperTips?: boolean;
rotateHelper?: HelperConfig<{
yzCircleEnable?: boolean;
xzCircleEnable?: boolean;
xyCircleEnable?: boolean;
angleTipsEnable?: boolean;
}>;
boundingBoxHelper?: HelperConfig;
};
export declare class Object3DHelper {
controllers: ObjectHelperControllers;
state: Object3DHelperState;
hooks: Subscribe<Object3DHelperEventMap>;
constructor(controllers?: ObjectHelperControllers);
show(options?: {
userAction?: boolean;
}): void;
hide(options?: {
userAction?: boolean;
}): void;
enable(options?: {
userAction?: boolean;
}): void;
disable(options?: {
userAction?: boolean;
}): void;
dispose(): void;
setState(state: Partial<Object3DHelperState>, _options?: {
userAction?: boolean;
}): void;
addControllers(controllers: ObjectHelperControllers): void;
initialHelperMatrix(): void;
private handleEnable;
private handleVisible;
private handleDispose;
private everyControllerDo;
}
export declare class Controller extends BasePlugin.Controller<Object3DHelperPluginState, Object3DHelperPluginEventMap & BasePlugin.EventMap<Object3DHelperPluginState, any>, any, any> {
name: string;
data?: any;
state: Object3DHelperState;
objectHelperMap: Map<THREE.Object3D, {
helper: Object3DHelper;
disposers: (() => any)[];
helperGroup: THREE.Group;
}>;
constructor(five: Five);
show(options?: {
userAction?: boolean;
}): Promise<void>;
hide(options?: {
userAction?: boolean;
}): Promise<void>;
enable(options?: {
userAction?: boolean;
}): void;
disable(options?: {
userAction?: boolean;
}): void;
dispose(): void;
load(_data: any): Promise<void>;
setState(state: Partial<Object3DHelperState>, options?: {
userAction?: boolean;
} & Record<string, any>): void;
getObject3DHelper(object3D: THREE.Object3D): {
helper: Object3DHelper;
disposers: (() => any)[];
helperGroup: THREE.Group;
} | undefined;
addObject3DHelper(object3D: THREE.Object3D, paramsConfig?: AddObject3DHelperConfig): ObjectHelperControllers | undefined;
removeObject3DHelper(object3D: THREE.Object3D): void;
private handleEnable;
private handleVisible;
private handleDispose;
private everyHelperDo;
private actionIfStateIsEnabled;
private getConfig;
}