import { Frame } from './Frame'; import { Link } from './Link'; export const enum DOF { X, Y, Z, EX, EY, EZ } export const DOF_NAMES : Array; export class Joint extends Frame { isJoint : Boolean; child : Link; isClosure : Boolean; rotationDoFCount : Number; translationDoFCount : Number; dof : Array; dofFlags : Uint8Array; dofValue : Float32Array; dofTarget : Float32Array; dofRestPose : Float32Array; minDoFLimit : Float32Array; maxDoFLimit : Float32Array; targetSet : Boolean; restPoseSet : Boolean; matrixDoF : Float32Array; clearDoF() : void; setDoF( ...args : Array ) : void; setDoFValues( ...args : Array ) : void; setDoFValue( dof : DOF, value : Number ) : Boolean; setDoFQuaternion( x : Number, y : Number, z : Number, w : Number ) : void; getDoFValue( dof : DOF ) : Number; getDoFQuaternion( quat : Array ) : void; getDoFEuler( euler : Array ) : void; getDoFPosition( position : Array ) : void; setRestPoseValues( ...args : Array ) : void; setRestPoseValue( dof : DOF, value : Number ) : Boolean; getRestPoseValue( dof : DOF ) : Number; getRestPoseQuaternion( quat : Array ) : void; getRestPoseEuler( euler : Array ) : void; getRestPosePosition( position : Array ) : void; setTargetValues( ...args : Array ) : void; setTargetValue( dof : DOF, value : Number ) : Boolean; getTargetValue( dof : DOF ) : Number; getTargetQuaternion( quat : Array ) : void; getTargetEuler( euler : Array ) : void; getTargetPosition( position : Array ) : void; setMinLimits( ...args : Array ) : void; setMinLimt( dof : DOF, value : Number ) : void; getMinLimit( dof : DOF ) : Number; setMaxLimits( ...args : Array ) : void; setMaxLimt( dof : DOF, value : Number ) : void; getMaxLimit( dof : DOF ) : Number; setMatrixDoFNeedsUpdate() : void; updateDoFMatrix() : void; makeClosure( child : Link ) : void; addChild( child : Link ) : void; removeChild( child : Link ) : void; attachChild( child : Link ) : void; detachChild( child : Link ) : void; }