Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_bitmap.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_global.h"
#include "BKE_mesh.h"
#include "BKE_object.h"
#include "ED_mesh.h"
#include "ED_screen.h"
#include "ED_select_utils.h"
#include "ED_view3d.h"
#include "WM_api.h"
#include "WM_types.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
Go to the source code of this file.
Definition at line 255 of file editface.cc.
References BKE_mesh_from_object(), C, MPoly::flag, ME_FACE_SEL, ME_HIDE, Mesh::mpoly, paintface_flush_flags(), SEL_DESELECT, SEL_INVERT, SEL_SELECT, SEL_TOGGLE, SELECT, and Mesh::totpoly.
Referenced by do_lasso_select_paintface(), do_paintface_box_select(), ed_wpaint_vertex_select_pick(), face_select_all_exec(), paint_facesel_circle_select(), and paintface_mouse_select().
Copy the face flags, most importantly selection from the mesh to the final derived mesh, use in object mode when selecting faces (while painting).
Definition at line 39 of file editface.cc.
References BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_ALL, BKE_MESH_BATCH_DIRTY_SELECT_PAINT, BKE_mesh_flush_select_from_polys(), BKE_mesh_from_object(), BLI_assert, C, CD_ORIGINDEX, CTX_data_ensure_evaluated_depsgraph(), CustomData_get_layer(), Object::data, Object_Runtime::data_eval, Object_Runtime::data_orig, DEG_get_evaluated_object(), DEG_id_tag_update(), depsgraph, MPoly::flag, ID_RECALC_COPY_ON_WRITE, ID_RECALC_SELECT, ME_HIDE, Mesh::mpoly, NC_GEOM, ND_SELECT, ORIGINDEX_NONE, Object::runtime, SELECT, Mesh::totpoly, and WM_event_add_notifier().
Referenced by do_lasso_select_paintface(), do_paintface_box_select(), paint_facesel_circle_select(), paintface_deselect_all_visible(), paintface_hide(), paintface_mouse_select(), paintface_reveal(), and paintface_select_linked().
Definition at line 116 of file editface.cc.
References BKE_mesh_flush_hidden_from_polys(), BKE_mesh_from_object(), C, MPoly::flag, ME_FACE_SEL, ME_HIDE, Mesh::mpoly, paintface_flush_flags(), SELECT, and Mesh::totpoly.
Referenced by face_select_hide_exec().
Definition at line 308 of file editface.cc.
References add_v3_v3v3(), usdtokens::b(), BKE_mesh_from_object(), MVert::co, copy_m3_m4(), MPoly::flag, MPoly::loopstart, ME_FACE_SEL, ME_HIDE, minmax_v3v3_v3(), Mesh::mloop, Mesh::mloopuv, Mesh::mpoly, mul_v3_m3v3(), Mesh::mvert, Object::obmat, MPoly::totloop, Mesh::totpoly, and MLoop::v.
Referenced by viewselected_exec().
bool paintface_mouse_select | ( | bContext * | C, |
const int | mval[2], | ||
const SelectPick_Params * | params, | ||
Object * | ob | ||
) |
Definition at line 340 of file editface.cc.
References Mesh::act_face, BKE_mesh_from_object(), BLI_assert_unreachable, C, CTX_wm_region(), ED_MESH_PICK_DEFAULT_FACE_DIST, ED_mesh_pick_face(), ED_region_tag_redraw(), MPoly::flag, ME_FACE_SEL, ME_HIDE, Mesh::mpoly, paintface_deselect_all_visible(), paintface_flush_flags(), params, SEL_DESELECT, SEL_OP_ADD, SEL_OP_AND, SEL_OP_SET, SEL_OP_SUB, SEL_OP_XOR, and SELECT.
Definition at line 141 of file editface.cc.
References BKE_mesh_flush_hidden_from_polys(), BKE_mesh_from_object(), C, MPoly::flag, ME_FACE_SEL, ME_HIDE, Mesh::mpoly, paintface_flush_flags(), select(), SELECT, SET_FLAG_FROM_TEST, and Mesh::totpoly.
Referenced by face_vert_reveal_exec().
Definition at line 235 of file editface.cc.
References BKE_mesh_from_object(), C, ED_MESH_PICK_DEFAULT_FACE_DIST, ED_mesh_pick_face(), paintface_flush_flags(), select(), SELECT, select_linked_tfaces_with_seams(), and Mesh::totpoly.
Referenced by paint_select_linked_exec(), and paint_select_linked_pick_invoke().
Definition at line 464 of file editface.cc.
References BKE_mesh_from_object(), BKE_mesh_mselect_clear(), BKE_mesh_mselect_validate(), ELEM, MVert::flag, ME_HIDE, Mesh::mvert, paintvert_flush_flags(), SEL_DESELECT, SEL_INVERT, SEL_SELECT, SEL_TOGGLE, SELECT, and Mesh::totvert.
Referenced by do_lasso_select_paintvert(), do_paintvert_box_select(), ed_wpaint_vertex_select_pick(), paint_vertsel_circle_select(), paintvert_select_ungrouped(), and vert_select_all_exec().
(similar to void paintface_flush_flags(Object *ob)
) copy the vertex flags, most importantly selection from the mesh to the final derived mesh, use in object mode when selecting vertices (while painting).
Definition at line 412 of file editface.cc.
References BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_ALL, BKE_mesh_flush_select_from_verts(), BKE_mesh_from_object(), BKE_object_get_evaluated_mesh(), CD_ORIGINDEX, CustomData_get_layer(), MVert::flag, Mesh::mvert, ORIGINDEX_NONE, Mesh::totvert, and Mesh::vdata.
Referenced by do_lasso_select_paintvert(), do_paintvert_box_select(), ed_wpaint_vertex_select_pick(), paint_vertsel_circle_select(), paintvert_deselect_all_visible(), paintvert_hide(), paintvert_reveal(), paintvert_select_ungrouped(), and vgroup_select_verts().
Definition at line 555 of file editface.cc.
References BKE_mesh_flush_hidden_from_verts(), BKE_mesh_from_object(), C, MVert::flag, ME_HIDE, Mesh::mvert, NULL, paintvert_flush_flags(), paintvert_tag_select_update(), SELECT, and Mesh::totvert.
Referenced by vert_select_hide_exec().
Definition at line 583 of file editface.cc.
References BKE_mesh_flush_hidden_from_verts(), BKE_mesh_from_object(), C, MVert::flag, ME_HIDE, Mesh::mvert, NULL, paintvert_flush_flags(), paintvert_tag_select_update(), select(), SELECT, SET_FLAG_FROM_TEST, and Mesh::totvert.
Referenced by face_vert_reveal_exec().
Definition at line 527 of file editface.cc.
References BKE_mesh_from_object(), Mesh::dvert, MDeformVert::dw, ME_HIDE, Mesh::mvert, paintvert_deselect_all_visible(), paintvert_flush_flags(), SEL_DESELECT, SELECT, and Mesh::totvert.
Referenced by vert_select_ungrouped_exec().
Definition at line 458 of file editface.cc.
References C, Object::data, DEG_id_tag_update(), ID_RECALC_COPY_ON_WRITE, ID_RECALC_SELECT, NC_GEOM, ND_SELECT, and WM_event_add_notifier().
Referenced by do_lasso_select_paintvert(), do_paintvert_box_select(), ed_wpaint_vertex_select_pick(), paint_vertsel_circle_select(), paintvert_hide(), paintvert_reveal(), vert_select_all_exec(), and vert_select_ungrouped_exec().
|
static |
Definition at line 163 of file editface.cc.
References usdtokens::b(), BKE_mesh_poly_edgebitmap_insert(), BLI_BITMAP_ENABLE, BLI_BITMAP_NEW, BLI_BITMAP_TEST, MLoop::e, MEdge::flag, MPoly::flag, MPoly::loopstart, ME_FACE_SEL, ME_HIDE, ME_SEAM, Mesh::medge, MEM_freeN, Mesh::mloop, Mesh::mpoly, select(), SET_FLAG_FROM_TEST, Mesh::totedge, MPoly::totloop, and Mesh::totpoly.
Referenced by paintface_select_linked().