21 template <
typename Real>
43 template <
typename Real>
53 Real lengthQmC =
Length(QmC);
54 if (lengthQmC > (Real)0)
56 result.circleClosest =
57 circle.center + (circle.radius / lengthQmC) * QmC;
58 result.equidistant =
false;
64 basis[0] = circle.normal;
66 result.circleClosest = circle.center + circle.radius * basis[1];
67 result.equidistant =
true;
71 result.sqrDistance =
Dot(diff, diff);
GLsizei GLsizei GLfloat distance
static Real Sqrt(Real const &x)
Result operator()(Type0 const &primitive0, Type1 const &primitive1)
DualQuaternion< Real > Dot(DualQuaternion< Real > const &d0, DualQuaternion< Real > const &d1)
Vector3< Real > circleClosest
DualQuaternion< Real > Length(DualQuaternion< Real > const &d, bool robust=false)
Real ComputeOrthogonalComplement(int numInputs, Vector2< Real > *v, bool robust=false)