Blender  V3.3
Classes | Macros | Functions
bmo_triangulate.c File Reference
#include "MEM_guardedalloc.h"
#include "DNA_listBase.h"
#include "BLI_math.h"
#include "BLI_scanfill.h"
#include "BLI_sort_utils.h"
#include "bmesh.h"
#include "bmesh_tools.h"
#include "intern/bmesh_operators_private.h"

Go to the source code of this file.

Classes

struct  SortNormal
 

Macros

#define ELE_NEW   1
 
#define EDGE_MARK   4
 

Functions

void bmo_triangulate_exec (BMesh *bm, BMOperator *op)
 
void bmo_triangle_fill_exec (BMesh *bm, BMOperator *op)
 

Detailed Description

Triangulate faces, also defines triangle fill.

Definition in file bmo_triangulate.c.

Macro Definition Documentation

◆ EDGE_MARK

#define EDGE_MARK   4

Definition at line 22 of file bmo_triangulate.c.

◆ ELE_NEW

#define ELE_NEW   1

Definition at line 21 of file bmo_triangulate.c.

Function Documentation

◆ bmo_triangle_fill_exec()

void bmo_triangle_fill_exec ( BMesh bm,
BMOperator op 
)

Definition at line 47 of file bmo_triangulate.c.

References add_v3_v3(), BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_len(), BLI_ghash_lookup(), BLI_ghash_ptr_new_ex(), BLI_scanfill_begin(), BLI_scanfill_calc_ex(), BLI_SCANFILL_CALC_HOLES, BLI_SCANFILL_CALC_LOOSE, BLI_SCANFILL_CALC_POLYS, BLI_scanfill_edge_add(), BLI_scanfill_end(), BLI_scanfill_vert_add(), BLI_sortutil_cmp_float_reverse(), bm, BM_CREATE_NO_DOUBLE, BM_EDGE, BM_edge_exists(), BM_edge_is_boundary(), BM_edge_is_manifold(), BM_edge_kill(), BM_edge_other_vert(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_FACE, BM_face_create_quad_tri(), BM_faces_join_pair(), BM_ITER_ELEM, BM_ITER_MESH_MUTABLE, BM_LOOPS_OF_FACE, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_enable, BMO_ITER, BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), BMO_slot_vec_get(), BMVert::co, copy_v3_v3(), cross_v3_v3v3(), dot_v3v3(), BMLoop::e, e, EDGE_MARK, ELE_NEW, ScanFillContext::fillfacebase, ScanFillContext::fillvertbase, ListBase::first, BMOperator::flag, is_zero_v3(), l, len_squared_v3(), LIKELY, MEM_freeN, MEM_mallocN, negate_v3(), ScanFillVert::next, ScanFillFace::next, BMVert::no, SortNormal::no, normal, normalize_v3(), NULL, ScanFillVert::p, BMOperator::slots_in, BMOperator::slots_out, sub_v3_v3v3(), SWAP, ScanFillVert::tmp, UNLIKELY, UNPACK2, v, ScanFillFace::v1, ScanFillFace::v2, ScanFillFace::v3, and SortNormal::value.

◆ bmo_triangulate_exec()

void bmo_triangulate_exec ( BMesh bm,
BMOperator op 
)