Blender  V3.3
BLI_math_boolean.hh
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #pragma once
4 
10 #include "BLI_math_vec_types.hh"
11 
12 #ifdef WITH_GMP
13 # include "BLI_math_mpq.hh"
14 # include "BLI_math_vec_mpq_types.hh"
15 #endif
16 
17 namespace blender {
18 
25 int orient2d(const double2 &a, const double2 &b, const double2 &c);
26 int orient2d_fast(const double2 &a, const double2 &b, const double2 &c);
27 
28 int incircle(const double2 &a, const double2 &b, const double2 &c, const double2 &d);
29 int incircle_fast(const double2 &a, const double2 &b, const double2 &c, const double2 &d);
30 
37 int orient3d(const double3 &a, const double3 &b, const double3 &c, const double3 &d);
38 int orient3d_fast(const double3 &a, const double3 &b, const double3 &c, const double3 &d);
39 
40 int insphere(
41  const double3 &a, const double3 &b, const double3 &c, const double3 &d, const double3 &e);
42 int insphere_fast(
43  const double3 &a, const double3 &b, const double3 &c, const double3 &d, const double3 &e);
44 
45 #ifdef WITH_GMP
50 int orient2d(const mpq2 &a, const mpq2 &b, const mpq2 &c);
56 int incircle(const mpq2 &a, const mpq2 &b, const mpq2 &c, const mpq2 &d);
63 int orient3d(const mpq3 &a, const mpq3 &b, const mpq3 &c, const mpq3 &d);
64 #endif
65 } // namespace blender
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
static unsigned c
Definition: RandGen.cpp:83
static unsigned a[3]
Definition: RandGen.cpp:78
vec_base< double, 2 > double2
int orient3d_fast(const double3 &a, const double3 &b, const double3 &c, const double3 &d)
int orient2d(const double2 &a, const double2 &b, const double2 &c)
vec_base< double, 3 > double3
int incircle(const double2 &a, const double2 &b, const double2 &c, const double2 &d)
int orient3d(const double3 &a, const double3 &b, const double3 &c, const double3 &d)
int incircle_fast(const double2 &a, const double2 &b, const double2 &c, const double2 &d)
int orient2d_fast(const double2 &a, const double2 &b, const double2 &c)
int insphere_fast(const double3 &a, const double3 &b, const double3 &c, const double3 &d, const double3 &e)
int insphere(const double3 &a, const double3 &b, const double3 &c, const double3 &d, const double3 &e)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)