Blender
V3.3
|
#include "BLI_compiler_attrs.h"
Go to the source code of this file.
Classes | |
struct | BMPartialUpdate_Params |
struct | BMPartialUpdate |
Typedefs | |
typedef struct BMPartialUpdate_Params | BMPartialUpdate_Params |
typedef struct BMPartialUpdate | BMPartialUpdate |
Functions | |
BMPartialUpdate * | BM_mesh_partial_create_from_verts (BMesh *bm, const BMPartialUpdate_Params *params, const unsigned int *verts_mask, int verts_mask_count) ATTR_NONNULL(1 |
BMPartialUpdate * | BM_mesh_partial_create_from_verts_group_single (BMesh *bm, const BMPartialUpdate_Params *params, const unsigned int *verts_mask, int verts_mask_count) ATTR_NONNULL(1 |
BMPartialUpdate * | BM_mesh_partial_create_from_verts_group_multi (BMesh *bm, const BMPartialUpdate_Params *params, const int *verts_group, int verts_group_count) ATTR_NONNULL(1 |
void | BM_mesh_partial_destroy (BMPartialUpdate *bmpinfo) ATTR_NONNULL(1) |
Variables | |
BMPartialUpdate | ATTR_WARN_UNUSED_RESULT |
typedef struct BMPartialUpdate BMPartialUpdate |
Cached data to speed up partial updates.
Hints:
typedef struct BMPartialUpdate_Params BMPartialUpdate_Params |
Parameters used to determine which kinds of data needs to be generated.
BMPartialUpdate* BM_mesh_partial_create_from_verts | ( | BMesh * | bm, |
const BMPartialUpdate_Params * | params, | ||
const unsigned int * | verts_mask, | ||
int | verts_mask_count | ||
) |
All Tagged & Connected, see: BM_mesh_partial_create_from_verts Operate on everything that's tagged as well as connected geometry.
BMPartialUpdate* BM_mesh_partial_create_from_verts_group_multi | ( | BMesh * | bm, |
const BMPartialUpdate_Params * | params, | ||
const int * | verts_group, | ||
int | verts_group_count | ||
) |
All Connected, operate on all faces that have vertices in the same group.
Reduces computations when transforming isolated regions.
This is a version of BM_mesh_partial_create_from_verts_group_single that handles multiple groups instead of a bitmap mask.
This is needed for example when transform has mirror enabled, since one side needs to have a different group to the other since a face that has vertices attached to both won't have an affine transformation.
verts_group | Vertex aligned array of groups. Values are used as follows:
|
verts_group_count | The number of non-zero values in verts_groups . |
BMPartialUpdate* BM_mesh_partial_create_from_verts_group_single | ( | BMesh * | bm, |
const BMPartialUpdate_Params * | params, | ||
const unsigned int * | verts_mask, | ||
int | verts_mask_count | ||
) |
All Connected, operate on all faces that have both tagged and un-tagged vertices.
Reduces computations when transforming isolated regions.
void BM_mesh_partial_destroy | ( | BMPartialUpdate * | bmpinfo | ) |
Definition at line 395 of file bmesh_mesh_partial_update.c.
References BMPartialUpdate::faces, MEM_freeN, and BMPartialUpdate::verts.
Referenced by editmesh_partial_update_end_fn(), tc_mesh_customdata_free(), and tc_mesh_partial_ensure().
BMPartialUpdate ATTR_WARN_UNUSED_RESULT |
Definition at line 49 of file bmesh_mesh_partial_update.h.