Blender V4.3
kelvinlet.cc File Reference
#include "BKE_kelvinlet.h"
#include "BLI_math_base.h"
#include "BLI_math_vector.h"

Go to the source code of this file.

Typedefs

using kelvinlet_fn
 

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[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 Documentation

◆ kelvinlet_fn

using kelvinlet_fn
Initial value:
void (*)(float[3], const float *, const float *, const float *, const KelvinletParams *)

Definition at line 118 of file kelvinlet.cc.

Function Documentation

◆ BKE_kelvinlet_grab()

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 54 of file kelvinlet.cc.

References fade(), init_kelvinlet_grab(), len_v3v3(), mul_v3_v3fl(), and params.

◆ BKE_kelvinlet_grab_biscale()

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 71 of file kelvinlet.cc.

References fade(), init_kelvinlet_grab(), len_v3v3(), mul_v3_v3fl(), and params.

◆ BKE_kelvinlet_grab_triscale()

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] )

◆ BKE_kelvinlet_init_params()

void BKE_kelvinlet_init_params ( KelvinletParams * params,
float radius,
float force,
float shear_modulus,
float poisson_ratio )

◆ BKE_kelvinlet_scale()

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 166 of file kelvinlet.cc.

References kelvinlet_scale(), params, and sculpt_kelvinet_integrate().

◆ BKE_kelvinlet_twist()

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 194 of file kelvinlet.cc.

References kelvinlet_twist(), params, and sculpt_kelvinet_integrate().

◆ init_kelvinlet_grab()

static void init_kelvinlet_grab ( float radius_e[3],
float kelvinlet[3],
const float radius,
const KelvinletParams * params,
const int num_iterations )
static

Definition at line 33 of file kelvinlet.cc.

References b, params, pow2f(), pow3f(), and sqrtf.

Referenced by BKE_kelvinlet_grab(), BKE_kelvinlet_grab_biscale(), and BKE_kelvinlet_grab_triscale().

◆ kelvinlet_scale()

static void kelvinlet_scale ( float disp[3],
const float vertex_co[3],
const float location[3],
const float [3],
const KelvinletParams * p )
static

◆ kelvinlet_twist()

static void kelvinlet_twist ( float disp[3],
const float vertex_co[3],
const float location[3],
const float normal[3],
const KelvinletParams * p )
static

◆ sculpt_kelvinet_integrate()

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