Package org.jbox2d.dynamics.joints
Class Joint
- java.lang.Object
-
- org.jbox2d.dynamics.joints.Joint
-
- Direct Known Subclasses:
ConstantVolumeJoint,DistanceJoint,FrictionJoint,GearJoint,MouseJoint,PrismaticJoint,PulleyJoint,RevoluteJoint,RopeJoint,WeldJoint,WheelJoint
public abstract class Joint extends java.lang.ObjectThe base joint class. Joints are used to constrain two bodies together in various fashions. Some joints also feature limits and motors.
-
-
Field Summary
Fields Modifier and Type Field Description protected Bodym_bodyAprotected Bodym_bodyBprivate booleanm_collideConnectedJointEdgem_edgeAJointEdgem_edgeBbooleanm_islandFlagJointm_nextJointm_prevprivate JointTypem_typejava.lang.Objectm_userDataprotected IWorldPoolpool
-
Constructor Summary
Constructors Modifier Constructor Description protectedJoint(IWorldPool worldPool, JointDef def)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Jointcreate(World world, JointDef def)static voiddestroy(Joint joint)voiddestructor()Override to handle destruction of jointabstract voidgetAnchorA(Vec2 out)get the anchor point on bodyA in world coordinates.abstract voidgetAnchorB(Vec2 out)get the anchor point on bodyB in world coordinates.BodygetBodyA()get the first body attached to this joint.BodygetBodyB()get the second body attached to this joint.booleangetCollideConnected()JointgetNext()get the next joint the world joint list.abstract voidgetReactionForce(float inv_dt, Vec2 out)get the reaction force on body2 at the joint anchor in Newtons.abstract floatgetReactionTorque(float inv_dt)get the reaction torque on body2 in N*m.JointTypegetType()get the type of the concrete joint.java.lang.ObjectgetUserData()get the user data pointer.abstract voidinitVelocityConstraints(SolverData data)booleanisActive()Short-cut function to determine if either body is inactive.voidsetUserData(java.lang.Object data)Set the user data pointer.abstract booleansolvePositionConstraints(SolverData data)This returns true if the position errors are within tolerance.abstract voidsolveVelocityConstraints(SolverData data)
-
-
-
Field Detail
-
m_type
private final JointType m_type
-
m_prev
public Joint m_prev
-
m_next
public Joint m_next
-
m_edgeA
public JointEdge m_edgeA
-
m_edgeB
public JointEdge m_edgeB
-
m_bodyA
protected Body m_bodyA
-
m_bodyB
protected Body m_bodyB
-
m_islandFlag
public boolean m_islandFlag
-
m_collideConnected
private boolean m_collideConnected
-
m_userData
public java.lang.Object m_userData
-
pool
protected IWorldPool pool
-
-
Constructor Detail
-
Joint
protected Joint(IWorldPool worldPool, JointDef def)
-
-
Method Detail
-
destroy
public static void destroy(Joint joint)
-
getType
public JointType getType()
get the type of the concrete joint.- Returns:
-
getBodyA
public final Body getBodyA()
get the first body attached to this joint.
-
getBodyB
public final Body getBodyB()
get the second body attached to this joint.- Returns:
-
getAnchorA
public abstract void getAnchorA(Vec2 out)
get the anchor point on bodyA in world coordinates.
-
getAnchorB
public abstract void getAnchorB(Vec2 out)
get the anchor point on bodyB in world coordinates.
-
getReactionForce
public abstract void getReactionForce(float inv_dt, Vec2 out)get the reaction force on body2 at the joint anchor in Newtons.- Parameters:
inv_dt-
-
getReactionTorque
public abstract float getReactionTorque(float inv_dt)
get the reaction torque on body2 in N*m.- Parameters:
inv_dt-- Returns:
-
getNext
public Joint getNext()
get the next joint the world joint list.
-
getUserData
public java.lang.Object getUserData()
get the user data pointer.
-
setUserData
public void setUserData(java.lang.Object data)
Set the user data pointer.
-
getCollideConnected
public final boolean getCollideConnected()
-
isActive
public boolean isActive()
Short-cut function to determine if either body is inactive.- Returns:
-
initVelocityConstraints
public abstract void initVelocityConstraints(SolverData data)
-
solveVelocityConstraints
public abstract void solveVelocityConstraints(SolverData data)
-
solvePositionConstraints
public abstract boolean solvePositionConstraints(SolverData data)
This returns true if the position errors are within tolerance.- Parameters:
baumgarte-- Returns:
-
destructor
public void destructor()
Override to handle destruction of joint
-
-