51 for (
int loop_index = 0; loop_index < base_mesh->
totloop; ++loop_index) {
52 const MLoop *loop = &mloop[loop_index];
53 MVert *vert = &mvert[loop->
v];
61 float tangent_matrix[3][3];
65 reshape_context, &grid_coord);
97 base_mesh->
totvert,
sizeof(
float[3]),
"multires apply base origco");
98 for (
int i = 0; i < base_mesh->
totvert; i++) {
102 for (
int i = 0; i < base_mesh->
totvert; i++) {
103 float avg_no[3] = {0, 0, 0},
center[3] = {0, 0, 0}, push[3];
106 if (!pmap[i].
count) {
112 for (
int j = 0; j < pmap[i].
count; j++) {
116 for (
int k = 0; k < p->
totloop; k++) {
127 for (
int j = 0; j < pmap[i].
count; j++) {
140 for (
int k = 0; k < p->
totloop; k++) {
typedef float(TangentPoint)[2]
CustomData interface, see also DNA_customdata_types.h.
void BKE_mesh_calc_normals(struct Mesh *me)
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)