Blender
V3.3
|
#include "BKE_kelvinlet.h"
Go to the source code of this file.
Typedefs | |
typedef void(* | kelvinlet_fn) (float[3], const float *, const float *, const float *, const KelvinletParams *) |
Functions | |
void | BKE_kelvinlet_init_params (KelvinletParams *params, float radius, float force, float shear_modulus, float poisson_ratio) |
static void | init_kelvinlet_grab (float radius_e[3], float kelvinlet[3], const float radius, const KelvinletParams *params, const int num_iterations) |
void | BKE_kelvinlet_grab (float radius_elem_disp[3], const KelvinletParams *params, const float elem_orig_co[3], const float brush_location[3], const float brush_delta[3]) |
void | BKE_kelvinlet_grab_biscale (float radius_elem_disp[3], const KelvinletParams *params, const float elem_orig_co[3], const float brush_location[3], const float brush_delta[3]) |
void | BKE_kelvinlet_grab_triscale (float radius_elem_disp[3], const KelvinletParams *params, const float elem_orig_co[3], const float brush_location[3], const float brush_delta[3]) |
static void | sculpt_kelvinet_integrate (kelvinlet_fn kelvinlet, float r_disp[3], const float vertex_co[3], const float location[3], const float normal[3], const KelvinletParams *p) |
static void | kelvinlet_scale (float disp[3], const float vertex_co[3], const float location[3], const float UNUSED(normal[3]), const KelvinletParams *p) |
void | BKE_kelvinlet_scale (float radius_elem_disp[3], const KelvinletParams *params, const float elem_orig_co[3], const float brush_location[3], const float surface_normal[3]) |
static void | kelvinlet_twist (float disp[3], const float vertex_co[3], const float location[3], const float normal[3], const KelvinletParams *p) |
void | BKE_kelvinlet_twist (float radius_elem_disp[3], const KelvinletParams *params, const float elem_orig_co[3], const float brush_location[3], const float surface_normal[3]) |
typedef void(* kelvinlet_fn) (float[3], const float *, const float *, const float *, const KelvinletParams *) |
Definition at line 115 of file kelvinlet.c.
void BKE_kelvinlet_grab | ( | float | radius_elem_disp[3], |
const KelvinletParams * | params, | ||
const float | elem_orig_co[3], | ||
const float | brush_location[3], | ||
const float | brush_delta[3] | ||
) |
Definition at line 51 of file kelvinlet.c.
References Freestyle::c, fade(), init_kelvinlet_grab(), len_v3v3(), mul_v3_v3fl(), and params.
Referenced by do_elastic_deform_brush_task_cb_ex().
void BKE_kelvinlet_grab_biscale | ( | float | radius_elem_disp[3], |
const KelvinletParams * | params, | ||
const float | elem_orig_co[3], | ||
const float | brush_location[3], | ||
const float | brush_delta[3] | ||
) |
Definition at line 68 of file kelvinlet.c.
References Freestyle::c, fade(), init_kelvinlet_grab(), len_v3v3(), mul_v3_v3fl(), and params.
Referenced by do_elastic_deform_brush_task_cb_ex().
void BKE_kelvinlet_grab_triscale | ( | float | radius_elem_disp[3], |
const KelvinletParams * | params, | ||
const float | elem_orig_co[3], | ||
const float | brush_location[3], | ||
const float | brush_delta[3] | ||
) |
Definition at line 87 of file kelvinlet.c.
References Freestyle::c, fade(), init_kelvinlet_grab(), len_v3v3(), mul_v3_v3fl(), params, and pow2f().
Referenced by do_elastic_deform_brush_task_cb_ex(), do_snake_hook_brush_task_cb_ex(), and sculpt_elastic_transform_task_cb().
void BKE_kelvinlet_init_params | ( | KelvinletParams * | params, |
float | radius, | ||
float | force, | ||
float | shear_modulus, | ||
float | poisson_ratio | ||
) |
Definition at line 13 of file kelvinlet.c.
References float(), KELVINLET_MAX_ITERATIONS, M_PI, and params.
Referenced by do_elastic_deform_brush_task_cb_ex(), do_snake_hook_brush_task_cb_ex(), and sculpt_elastic_transform_task_cb().
void BKE_kelvinlet_scale | ( | float | radius_elem_disp[3], |
const KelvinletParams * | params, | ||
const float | elem_orig_co[3], | ||
const float | brush_location[3], | ||
const float | surface_normal[3] | ||
) |
Definition at line 163 of file kelvinlet.c.
References kelvinlet_scale(), params, and sculpt_kelvinet_integrate().
Referenced by do_elastic_deform_brush_task_cb_ex().
void BKE_kelvinlet_twist | ( | float | radius_elem_disp[3], |
const KelvinletParams * | params, | ||
const float | elem_orig_co[3], | ||
const float | brush_location[3], | ||
const float | surface_normal[3] | ||
) |
Definition at line 191 of file kelvinlet.c.
References kelvinlet_twist(), params, and sculpt_kelvinet_integrate().
Referenced by do_elastic_deform_brush_task_cb_ex().
|
static |
Definition at line 30 of file kelvinlet.c.
References Freestyle::a, usdtokens::b(), params, pow2f(), pow3f(), and sqrtf.
Referenced by BKE_kelvinlet_grab(), BKE_kelvinlet_grab_biscale(), and BKE_kelvinlet_grab_triscale().
|
static |
Definition at line 147 of file kelvinlet.c.
References KelvinletParams::a, KelvinletParams::b, KelvinletParams::c, KelvinletParams::f, fade(), len_v3(), mul_v3_v3fl(), pow2f(), pow3f(), pow5f(), KelvinletParams::radius_scaled, sqrtf, and sub_v3_v3v3().
Referenced by BKE_kelvinlet_scale().
|
static |
Definition at line 174 of file kelvinlet.c.
References KelvinletParams::a, KelvinletParams::c, cross_v3_v3v3(), KelvinletParams::f, fade(), len_v3(), mul_v3_v3fl(), normal, pow2f(), pow3f(), pow5f(), KelvinletParams::radius_scaled, sqrtf, and sub_v3_v3v3().
Referenced by BKE_kelvinlet_twist().
|
static |
Definition at line 118 of file kelvinlet.c.
References add_v3_v3(), add_v3_v3v3(), copy_v3_v3(), madd_v3_v3fl(), mul_v3_fl(), normal, and sub_v3_v3v3().
Referenced by BKE_kelvinlet_scale(), and BKE_kelvinlet_twist().