void Gu::BoxV::create(const Gu::CapsuleV& capsule) { using namespace Ps::aos; const FloatV half = FloatV_From_F32(0.5f); const FloatV cRadius = capsule.radius; // Box center = center of the two LSS's endpoints center = capsule.getCenter(); const Vec3V dir = capsule.computeDirection(); //capsule.p1 - capsule.p0; const FloatV d = V3Length(dir); rot.col0 = V3Scale(dir, FRecip(d)); //Box extent extents = cRadius; V3SetX(extents, FMulAdd(d, half, cRadius)); // Box orientation computeBasis2(rot.col0, rot.col1, rot.col2); }