Category:Joint functions
Contents
- 1 About
- 2 Joint main functions
- 3 Body joint iteration functions
- 4 Ball and socket interface
- 5 UpVector joint interface
- 6 Contact joint interface
- 7 Corkscrew joint interface functions
- 8 Hinge joint interface functions
- 9 Inverse kinematics joint interface functions
- 10 Slider joint interface functions
- 11 Universal joint interface functions
About
Newton offers several different types of joints that can be used to stitch two (or more) objects together and/or to limit the degree of freedom for certain objects. This page shows how the differnet joint types could look like, to give you an impression on how they can be used. There is also an official tutorial on joints that can be found here, Overview of joint api functions, see:.
In addition to those, simulation collisions also produce contact joints, which have their own functionality.
Joint main functions
- NewtonDestroyJoint
- NewtonJointGetBody0
- NewtonJointGetBody1
- NewtonJointGetCollisionState
- NewtonJointGetInfo
- NewtonJointGetStiffness
- NewtonJointGetUserData
- NewtonJointIsActive
- NewtonJointSetCollisionState
- NewtonJointSetDestructor
- NewtonJointSetStiffness
- NewtonJointSetUserData
- NewtonUserJointSetSolverModel
- NewtonUserJointGetSolverModel
Body joint iteration functions
- NewtonBodyGetFirstJoint
- NewtonBodyGetJointRecursiveCollision
- NewtonBodyGetNextJoint
- NewtonBodySetJointRecursiveCollision
Ball and socket interface
Description
This joint type has an anchor (the end of blue sphere) and a moveable body that is "hanging" by this anchor (the beginning of the green sphere). The movement of that body is free to all directions, but limited to a certain degree (specified in angles), so that the child body's movement is limited to a cone-shped area. A good example for such a joint is your wrist angle or your hip joint.
Functions
UpVector joint interface
Description
This specialized vector can be used to limit rotation to one axis of freedom for rigid bodies. It's mostly used if you use e.g. a sphere to create a character controller and don't want that sphere to "fall" forwards. It's like if you want an egg to stand still upwards on the table but still be able to rotate it on the y-axis and move it around.
Functions
Contact joint interface
To be used inside NewtonMaterialSetCollisionCallback callbacks.
Functions
- NewtonBodyGetFirstContactJoint
- NewtonBodyGetNextContactJoint
- NewtonContactJointGetClosestDistance
- NewtonContactJointGetContactCount
- NewtonContactJointGetFirstContact
- NewtonContactJointGetNextContact
- NewtonContactJointRemoveContact
Corkscrew joint interface functions
Description
This joint type is an enhanched version of a slider joint which allows the attached child body to not only slide up and down the axis, but also to rotate around this axis. It's called corkscrew-joint because that's the best way to describe how a child body attached with such a joint can move.
Functions
- NewtonCorkscrewGetJointAngle
- NewtonCorkscrewGetJointForce
- NewtonCorkscrewGetJointOmega
- NewtonCorkscrewGetJointPosit
- NewtonCorkscrewGetJointVeloc
Hinge joint interface functions
Description
An object attached to a hinge joint can only rotate around one dimension perpendicular to the axis it is attached to. A good real-life example would be a swinging door or a propeller.
Functions
- NewtonHingeGetJointAngle
- NewtonHingeGetJointForce
- NewtonHingeGetJointOmega
- NewtonHingeSetUserCallback
Inverse kinematics joint interface functions
- NewtonInverseDynamicsAddLoopJoint
- NewtonInverseDynamicsGetJoint
- NewtonUserJointGetRowInverseDynamicsAcceleration
Slider joint interface functions
Description
This should be very obvious. A child body attached via a slider joint can only slide up and down (move along) the axis it is attached to. A real-life example is e.g. a car's damper shaft.
Functions
Universal joint interface functions
Description
The universal joint allows the attached child body to rotate on two axis. It's like a hinge joint with an added degree of freedom.
Functions
- NewtonUniversalGetJointAngle0
- NewtonUniversalGetJointAngle1
- NewtonUniversalGetJointForce
- NewtonUniversalGetJointOmega0
- NewtonUniversalGetJointOmega1
Joint callback functions
To be only used within joint callbacks.
Pages in category ‘Joint functions’
The following 75 pages are in this category, out of 75 total.
N
- NewtonBallCallback
- NewtonBallGetJointAngle
- NewtonBallGetJointForce
- NewtonBallGetJointOmega
- NewtonBodyGetFirstContactJoint
- NewtonBodyGetFirstJoint
- NewtonBodyGetJointRecursiveCollision
- NewtonBodyGetNextContactJoint
- NewtonBodyGetNextJoint
- NewtonBodySetJointRecursiveCollision
- NewtonConstraintCreateUpVector
- NewtonConstraintCreateUserJoint
- NewtonConstraintDestructor
- NewtonContactJointGetClosestDistance
- NewtonContactJointGetContactCount
- NewtonContactJointGetFirstContact
- NewtonContactJointGetNextContact
- NewtonContactJointRemoveContact
- NewtonContactJointResetIntraJointCollision
- NewtonContactJointResetSelftJointCollision
- NewtonCorkscrewGetJointAngle
- NewtonCorkscrewGetJointForce
- NewtonCorkscrewGetJointOmega
- NewtonCorkscrewGetJointPosit
- NewtonCorkscrewGetJointVeloc
- NewtonDestroyJoint
- NewtonHingeGetJointAngle
- NewtonHingeGetJointForce
- NewtonHingeGetJointOmega
- NewtonHingeSetUserCallback
- NewtonInverseDynamicsAddLoopJoint
- NewtonInverseDynamicsGetJoint
- NewtonJointGetBody0
- NewtonJointGetBody1
- NewtonJointGetCollisionState
- NewtonJointGetInfo
- NewtonJointGetStiffness
- NewtonJointGetUserData
- NewtonJointIsActive
- NewtonJointIterator
- NewtonJointSetCollisionState
- NewtonJointSetDestructor
- NewtonJointSetStiffness
- NewtonJointSetUserData
- NewtonMeshFixTJoints
- NewtonOnJointDeserializationCallback
- NewtonOnJointSerializationCallback
- NewtonSliderGetJointForce
- NewtonSliderGetJointPosit
- NewtonSliderGetJointVeloc
- NewtonUniversalGetJointAngle0
- NewtonUniversalGetJointAngle1
- NewtonUniversalGetJointForce
- NewtonUniversalGetJointOmega0
- NewtonUniversalGetJointOmega1
- NewtonUpVectorGetPin
- NewtonUpVectorSetPin
- NewtonUserBilateralCallback
- NewtonUserJointAddAngularRow
- NewtonUserJointAddGeneralRow
- NewtonUserJointAddLinearRow
- NewtonUserJointCalculateRowZeroAcceleration
- NewtonUserJointGetGeneralRow
- NewtonUserJointGetRowAcceleration
- NewtonUserJointGetRowForce
- NewtonUserJointGetRowInverseDynamicsAcceleration
- NewtonUserJointGetSolverModel
- NewtonUserJointSetFeedbackCollectorCallback
- NewtonUserJointSetRowAcceleration
- NewtonUserJointSetRowMaximumFriction
- NewtonUserJointSetRowMinimumFriction
- NewtonUserJointSetRowSpringDamperAcceleration
- NewtonUserJointSetRowStiffness
- NewtonUserJointSetSolverModel
- NewtonUserJointSubmitImmediateModeConstraint