Blender
V3.3
|
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "BKE_editmesh.h"
#include "BKE_layer.h"
#include "BKE_report.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_mesh.h"
#include "ED_screen.h"
#include "ED_transform.h"
#include "ED_view3d.h"
#include "MEM_guardedalloc.h"
#include "mesh_intern.h"
Go to the source code of this file.
|
static |
Definition at line 691 of file editmesh_extrude.c.
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, center, BMVert::co, copy_v3_v3(), blender::math::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(), Object::imat, invert_m4_m4(), line_point_side_v2(), View3DCursor::location, MEM_freeN, 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, Object::obmat, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::ptr, ViewContext::region, RNA_boolean_get(), ViewContext::rv3d, SCE_SNAP, SCE_SNAP_MODE_FACE_RAYCAST, ViewContext::scene, BMOperator::slots_out, ToolSettings::snap_flag, ToolSettings::snap_mode, sub_v3_v3(), Scene::toolsettings, BMesh::totvertsel, unit_m3(), BMEdge::v1, 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 478 of file editmesh_extrude.c.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BMEditMesh::bm, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, edbm_extrude_mesh(), EDBM_update(), MEM_freeN, OPERATOR_FINISHED, and BMesh::totvertsel.
Referenced by MESH_OT_extrude_context().
|
static |
Definition at line 99 of file editmesh_extrude.c.
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, BMVert::no, BMFace::no, BMOperator::slots_out, and BMLoop::v.
Referenced by edbm_extrude_faces_exec().
|
static |
Definition at line 38 of file editmesh_extrude.c.
References BMEditMesh::bm, bm, BM_edge_is_boundary(), BM_EDGES_OF_MESH, BM_elem_flag_test, BM_ITER_MESH, BMO_slot_map_empty_insert(), copy_v3_v3(), eModifierMode_Realtime, eModifierType_Mirror, fabsf, ListBase::first, MirrorModifierData::flag, invert_m4_m4(), MirrorModifierData::mirror_ob, MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, MOD_MIR_CLIPPING, ModifierData::mode, Object::modifiers, mul_m4_m4m4(), mul_v3_m4v3(), ModifierData::next, Object::obmat, MirrorModifierData::tolerance, and ModifierData::type.
Referenced by edbm_extrude_ex().
|
static |
Definition at line 584 of file editmesh_extrude.c.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BMEditMesh::bm, BM_ELEM_SELECT, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, edbm_extrude_edges_indiv(), EDBM_update(), MEM_freeN, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), and BMesh::totedgesel.
Referenced by MESH_OT_extrude_edges_indiv().
bool edbm_extrude_edges_indiv | ( | struct BMEditMesh * | em, |
struct wmOperator * | op, | ||
char | hflag, | ||
bool | use_normal_flip | ||
) |
Extrudes individual edges.
Definition at line 131 of file editmesh_extrude.c.
References BMEditMesh::bm, 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 207 of file editmesh_extrude.c.
References BMEditMesh::bm, 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 638 of file editmesh_extrude.c.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BMEditMesh::bm, BM_ELEM_SELECT, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, edbm_extrude_discrete_faces(), EDBM_update(), MEM_freeN, OPERATOR_FINISHED, and BMesh::totfacesel.
Referenced by MESH_OT_extrude_faces_indiv().
|
static |
Definition at line 183 of file editmesh_extrude.c.
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 |
Definition at line 347 of file editmesh_extrude.c.
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(), 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 419 of file editmesh_extrude.c.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BMEditMesh::bm, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, edbm_extrude_mesh(), EDBM_update(), MEM_freeN, OPERATOR_FINISHED, and BMesh::totvertsel.
Referenced by MESH_OT_extrude_region().
|
static |
Definition at line 260 of file editmesh_extrude.c.
References Freestyle::a, 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_view_layer(), CTX_wm_region_view3d(), CTX_wm_view3d(), Object::data, edbm_extrude_ex(), EDBM_update(), invert_m3(), MEM_freeN, mul_v3_fl(), mul_v3_m3v3(), normalize_v3_v3(), NULL, Object::obmat, offset, OPERATOR_FINISHED, RegionView3D::persinv, wmOperator::ptr, RNA_float_get(), RNA_int_get(), RNA_property_float_get_array(), RNA_property_float_set_array(), RNA_property_is_set(), RNA_struct_find_property(), and steps.
Referenced by MESH_OT_extrude_repeat().
|
static |
Definition at line 532 of file editmesh_extrude.c.
References BKE_editmesh_from_object(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data, BMEditMesh::bm, BM_ELEM_SELECT, C, CTX_data_view_layer(), CTX_wm_view3d(), Object::data, edbm_extrude_verts_indiv(), EDBM_update(), MEM_freeN, OPERATOR_FINISHED, and BMesh::totvertsel.
Referenced by MESH_OT_extrude_verts_indiv().
|
static |
Definition at line 164 of file editmesh_extrude.c.
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 910 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh_region_view3d(), edbm_dupli_extrude_cursor_invoke(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_extrude_context | ( | wmOperatorType * | ot | ) |
Definition at line 507 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh(), edbm_extrude_context_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, wmOperatorType::poll, RNA_def_boolean(), wmOperatorType::srna, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
void MESH_OT_extrude_edges_indiv | ( | wmOperatorType * | ot | ) |
Definition at line 613 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh(), edbm_extrude_edges_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, wmOperatorType::poll, RNA_def_boolean(), wmOperatorType::srna, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
void MESH_OT_extrude_faces_indiv | ( | wmOperatorType * | ot | ) |
Definition at line 666 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh(), edbm_extrude_faces_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, wmOperatorType::poll, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
void MESH_OT_extrude_region | ( | wmOperatorType * | ot | ) |
Definition at line 449 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh(), edbm_extrude_region_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, wmOperatorType::poll, RNA_def_boolean(), wmOperatorType::srna, and Transform_Properties().
Referenced by ED_operatortypes_mesh().
void MESH_OT_extrude_repeat | ( | wmOperatorType * | ot | ) |
Definition at line 318 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh(), edbm_extrude_repeat_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, NULL, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, PROP_SKIP_SAVE, RNA_def_float(), RNA_def_float_vector_xyz(), RNA_def_int(), RNA_def_property_flag(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_extrude_verts_indiv | ( | wmOperatorType * | ot | ) |
Definition at line 560 of file editmesh_extrude.c.
References wmOperatorType::description, ED_operator_editmesh(), edbm_extrude_verts_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, P_MIRROR_DUMMY, P_NO_DEFAULTS, wmOperatorType::poll, and Transform_Properties().
Referenced by ED_operatortypes_mesh().