52 for (
int j = 0; j < 2; j++) {
57 for (
int j = 0; j < 2; j++) {
173 for (
int i = 0; i < psel->
edges_len; i++) {
186 for (
int i = 0; i < psel->
verts_len; i++) {
227 BMEdge *e_pair[2] = {
nullptr};
230 if (v_act->
e !=
nullptr) {
231 for (
uint allow_wire = 0; allow_wire < 2 && (e_pair[1] ==
nullptr); allow_wire++) {
239 e_pair[0] = e_pair[1] =
nullptr;
242 e_pair[i++] = e_iter;
248 if (e_pair[1] !=
nullptr) {
273 if (e_pair[0]->v1 == v_act) {
281 if (e_pair[1]->v1 == v_act) {
298 float(*preview_lines)[2][3] =
static_cast<float(*)[2][3]
>(
305 }
while ((l_iter = l_iter->
next) != l_first);
344 float(*edges)[2][3] =
static_cast<float(*)[2][3]
>(
351 }
while ((l_iter = l_iter->
next) != l_first);
void mul_m4_v3(const float M[4][4], float r[3])
void mul_v3_m4v3(float r[3], const float mat[4][4], const float vec[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
void mid_v3_v3v3(float r[3], const float a[3], const float b[3])
Object is a sort of wrapper for general info.
eEditMesh_PreSelPreviewAction
@ PRESELECT_ACTION_CREATE
@ PRESELECT_ACTION_DELETE
@ PRESELECT_ACTION_TRANSFORM
void ED_view3d_win_to_3d_int(const View3D *v3d, const ARegion *region, const float depth_pt[3], const int mval[2], float r_out[3])
#define GPU_matrix_mul(x)
@ GPU_SHADER_3D_UNIFORM_COLOR
void GPU_line_width(float width)
void GPU_point_size(float size)
void GPU_depth_test(eGPUDepthTest test)
Read Guarded memory(de)allocation.
#define BM_DISK_EDGE_NEXT(e, v)
#define BM_FACE_FIRST_LOOP(p)
#define BM_elem_index_get(ele)
#define BM_elem_flag_test(ele, hflag)
ATTR_WARN_UNUSED_RESULT BMesh * bm
void BM_mesh_elem_index_ensure(BMesh *bm, const char htype)
BLI_INLINE bool BM_edge_is_boundary(const BMEdge *e) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
BLI_INLINE bool BM_edge_is_wire(const BMEdge *e) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
ATTR_WARN_UNUSED_RESULT const BMVert * v
constexpr bool is_empty() const
static void view3d_preselect_update_preview_triangle_from_edge(EditMesh_PreSelElem *psel, ViewContext *vc, BMesh *, BMEdge *eed, const int mval[2])
void EDBM_preselect_elem_clear(EditMesh_PreSelElem *psel)
eEditMesh_PreSelPreviewAction EDBM_preselect_action_get(EditMesh_PreSelElem *psel)
void EDBM_preselect_elem_draw(EditMesh_PreSelElem *psel, const float matrix[4][4])
void EDBM_preselect_elem_update_from_single(EditMesh_PreSelElem *psel, BMesh *bm, BMElem *ele, const Span< float3 > vert_positions)
static void view3d_preselect_mesh_elem_update_from_face(EditMesh_PreSelElem *psel, BMesh *, BMFace *efa, const Span< float3 > vert_positions)
void EDBM_preselect_elem_destroy(EditMesh_PreSelElem *psel)
EditMesh_PreSelElem * EDBM_preselect_elem_create()
void EDBM_preselect_elem_update_preview(EditMesh_PreSelElem *psel, ViewContext *vc, BMesh *bm, BMElem *ele, const int mval[2])
static void view3d_preselect_mesh_elem_update_from_vert(EditMesh_PreSelElem *psel, BMesh *, BMVert *eve, const Span< float3 > vert_positions)
static void view3d_preselect_update_preview_triangle_from_vert(EditMesh_PreSelElem *psel, ViewContext *vc, BMesh *, BMVert *eed, const int mval[2])
static void view3d_preselect_mesh_elem_update_from_edge(EditMesh_PreSelElem *psel, BMesh *, BMEdge *eed, const Span< float3 > vert_positions)
static void vcos_get_pair(BMVert *v[2], float r_cos[2][3], const Span< float3 > vert_positions)
static void vcos_get(BMVert *v, float r_co[3], const Span< float3 > vert_positions)
void EDBM_preselect_action_set(EditMesh_PreSelElem *psel, eEditMesh_PreSelPreviewAction action)
static void view3d_preselect_update_preview_triangle_from_face(EditMesh_PreSelElem *psel, ViewContext *, BMesh *, BMFace *efa, const int[2])
void EDBM_preselect_preview_clear(EditMesh_PreSelElem *psel)
draw_view in_light_buf[] float
void *(* MEM_mallocN)(size_t len, const char *str)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
float(* preview_tris)[3][3]
eEditMesh_PreSelPreviewAction preview_action
float(* preview_lines)[2][3]