Real DistPoint3Circle3<Real>::GetSquared (Real t, const Vector3<Real>& velocity0, const Vector3<Real>& velocity1) { Vector3<Real> movedPoint = *mPoint + t*velocity0; Vector3<Real> movedCenter = mCircle->Center + t*velocity1; Circle3<Real> movedCircle(movedCenter, mCircle->Direction0, mCircle->Direction1, mCircle->Normal, mCircle->Radius); return DistPoint3Circle3<Real>(movedPoint, movedCircle).GetSquared(); }
Real DistLine3Circle3<Real>::GetSquared (Real t, const Vector3<Real>& velocity0, const Vector3<Real>& velocity1) { Vector3<Real> movedOrigin = mLine->Origin + t*velocity0; Vector3<Real> movedCenter = mCircle->Center + t*velocity1; Line3<Real> movedLine(movedOrigin, mLine->Direction); Circle3<Real> movedCircle(movedCenter, mCircle->Direction0, mCircle->Direction1, mCircle->Normal, mCircle->Radius); return DistLine3Circle3<Real>(movedLine, movedCircle).GetSquared(); }