@awayfl/poki-player
Version:
AVM Player for poki games
102 lines • 2.93 kB
TypeScript
import { b2Joint, b2RevoluteJointDef } from '../Joints';
import { b2Vec2 } from '../../Common/Math';
import { b2TimeStep } from '../b2TimeStep';
/**
* A revolute joint constrains to bodies to share a common point while they
* are free to rotate about the point. The relative rotation about the shared
* point is the joint angle. You can limit the relative rotation with
* a joint limit that specifies a lower and upper angle. You can use a motor
* to drive the relative rotation about the shared point. A maximum motor torque
* is provided so that infinite forces are not generated.
* @see b2RevoluteJointDef
*/
export declare class b2RevoluteJoint extends b2Joint {
/** @inheritDoc */
GetAnchorA(): b2Vec2;
/** @inheritDoc */
GetAnchorB(): b2Vec2;
/** @inheritDoc */
GetReactionForce(inv_dt: number): b2Vec2;
/** @inheritDoc */
GetReactionTorque(inv_dt: number): number;
/**
* Get the current joint angle in radians.
*/
GetJointAngle(): number;
/**
* Get the current joint angle speed in radians per second.
*/
GetJointSpeed(): number;
/**
* Is the joint limit enabled?
*/
IsLimitEnabled(): boolean;
/**
* Enable/disable the joint limit.
*/
EnableLimit(flag: boolean): void;
/**
* Get the lower joint limit in radians.
*/
GetLowerLimit(): number;
/**
* Get the upper joint limit in radians.
*/
GetUpperLimit(): number;
/**
* Set the joint limits in radians.
*/
SetLimits(lower: number, upper: number): void;
/**
* Is the joint motor enabled?
*/
IsMotorEnabled(): boolean;
/**
* Enable/disable the joint motor.
*/
EnableMotor(flag: boolean): void;
/**
* Set the motor speed in radians per second.
*/
SetMotorSpeed(speed: number): void;
/**
* Get the motor speed in radians per second.
*/
GetMotorSpeed(): number;
/**
* Set the maximum motor torque, usually in N-m.
*/
SetMaxMotorTorque(torque: number): void;
/**
* Get the current motor torque, usually in N-m.
*/
GetMotorTorque(): number;
/** @private */
constructor(def: b2RevoluteJointDef);
private K;
private K1;
private K2;
private K3;
InitVelocityConstraints(step: b2TimeStep): void;
private impulse3;
private impulse2;
private reduced;
SolveVelocityConstraints(step: b2TimeStep): void;
private static tImpulse;
SolvePositionConstraints(baumgarte: number): boolean;
m_localAnchor1: b2Vec2;
m_localAnchor2: b2Vec2;
private m_impulse;
private m_motorImpulse;
private m_mass;
private m_motorMass;
private m_enableMotor;
private m_maxMotorTorque;
private m_motorSpeed;
private m_enableLimit;
private m_referenceAngle;
private m_lowerAngle;
private m_upperAngle;
private m_limitState;
}
//# sourceMappingURL=b2RevoluteJoint.d.ts.map