|
Blender V5.0
|
#include <cstdlib>#include <cstring>#include "BLI_linklist.h"#include "BLI_math_vector.h"#include "BLI_utildefines.h"#include "MEM_guardedalloc.h"#include "DNA_mesh_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_windowmanager_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.
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 wmOperatorStatus | 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 wmOperatorStatus | 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 wmOperatorStatus | uv_shortest_path_select_exec (bContext *C, wmOperator *op) |
| void | UV_OT_shortest_path_select (wmOperatorType *ot) |
Definition in file uvedit_path.cc.
|
static |
Definition at line 247 of file uvedit_path.cc.
References l, and uvedit_face_visible_test().
Referenced by edgetag_test_cb().
|
static |
Definition at line 270 of file uvedit_path.cc.
References bm, l, and uvedit_edge_select_set_with_sticky().
Referenced by mouse_mesh_uv_shortest_path_edge().
|
static |
Definition at line 252 of file uvedit_path.cc.
References BM_ITER_ELEM, BM_loop_uv_share_edge_check(), BM_LOOPS_OF_EDGE, edgetag_filter_cb(), l, BMUVOffsets::uv, and uvedit_edge_select_test().
Referenced by mouse_mesh_uv_shortest_path_edge().
|
static |
Definition at line 366 of file uvedit_path.cc.
References uvedit_face_visible_test().
|
static |
Definition at line 385 of file uvedit_path.cc.
References bm, and uvedit_face_select_set_with_sticky().
Referenced by mouse_mesh_uv_shortest_path_face().
|
static |
Definition at line 371 of file uvedit_path.cc.
References BM_ITER_ELEM, BM_LOOPS_OF_FACE, and uvedit_edge_select_test().
Referenced by mouse_mesh_uv_shortest_path_face().
|
static |
Definition at line 278 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(), PathSelectParams::interval_params, LinkNode::link, LinkNode::next, params, 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 393 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(), facetag_filter_cb(), facetag_set_cb(), facetag_test_cb(), PathSelectParams::interval_params, LinkNode::link, LinkNode::next, params, 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 159 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(), PathSelectParams::interval_params, LinkNode::link, LinkNode::next, params, 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 98 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 77 of file uvedit_path.cc.
References ot, RNA_def_boolean(), 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 763 of file uvedit_path.cc.
References ED_operator_uvedit_space_image(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, path_select_properties(), PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_int(), RNA_def_property_flag(), 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 856 of file uvedit_path.cc.
References ED_operator_uvedit_space_image(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, path_select_properties(), and uv_shortest_path_select_exec().
Referenced by ED_operatortypes_uvedit().
|
static |
Definition at line 483 of file uvedit_path.cc.
References BKE_editmesh_from_object(), BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_UVEDIT_SELECT, bm, BMEditMesh::bm, BM_FACE, BM_LOOP, Object::data, DEG_get_evaluated(), 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, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_EDGE, 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 688 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_offsets_get(), C, 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(), Scene::toolsettings, 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 544 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_offsets_get(), C, 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(), UvNearestHit::efa, UvNearestHit::l, wmEvent::mval, BMLoop::next, UvNearestHit::ob, 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(), Scene::toolsettings, 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_FLAG_SELECT_SYNC, uv_nearest_hit_init_max(), UV_SELECT_EDGE, UV_SELECT_FACE, uv_shortest_path_pick_ex(), uv_shortest_path_pick_exec(), uvedit_uv_select_test(), and ARegion::v2d.
Referenced by UV_OT_shortest_path_pick().
|
static |
Definition at line 796 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_offsets_get(), C, 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 114 of file uvedit_path.cc.
References l, and uvedit_face_visible_test().
Referenced by verttag_set_cb(), and verttag_test_cb().
|
static |
Definition at line 140 of file uvedit_path.cc.
References bm, BM_ELEM_CD_GET_FLOAT_P, BM_ITER_ELEM, BM_LOOPS_OF_VERT, equals_v2v2(), l, BMUVOffsets::uv, uvedit_uv_select_set(), and verttag_filter_cb().
Referenced by mouse_mesh_uv_shortest_path_vert().
|
static |
Definition at line 119 of file uvedit_path.cc.
References BM_ELEM_CD_GET_FLOAT_P, BM_ITER_ELEM, BM_LOOPS_OF_VERT, equals_v2v2(), l, BMUVOffsets::uv, uvedit_uv_select_test(), and verttag_filter_cb().
Referenced by mouse_mesh_uv_shortest_path_vert().