import { Quat } from "../math/Quat"; import { Vec3 } from "../math/Vec3"; import { TypedConstraint } from "./constaint/constraint"; import { ISolver } from "./isolver"; import { Skeleton } from "./skeleton"; /** * @description : * @param {*} * @return {*} * @example : */ export declare class CCDSolver implements ISolver { constructor(); updateTarget(): void; projectPlane(v: Vec3, normal: Vec3): Vec3; calcAngle(v1: Vec3, v2: Vec3, dir: Vec3): number; /** * @description : * @param {Vec3} target 目标点 * @param {Vec3} zeroPos 关节原点 * @param {Vec3} effector 末端效应点 * @return {*} * @example : */ solveTranslate(target: Vec3, zeroPos: Vec3, effector: Vec3): void; /** * @description : * @param {Vec3} target 目标点 * @param {Vec3} zeroPos 关节原点 * @param {Vec3} effector 末端效应点 * @return {*} * @example : */ solveRotation(target: Vec3, zeroPos: Vec3, effector: Vec3, contraints?: TypedConstraint[]): Quat; solveIK(skeleton: Skeleton, target: Vec3): void; solve(bones: any): void; }