[sharedmemory] Fill-out calculateJacobian command.
The server command processor actually didn't do anything with the local point that was passed along with the calculateJacobian command. Added in the necessary bit of math to return the corresponding jacobian. Also, fixed a typo in pybullet that was returning the same jacobian for translation and rotation.
This commit is contained in:
@@ -33,6 +33,18 @@ void setZero(mat33 &m) {
|
||||
m(2, 2) = 0;
|
||||
}
|
||||
|
||||
void skew(vec3& v, mat33* result) {
|
||||
(*result)(0, 0) = 0.0;
|
||||
(*result)(0, 1) = -v(2);
|
||||
(*result)(0, 2) = v(1);
|
||||
(*result)(1, 0) = v(2);
|
||||
(*result)(1, 1) = 0.0;
|
||||
(*result)(1, 2) = -v(0);
|
||||
(*result)(2, 0) = -v(1);
|
||||
(*result)(2, 1) = v(0);
|
||||
(*result)(2, 2) = 0.0;
|
||||
}
|
||||
|
||||
idScalar maxAbs(const vecx &v) {
|
||||
idScalar result = 0.0;
|
||||
for (int i = 0; i < v.size(); i++) {
|
||||
|
||||
@@ -12,7 +12,8 @@ void setZero(vec3& v);
|
||||
void setZero(vecx& v);
|
||||
/// set all elements to zero
|
||||
void setZero(mat33& m);
|
||||
|
||||
/// create a skew symmetric matrix from a vector (useful for cross product abstraction, e.g. v x a = V * a)
|
||||
void skew(vec3& v, mat33* result);
|
||||
/// return maximum absolute value
|
||||
idScalar maxAbs(const vecx& v);
|
||||
#ifndef ID_LINEAR_MATH_USE_EIGEN
|
||||
|
||||
Reference in New Issue
Block a user