Blender  V3.3
Macros | Functions
bmo_connect_nonplanar.c File Reference
#include "BLI_alloca.h"
#include "BLI_linklist_stack.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "bmesh.h"
#include "intern/bmesh_operators_private.h"

Go to the source code of this file.

Macros

#define EDGE_OUT   (1 << 0)
 
#define FACE_OUT   (1 << 1)
 

Functions

static float bm_face_subset_calc_planar (BMLoop *l_first, BMLoop *l_last, const float no[3])
 
static bool bm_face_split_find (BMesh *bm, BMFace *f, BMLoop *l_pair[2], float *r_angle_cos)
 
static bool bm_face_split_by_angle (BMesh *bm, BMFace *f, BMFace *r_f_pair[2], const float angle_limit_cos)
 
void bmo_connect_verts_nonplanar_exec (BMesh *bm, BMOperator *op)
 

Detailed Description

Connect verts non-planer faces iteratively (splits faces).

Definition in file bmo_connect_nonplanar.c.

Macro Definition Documentation

◆ EDGE_OUT

#define EDGE_OUT   (1 << 0)

Definition at line 18 of file bmo_connect_nonplanar.c.

◆ FACE_OUT

#define FACE_OUT   (1 << 1)

Definition at line 19 of file bmo_connect_nonplanar.c.

Function Documentation

◆ bm_face_split_by_angle()

static bool bm_face_split_by_angle ( BMesh bm,
BMFace f,
BMFace r_f_pair[2],
const float  angle_limit_cos 
)
static

◆ bm_face_split_find()

static bool bm_face_split_find ( BMesh bm,
BMFace f,
BMLoop l_pair[2],
float r_angle_cos 
)
static

◆ bm_face_subset_calc_planar()

static float bm_face_subset_calc_planar ( BMLoop l_first,
BMLoop l_last,
const float  no[3] 
)
static

Calculates how non-planar the face subset is.

Definition at line 24 of file bmo_connect_nonplanar.c.

References axis_dominant_v3_to_m3(), BMVert::co, dot_m3_v3_row_z(), fabsf, BMLoop::next, and BMLoop::v.

Referenced by bm_face_split_find().

◆ bmo_connect_verts_nonplanar_exec()

void bmo_connect_verts_nonplanar_exec ( BMesh bm,
BMOperator op 
)