|
Blender V4.3
|
#include <algorithm>#include "MEM_guardedalloc.h"#include "DNA_object_types.h"#include "BKE_context.hh"#include "BKE_editmesh.hh"#include "BKE_layer.hh"#include "BKE_object_types.hh"#include "BLI_math_geom.h"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "WM_types.hh"#include "ED_mesh.hh"#include "ED_object.hh"#include "ED_transform.hh"#include "ED_view3d.hh"#include "bmesh.hh"#include "mesh_intern.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "WM_api.hh"#include "DEG_depsgraph.hh"Go to the source code of this file.
Tools to implement face building tool, an experimental tool for quickly constructing/manipulating faces.
Definition in file editmesh_polybuild.cc.
|
static |
Definition at line 61 of file editmesh_polybuild.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, DEG_id_tag_update(), EDBM_flag_disable_all(), ID_RECALC_SELECT, and BMesh::totvertsel.
Referenced by edbm_polybuild_dissolve_at_cursor_invoke(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), and edbm_polybuild_transform_at_cursor_invoke().
|
static |
Definition at line 181 of file editmesh_polybuild.cc.
References blender::ed::object::base_activate(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), bm, BMEditMesh::bm, BM_edge_collapse(), BM_elem_flag_enable, BM_ELEM_TAG, BM_FACE, BM_VERT, BM_vert_is_edge_pair(), BM_vert_is_wire(), Object::data, DEL_FACES, BMVert::e, ED_view3d_init_mats_rv3d(), EDBM_flag_disable_all(), EDBM_op_callf(), edbm_preselect_or_active_init_viewcontext(), edbm_selectmode_ensure(), EDBM_update(), ViewContext::em, BMElem::head, BMHeader::htype, invert_m4_m4(), ViewContext::obedit, OPERATOR_CANCELLED, OPERATOR_FINISHED, params, Object::runtime, ViewContext::rv3d, SCE_SELECT_VERTEX, ViewContext::scene, ViewContext::view_layer, ViewContext::win, and WM_event_add_mousemove().
Referenced by MESH_OT_polybuild_delete_at_cursor().
|
static |
Definition at line 533 of file editmesh_polybuild.cc.
References blender::ed::object::base_activate(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), bm, BMEditMesh::bm, BM_EDGE, BM_edge_collapse(), BM_edge_loop_pair(), BM_elem_flag_enable, BM_ELEM_SELECT, BM_ELEM_TAG, BM_faces_join_pair(), BM_VERT, BM_vert_is_edge_pair(), Object::data, BMVert::e, EDBM_flag_disable_all(), edbm_flag_disable_all_multi(), EDBM_op_callf(), edbm_preselect_or_active_init_viewcontext(), EDBM_update(), ViewContext::em, BMElem::head, BMHeader::htype, l_b, ViewContext::obedit, OPERATOR_CANCELLED, OPERATOR_FINISHED, params, ViewContext::scene, ViewContext::v3d, ViewContext::view_layer, ViewContext::win, and WM_event_add_mousemove().
Referenced by MESH_OT_polybuild_dissolve_at_cursor().
|
static |
Definition at line 274 of file editmesh_polybuild.cc.
References blender::ed::object::base_activate(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), bm, BMEditMesh::bm, BM_CREATE_NOP, BM_DISK_EDGE_NEXT, BM_EDGE, BM_edge_calc_length_squared(), BM_edge_create(), BM_edge_is_boundary(), BM_edge_is_wire(), BM_edge_other_vert(), BM_edge_split(), BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BM_face_create_verts(), BM_select_history_store, BM_VERT, BM_vert_create(), BM_vert_select_set(), BMVert::co, copy_v3_v3(), Scene::cursor, Object::data, BMVert::e, ED_view3d_init_mats_rv3d(), ED_view3d_win_to_3d_int(), edbm_flag_disable_all_multi(), edbm_preselect_or_active_init_viewcontext(), edbm_selectmode_ensure(), EDBM_update(), ViewContext::em, BMLoop::f, BMElem::head, BMHeader::htype, invert_m4_m4(), BMEdge::l, l, BMFace::len, line_point_factor_v3(), View3DCursor::location, mid_v3_v3v3(), mul_m4_v3(), mul_v3_m4v3(), wmEvent::mval, ViewContext::obedit, OPERATOR_CANCELLED, OPERATOR_FINISHED, params, wmOperator::ptr, ViewContext::region, RNA_boolean_get(), Object::runtime, ViewContext::rv3d, SCE_SELECT_VERTEX, ViewContext::scene, BMLoop::v, BMEdge::v1, BMEdge::v2, ViewContext::v3d, ViewContext::view_layer, ViewContext::win, and WM_event_add_mousemove().
Referenced by MESH_OT_polybuild_face_at_cursor().
|
static |
Definition at line 449 of file editmesh_polybuild.cc.
References blender::ed::object::base_activate(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), bm, BMEditMesh::bm, BM_EDGE, BM_edge_split(), BM_ELEM_SELECT, BM_FACE, BM_select_history_store, BM_VERT, BM_vert_select_set(), BMVert::co, copy_v3_v3(), Object::data, ED_view3d_init_mats_rv3d(), ED_view3d_win_to_3d_int(), edbm_flag_disable_all_multi(), edbm_preselect_or_active_init_viewcontext(), edbm_selectmode_ensure(), EDBM_update(), ViewContext::em, BMElem::head, BMHeader::hflag, BMHeader::htype, invert_m4_m4(), line_point_factor_v3(), mid_v3_v3v3(), mul_m4_v3(), wmEvent::mval, ViewContext::obedit, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, params, ViewContext::region, Object::runtime, ViewContext::rv3d, SCE_SELECT_VERTEX, ViewContext::scene, BMEdge::v1, BMEdge::v2, ViewContext::v3d, ViewContext::view_layer, ViewContext::win, and WM_event_add_mousemove().
Referenced by MESH_OT_polybuild_split_at_cursor().
|
static |
Definition at line 117 of file editmesh_polybuild.cc.
References blender::ed::object::base_activate(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), bm, BMEditMesh::bm, BM_EDGE, BM_edge_select_set(), BM_ELEM_SELECT, BM_FACE, BM_face_select_set(), BM_select_history_store, BM_VERT, BM_vert_select_set(), Object::data, ED_view3d_init_mats_rv3d(), edbm_flag_disable_all_multi(), edbm_preselect_or_active_init_viewcontext(), edbm_selectmode_ensure(), EDBM_update(), ViewContext::em, BMElem::head, BMHeader::htype, invert_m4_m4(), ViewContext::obedit, OPERATOR_CANCELLED, OPERATOR_FINISHED, params, Object::runtime, ViewContext::rv3d, SCE_SELECT_VERTEX, ViewContext::scene, ViewContext::v3d, ViewContext::view_layer, ViewContext::win, and WM_event_add_mousemove().
Referenced by MESH_OT_polybuild_transform_at_cursor().
|
static |
When accessed as a tool, get the active edge from the pre-selection gizmo.
Definition at line 79 of file editmesh_polybuild.cc.
References BKE_editmesh_from_object(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), bm, BMEditMesh::bm, BM_mesh_active_elem_get(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_region(), ED_view3d_gizmo_mesh_preselect_get_active(), ListBase::first, View3D::gizmo_flag, wmGizmoGroup::gizmos, Base::object, V3D_GIZMO_HIDE, V3D_GIZMO_HIDE_TOOL, and WM_gizmomap_group_find().
Referenced by edbm_preselect_or_active_init_viewcontext().
|
static |
Definition at line 105 of file editmesh_polybuild.cc.
References ED_view3d_viewcontext_init_object(), edbm_preselect_or_active(), em_setup_viewcontext(), and ViewContext::v3d.
Referenced by edbm_polybuild_delete_at_cursor_invoke(), edbm_polybuild_dissolve_at_cursor_invoke(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), and edbm_polybuild_transform_at_cursor_invoke().
|
static |
Definition at line 51 of file editmesh_polybuild.cc.
References EDBM_selectmode_set(), and BMEditMesh::selectmode.
Referenced by edbm_polybuild_delete_at_cursor_invoke(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), and edbm_polybuild_transform_at_cursor_invoke().
| void MESH_OT_polybuild_delete_at_cursor | ( | wmOperatorType * | ot | ) |
Definition at line 251 of file editmesh_polybuild.cc.
References edbm_polybuild_delete_at_cursor_invoke(), EDBM_view3d_poll(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_PROPORTIONAL, wmOperatorType::poll, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_polybuild_dissolve_at_cursor | ( | wmOperatorType * | ot | ) |
Definition at line 601 of file editmesh_polybuild.cc.
References edbm_polybuild_dissolve_at_cursor_invoke(), EDBM_view3d_poll(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_mesh().
| void MESH_OT_polybuild_face_at_cursor | ( | wmOperatorType * | ot | ) |
Definition at line 421 of file editmesh_polybuild.cc.
References edbm_polybuild_face_at_cursor_invoke(), EDBM_view3d_poll(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_PROPORTIONAL, wmOperatorType::poll, RNA_def_boolean(), wmOperatorType::srna, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_polybuild_split_at_cursor | ( | wmOperatorType * | ot | ) |
Definition at line 510 of file editmesh_polybuild.cc.
References edbm_polybuild_split_at_cursor_invoke(), EDBM_view3d_poll(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_PROPORTIONAL, wmOperatorType::poll, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_polybuild_transform_at_cursor | ( | wmOperatorType * | ot | ) |
Definition at line 164 of file editmesh_polybuild.cc.
References edbm_polybuild_transform_at_cursor_invoke(), EDBM_view3d_poll(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_PROPORTIONAL, wmOperatorType::poll, and Transform_Properties().
Referenced by ED_operatortypes_mesh().