14 #ifndef PX_FOUNDATION_PX_TRANSFORM_H
15 #define PX_FOUNDATION_PX_TRANSFORM_H
41 #ifdef PXTRANSFORM_DEFAULT_CONSTRUCT_IDENTITY
42 : q(0, 0, 0, 1), p(0, 0, 0)
43 #elif defined(PXTRANSFORM_DEFAULT_CONSTRUCT_NAN)
44 #define invalid PxSqrt(-1.0f)
45 : q(invalid, invalid, invalid, invalid), p(invalid, invalid, invalid)
93 *
this = *
this * other;
101 return PxTransform(q.rotateInv(-p),q.getConjugate());
108 return q.rotate(input) + p;
114 return q.rotateInv(input-p);
120 return q.rotate(input);
126 return q.rotateInv(input);
144 return p.isFinite() && q.isFinite() && q.isUnit();
153 return isFinite() && q.isSane();
190 PxVec3 transformedNormal = rotate(plane.
n);
191 return PxPlane(transformedNormal, plane.
d - p.dot(transformedNormal));
200 PxVec3 transformedNormal = rotateInv(plane.
n);
201 return PxPlane(transformedNormal, plane.
d + p.dot(plane.
n));
220 #endif // PX_FOUNDATION_PX_TRANSFORM_H