22 float vecx, vecy, dvecx, dvecy,
x,
y,
len;
24 for (
i =
num - 1;
i >= 0;
i--) {
28 for (j =
num - 1; j >= 0; j--) {
30 vecx = jit1[j][0] -
x - 1.0f;
31 vecy = jit1[j][1] -
y - 1.0f;
32 for (k = 3; k > 0; k--) {
33 if (
fabsf(vecx) < radius1 &&
fabsf(vecy) < radius1) {
34 len =
sqrtf(vecx * vecx + vecy * vecy);
35 if (
len > 0 &&
len < radius1) {
43 if (
fabsf(vecx) < radius1 &&
fabsf(vecy) < radius1) {
44 len =
sqrtf(vecx * vecx + vecy * vecy);
45 if (
len > 0 &&
len < radius1) {
53 if (
fabsf(vecx) < radius1 &&
fabsf(vecy) < radius1) {
54 len =
sqrtf(vecx * vecx + vecy * vecy);
55 if (
len > 0 &&
len < radius1) {
74 memcpy(jit1, jit2, 2 *
uint(
num) *
sizeof(
float));
80 float vecx, vecy, dvecx, dvecy,
x,
y;
82 for (
i =
num - 1;
i >= 0;
i--) {
86 for (j =
num - 1; j >= 0; j--) {
88 vecx = jit1[j][0] -
x - 1.0f;
89 vecy = jit1[j][1] -
y - 1.0f;
91 if (
fabsf(vecx) < radius2) {
92 dvecx += vecx * radius2;
95 if (
fabsf(vecx) < radius2) {
96 dvecx += vecx * radius2;
99 if (
fabsf(vecx) < radius2) {
100 dvecx += vecx * radius2;
103 if (
fabsf(vecy) < radius2) {
104 dvecy += vecy * radius2;
107 if (
fabsf(vecy) < radius2) {
108 dvecy += vecy * radius2;
111 if (
fabsf(vecy) < radius2) {
112 dvecy += vecy * radius2;
124 memcpy(jit1, jit2,
uint(
num) *
sizeof(
float[2]));
130 float number_fl, number_fl_sqrt;
131 float x, rad1, rad2, rad3;
140 number_fl_sqrt =
sqrtf(number_fl);
143 rad1 = 1.0f / number_fl_sqrt;
144 rad2 = 1.0f / number_fl;
145 rad3 = number_fl_sqrt / number_fl;
150 for (
i = 0;
i <
num;
i++) {
159 for (
i = 0;
i < 24;
i++) {
168 for (
i = 0;
i <
num;
i++) {
169 jitarr[
i][0] -= 0.5f;
170 jitarr[
i][1] -= 0.5f;
ATTR_WARN_UNUSED_RESULT const size_t num
struct RNG * BLI_rng_new(unsigned int seed)
void BLI_rng_free(struct RNG *rng) ATTR_NONNULL(1)
double BLI_rng_get_double(struct RNG *rng) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
Read Guarded memory(de)allocation.
void BLI_jitterate1(float(*jit1)[2], float(*jit2)[2], int num, float radius1)
void BLI_jitter_init(float(*jitarr)[2], int num)
void BLI_jitterate2(float(*jit1)[2], float(*jit2)[2], int num, float radius2)
void * MEM_malloc_arrayN(size_t len, size_t size, const char *str)
void MEM_freeN(void *vmemh)