|
Blender V4.3
|
#include <cmath>#include <cstdlib>#include <cstring>#include "BLI_linklist.h"#include "DNA_windowmanager_types.h"#include "MEM_guardedalloc.h"#include "BLI_ghash.h"#include "BLI_math_vector.h"#include "BLI_utildefines.h"#include "DNA_image_types.h"#include "DNA_mesh_types.h"#include "DNA_node_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_space_types.h"#include "BKE_context.hh"#include "BKE_customdata.hh"#include "BKE_editmesh.hh"#include "BKE_layer.hh"#include "BKE_mesh.hh"#include "BKE_report.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "ED_object.hh"#include "ED_screen.hh"#include "ED_uvedit.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "WM_api.hh"#include "WM_types.hh"#include "UI_view2d.hh"#include "intern/bmesh_marking.hh"#include "uvedit_intern.hh"#include "bmesh_tools.hh"Go to the source code of this file.
Classes | |
| struct | PathSelectParams |
| struct | UserData_UV |
Functions | |
Path Select Struct & Properties | |
| static void | path_select_properties (wmOperatorType *ot) |
| static void | path_select_params_from_op (wmOperator *op, PathSelectParams *op_params) |
UV Vert Path | |
| static bool | verttag_filter_cb (BMLoop *l, void *user_data_v) |
| static bool | verttag_test_cb (BMLoop *l, void *user_data_v) |
| static void | verttag_set_cb (BMLoop *l, bool val, void *user_data_v) |
| static int | mouse_mesh_uv_shortest_path_vert (Scene *scene, Object *obedit, const PathSelectParams *op_params, BMLoop *l_src, BMLoop *l_dst, const float aspect_y, const BMUVOffsets offsets) |
UV Edge Path | |
| static bool | edgetag_filter_cb (BMLoop *l, void *user_data_v) |
| static bool | edgetag_test_cb (BMLoop *l, void *user_data_v) |
| static void | edgetag_set_cb (BMLoop *l, bool val, void *user_data_v) |
| static int | mouse_mesh_uv_shortest_path_edge (Scene *scene, Object *obedit, const PathSelectParams *op_params, BMLoop *l_src, BMLoop *l_dst, const float aspect_y, const BMUVOffsets offsets) |
UV Face Path | |
| static bool | facetag_filter_cb (BMFace *f, void *user_data_v) |
| static bool | facetag_test_cb (BMFace *f, void *user_data_v) |
| static void | facetag_set_cb (BMFace *f, bool val, void *user_data_v) |
| static int | mouse_mesh_uv_shortest_path_face (Scene *scene, Object *obedit, const PathSelectParams *op_params, BMFace *f_src, BMFace *f_dst, const float aspect_y, const BMUVOffsets offsets) |
Main Operator for vert/edge/face tag | |
| static int | uv_shortest_path_pick_exec (bContext *C, wmOperator *op) |
| static bool | uv_shortest_path_pick_ex (Scene *scene, Depsgraph *depsgraph, Object *obedit, const PathSelectParams *op_params, BMElem *ele_src, BMElem *ele_dst, const float aspect_y, const BMUVOffsets offsets) |
| static int | uv_shortest_path_pick_invoke (bContext *C, wmOperator *op, const wmEvent *event) |
| void | UV_OT_shortest_path_pick (wmOperatorType *ot) |
Select Path Between Existing Selection | |
| static int | uv_shortest_path_select_exec (bContext *C, wmOperator *op) |
| void | UV_OT_shortest_path_select (wmOperatorType *ot) |
editmesh_path.cc. Definition in file uvedit_path.cc.
|
static |
Definition at line 248 of file uvedit_path.cc.
References BMLoop::f, l, UserData_UV::scene, and uvedit_face_visible_test().
Referenced by edgetag_test_cb(), and mouse_mesh_uv_shortest_path_edge().
|
static |
Definition at line 271 of file uvedit_path.cc.
References UserData_UV::em, l, UserData_UV::offsets, UserData_UV::scene, and uvedit_edge_select_set_with_sticky().
Referenced by mouse_mesh_uv_shortest_path_edge().
|
static |
Definition at line 253 of file uvedit_path.cc.
References BM_ITER_ELEM, BM_loop_uv_share_edge_check(), BM_LOOPS_OF_EDGE, BMLoop::e, edgetag_filter_cb(), l, UserData_UV::offsets, UserData_UV::scene, BMUVOffsets::uv, and uvedit_edge_select_test().
Referenced by mouse_mesh_uv_shortest_path_edge().
|
static |
Definition at line 367 of file uvedit_path.cc.
References UserData_UV::scene, and uvedit_face_visible_test().
Referenced by mouse_mesh_uv_shortest_path_face().
|
static |
Definition at line 386 of file uvedit_path.cc.
References UserData_UV::em, UserData_UV::offsets, UserData_UV::scene, and uvedit_face_select_set_with_sticky().
Referenced by mouse_mesh_uv_shortest_path_face().
|
static |
Definition at line 372 of file uvedit_path.cc.
References BM_ITER_ELEM, BM_LOOPS_OF_FACE, UserData_UV::offsets, UserData_UV::scene, and uvedit_edge_select_test().
Referenced by mouse_mesh_uv_shortest_path_face().
|
static |
Definition at line 279 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BLI_linklist_free(), bm, BMEditMesh::bm, BM_mesh_calc_path_uv_edge(), BM_mesh_calc_path_uv_region_edge(), ED_uvedit_active_edge_loop_set(), edgetag_filter_cb(), edgetag_set_cb(), edgetag_test_cb(), UserData_UV::em, PathSelectParams::interval_params, UserData_UV::offsets, params, scene, UserData_UV::scene, PathSelectParams::track_active, PathSelectParams::use_face_step, PathSelectParams::use_fill, PathSelectParams::use_topology_distance, BMUVOffsets::uv, and WM_operator_properties_checker_interval_test().
Referenced by uv_shortest_path_pick_ex().
|
static |
Definition at line 394 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BLI_linklist_free(), bm, BMEditMesh::bm, BM_mesh_active_face_set(), BM_mesh_calc_path_uv_face(), BM_mesh_calc_path_uv_region_face(), UserData_UV::em, facetag_filter_cb(), facetag_set_cb(), facetag_test_cb(), PathSelectParams::interval_params, UserData_UV::offsets, params, scene, UserData_UV::scene, PathSelectParams::track_active, PathSelectParams::use_face_step, PathSelectParams::use_fill, PathSelectParams::use_topology_distance, BMUVOffsets::uv, and WM_operator_properties_checker_interval_test().
Referenced by uv_shortest_path_pick_ex().
|
static |
Definition at line 160 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BLI_linklist_free(), bm, BMEditMesh::bm, BM_mesh_calc_path_uv_region_vert(), BM_mesh_calc_path_uv_vert(), ED_uvedit_active_vert_loop_set(), UserData_UV::em, PathSelectParams::interval_params, UserData_UV::offsets, params, scene, UserData_UV::scene, PathSelectParams::track_active, PathSelectParams::use_face_step, PathSelectParams::use_fill, PathSelectParams::use_topology_distance, BMUVOffsets::uv, verttag_filter_cb(), verttag_set_cb(), verttag_test_cb(), and WM_operator_properties_checker_interval_test().
Referenced by uv_shortest_path_pick_ex().
|
static |
Definition at line 99 of file uvedit_path.cc.
References PathSelectParams::interval_params, wmOperator::ptr, RNA_boolean_get(), PathSelectParams::track_active, PathSelectParams::use_face_step, PathSelectParams::use_fill, PathSelectParams::use_topology_distance, and WM_operator_properties_checker_interval_from_op().
Referenced by uv_shortest_path_pick_exec(), uv_shortest_path_pick_invoke(), and uv_shortest_path_select_exec().
|
static |
Definition at line 78 of file uvedit_path.cc.
References ot, RNA_def_boolean(), wmOperatorType::srna, and WM_operator_properties_checker_interval().
Referenced by UV_OT_shortest_path_pick(), and UV_OT_shortest_path_select().
| void UV_OT_shortest_path_pick | ( | wmOperatorType * | ot | ) |
Definition at line 761 of file uvedit_path.cc.
References wmOperatorType::description, ED_operator_uvedit_space_image(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, path_select_properties(), wmOperatorType::poll, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_int(), RNA_def_property_flag(), wmOperatorType::srna, uv_shortest_path_pick_exec(), and uv_shortest_path_pick_invoke().
Referenced by ED_operatortypes_uvedit().
| void UV_OT_shortest_path_select | ( | wmOperatorType * | ot | ) |
Definition at line 855 of file uvedit_path.cc.
References wmOperatorType::description, ED_operator_uvedit_space_image(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, path_select_properties(), wmOperatorType::poll, and uv_shortest_path_select_exec().
Referenced by ED_operatortypes_uvedit().
|
static |
Definition at line 484 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_UVEDIT_SELECT, BM_FACE, BM_LOOP, Object::data, DEG_get_evaluated_object(), DEG_id_tag_update(), depsgraph, ED_uvedit_select_mode_get(), ED_uvedit_select_sync_flush(), ED_uvedit_selectmode_flush(), ELEM, BMElem::head, BMHeader::htype, ID_RECALC_SELECT, mouse_mesh_uv_shortest_path_edge(), mouse_mesh_uv_shortest_path_face(), mouse_mesh_uv_shortest_path_vert(), NC_GEOM, ND_SELECT, select(), ToolSettings::uv_flag, UV_SELECT_EDGE, UV_SYNC_SELECTION, and WM_main_add_notifier().
Referenced by uv_shortest_path_pick_exec(), uv_shortest_path_pick_invoke(), and uv_shortest_path_select_exec().
|
static |
Definition at line 687 of file uvedit_path.cc.
References BKE_editmesh_from_object(), bm, BMEditMesh::bm, BM_face_at_index_find_or_table(), BM_loop_at_index_find(), BM_mesh_active_face_get(), BM_uv_map_get_offsets(), CTX_data_edit_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_data_view_layer(), depsgraph, ED_uvedit_active_edge_loop_get(), ED_uvedit_active_vert_loop_get(), ED_uvedit_get_aspect_y(), ED_uvedit_select_mode_get(), OB_MODE_EDIT, blender::ed::object::object_in_mode_from_index(), OPERATOR_CANCELLED, OPERATOR_FINISHED, path_select_params_from_op(), wmOperator::ptr, RNA_int_get(), BMesh::totface, BMesh::totloop, PathSelectParams::track_active, UV_SELECT_EDGE, UV_SELECT_FACE, and uv_shortest_path_pick_ex().
Referenced by UV_OT_shortest_path_pick(), and uv_shortest_path_pick_invoke().
|
static |
Definition at line 545 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), BLI_assert, bm, BMEditMesh::bm, BM_elem_index_get, BM_FACE, BM_LOOP, BM_mesh_active_edge_get(), BM_mesh_active_face_get(), BM_mesh_active_vert_get(), BM_mesh_elem_index_ensure(), BM_uv_map_get_offsets(), CTX_data_edit_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_region(), depsgraph, ED_uvedit_active_edge_loop_get(), ED_uvedit_active_vert_loop_get(), ED_uvedit_get_aspect_y(), ED_uvedit_select_mode_get(), wmEvent::mval, BMLoop::next, OB_MODE_EDIT, blender::ed::object::object_in_mode_to_index(), OPERATOR_CANCELLED, OPERATOR_FINISHED, path_select_params_from_op(), wmOperator::ptr, RNA_int_set(), RNA_struct_property_is_set(), PathSelectParams::track_active, UI_view2d_region_to_view(), uv_find_nearest_edge_multi(), uv_find_nearest_face_multi(), uv_find_nearest_loop_from_edge(), uv_find_nearest_loop_from_vert(), uv_find_nearest_vert_multi(), ToolSettings::uv_flag, uv_nearest_hit_init_max(), UV_SELECT_EDGE, UV_SELECT_FACE, uv_shortest_path_pick_ex(), uv_shortest_path_pick_exec(), UV_SYNC_SELECTION, and uvedit_uv_select_test().
Referenced by UV_OT_shortest_path_pick().
|
static |
Definition at line 794 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BKE_report(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), bm, BMEditMesh::bm, BM_uv_map_get_offsets(), CTX_data_edit_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_data_view_layer(), depsgraph, ED_uvedit_get_aspect_y(), ED_uvedit_select_mode_get(), ED_uvedit_selected_edges(), ED_uvedit_selected_faces(), ED_uvedit_selected_verts(), MEM_freeN(), OPERATOR_CANCELLED, OPERATOR_FINISHED, path_select_params_from_op(), wmOperator::reports, RPT_WARNING, UV_SELECT_EDGE, UV_SELECT_FACE, and uv_shortest_path_pick_ex().
Referenced by UV_OT_shortest_path_select().
|
static |
Definition at line 115 of file uvedit_path.cc.
References BMLoop::f, l, UserData_UV::scene, and uvedit_face_visible_test().
Referenced by mouse_mesh_uv_shortest_path_vert(), verttag_set_cb(), and verttag_test_cb().
|
static |
Definition at line 141 of file uvedit_path.cc.
References BMEditMesh::bm, BM_ELEM_CD_GET_FLOAT_P, BM_ITER_ELEM, BM_LOOPS_OF_VERT, UserData_UV::em, equals_v2v2(), l, UserData_UV::offsets, UserData_UV::scene, BMUVOffsets::uv, uvedit_uv_select_set(), BMLoop::v, and verttag_filter_cb().
Referenced by mouse_mesh_uv_shortest_path_vert().
|
static |
Definition at line 120 of file uvedit_path.cc.
References BM_ELEM_CD_GET_FLOAT_P, BM_ITER_ELEM, BM_LOOPS_OF_VERT, equals_v2v2(), l, UserData_UV::offsets, UserData_UV::scene, BMUVOffsets::uv, uvedit_uv_select_test(), BMLoop::v, and verttag_filter_cb().
Referenced by mouse_mesh_uv_shortest_path_vert().