31 lines
639 B
TypeScript
31 lines
639 B
TypeScript
import { Object3D, SkinnedMesh, Vector3 } from 'three'
|
|
|
|
// tslint:disable-next-line:interface-name
|
|
export interface IKS {
|
|
effector: number
|
|
iteration: number
|
|
links: Array<{
|
|
enabled: boolean
|
|
index: number
|
|
limitation?: Vector3
|
|
rotationMin?: Vector3
|
|
rotationMax?: Vector3
|
|
}>
|
|
minAngle: number
|
|
maxAngle: number
|
|
target: number
|
|
}
|
|
|
|
export class CCDIKSolver {
|
|
constructor(mesh: SkinnedMesh, iks: IKS[])
|
|
|
|
update(): this
|
|
updateOne(iks: IKS): this
|
|
createHelper(): CCDIKHelper
|
|
}
|
|
|
|
export class CCDIKHelper extends Object3D {
|
|
constructor(mesh: SkinnedMesh, iks?: IKS[], sphereSize?: number)
|
|
dispose(): void
|
|
}
|