|
Blender V4.3
|
#include "MEM_guardedalloc.h"#include "DNA_userdef_types.h"#include "BLI_stack.h"#include "BKE_editmesh.hh"#include "GPU_immediate.hh"#include "GPU_matrix.hh"#include "GPU_state.hh"#include "ED_mesh.hh"#include "UI_resources.hh"Go to the source code of this file.
Classes | |
| struct | EditMesh_PreSelEdgeRing |
| void EDBM_preselect_edgering_clear | ( | EditMesh_PreSelEdgeRing * | psel | ) |
Definition at line 144 of file editmesh_preselect_edgering.cc.
References EditMesh_PreSelEdgeRing::edges, EditMesh_PreSelEdgeRing::edges_len, MEM_SAFE_FREE, EditMesh_PreSelEdgeRing::verts, and EditMesh_PreSelEdgeRing::verts_len.
Referenced by EDBM_preselect_edgering_destroy(), EDBM_preselect_edgering_update_from_edge(), gizmo_preselect_edgering_test_select(), and ringsel_find_edge().
| EditMesh_PreSelEdgeRing * EDBM_preselect_edgering_create | ( | ) |
Definition at line 131 of file editmesh_preselect_edgering.cc.
References MEM_callocN.
Referenced by gizmo_preselect_edgering_setup(), and ringsel_init().
| void EDBM_preselect_edgering_destroy | ( | EditMesh_PreSelEdgeRing * | psel | ) |
Definition at line 138 of file editmesh_preselect_edgering.cc.
References EDBM_preselect_edgering_clear(), and MEM_freeN().
Referenced by gizmo_preselect_edgering_free(), and ringsel_exit().
| void EDBM_preselect_edgering_draw | ( | EditMesh_PreSelEdgeRing * | psel, |
| const float | matrix[4][4] ) |
Definition at line 153 of file editmesh_preselect_edgering.cc.
References EditMesh_PreSelEdgeRing::edges, EditMesh_PreSelEdgeRing::edges_len, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_FETCH_FLOAT, GPU_matrix_mul, GPU_matrix_pop(), GPU_matrix_push(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_program_point_size(), GPU_SHADER_3D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_AA, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform2fv(), immUniformThemeColor3(), immVertex3fv(), immVertexFormat(), M_SQRT2, max_ff(), pos, TH_GIZMO_PRIMARY, TH_VERTEX_SIZE, UI_GetThemeValuef(), EditMesh_PreSelEdgeRing::verts, and EditMesh_PreSelEdgeRing::verts_len.
Referenced by gizmo_preselect_edgering_draw(), and ringsel_draw().
| void EDBM_preselect_edgering_update_from_edge | ( | EditMesh_PreSelEdgeRing * | psel, |
| BMesh * | bm, | ||
| BMEdge * | eed_start, | ||
| int | previewlines, | ||
| const Span< float3 > | vert_positions ) |
Definition at line 348 of file editmesh_preselect_edgering.cc.
References bm, BM_edge_is_any_face_len_test(), BM_mesh_elem_index_ensure(), BM_VERT, EDBM_preselect_edgering_clear(), blender::Span< T >::is_empty(), view3d_preselect_mesh_edgering_update_edges_from_edge(), and view3d_preselect_mesh_edgering_update_verts_from_edge().
|
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 84 of file editmesh_preselect_edgering.cc.
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().
|
static |
Definition at line 40 of file editmesh_preselect_edgering.cc.
References BM_elem_index_get, copy_v3_v3(), blender::Span< T >::is_empty(), and v.
Referenced by view3d_preselect_mesh_edgering_update_edges_from_edge().
|
static |
Definition at line 62 of file editmesh_preselect_edgering.cc.
References BM_elem_index_get, copy_v3_v3(), blender::Span< T >::is_empty(), and v.
Referenced by view3d_preselect_mesh_edgering_update_verts_from_edge().
|
static |
Definition at line 239 of file editmesh_preselect_edgering.cc.
References BLI_stack_count(), BLI_stack_free(), BLI_stack_is_empty(), BLI_stack_new, BLI_stack_peek(), BLI_stack_pop(), BLI_stack_push(), bm, BM_edge_share_face_check(), BM_edge_share_quad_check(), BMW_begin(), BMW_EDGERING, BMW_end(), BMW_FLAG_TEST_HIDDEN, BMW_init(), BMW_MASK_NOP, BMW_NIL_LAY, BMW_step(), edgering_find_order(), edgering_vcos_get(), EditMesh_PreSelEdgeRing::edges, EditMesh_PreSelEdgeRing::edges_len, float, interp_v3_v3v3(), MEM_mallocN, v, BMEdge::v1, and BMEdge::v2.
Referenced by EDBM_preselect_edgering_update_from_edge().
|
static |
Definition at line 214 of file editmesh_preselect_edgering.cc.
References edgering_vcos_get_pair(), float, interp_v3_v3v3(), MEM_mallocN, BMEdge::v1, EditMesh_PreSelEdgeRing::verts, verts, and EditMesh_PreSelEdgeRing::verts_len.
Referenced by EDBM_preselect_edgering_update_from_edge().