Maarten Baert's website

Game Maker / C++ projects

Home Model Creator ExtremePhysics Game Maker DLLs SimpleScreenRecorder AlterPCB Quadcopters   Recent comments Search

Last modified: Tue, 12 Aug 2014
Refresh

Hinge joint


ep_hingejoint_create

ep_hingejoint_create(world_id, body1_id, body2_id, x1, y1, x2, y2, referencerotation)

Creates a new hinge joint.

Returns the id of the new hinge joint.

  • world_id: The id of the world.

  • body1_id: The id of the first body.

  • body2_id: The id of the second body.

  • x1: The x component of the anchor point on the first body.

  • y1: The y component of the anchor point on the first body.

  • x2: The x component of the anchor point on the second body.

  • y2: The y component of the anchor point on the second body.

  • referencerotation: The reference angle used to calculate the relative rotation of the bodies (rot1-rot2). This is only relevant if you use ep_hingejoint_get_rotation, springs or limits.


ep_hingejoint_destroy

ep_hingejoint_destroy(world_id, hingejoint_id)

Destroys the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_exists

ep_hingejoint_exists(world_id, hingejoint_id)

Returns whether the hinge joint with the given id exists.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_set_max_force

ep_hingejoint_set_max_force(world_id, hingejoint_id, maxforce)

Changes the maximum force of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • maxforce: The new maximum force. Use 0 for no limit.


ep_hingejoint_set_motor

ep_hingejoint_set_motor(world_id, hingejoint_id, maxmotortorque, motorvel)

Changes the motor of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • maxmotortorque: The maximum motor torque. Set this to 0 to disable the motor.

  • motorvel: The velocity of the motor.


ep_hingejoint_set_limit_settings

ep_hingejoint_set_limit_settings(world_id, hingejoint_id, contact_threshold, velocity_threshold)

Changes the limit settings of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • contact_threshold: The contact threshold.

  • velocity_threshold: The velocity threshold.


ep_hingejoint_set_lower_limit

ep_hingejoint_set_lower_limit(world_id, hingejoint_id, maxlimittorque, rotation, restitution, velocity)

Changes the lower limit of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • maxlimittorque: The maximum limit torque. Set this to 0 to disable the limit.

  • rotation: The rotation of the limit.

  • restitution: The coefficient of restitution.

  • velocity: The velocity of the limit. You can use this to change the rotation over time. The rotation will not be updated automatically, you have to do that yourself.


ep_hingejoint_set_upper_limit

ep_hingejoint_set_upper_limit(world_id, hingejoint_id, maxlimittorque, rotation, restitution, velocity)

Changes the upper limit of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • maxlimittorque: The maximum limit torque. Set this to 0 to disable the limit.

  • rotation: The rotation of the limit.

  • restitution: The coefficient of restitution.

  • velocity: The velocity of the limit. You can use this to change the rotation over time. The rotation will not be updated automatically, you have to do that yourself.


ep_hingejoint_set_lower_spring

ep_hingejoint_set_lower_spring(world_id, hingejoint_id, k, rotation, damping)

Sets the lower spring of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • k: The spring constant. Set this to 0 to disable the spring.

  • rotation: The rotation of the spring.

  • damping: The damping force of the spring. Set this to 0 to disable damping (not recommended).


ep_hingejoint_set_upper_spring

ep_hingejoint_set_upper_spring(world_id, hingejoint_id, k, rotation, damping)

Sets the upper spring of the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • k: The spring constant. Set this to 0 to disable the spring.

  • rotation: The rotation of the spring.

  • damping: The damping force of the spring. Set this to 0 to disable damping (not recommended).


ep_hingejoint_get_body1

ep_hingejoint_get_body1(world_id, hingejoint_id)

Returns the id of the first body connected to the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_get_body2

ep_hingejoint_get_body2(world_id, hingejoint_id)

Returns the id of the second body connected to the hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_get_rotation

ep_hingejoint_get_rotation(world_id, hingejoint_id)

Returns the current rotation of the hinge joint (body1.rot-body2.rot-referencerotation).

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_get_xforce

ep_hingejoint_get_xforce(world_id, hingejoint_id)

Returns the x component of the force applied during the last step.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_get_yforce

ep_hingejoint_get_yforce(world_id, hingejoint_id)

Returns the y component of the force applied during the last step.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_get_motor_torque

ep_hingejoint_get_motor_torque(world_id, hingejoint_id)

Returns the motor torque applied during the last step.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_get_limit_torque

ep_hingejoint_get_limit_torque(world_id, hingejoint_id)

Returns the limit torque applied during the last step.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_previous

ep_hingejoint_previous(world_id, hingejoint_id)

Returns the id of the previous hinge joint, or 0 if there is no previous hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_next

ep_hingejoint_next(world_id, hingejoint_id)

Returns the id of the next hinge joint, or 0 if there is no next hinge joint.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.


ep_hingejoint_set_uservar

ep_hingejoint_set_uservar(world_id, hingejoint_id, index, value)

Changes the value of the user variable with the given index.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • index: The index (0-4).

  • value: The new value.


ep_hingejoint_get_uservar

ep_hingejoint_get_uservar(world_id, hingejoint_id, index)

Returns the value of the user variable with the given index.

  • world_id: The id of the world.

  • hingejoint_id: The id of the hinge joint.

  • index: The index (0-4).


Comments

3lking

Comment #1: Tue, 12 Apr 2011, 6:05 (GMT+1, DST)

Quote


Hi!!! i really love this physics engine and im learning to use it.........

amm... im venezuelan so mi english its a little bit BAD! sorry for that xD

ok at the point

i declare the joint in the create event of the object, the joint works but not the limits o.O

i need make mi hingejoints have a limit i use this code in end step of mi object

ep_hingejoint_set_lower_limit(global.world,joint1,1000,degtorad(60),0.4,1);

but it dons't work i need a lot of help here u.u
i really appreciate your help.!!

PD: FIXED!!

ep_hingejoint_set_lower_limit(global.world,joint_leg1,100000,degtorad(-130),0.72,0);
ep_hingejoint_set_upper_limit(global.world,joint_leg1,100000,degtorad(80),0.72,0);

the problem was a low maxpowerlmitorque y use 10000 and tadaaa fixed xD

Last modified: Tue, 12 Apr 2011, 9:40 (GMT+1, DST)

Write a comment