}
public void transform(Vector3 source, AVector dest) {
if (dest instanceof Vector3) {transform(source,(Vector3)dest); return;}
if (dest.length()!=3) throw new IllegalArgumentException(ErrorMessages.mismatch(source,dest));
Vector3 s=source;
dest.unsafeSet(0,(m00*s.x)+(m01*s.y)+(m02*s.z));
dest.unsafeSet(1,(m10*s.x)+(m11*s.y)+(m12*s.z));
dest.unsafeSet(2,(m20*s.x)+(m21*s.y)+(m22*s.z));
}