|
Blender V5.0
|
#include "DNA_modifier_types.h"#include "DNA_object_types.h"#include "BLI_listbase.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BKE_context.hh"#include "BKE_editmesh.hh"#include "BKE_layer.hh"#include "BKE_object_types.hh"#include "BKE_report.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "WM_api.hh"#include "WM_types.hh"#include "ED_mesh.hh"#include "ED_screen.hh"#include "ED_transform.hh"#include "ED_view3d.hh"#include "mesh_intern.hh"Go to the source code of this file.
|
static |
Definition at line 685 of file editmesh_extrude.cc.
References add_v3_v3(), angle(), angle_normalized_v3v3(), axis_angle_to_mat3(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, BM_EDGES_OF_MESH, BM_elem_flag_test, BM_ELEM_SELECT, BM_ITER_MESH, BM_VERT, BM_vert_select_set(), BM_VERTS_OF_MESH, BMO_ITER, BMO_op_exec(), C, BMVert::co, copy_v3_v3(), cross, cross_v3_v3v3(), CTX_data_ensure_evaluated_depsgraph(), Scene::cursor, Object::data, depsgraph, ED_view3d_init_mats_rv3d(), ED_view3d_project_float_object(), ED_view3d_viewcontext_init_object(), ED_view3d_win_to_3d_int(), edbm_extrude_ex(), edbm_extrude_htype_from_em_select(), EDBM_op_callf(), EDBM_op_finish(), EDBM_op_init(), EDBM_project_snap_verts(), EDBM_update(), ViewContext::em, em_setup_viewcontext(), float, invert_m4_m4(), line_point_side_v2(), View3DCursor::location, mul_m4_v3(), mul_mat3_m4_v3(), mul_v3_fl(), mul_v3_m4v3(), mul_v3_mat3_m4v3(), wmEvent::mval, NC_GEOM, ND_DATA, ND_SELECT, nor, normalize_v3(), normalize_v3_v3(), ViewContext::obact, ViewContext::obedit, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, params, wmOperator::ptr, ViewContext::region, RNA_boolean_get(), Object::runtime, ViewContext::rv3d, SCE_SNAP, SCE_SNAP_INDIVIDUAL_PROJECT, SCE_SNAP_TO_FACE, ViewContext::scene, BMOperator::slots_out, ToolSettings::snap_flag, ToolSettings::snap_mode, sub_v3_v3(), Scene::toolsettings, BMesh::totvertsel, unit_m3(), BMEdge::v1, BMEdge::v2, ViewContext::v3d, V3D_PROJ_RET_OK, V3D_PROJ_TEST_NOP, ViewContext::view_layer, RegionView3D::viewinv, WM_event_add_notifier(), WM_operator_flag_only_pass_through_on_press(), and zero_v3().
Referenced by MESH_OT_dupli_extrude_cursor().
|
static |
Definition at line 484 of file editmesh_extrude.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), edbm_extrude_mesh(), EDBM_update(), OPERATOR_FINISHED, params, and BMesh::totvertsel.
Referenced by MESH_OT_extrude_context().
|
static |
Definition at line 103 of file editmesh_extrude.cc.
References BMEditMesh::bm, BM_ELEM_SELECT, BM_FACE, BM_face_select_set(), BM_ITER_ELEM, BM_LOOPS_OF_FACE, BMO_ITER, BMO_op_exec(), copy_v3_v3(), EDBM_flag_disable_all(), EDBM_op_finish(), EDBM_op_init(), l, BMFace::no, and BMOperator::slots_out.
Referenced by edbm_extrude_faces_exec().
|
static |
Definition at line 42 of file editmesh_extrude.cc.
References bm, BMEditMesh::bm, BM_edge_is_boundary(), BM_EDGES_OF_MESH, BM_elem_flag_test, BM_ITER_MESH, BMO_slot_map_empty_insert(), BMVert::co, copy_v3_v3(), eModifierMode_Realtime, eModifierType_Mirror, BMLoop::f, fabsf, MirrorModifierData::flag, invert_m4_m4(), BMEdge::l, LISTBASE_FOREACH, MirrorModifierData::mirror_ob, MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, MOD_MIR_CLIPPING, Object::modifiers, mul_m4_m4m4(), mul_v3_m4v3(), MirrorModifierData::tolerance, BMEdge::v1, and BMEdge::v2.
Referenced by edbm_extrude_ex().
|
static |
Definition at line 584 of file editmesh_extrude.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, BM_ELEM_SELECT, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), edbm_extrude_edges_indiv(), EDBM_update(), OPERATOR_FINISHED, params, wmOperator::ptr, RNA_boolean_get(), and BMesh::totedgesel.
Referenced by MESH_OT_extrude_edges_indiv().
| bool edbm_extrude_edges_indiv | ( | BMEditMesh * | em, |
| wmOperator * | op, | ||
| char | hflag, | ||
| bool | use_normal_flip ) |
Extrudes individual edges.
Definition at line 135 of file editmesh_extrude.cc.
References bm, BMEditMesh::bm, BM_EDGE, BM_ELEM_SELECT, BM_SELECT_HISTORY_BACKUP, BM_SELECT_HISTORY_RESTORE, BM_VERT, BMO_op_exec(), BMO_slot_buffer_hflag_enable(), EDBM_flag_disable_all(), EDBM_op_finish(), EDBM_op_init(), and BMOperator::slots_out.
Referenced by edbm_extrude_edges_exec(), edbm_extrude_mesh(), and geometry_extract_apply().
|
static |
Definition at line 211 of file editmesh_extrude.cc.
References bm, BMEditMesh::bm, BM_ALL_NOLOOP, BM_EDGE, BM_ELEM_SELECT, BM_elem_select_set(), BM_FACE, BM_SELECT_HISTORY_BACKUP, BM_SELECT_HISTORY_RESTORE, BMO_FLAG_DEFAULTS, BMO_ITER, BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_slot_bool_set(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_get(), edbm_extrude_edge_exclude_mirror(), EDBM_flag_disable_all(), BMOperator::slots_in, and BMOperator::slots_out.
Referenced by edbm_dupli_extrude_cursor_invoke(), edbm_extrude_mesh(), and edbm_extrude_repeat_exec().
|
static |
Definition at line 635 of file editmesh_extrude.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, BM_ELEM_SELECT, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), edbm_extrude_discrete_faces(), EDBM_update(), OPERATOR_FINISHED, params, and BMesh::totfacesel.
Referenced by MESH_OT_extrude_faces_indiv().
|
static |
Definition at line 187 of file editmesh_extrude.cc.
References BMEditMesh::bm, BM_ALL_NOLOOP, BM_EDGE, BM_FACE, BM_VERT, SCE_SELECT_EDGE, SCE_SELECT_VERTEX, BMEditMesh::selectmode, BMesh::totedgesel, and BMesh::totfacesel.
Referenced by edbm_dupli_extrude_cursor_invoke(), and edbm_extrude_mesh().
|
static |
Implement generic externally called extrude function.
Definition at line 356 of file editmesh_extrude.cc.
References BKE_report(), BMEditMesh::bm, BM_ELEM_SELECT, edbm_extrude_edges_indiv(), edbm_extrude_ex(), edbm_extrude_htype_from_em_select(), edbm_extrude_verts_indiv(), NONE, wmOperator::ptr, wmOperator::reports, RNA_boolean_get(), RPT_ERROR, SCE_SELECT_EDGE, SCE_SELECT_VERTEX, BMEditMesh::selectmode, BMesh::totedgesel, BMesh::totfacesel, and BMesh::totvertsel.
Referenced by edbm_extrude_context_exec(), and edbm_extrude_region_exec().
|
static |
Definition at line 428 of file editmesh_extrude.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), edbm_extrude_mesh(), EDBM_update(), OPERATOR_FINISHED, params, and BMesh::totvertsel.
Referenced by MESH_OT_extrude_region().
|
static |
Definition at line 264 of file editmesh_extrude.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, BM_ALL_NOLOOP, BM_ELEM_SELECT, BMO_FLAG_DEFAULTS, BMO_op_callf(), C, copy_m3_m4(), copy_v3_v3(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_region_view3d(), CTX_wm_view3d(), edbm_extrude_ex(), EDBM_update(), invert_m3(), mul_v3_fl(), mul_v3_m3v3(), normalize_v3_v3(), OPERATOR_FINISHED, params, RegionView3D::persinv, wmOperator::ptr, RNA_float_get(), RNA_int_get(), RNA_property_float_get_array(), RNA_property_float_set_array(), RNA_property_is_set(), and RNA_struct_find_property().
Referenced by MESH_OT_extrude_repeat().
|
static |
Definition at line 535 of file editmesh_extrude.cc.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BMEditMesh::bm, BM_ELEM_SELECT, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), edbm_extrude_verts_indiv(), EDBM_update(), OPERATOR_FINISHED, params, and BMesh::totvertsel.
Referenced by MESH_OT_extrude_verts_indiv().
|
static |
Definition at line 168 of file editmesh_extrude.cc.
References BMEditMesh::bm, BM_ELEM_SELECT, BM_VERT, BMO_op_exec(), BMO_slot_buffer_hflag_disable(), BMO_slot_buffer_hflag_enable(), EDBM_op_finish(), EDBM_op_init(), BMOperator::slots_in, and BMOperator::slots_out.
Referenced by edbm_extrude_mesh(), and edbm_extrude_verts_exec().
| void MESH_OT_dupli_extrude_cursor | ( | wmOperatorType * | ot | ) |
Definition at line 902 of file editmesh_extrude.cc.
References ED_operator_editmesh_region_view3d(), edbm_dupli_extrude_cursor_invoke(), OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and RNA_def_boolean().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_extrude_context | ( | wmOperatorType * | ot | ) |
Definition at line 510 of file editmesh_extrude.cc.
References ED_operator_editmesh(), edbm_extrude_context_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, blender::ed::transform::properties_register(), and RNA_def_boolean().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_extrude_edges_indiv | ( | wmOperatorType * | ot | ) |
Definition at line 610 of file editmesh_extrude.cc.
References ED_operator_editmesh(), edbm_extrude_edges_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, blender::ed::transform::properties_register(), and RNA_def_boolean().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_extrude_faces_indiv | ( | wmOperatorType * | ot | ) |
Definition at line 660 of file editmesh_extrude.cc.
References ED_operator_editmesh(), edbm_extrude_faces_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, and blender::ed::transform::properties_register().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_extrude_region | ( | wmOperatorType * | ot | ) |
Definition at line 455 of file editmesh_extrude.cc.
References ED_operator_editmesh(), edbm_extrude_region_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, blender::ed::transform::properties_register(), and RNA_def_boolean().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_extrude_repeat | ( | wmOperatorType * | ot | ) |
Definition at line 319 of file editmesh_extrude.cc.
References ED_operator_editmesh(), edbm_extrude_repeat_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, PROP_SKIP_SAVE, RNA_def_float(), RNA_def_float_vector_xyz(), RNA_def_int(), and RNA_def_property_flag().
Referenced by ED_operatortypes_mesh().
| void MESH_OT_extrude_verts_indiv | ( | wmOperatorType * | ot | ) |
Definition at line 560 of file editmesh_extrude.cc.
References ED_operator_editmesh(), edbm_extrude_verts_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, and blender::ed::transform::properties_register().
Referenced by ED_operatortypes_mesh().