@realsee/dnalogel
Version:
68 lines (67 loc) • 1.93 kB
TypeScript
import * as THREE from 'three';
import type { Object3D } from 'three';
import { RotateHelperAbstract } from '../Base/BaseHelper';
import type { Color, Direction } from '../typings';
import { tipsDom } from './HTML/tipsDom';
export declare class RotateHelper extends RotateHelperAbstract {
xCircle?: RotateCircleGroup;
yCircle?: RotateCircleGroup;
zCircle?: RotateCircleGroup;
children: RotateCircleGroup[];
angleTips?: ReturnType<typeof tipsDom>;
private container?;
constructor(originObject3D: Object3D, config?: {
container?: HTMLElement;
yzCircleEnable?: boolean;
xzCircleEnable?: boolean;
xyCircleEnable?: boolean;
angleTipsEnable?: boolean;
});
hide(): void;
show(): void;
showDraggingHelper(directions: Direction[]): void;
dispose(): void;
}
declare class RotateCircleGroup extends THREE.Group {
direction: Direction;
/** 1/4 圆 */
circle: Circle;
/** 旋转过程中展示的背景圆环 */
ring: DashedRing;
/** 旋转过程中表示角度的扇形 */
angleSector: AngleSector;
constructor(options: {
direction: Direction;
color?: Color;
});
showCircle(): void;
showRing(): void;
hide(): void;
}
declare class Circle extends THREE.Mesh {
direction: Direction;
material: THREE.MeshBasicMaterial;
gapAngle: number;
geometry: THREE.RingGeometry;
constructor(options: {
direction: Direction;
color?: Color;
});
}
declare class DashedRing extends THREE.Group {
direction: Readonly<Direction>;
constructor(options: {
direction: Direction;
});
}
declare class AngleSector extends THREE.Mesh {
direction: Direction;
baseAxes: THREE.Vector3;
angleDirection: 1 | -1;
material: THREE.MeshBasicMaterial;
constructor(options: {
direction: Direction;
color?: Color;
});
}
export {};