// return a + snom / (snom + sdenom) * ab;
return v0.getAdded(ab.scaleLocal(snom / (snom + sdenom)));
}
// P is outside (or on) BC if the triple scalar product [N PB PC] <= 0
float va = n.dot(bp.crossLocal(cp));
// If P outside BC and within feature region of BC,
// return projection of P onto BC
if (va <= 0.0f && unom >= 0.0f && udenom >= 0.0f) {
// return b + unom / (unom + udenom) * bc;
return v1.getAdded(bc.scaleLocal(unom / (unom + udenom)));