static public b2Vec2 MulX(b2Transform T, b2Vec2 v) { b2Vec2 a = MulMV(T.R, v); a.x += T.position.x; a.y += T.position.y; //return T.position + b2Mul(T.R, v); return(a); }
static public b2Vec2 MulXT(b2Transform T, b2Vec2 v) { b2Vec2 a = SubtractVV(v, T.position); //return b2MulT(T.R, v - T.position); float tX = (a.x * T.R.col1.x + a.y * T.R.col1.y); a.y = (a.x * T.R.col2.x + a.y * T.R.col2.y); a.x = tX; return(a); }
public void Set(b2Transform x) { position.SetV(x.position); R.SetM(x.R); }