## previous contact. Only considers kinematic limitations.
## collision and equilibrium are NOT considered.
## tries to add a new contact to the state
## if the limb is already in contact, replace the
## previous contact. Only considers kinematic limitations.
## collision and equilibrium are NOT considered.
# \param state State considered
# \param limbName name of the considered limb to create contact with
# \param p 3d position of the point
# \param n 3d normal of the contact location center
# \param max_num_sample number of times it will try to randomly sample a configuration before failing
# \param lockOtherJoints : if True, the values of all the joints exepct the ones of 'limbName' are constrained to be constant.
# \param rotation : desired rotation of the end-effector in contact, expressed as Quaternion (x,y,z,w). If different from zero, the normal is ignored. Otherwise the rotation is automatically computed from the normal (with one axis of freedom)
# This only affect the first projection, if max_num_sample > 0 and the first projection was unsuccessfull, the parameter is ignored
# \param lockOtherJoints : if True, the values of all the joints exepct the ones of 'limbName' are constrained to