Blender  V3.3
Classes
subdiv_deform.c File Reference
#include "BKE_subdiv_deform.h"
#include <string.h>
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "BKE_customdata.h"
#include "BKE_subdiv.h"
#include "BKE_subdiv_eval.h"
#include "BKE_subdiv_foreach.h"
#include "BKE_subdiv_mesh.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  SubdivDeformContext
 

Functions

Accumulation helpers
static void subdiv_accumulate_vertex_displacement (SubdivDeformContext *ctx, const int ptex_face_index, const float u, const float v, int vertex_index)
 
Subdivision callbacks
static bool subdiv_mesh_topology_info (const SubdivForeachContext *foreach_context, const int UNUSED(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 subdiv_mesh_vertex_every_corner (const SubdivForeachContext *foreach_context, void *UNUSED(tls), const int ptex_face_index, const float u, const float v, const int coarse_vertex_index, const int UNUSED(coarse_poly_index), const int UNUSED(coarse_corner), const int UNUSED(subdiv_vertex_index))
 
static void subdiv_mesh_vertex_corner (const SubdivForeachContext *foreach_context, void *UNUSED(tls), const int ptex_face_index, const float u, const float v, const int coarse_vertex_index, const int UNUSED(coarse_poly_index), const int UNUSED(coarse_corner), const int UNUSED(subdiv_vertex_index))
 
Initialization
static void setup_foreach_callbacks (const SubdivDeformContext *subdiv_context, SubdivForeachContext *foreach_context)
 
Public entry point
void BKE_subdiv_deform_coarse_vertices (struct Subdiv *subdiv, const struct Mesh *coarse_mesh, float(*vertex_cos)[3], int num_verts)
 

Subdivision context

typedef struct SubdivDeformContext SubdivDeformContext
 
static void subdiv_mesh_prepare_accumulator (SubdivDeformContext *ctx, int num_vertices)
 
static void subdiv_mesh_context_free (SubdivDeformContext *ctx)
 

Typedef Documentation

◆ SubdivDeformContext

Function Documentation

◆ BKE_subdiv_deform_coarse_vertices()

void BKE_subdiv_deform_coarse_vertices ( struct Subdiv subdiv,
const struct Mesh coarse_mesh,
float(*)  vertex_cos[3],
int  num_verts 
)

◆ setup_foreach_callbacks()

static void setup_foreach_callbacks ( const SubdivDeformContext subdiv_context,
SubdivForeachContext foreach_context 
)
static

◆ subdiv_accumulate_vertex_displacement()

static void subdiv_accumulate_vertex_displacement ( SubdivDeformContext ctx,
const int  ptex_face_index,
const float  u,
const float  v,
int  vertex_index 
)
static

◆ subdiv_mesh_context_free()

static void subdiv_mesh_context_free ( SubdivDeformContext ctx)
static

◆ subdiv_mesh_prepare_accumulator()

static void subdiv_mesh_prepare_accumulator ( SubdivDeformContext ctx,
int  num_vertices 
)
static

◆ subdiv_mesh_topology_info()

static bool subdiv_mesh_topology_info ( const SubdivForeachContext foreach_context,
const int   UNUSEDnum_vertices,
const int   UNUSEDnum_edges,
const int   UNUSEDnum_loops,
const int   UNUSEDnum_polygons,
const int *  UNUSEDsubdiv_polygon_offset 
)
static

◆ subdiv_mesh_vertex_corner()

static void subdiv_mesh_vertex_corner ( const SubdivForeachContext foreach_context,
void UNUSEDtls,
const int  ptex_face_index,
const float  u,
const float  v,
const int  coarse_vertex_index,
const int   UNUSEDcoarse_poly_index,
const int   UNUSEDcoarse_corner,
const int   UNUSEDsubdiv_vertex_index 
)
static

◆ subdiv_mesh_vertex_every_corner()

static void subdiv_mesh_vertex_every_corner ( const SubdivForeachContext foreach_context,
void UNUSEDtls,
const int  ptex_face_index,
const float  u,
const float  v,
const int  coarse_vertex_index,
const int   UNUSEDcoarse_poly_index,
const int   UNUSEDcoarse_corner,
const int   UNUSEDsubdiv_vertex_index 
)
static