import { Mesh, Nullable, Scene, StandardMaterial, Vector3 } from "@babylonjs/core"; import { Vector4 } from "@babylonjs/core/Maths"; import { NormalizedLandmark, NormalizedLandmarkList } from "@mediapipe/holistic"; import { CloneableQuaternion, CloneableQuaternionList } from "./quaternion"; type createSphereOptions = { segments?: number; diameter?: number; diameterX?: number; diameterY?: number; diameterZ?: number; arc?: number; slice?: number; sideOrientation?: number; frontUVs?: Vector4; backUVs?: Vector4; updatable?: boolean; }; export declare class Arrow3D { private scene; private readonly myShape; private readonly myPath; private arrowInstance; private _arrowRadius; get arrowRadius(): number; set arrowRadius(value: number); private _n; get n(): number; set n(value: number); private _arrowHeadLength; get arrowHeadLength(): number; set arrowHeadLength(value: number); private _arrowHeadMaxSize; get arrowStart(): Vector3; set arrowStart(value: Vector3); private _arrowLength; get arrowLength(): number; set arrowLength(value: number); private _arrowStart; get arrowHeadMaxSize(): number; set arrowHeadMaxSize(value: number); private _arrowDirection; get arrowDirection(): Vector3; set arrowDirection(value: Vector3); private _material; get material(): StandardMaterial; constructor(scene: Scene, arrowRadius: number | undefined, n: number | undefined, arrowHeadLength: number | undefined, arrowHeadMaxSize: number | undefined, arrowLength: number | undefined, arrowStart: Vector3, arrowDirection: Vector3, color?: number | string); private updateTopShape; private updatePath; private scaling; updateStartAndDirection(arrowStart: Vector3, arrowDirection: Vector3): void; } export declare function makeSphere(scene: Scene, pos?: Vector3, color?: number | string, options?: createSphereOptions): Mesh; export declare function quaternionToDirectionVector(base: Vector3, resultQuaternion: CloneableQuaternion): Vector3; export declare class DebugInfo { private readonly scene; private readonly poseLandmarkSpheres; private readonly faceNormalArrows; private faceMeshLandmarkSpheres; private readonly leftHandLandmarkSpheres; private readonly rightHandLandmarkSpheres; private readonly irisNormalArrows; private readonly leftHandNormalArrow; private readonly rightHandNormalArrow; private readonly leftHandNormalArrows; private readonly rightHandNormalArrows; private readonly poseNormalArrows; constructor(scene: Scene); private initLandmarks; private initNormalArrows; private initIrisNormalArrows; private initFaceMeshLandmarks; updatePoseLandmarkSpheres(resultPoseLandmarks: NormalizedLandmarkList): void; updateHandLandmarkSpheres(resultHandLandmarks: NormalizedLandmarkList, left: boolean): void; updateFaceNormalArrows(resultFaceNormals: NormalizedLandmarkList, resultPoseLandmarks: NormalizedLandmarkList): void; updateIrisQuaternionArrows(resultIrisQuaternions: CloneableQuaternionList, resultPoseLandmarks: NormalizedLandmarkList, resultFaceNormal: NormalizedLandmark): void; updateFaceMeshLandmarkSpheres(resultFaceMeshIndexLandmarks: number[][], resultFaceMeshLandmarks: NormalizedLandmarkList[]): void; updateHandWristNormalArrows(resultLeftHandBoneRotations: CloneableQuaternionList, resultRightHandBoneRotations: CloneableQuaternionList, resultPoseLandmarks: NormalizedLandmarkList): void; updateHandNormalArrows(resultLeftHandNormals: Nullable, resultRightHandNormals: Nullable, resultPoseLandmarks: NormalizedLandmarkList): void; updatePoseNormalArrows(resultPoseNormals: NormalizedLandmarkList, resultPoseLandmarks: NormalizedLandmarkList): void; } export {};