Blender V5.0
BLI_quadric.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11#include <stdbool.h>
12
13typedef struct Quadric {
14 double a2, ab, ac, ad, b2, bc, bd, c2, cd, d2;
16
17/* Conversion. */
18
19void BLI_quadric_from_plane(Quadric *q, const double v[4]);
20void BLI_quadric_to_vector_v3(const Quadric *q, double v[3]);
21
23
24/* Math operations. */
25
26void BLI_quadric_add_qu_qu(Quadric *a, const Quadric *b);
27void BLI_quadric_add_qu_ququ(Quadric *r, const Quadric *a, const Quadric *b);
28void BLI_quadric_mul(Quadric *a, double scalar);
29
30/* Solve. */
31
32double BLI_quadric_evaluate(const Quadric *q, const double v[3]);
33bool BLI_quadric_optimize(const Quadric *q, double v[3], double epsilon);
void BLI_quadric_mul(Quadric *a, double scalar)
Definition quadric.cc:125
bool BLI_quadric_optimize(const Quadric *q, double v[3], double epsilon)
Definition quadric.cc:142
void BLI_quadric_from_plane(Quadric *q, const double v[4])
Definition quadric.cc:31
void BLI_quadric_to_vector_v3(const Quadric *q, double v[3])
Definition quadric.cc:103
double BLI_quadric_evaluate(const Quadric *q, const double v[3])
Definition quadric.cc:130
void BLI_quadric_add_qu_qu(Quadric *a, const Quadric *b)
Definition quadric.cc:115
void BLI_quadric_clear(Quadric *q)
Definition quadric.cc:110
void BLI_quadric_add_qu_ququ(Quadric *r, const Quadric *a, const Quadric *b)
Definition quadric.cc:120
ATTR_WARN_UNUSED_RESULT const BMVert * v
double cd
Definition BLI_quadric.h:14
double d2
Definition BLI_quadric.h:14
double bd
Definition BLI_quadric.h:14
double c2
Definition BLI_quadric.h:14
double bc
Definition BLI_quadric.h:14
double ab
Definition BLI_quadric.h:14
double ad
Definition BLI_quadric.h:14
double ac
Definition BLI_quadric.h:14
double a2
Definition BLI_quadric.h:14
double b2
Definition BLI_quadric.h:14