Blender  V3.3
Macros | Functions
bmo_removedoubles.c File Reference
#include "MEM_guardedalloc.h"
#include "BLI_alloca.h"
#include "BLI_kdtree.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_stack.h"
#include "BLI_utildefines_stack.h"
#include "BKE_customdata.h"
#include "bmesh.h"
#include "intern/bmesh_operators_private.h"

Go to the source code of this file.

Macros

#define ELE_DEL   1
 
#define EDGE_COL   2
 
#define VERT_IN_FACE   4
 
#define LOOP_MAP_VERT_INIT(l_init, v_map, is_del)
 
#define VERT_KEEP   8
 
#define EDGE_MARK   1
 

Functions

static void remdoubles_splitface (BMFace *f, BMesh *bm, BMOperator *op, BMOpSlot *slot_targetmap)
 
static BMFaceremdoubles_createface (BMesh *bm, BMFace *f, BMOpSlot *slot_targetmap, bool *r_created)
 
void bmo_weld_verts_exec (BMesh *bm, BMOperator *op)
 
void bmo_pointmerge_facedata_exec (BMesh *bm, BMOperator *op)
 
void bmo_average_vert_facedata_exec (BMesh *bm, BMOperator *op)
 
void bmo_pointmerge_exec (BMesh *bm, BMOperator *op)
 
void bmo_collapse_exec (BMesh *bm, BMOperator *op)
 
static void bmo_collapsecon_do_layer (BMesh *bm, const int layer, const short oflag)
 
void bmo_collapse_uvs_exec (BMesh *bm, BMOperator *op)
 
static void bmesh_find_doubles_common (BMesh *bm, BMOperator *op, BMOperator *optarget, BMOpSlot *optarget_slot)
 
void bmo_remove_doubles_exec (BMesh *bm, BMOperator *op)
 
void bmo_find_doubles_exec (BMesh *bm, BMOperator *op)
 

Detailed Description

Welding and merging functionality.

Definition in file bmo_removedoubles.c.

Macro Definition Documentation

◆ EDGE_COL

#define EDGE_COL   2

Definition at line 56 of file bmo_removedoubles.c.

◆ EDGE_MARK

#define EDGE_MARK   1

Definition at line 317 of file bmo_removedoubles.c.

◆ ELE_DEL

#define ELE_DEL   1

Definition at line 55 of file bmo_removedoubles.c.

◆ LOOP_MAP_VERT_INIT

#define LOOP_MAP_VERT_INIT (   l_init,
  v_map,
  is_del 
)
Value:
v_map = l_init->v; \
is_del = BMO_vert_flag_test_bool(bm, v_map, ELE_DEL); \
if (is_del) { \
v_map = BMO_slot_map_elem_get(slot_targetmap, v_map); \
} \
((void)0)
ATTR_WARN_UNUSED_RESULT BMesh * bm
#define BMO_vert_flag_test_bool(bm, e, oflag)
#define ELE_DEL
SyclQueue void void size_t num_bytes void

◆ VERT_IN_FACE

#define VERT_IN_FACE   4

Definition at line 57 of file bmo_removedoubles.c.

◆ VERT_KEEP

#define VERT_KEEP   8

Definition at line 315 of file bmo_removedoubles.c.

Function Documentation

◆ bmesh_find_doubles_common()

static void bmesh_find_doubles_common ( BMesh bm,
BMOperator op,
BMOperator optarget,
BMOpSlot optarget_slot 
)
static

◆ bmo_average_vert_facedata_exec()

void bmo_average_vert_facedata_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_collapse_exec()

void bmo_collapse_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_collapse_uvs_exec()

void bmo_collapse_uvs_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_collapsecon_do_layer()

static void bmo_collapsecon_do_layer ( BMesh bm,
const int  layer,
const short  oflag 
)
static

◆ bmo_find_doubles_exec()

void bmo_find_doubles_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_pointmerge_exec()

void bmo_pointmerge_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_pointmerge_facedata_exec()

void bmo_pointmerge_facedata_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_remove_doubles_exec()

void bmo_remove_doubles_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_weld_verts_exec()

void bmo_weld_verts_exec ( BMesh bm,
BMOperator op 
)

◆ remdoubles_createface()

static BMFace* remdoubles_createface ( BMesh bm,
BMFace f,
BMOpSlot slot_targetmap,
bool r_created 
)
static

◆ remdoubles_splitface()

static void remdoubles_splitface ( BMFace f,
BMesh bm,
BMOperator op,
BMOpSlot slot_targetmap 
)
static