@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
158 lines (157 loc) • 5.34 kB
TypeScript
export function intersectObjectWithRay(object: any, raycaster: any, includeInvisible: any): any;
/**
* This class can be used to transform objects in 3D space by adapting a similar interaction model
* of DCC tools like Blender. Unlike other controls, it is not intended to transform the scene's camera.
*
* `TransformControls` expects that its attached 3D object is part of the scene graph.
*
* @augments Controls
*/
export class TransformControls extends Controls {
_root: TransformControlsRoot;
_gizmo: TransformControlsGizmo;
_plane: TransformControlsPlane;
_doNotPick: boolean;
_offset: Vector3;
_startNorm: Vector3;
_endNorm: Vector3;
_cameraScale: Vector3;
_parentPosition: Vector3;
_parentQuaternion: Quaternion;
_parentQuaternionInv: Quaternion;
_parentScale: Vector3;
_worldScaleStart: Vector3;
_worldQuaternionInv: Quaternion;
_worldScale: Vector3;
_positionStart: Vector3;
_quaternionStart: Quaternion;
_scaleStart: Vector3;
_getPointer: typeof getPointer;
_onPointerDown: typeof onPointerDown;
_onPointerHover: typeof onPointerHover;
_onPointerMove: typeof onPointerMove;
_onPointerUp: typeof onPointerUp;
/**
* Returns the visual representation of the controls. Add the helper to your scene to
* visually transform the attached 3D object.
*
* @return {TransformControlsRoot} The helper.
*/
getHelper(): TransformControlsRoot;
pointerHover(pointer: any): void;
axis: any;
pointerDown(pointer: any): void;
dragging: boolean | undefined;
pointerMove(pointer: any): void;
rotationAngle: any;
pointerUp(pointer: any): void;
/**
* Sets the 3D object that should be transformed and ensures the controls UI is visible.
*
* @param {Object3D} object - The 3D object that should be transformed.
* @return {TransformControls} A reference to this controls.
*/
attach(object: Object3D): TransformControls;
/**
* Removes the current 3D object from the controls and makes the helper UI invisible.
*
* @return {TransformControls} A reference to this controls.
*/
detach(): TransformControls;
/**
* Resets the object's position, rotation and scale to when the current transform began.
*/
reset(): void;
/**
* Returns the raycaster that is used for user interaction. This object is shared between all
* instances of `TransformControls`.
*
* @returns {Raycaster} The internal raycaster.
*/
getRaycaster(): Raycaster;
/**
* Returns the transformation mode.
*
* @returns {'translate'|'rotate'|'scale'} The transformation mode.
*/
getMode(): "translate" | "rotate" | "scale";
/**
* Sets the given transformation mode.
*
* @param {'translate'|'rotate'|'scale'} mode - The transformation mode to set.
*/
setMode(mode: "translate" | "rotate" | "scale"): void;
mode: "translate" | "rotate" | "scale" | undefined;
/**
* Sets the translation snap.
*
* @param {?number} translationSnap - The translation snap to set.
*/
setTranslationSnap(translationSnap: number | null): void;
translationSnap: number | null | undefined;
/**
* Sets the rotation snap.
*
* @param {?number} rotationSnap - The rotation snap to set.
*/
setRotationSnap(rotationSnap: number | null): void;
rotationSnap: number | null | undefined;
/**
* Sets the scale snap.
*
* @param {?number} scaleSnap - The scale snap to set.
*/
setScaleSnap(scaleSnap: number | null): void;
scaleSnap: number | null | undefined;
/**
* Sets the size of the helper UI.
*
* @param {number} size - The size to set.
*/
setSize(size: number): void;
size: number | undefined;
/**
* Sets the coordinate space in which transformations are applied.
*
* @param {'world'|'local'} space - The space to set.
*/
setSpace(space: "world" | "local"): void;
space: "world" | "local" | undefined;
}
export class TransformControlsGizmo extends Object3D<import("three").Event> {
constructor();
isTransformControlsGizmo: boolean;
gizmo: {};
picker: {};
helper: {};
updateMatrixWorld(force: any): void;
}
export class TransformControlsPlane extends Mesh<BufferGeometry, import("three").Material | import("three").Material[]> {
constructor();
isTransformControlsPlane: boolean;
updateMatrixWorld(force: any): void;
}
import { Controls } from './Controls.js';
declare class TransformControlsRoot extends Object3D<import("three").Event> {
constructor(controls: any);
isTransformControlsRoot: boolean;
controls: any;
updateMatrixWorld(force: any): void;
dispose(): void;
}
import { Vector3 } from 'three';
import { Quaternion } from 'three';
declare function getPointer(event: any): {
x: number;
y: number;
button: any;
};
declare function onPointerDown(event: any): void;
declare function onPointerHover(event: any): void;
declare function onPointerMove(event: any): void;
declare function onPointerUp(event: any): void;
import { Object3D } from 'three';
import { Raycaster } from 'three';
import { BufferGeometry } from 'three';
import { Mesh } from 'three';
export {};