Lines Matching defs:C2
237 std::vector<Point> decompose_degenerate(xAx const & C1, xAx const & C2, xAx const & xC0) {
338 if(fabs(C1.hessian().det()) > fabs(C2.hessian().det()))
341 cnrts = C2.roots(L);
360 std::vector<Point> intersect(xAx const & C1, xAx const & C2) {
363 return decompose_degenerate(C1, C2, C1);
365 if(xAx_descr(C2) == 0) {
366 return decompose_degenerate(C1, C2, C2);
371 SBasis C[3][3] = {{T*C1.c[0]+S*C2.c[0], (T*C1.c[1]+S*C2.c[1])/2, (T*C1.c[3]+S*C2.c[3])/2},
372 {(T*C1.c[1]+S*C2.c[1])/2, T*C1.c[2]+S*C2.c[2], (T*C1.c[4]+S*C2.c[4])/2},
373 {(T*C1.c[3]+S*C2.c[3])/2, (T*C1.c[4]+S*C2.c[4])/2, T*C1.c[5]+S*C2.c[5]}};
380 SBasis C[3][3] = {{T*C1.c[0]+S*C2.c[0], (T*C1.c[1]+S*C2.c[1])/2, (T*C1.c[3]+S*C2.c[3])/2},
381 {(T*C1.c[1]+S*C2.c[1])/2, T*C1.c[2]+S*C2.c[2], (T*C1.c[4]+S*C2.c[4])/2},
382 {(T*C1.c[3]+S*C2.c[3])/2, (T*C1.c[4]+S*C2.c[4])/2, T*C1.c[5]+S*C2.c[5]}};
394 xAx xC0 = C1*t + C2*s;
397 return decompose_degenerate(C1, C2, xC0);