Blender  V3.3
Macros | Functions
bmo_dissolve.c File Reference
#include "MEM_guardedalloc.h"
#include "BLI_array.h"
#include "BLI_math.h"
#include "BLI_stack.h"
#include "bmesh.h"
#include "bmesh_tools.h"
#include "intern/bmesh_operators_private.h"

Go to the source code of this file.

Macros

#define FACE_MARK   1
 
#define FACE_ORIG   2
 
#define FACE_NEW   4
 
#define FACE_TAG   8
 
#define EDGE_MARK   1
 
#define EDGE_TAG   2
 
#define EDGE_ISGC   8
 
#define VERT_MARK   1
 
#define VERT_MARK_PAIR   4
 
#define VERT_TAG   2
 
#define VERT_ISGC   8
 
#define VERT_MARK_TEAR   16
 
#define EDGE_MARK   1
 
#define EDGE_COLLAPSE   2
 

Functions

static bool UNUSED_FUNCTION() check_hole_in_region (BMesh *bm, BMFace *f)
 
static void bm_face_split (BMesh *bm, const short oflag, bool use_edge_delete)
 
void bmo_dissolve_faces_exec (BMesh *bm, BMOperator *op)
 
void bmo_dissolve_edges_exec (BMesh *bm, BMOperator *op)
 
void bmo_dissolve_verts_exec (BMesh *bm, BMOperator *op)
 
void bmo_dissolve_limit_exec (BMesh *bm, BMOperator *op)
 
static void bm_mesh_edge_collapse_flagged (BMesh *bm, const int flag, const short oflag)
 
void bmo_dissolve_degenerate_exec (BMesh *bm, BMOperator *op)
 

Detailed Description

Removes isolated geometry regions without creating holes in the mesh.

Definition in file bmo_dissolve.c.

Macro Definition Documentation

◆ EDGE_COLLAPSE

#define EDGE_COLLAPSE   2

Definition at line 500 of file bmo_dissolve.c.

◆ EDGE_ISGC

#define EDGE_ISGC   8

Definition at line 29 of file bmo_dissolve.c.

◆ EDGE_MARK [1/2]

#define EDGE_MARK   1

Definition at line 499 of file bmo_dissolve.c.

◆ EDGE_MARK [2/2]

#define EDGE_MARK   1

Definition at line 499 of file bmo_dissolve.c.

◆ EDGE_TAG

#define EDGE_TAG   2

Definition at line 28 of file bmo_dissolve.c.

◆ FACE_MARK

#define FACE_MARK   1

Definition at line 22 of file bmo_dissolve.c.

◆ FACE_NEW

#define FACE_NEW   4

Definition at line 24 of file bmo_dissolve.c.

◆ FACE_ORIG

#define FACE_ORIG   2

Definition at line 23 of file bmo_dissolve.c.

◆ FACE_TAG

#define FACE_TAG   8

Definition at line 25 of file bmo_dissolve.c.

◆ VERT_ISGC

#define VERT_ISGC   8

Definition at line 34 of file bmo_dissolve.c.

◆ VERT_MARK

#define VERT_MARK   1

Definition at line 31 of file bmo_dissolve.c.

◆ VERT_MARK_PAIR

#define VERT_MARK_PAIR   4

Definition at line 32 of file bmo_dissolve.c.

◆ VERT_MARK_TEAR

#define VERT_MARK_TEAR   16

Definition at line 35 of file bmo_dissolve.c.

◆ VERT_TAG

#define VERT_TAG   2

Definition at line 33 of file bmo_dissolve.c.

Function Documentation

◆ bm_face_split()

static void bm_face_split ( BMesh bm,
const short  oflag,
bool  use_edge_delete 
)
static

◆ bm_mesh_edge_collapse_flagged()

static void bm_mesh_edge_collapse_flagged ( BMesh bm,
const int  flag,
const short  oflag 
)
static

Definition at line 502 of file bmo_dissolve.c.

References bm, BMO_op_callf(), and oflag.

Referenced by bmo_dissolve_degenerate_exec().

◆ bmo_dissolve_degenerate_exec()

void bmo_dissolve_degenerate_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_dissolve_edges_exec()

void bmo_dissolve_edges_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_dissolve_faces_exec()

void bmo_dissolve_faces_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_dissolve_limit_exec()

void bmo_dissolve_limit_exec ( BMesh bm,
BMOperator op 
)

◆ bmo_dissolve_verts_exec()

void bmo_dissolve_verts_exec ( BMesh bm,
BMOperator op 
)

◆ check_hole_in_region()

static bool UNUSED_FUNCTION() check_hole_in_region ( BMesh bm,
BMFace f 
)
static