34 #define KELVINLET_MAX_ITERATIONS 3
56 const float elem_orig_co[3],
57 const float brush_location[3],
58 const float brush_delta[3]);
61 const float elem_orig_co[3],
62 const float brush_location[3],
63 const float brush_delta[3]);
66 const float elem_orig_co[3],
67 const float brush_location[3],
68 const float brush_delta[3]);
71 const float elem_orig_co[3],
72 const float brush_location[3],
73 const float surface_normal[3]);
76 const float elem_orig_co[3],
77 const float brush_location[3],
78 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]