diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-02-07 16:44:59 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-02-08 17:37:44 +0300 |
commit | e0597baed57fa7a9dfaf6dff6d0fa120784d21ea (patch) | |
tree | ee9976051369ac5ae1c2e65e4cb9fa5392d17243 /extern/carve/patches/files/random.h | |
parent | 9dc7dca3a22502f79131728a6d4441ea1851595c (diff) |
Remove Carve boolean
We've got quite comprehensive BMesh based implementation, which is way easier
for maintenance than abandoned Carve library.
After all the time BMesh implementation was working on the same level of
limitations about manifold meshes and touching edges than Carve. Is better
to focus on maintaining one boolean implementation now.
Reviewers: campbellbarton
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D3050
Diffstat (limited to 'extern/carve/patches/files/random.h')
-rw-r--r-- | extern/carve/patches/files/random.h | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/extern/carve/patches/files/random.h b/extern/carve/patches/files/random.h deleted file mode 100644 index 634063cb90c..00000000000 --- a/extern/carve/patches/files/random.h +++ /dev/null @@ -1,61 +0,0 @@ -#include <cassert> -#include <cmath> -#include <vector> - -namespace boost { -#if __cplusplus > 199711L -# include <random> -typedef std::mt19937 mt19937; -#else -# include <stdlib.h> -struct mt19937 { - int operator()() { - return rand(); - } - - int max() { - return RAND_MAX; - } -}; -#endif - -template<typename T> -struct uniform_on_sphere { - typedef std::vector<T> result_type; - - uniform_on_sphere(int dimension) { - assert(dimension == 3); - } - - std::vector<T> - operator()(float u1, float u2) { - T z = 1.0 - 2.0*u1; - T r = std::sqrt(std::max(0.0, 1.0 - z*z)); - T phi = 2.0*M_PI*u2; - T x = r*std::cos(phi); - T y = r*std::sin(phi); - std::vector<T> result; - result.push_back(x); - result.push_back(y); - result.push_back(z); - return result; - } -}; - -template<typename RNG, typename DISTR> -struct variate_generator { - - variate_generator(RNG rng, DISTR distr) - : rng_(rng), distr_(distr) {} - - typename DISTR::result_type - operator()() { - float rng_max_inv = 1.0 / rng_.max(); - return distr_(rng_() * rng_max_inv, rng_() * rng_max_inv); - } - - RNG rng_; - DISTR distr_; -}; - -} |