bool BLI_quadric_optimize(const Quadric *q, double v[3], const double epsilon) { double m[3][3]; if (quadric_to_tensor_m3_inverse(q, m, epsilon)) { BLI_quadric_to_vector_v3(q, v); mul_m3_v3_db(m, v); negate_v3_db(v); return true; } else { return false; } }
bool BLI_quadric_optimize(const Quadric *q, float v[3], const float epsilon) { float m[3][3]; BLI_quadric_to_tensor_m3(q, m); if (invert_m3_ex(m, epsilon)) { BLI_quadric_to_vector_v3(q, v); mul_m3_v3(m, v); negate_v3(v); return true; } else { return false; } }