18 #define KELVINLET_MAX_ITERATIONS 3
40 const float elem_orig_co[3],
41 const float brush_location[3],
42 const float brush_delta[3]);
45 const float elem_orig_co[3],
46 const float brush_location[3],
47 const float brush_delta[3]);
50 const float elem_orig_co[3],
51 const float brush_location[3],
52 const float brush_delta[3]);
55 const float elem_orig_co[3],
56 const float brush_location[3],
57 const float surface_normal[3]);
60 const float elem_orig_co[3],
61 const float brush_location[3],
62 const float surface_normal[3]);
struct KelvinletParams KelvinletParams
#define KELVINLET_MAX_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_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])
void BKE_kelvinlet_init_params(KelvinletParams *params, float radius, float force, float shear_modulus, float poisson_ratio)
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_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])
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])
float radius_scaled[KELVINLET_MAX_ITERATIONS]