35 for (
int loop_index = 0; loop_index < base_mesh->
totloop; ++loop_index) {
36 const MLoop *loop = &mloop[loop_index];
37 MVert *vert = &mvert[loop->
v];
45 float tangent_matrix[3][3];
49 reshape_context, &grid_coord);
81 base_mesh->
totvert,
sizeof(
float[3]),
"multires apply base origco");
82 for (
int i = 0; i < base_mesh->
totvert; i++) {
86 for (
int i = 0; i < base_mesh->
totvert; i++) {
87 float avg_no[3] = {0, 0, 0},
center[3] = {0, 0, 0}, push[3];
96 for (
int j = 0; j < pmap[i].
count; j++) {
100 for (
int k = 0; k < p->
totloop; k++) {
111 for (
int j = 0; j < pmap[i].
count; j++) {
124 for (
int k = 0; k < p->
totloop; k++) {
typedef float(TangentPoint)[2]
CustomData interface, see also DNA_customdata_types.h.
void BKE_mesh_tag_coords_changed(struct Mesh *mesh)
void BKE_mesh_calc_poly_normal_coords(const struct MPoly *mpoly, const struct MLoop *loopstart, const float(*vertex_coords)[3], float r_no[3])
void BKE_mesh_vert_poly_map_create(MeshElemMap **r_map, int **r_mem, const struct MPoly *mpoly, const struct MLoop *mloop, int totvert, int totpoly, int totloop)
float(* BKE_multires_create_deformed_base_mesh_vert_coords(struct Depsgraph *depsgraph, struct Object *object, struct MultiresModifierData *mmd, int *r_num_deformed_verts))[3]
bool BKE_subdiv_eval_refine_from_mesh(struct Subdiv *subdiv, const struct Mesh *mesh, const float(*coarse_vertex_cos)[3])
void mul_v3_m3v3(float r[3], const float M[3][3], const float a[3])
MINLINE float normalize_v3(float r[3])
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void mul_v3_fl(float r[3], float f)
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE float dot_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void add_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void add_v3_v3(float r[3], const float a[3])
struct Depsgraph Depsgraph
Object is a sort of wrapper for general info.
NSNotificationCenter * center
Read Guarded memory(de)allocation.
ATTR_WARN_UNUSED_RESULT const BMVert * v
const Depsgraph * depsgraph
void *(* MEM_malloc_arrayN)(size_t len, size_t size, const char *str)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_calloc_arrayN)(size_t len, size_t size, const char *str)
ReshapeConstGridElement multires_reshape_orig_grid_element_for_grid_coord(const MultiresReshapeContext *reshape_context, const GridCoord *grid_coord)
void multires_reshape_evaluate_limit_at_grid(const MultiresReshapeContext *reshape_context, const GridCoord *grid_coord, float r_P[3], float r_tangent_matrix[3][3])
void multires_reshape_apply_base_refit_base_mesh(MultiresReshapeContext *reshape_context)
static float v3_dist_from_plane(const float v[3], const float center[3], const float no[3])
void multires_reshape_apply_base_refine_from_base(MultiresReshapeContext *reshape_context)
void multires_reshape_apply_base_update_mesh_coords(MultiresReshapeContext *reshape_context)
void multires_reshape_apply_base_refine_from_deform(MultiresReshapeContext *reshape_context)
struct MultiresModifierData * mmd
struct Depsgraph * depsgraph
BLI_INLINE float D(const float *data, const int res[3], int x, int y, int z)