|
Blender V4.3
|
#include "MEM_guardedalloc.h"#include "BLI_math_matrix.h"#include "BKE_editmesh.hh"#include "GPU_immediate.hh"#include "GPU_matrix.hh"#include "GPU_state.hh"#include "DNA_object_types.h"#include "ED_mesh.hh"#include "ED_view3d.hh"Go to the source code of this file.
Classes | |
| struct | EditMesh_PreSelElem |
| eEditMesh_PreSelPreviewAction EDBM_preselect_action_get | ( | EditMesh_PreSelElem * | psel | ) |
Definition at line 83 of file editmesh_preselect_elem.cc.
References EditMesh_PreSelElem::preview_action.
Referenced by EDBM_preselect_elem_update_preview(), and gizmo_preselect_elem_test_select().
| void EDBM_preselect_action_set | ( | EditMesh_PreSelElem * | psel, |
| eEditMesh_PreSelPreviewAction | action ) |
Definition at line 78 of file editmesh_preselect_elem.cc.
References EditMesh_PreSelElem::preview_action.
Referenced by gizmo_preselect_elem_test_select().
| void EDBM_preselect_elem_clear | ( | EditMesh_PreSelElem * | psel | ) |
Definition at line 112 of file editmesh_preselect_elem.cc.
References EditMesh_PreSelElem::edges, EditMesh_PreSelElem::edges_len, MEM_SAFE_FREE, EditMesh_PreSelElem::verts, and EditMesh_PreSelElem::verts_len.
Referenced by EDBM_preselect_elem_destroy(), EDBM_preselect_elem_update_from_single(), and gizmo_preselect_elem_test_select().
| EditMesh_PreSelElem * EDBM_preselect_elem_create | ( | ) |
Definition at line 88 of file editmesh_preselect_elem.cc.
References MEM_callocN, PRESELECT_ACTION_TRANSFORM, and EditMesh_PreSelElem::preview_action.
Referenced by gizmo_preselect_elem_setup().
| void EDBM_preselect_elem_destroy | ( | EditMesh_PreSelElem * | psel | ) |
Definition at line 96 of file editmesh_preselect_elem.cc.
References EDBM_preselect_elem_clear(), EDBM_preselect_preview_clear(), and MEM_freeN().
Referenced by gizmo_preselect_elem_free().
| void EDBM_preselect_elem_draw | ( | EditMesh_PreSelElem * | psel, |
| const float | matrix[4][4] ) |
Definition at line 121 of file editmesh_preselect_elem.cc.
References EditMesh_PreSelElem::edges, EditMesh_PreSelElem::edges_len, GPU_COMP_F32, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_FETCH_FLOAT, GPU_line_width(), GPU_matrix_mul, GPU_matrix_pop(), GPU_matrix_push(), GPU_point_size(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRIS, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor4ub(), immVertex3fv(), immVertexFormat(), pos, PRESELECT_ACTION_DELETE, PRESELECT_ACTION_TRANSFORM, EditMesh_PreSelElem::preview_action, EditMesh_PreSelElem::preview_lines, EditMesh_PreSelElem::preview_lines_len, EditMesh_PreSelElem::preview_tris, EditMesh_PreSelElem::preview_tris_len, EditMesh_PreSelElem::verts, and EditMesh_PreSelElem::verts_len.
Referenced by gizmo_preselect_elem_draw().
| void EDBM_preselect_elem_update_from_single | ( | EditMesh_PreSelElem * | psel, |
| BMesh * | bm, | ||
| BMElem * | ele, | ||
| const Span< float3 > | vert_positions ) |
Definition at line 356 of file editmesh_preselect_elem.cc.
References BLI_assert, bm, BM_EDGE, BM_FACE, BM_mesh_elem_index_ensure(), BM_VERT, EDBM_preselect_elem_clear(), BMElem::head, BMHeader::htype, blender::Span< T >::is_empty(), view3d_preselect_mesh_elem_update_from_edge(), view3d_preselect_mesh_elem_update_from_face(), and view3d_preselect_mesh_elem_update_from_vert().
| void EDBM_preselect_elem_update_preview | ( | EditMesh_PreSelElem * | psel, |
| ViewContext * | vc, | ||
| BMesh * | bm, | ||
| BMElem * | ele, | ||
| const int | mval[2] ) |
Definition at line 382 of file editmesh_preselect_elem.cc.
References BLI_assert, bm, BM_EDGE, BM_FACE, BM_VERT, EDBM_preselect_action_get(), EDBM_preselect_preview_clear(), BMElem::head, BMHeader::htype, PRESELECT_ACTION_CREATE, view3d_preselect_update_preview_triangle_from_edge(), view3d_preselect_update_preview_triangle_from_face(), and view3d_preselect_update_preview_triangle_from_vert().
Referenced by gizmo_preselect_elem_test_select().
| void EDBM_preselect_preview_clear | ( | EditMesh_PreSelElem * | psel | ) |
Definition at line 103 of file editmesh_preselect_elem.cc.
References MEM_SAFE_FREE, EditMesh_PreSelElem::preview_lines, EditMesh_PreSelElem::preview_lines_len, EditMesh_PreSelElem::preview_tris, and EditMesh_PreSelElem::preview_tris_len.
Referenced by EDBM_preselect_elem_destroy(), EDBM_preselect_elem_update_preview(), and gizmo_preselect_elem_test_select().
Definition at line 39 of file editmesh_preselect_elem.cc.
References BM_elem_index_get, BMVert::co, copy_v3_v3(), blender::Span< T >::is_empty(), and v.
Referenced by view3d_preselect_mesh_elem_update_from_vert().
|
static |
Definition at line 49 of file editmesh_preselect_elem.cc.
References BM_elem_index_get, copy_v3_v3(), blender::Span< T >::is_empty(), and v.
Referenced by view3d_preselect_mesh_elem_update_from_edge(), view3d_preselect_mesh_elem_update_from_face(), and view3d_preselect_update_preview_triangle_from_face().
|
static |
Definition at line 212 of file editmesh_preselect_elem.cc.
References EditMesh_PreSelElem::edges, EditMesh_PreSelElem::edges_len, float, MEM_mallocN, BMEdge::v1, and vcos_get_pair().
Referenced by EDBM_preselect_elem_update_from_single().
|
static |
Definition at line 339 of file editmesh_preselect_elem.cc.
References BM_FACE_FIRST_LOOP, BMLoop::e, EditMesh_PreSelElem::edges, EditMesh_PreSelElem::edges_len, float, BMFace::len, MEM_mallocN, BMLoop::next, BMEdge::v1, and vcos_get_pair().
Referenced by EDBM_preselect_elem_update_from_single().
|
static |
Definition at line 201 of file editmesh_preselect_elem.cc.
References float, MEM_mallocN, vcos_get(), EditMesh_PreSelElem::verts, verts, and EditMesh_PreSelElem::verts_len.
Referenced by EDBM_preselect_elem_update_from_single().
|
static |
Definition at line 310 of file editmesh_preselect_elem.cc.
References BMVert::co, copy_v3_v3(), ED_view3d_win_to_3d_int(), MEM_mallocN, mid_v3_v3v3(), mul_m4_v3(), ViewContext::obedit, EditMesh_PreSelElem::preview_lines, EditMesh_PreSelElem::preview_lines_len, EditMesh_PreSelElem::preview_tris, EditMesh_PreSelElem::preview_tris_len, ViewContext::region, BMEdge::v1, BMEdge::v2, and ViewContext::v3d.
Referenced by EDBM_preselect_elem_update_preview().
|
static |
Definition at line 292 of file editmesh_preselect_elem.cc.
References BM_FACE_FIRST_LOOP, BMLoop::e, EditMesh_PreSelElem::edges, float, BMFace::len, MEM_mallocN, BMLoop::next, EditMesh_PreSelElem::preview_lines, EditMesh_PreSelElem::preview_lines_len, BMEdge::v1, and vcos_get_pair().
Referenced by EDBM_preselect_elem_update_preview().
|
static |
Definition at line 223 of file editmesh_preselect_elem.cc.
References BM_DISK_EDGE_NEXT, BM_edge_is_boundary(), BM_edge_is_wire(), BM_elem_flag_test, BM_ELEM_HIDDEN, BMVert::co, copy_v3_v3(), BMVert::e, ED_view3d_win_to_3d_int(), MEM_mallocN, mul_m4_v3(), mul_v3_m4v3(), ViewContext::obedit, EditMesh_PreSelElem::preview_lines, EditMesh_PreSelElem::preview_lines_len, EditMesh_PreSelElem::preview_tris, EditMesh_PreSelElem::preview_tris_len, ViewContext::region, BMEdge::v1, BMEdge::v2, and ViewContext::v3d.
Referenced by EDBM_preselect_elem_update_preview().