Blender
V3.3
|
#include <BLI_rand.hh>
Public Member Functions | |
RandomNumberGenerator (uint32_t seed=0) | |
void | seed (uint32_t seed) |
void | seed_random (uint32_t seed) |
uint32_t | get_uint32 () |
int32_t | get_int32 () |
int32_t | get_int32 (int32_t max_exclusive) |
double | get_double () |
float | get_float () |
template<typename T > | |
void | shuffle (MutableSpan< T > values) |
float3 | get_barycentric_coordinates () |
int | round_probabilistic (float x) |
float2 | get_unit_float2 () |
float3 | get_unit_float3 () |
float2 | get_triangle_sample (float2 v1, float2 v2, float2 v3) |
float3 | get_triangle_sample_3d (float3 v1, float3 v2, float3 v3) |
void | get_bytes (MutableSpan< char > r_bytes) |
void | skip (int64_t n) |
Definition at line 16 of file BLI_rand.hh.
|
inline |
Definition at line 21 of file BLI_rand.hh.
References seed().
|
inline |
Compute uniformly distributed barycentric coordinates.
Definition at line 93 of file BLI_rand.hh.
References get_float().
Referenced by blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), and blender::bke::mesh_surface_sample::sample_surface_points_spherical().
void blender::RandomNumberGenerator::get_bytes | ( | MutableSpan< char > | r_bytes | ) |
Definition at line 444 of file rand.cc.
References BLI_assert, and blender::MutableSpan< T >::size().
Referenced by BLI_rng_get_char_n().
|
inline |
Definition at line 64 of file BLI_rand.hh.
References get_int32().
Referenced by BLI_rng_get_double().
|
inline |
Definition at line 72 of file BLI_rand.hh.
References get_int32().
Referenced by BLI_rng_get_float(), get_barycentric_coordinates(), get_triangle_sample(), get_triangle_sample_3d(), get_unit_float2(), get_unit_float3(), blender::ed::curves::primitive_random_sphere(), round_probabilistic(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_projected_with_symmetry(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_spherical_with_symmetry(), blender::bke::mesh_surface_sample::sample_surface_points_projected(), blender::bke::mesh_surface_sample::sample_surface_points_spherical(), and blender::bke::tests::test_lattice_deform_init().
|
inline |
Definition at line 46 of file BLI_rand.hh.
References x_.
Referenced by BLI_rng_get_int(), generate_unique_instance_ids(), get_double(), get_float(), get_int32(), blender::ed::sculpt_paint::AddOperationExecutor::sample_spherical(), shuffle(), and blender::tests::TEST().
Definition at line 55 of file BLI_rand.hh.
References BLI_assert, and get_int32().
Generate a random point inside the given triangle.
Definition at line 406 of file rand.cc.
References get_float(), sample, v, v1, and v2.
Referenced by BLI_rng_get_tri_sample_float_v2().
Definition at line 425 of file rand.cc.
References get_float(), sample, v, v1, and v2.
Referenced by BLI_rng_get_tri_sample_float_v3().
|
inline |
Definition at line 40 of file BLI_rand.hh.
References x_.
Referenced by BLI_rng_get_uint(), and seed_random().
float2 blender::RandomNumberGenerator::get_unit_float2 | ( | ) |
Definition at line 386 of file rand.cc.
References Freestyle::a, cosf, float(), get_float(), M_PI, and sinf.
Referenced by BLI_rng_get_float_unit_v2().
float3 blender::RandomNumberGenerator::get_unit_float3 | ( | ) |
Definition at line 392 of file rand.cc.
References Freestyle::a, cosf, float(), get_float(), M_PI, r, sinf, sqrtf, x, y, and z.
Referenced by BLI_rng_get_float_unit_v3().
int blender::RandomNumberGenerator::round_probabilistic | ( | float | x | ) |
Round value to the next integer randomly. 4.9f is more likely to round to 5 than 4.6f.
Definition at line 377 of file rand.cc.
References BLI_assert, fractf(), get_float(), round_up(), and x.
Referenced by blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), and blender::bke::mesh_surface_sample::sample_surface_points_spherical().
Set the seed for future random numbers.
Definition at line 29 of file BLI_rand.hh.
References x_.
Referenced by BLI_rng_new(), BLI_rng_seed(), RandomNumberGenerator(), and seed_random().
Set a randomized hash of the value as seed.
Definition at line 368 of file rand.cc.
References get_uint32(), hash, and seed().
Referenced by BLI_rng_new_srandom(), BLI_rng_srandom(), and generate_unique_instance_ids().
|
inline |
Definition at line 77 of file BLI_rand.hh.
References BLI_assert, get_int32(), INT32_MAX, blender::MutableSpan< T >::size(), and swap().
Simulate getting n random values.
Definition at line 124 of file BLI_rand.hh.
Referenced by BLI_rng_skip().