Blender  V3.3
Classes
editmesh_preselect_edgering.c File Reference
#include "MEM_guardedalloc.h"
#include "DNA_userdef_types.h"
#include "BLI_math.h"
#include "BLI_stack.h"
#include "BKE_editmesh.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
#include "ED_mesh.h"
#include "UI_resources.h"

Go to the source code of this file.

Classes

struct  EditMesh_PreSelEdgeRing
 

Functions

Mesh Edge Ring Pre-Select
static void edgering_vcos_get (BMVert *v[2][2], float r_cos[2][2][3], const float(*coords)[3])
 
static void edgering_vcos_get_pair (BMVert *v[2], float r_cos[2][3], const float(*coords)[3])
 
static void edgering_find_order (BMEdge *eed_last, BMEdge *eed, BMVert *eve_last, BMVert *v[2][2])
 
struct EditMesh_PreSelEdgeRingEDBM_preselect_edgering_create (void)
 
void EDBM_preselect_edgering_destroy (struct EditMesh_PreSelEdgeRing *psel)
 
void EDBM_preselect_edgering_clear (struct EditMesh_PreSelEdgeRing *psel)
 
void EDBM_preselect_edgering_draw (struct EditMesh_PreSelEdgeRing *psel, const float matrix[4][4])
 
static void view3d_preselect_mesh_edgering_update_verts_from_edge (struct EditMesh_PreSelEdgeRing *psel, BMesh *UNUSED(bm), BMEdge *eed_start, int previewlines, const float(*coords)[3])
 
static void view3d_preselect_mesh_edgering_update_edges_from_edge (struct EditMesh_PreSelEdgeRing *psel, BMesh *bm, BMEdge *eed_start, int previewlines, const float(*coords)[3])
 
void EDBM_preselect_edgering_update_from_edge (struct EditMesh_PreSelEdgeRing *psel, BMesh *bm, BMEdge *eed_start, int previewlines, const float(*coords)[3])
 

Function Documentation

◆ EDBM_preselect_edgering_clear()

void EDBM_preselect_edgering_clear ( struct EditMesh_PreSelEdgeRing psel)

◆ EDBM_preselect_edgering_create()

struct EditMesh_PreSelEdgeRing* EDBM_preselect_edgering_create ( void  )

Definition at line 123 of file editmesh_preselect_edgering.c.

References MEM_callocN.

Referenced by gizmo_preselect_edgering_setup(), and ringsel_init().

◆ EDBM_preselect_edgering_destroy()

void EDBM_preselect_edgering_destroy ( struct EditMesh_PreSelEdgeRing psel)

◆ EDBM_preselect_edgering_draw()

void EDBM_preselect_edgering_draw ( struct EditMesh_PreSelEdgeRing psel,
const float  matrix[4][4] 
)

◆ EDBM_preselect_edgering_update_from_edge()

void EDBM_preselect_edgering_update_from_edge ( struct EditMesh_PreSelEdgeRing psel,
BMesh bm,
BMEdge eed_start,
int  previewlines,
const float(*)  coords[3] 
)

◆ edgering_find_order()

static void edgering_find_order ( BMEdge eed_last,
BMEdge eed,
BMVert eve_last,
BMVert v[2][2] 
)
static

Given two opposite edges in a face, finds the ordering of their vertices so that cut preview lines won't cross each other.

Definition at line 76 of file editmesh_preselect_edgering.c.

References BM_edge_in_face(), BM_ITER_ELEM, BM_loop_other_edge_loop(), BM_LOOPS_OF_LOOP, ELEM, BMLoop::f, BMEdge::l, l, BMLoop::next, BMLoop::prev, BMLoop::v, v, BMEdge::v1, and BMEdge::v2.

Referenced by view3d_preselect_mesh_edgering_update_edges_from_edge().

◆ edgering_vcos_get()

static void edgering_vcos_get ( BMVert v[2][2],
float  r_cos[2][2][3],
const float(*)  coords[3] 
)
static

◆ edgering_vcos_get_pair()

static void edgering_vcos_get_pair ( BMVert v[2],
float  r_cos[2][3],
const float(*)  coords[3] 
)
static

◆ view3d_preselect_mesh_edgering_update_edges_from_edge()

static void view3d_preselect_mesh_edgering_update_edges_from_edge ( struct EditMesh_PreSelEdgeRing psel,
BMesh bm,
BMEdge eed_start,
int  previewlines,
const float(*)  coords[3] 
)
static

◆ view3d_preselect_mesh_edgering_update_verts_from_edge()

static void view3d_preselect_mesh_edgering_update_verts_from_edge ( struct EditMesh_PreSelEdgeRing psel,
BMesh UNUSEDbm,
BMEdge eed_start,
int  previewlines,
const float(*)  coords[3] 
)
static