Blender  V3.3
Classes | Macros | Functions
bmo_join_triangles.c File Reference
#include "MEM_guardedalloc.h"
#include "DNA_meshdata_types.h"
#include "BLI_math.h"
#include "BLI_sort_utils.h"
#include "BKE_customdata.h"
#include "bmesh.h"
#include "intern/bmesh_operators_private.h"

Go to the source code of this file.

Classes

struct  DelimitData_CD
 
struct  DelimitData
 

Macros

#define EDGE_MARK   (1 << 0)
 
#define FACE_OUT   (1 << 0)
 
#define FACE_INPUT   (1 << 2)
 

Functions

static float quad_calc_error (const float v1[3], const float v2[3], const float v3[3], const float v4[3])
 
static void bm_edge_to_quad_verts (const BMEdge *e, const BMVert *r_v_quad[4])
 
static bool bm_edge_is_contiguous_loop_cd_all (const BMEdge *e, const struct DelimitData_CD *delimit_data)
 
static bool bm_edge_delimit_cdata (CustomData *ldata, eCustomDataType type, struct DelimitData_CD *r_delim_cd)
 
static float bm_edge_is_delimit (const BMEdge *e, const struct DelimitData *delimit_data)
 
void bmo_join_triangles_exec (BMesh *bm, BMOperator *op)
 

Detailed Description

Convert triangle to quads.

TODO

Definition in file bmo_join_triangles.c.

Macro Definition Documentation

◆ EDGE_MARK

#define EDGE_MARK   (1 << 0)

Definition at line 234 of file bmo_join_triangles.c.

◆ FACE_INPUT

#define FACE_INPUT   (1 << 2)

Definition at line 237 of file bmo_join_triangles.c.

◆ FACE_OUT

#define FACE_OUT   (1 << 0)

Definition at line 236 of file bmo_join_triangles.c.

Function Documentation

◆ bm_edge_delimit_cdata()

static bool bm_edge_delimit_cdata ( CustomData ldata,
eCustomDataType  type,
struct DelimitData_CD r_delim_cd 
)
static

◆ bm_edge_is_contiguous_loop_cd_all()

static bool bm_edge_is_contiguous_loop_cd_all ( const BMEdge e,
const struct DelimitData_CD delimit_data 
)
static

◆ bm_edge_is_delimit()

static float bm_edge_is_delimit ( const BMEdge e,
const struct DelimitData delimit_data 
)
static

◆ bm_edge_to_quad_verts()

static void bm_edge_to_quad_verts ( const BMEdge e,
const BMVert r_v_quad[4] 
)
static

Definition at line 99 of file bmo_join_triangles.c.

References BLI_assert, BM_edge_is_manifold(), and e.

Referenced by bm_edge_is_delimit(), and bmo_join_triangles_exec().

◆ bmo_join_triangles_exec()

void bmo_join_triangles_exec ( BMesh bm,
BMOperator op 
)

◆ quad_calc_error()

static float quad_calc_error ( const float  v1[3],
const float  v2[3],
const float  v3[3],
const float  v4[3] 
)
static