Blender  V3.3
Classes | Typedefs | Functions
multires_reshape_vertcos.c File Reference
#include "multires_reshape.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BLI_math_vector.h"
#include "BKE_subdiv_foreach.h"
#include "BKE_subdiv_mesh.h"

Go to the source code of this file.

Classes

struct  MultiresReshapeAssignVertcosContext
 

Typedefs

typedef struct MultiresReshapeAssignVertcosContext MultiresReshapeAssignVertcosContext
 

Functions

static void multires_reshape_vertcos_foreach_single_vertex (const SubdivForeachContext *foreach_context, const GridCoord *grid_coord, const int subdiv_vertex_index)
 
static void multires_reshape_vertcos_foreach_vertex (const SubdivForeachContext *foreach_context, const PTexCoord *ptex_coord, const int subdiv_vertex_index)
 
static bool multires_reshape_vertcos_foreach_topology_info (const SubdivForeachContext *foreach_context, const int num_vertices, const int UNUSED(num_edges), const int UNUSED(num_loops), const int UNUSED(num_polygons), const int *UNUSED(subdiv_polygon_offset))
 
static void multires_reshape_vertcos_foreach_vertex_inner (const SubdivForeachContext *foreach_context, void *UNUSED(tls_v), const int ptex_face_index, const float ptex_face_u, const float ptex_face_v, const int UNUSED(coarse_face_index), const int UNUSED(coarse_face_corner), const int subdiv_vertex_index)
 
static void multires_reshape_vertcos_foreach_vertex_every_corner (const struct SubdivForeachContext *foreach_context, void *UNUSED(tls_v), const int ptex_face_index, const float ptex_face_u, const float ptex_face_v, const int UNUSED(coarse_vertex_index), const int UNUSED(coarse_face_index), const int UNUSED(coarse_face_corner), const int subdiv_vertex_index)
 
static void multires_reshape_vertcos_foreach_vertex_every_edge (const struct SubdivForeachContext *foreach_context, void *UNUSED(tls_v), const int ptex_face_index, const float ptex_face_u, const float ptex_face_v, const int UNUSED(coarse_edge_index), const int UNUSED(coarse_face_index), const int UNUSED(coarse_face_corner), const int subdiv_vertex_index)
 
bool multires_reshape_assign_final_coords_from_vertcos (const MultiresReshapeContext *reshape_context, const float(*vert_coords)[3], const int num_vert_coords)
 

Typedef Documentation

◆ MultiresReshapeAssignVertcosContext

Function Documentation

◆ multires_reshape_assign_final_coords_from_vertcos()

bool multires_reshape_assign_final_coords_from_vertcos ( const MultiresReshapeContext reshape_context,
const float(*)  vert_coords[3],
int  num_vert_coords 
)

◆ multires_reshape_vertcos_foreach_single_vertex()

static void multires_reshape_vertcos_foreach_single_vertex ( const SubdivForeachContext foreach_context,
const GridCoord grid_coord,
const int  subdiv_vertex_index 
)
static

Set single displacement grid value at a reshape level to a corresponding vertex coordinate. This function will be called for every side of a boundary grid points for inner coordinates.

Definition at line 29 of file multires_reshape_vertcos.c.

References BLI_assert, copy_v3_v3(), ReshapeGridElement::displacement, multires_reshape_grid_element_for_grid_coord(), NULL, MultiresReshapeAssignVertcosContext::reshape_context, SubdivForeachContext::user_data, and MultiresReshapeAssignVertcosContext::vert_coords.

Referenced by multires_reshape_vertcos_foreach_vertex().

◆ multires_reshape_vertcos_foreach_topology_info()

static bool multires_reshape_vertcos_foreach_topology_info ( const SubdivForeachContext foreach_context,
const int  num_vertices,
const int   UNUSEDnum_edges,
const int   UNUSEDnum_loops,
const int   UNUSEDnum_polygons,
const int *  UNUSEDsubdiv_polygon_offset 
)
static

◆ multires_reshape_vertcos_foreach_vertex()

static void multires_reshape_vertcos_foreach_vertex ( const SubdivForeachContext foreach_context,
const PTexCoord ptex_coord,
const int  subdiv_vertex_index 
)
static

◆ multires_reshape_vertcos_foreach_vertex_every_corner()

static void multires_reshape_vertcos_foreach_vertex_every_corner ( const struct SubdivForeachContext foreach_context,
void UNUSEDtls_v,
const int  ptex_face_index,
const float  ptex_face_u,
const float  ptex_face_v,
const int   UNUSEDcoarse_vertex_index,
const int   UNUSEDcoarse_face_index,
const int   UNUSEDcoarse_face_corner,
const int  subdiv_vertex_index 
)
static

◆ multires_reshape_vertcos_foreach_vertex_every_edge()

static void multires_reshape_vertcos_foreach_vertex_every_edge ( const struct SubdivForeachContext foreach_context,
void UNUSEDtls_v,
const int  ptex_face_index,
const float  ptex_face_u,
const float  ptex_face_v,
const int   UNUSEDcoarse_edge_index,
const int   UNUSEDcoarse_face_index,
const int   UNUSEDcoarse_face_corner,
const int  subdiv_vertex_index 
)
static

◆ multires_reshape_vertcos_foreach_vertex_inner()

static void multires_reshape_vertcos_foreach_vertex_inner ( const SubdivForeachContext foreach_context,
void UNUSEDtls_v,
const int  ptex_face_index,
const float  ptex_face_u,
const float  ptex_face_v,
const int   UNUSEDcoarse_face_index,
const int   UNUSEDcoarse_face_corner,
const int  subdiv_vertex_index 
)
static