|
Blender V4.3
|
#include <cmath>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_blenlib.h"#include "BLI_kdtree.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_rand.h"#include "BLI_utildefines.h"#include "DNA_defs.h"#include "DNA_meta_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "RNA_access.hh"#include "RNA_define.hh"#include "BKE_context.hh"#include "BKE_layer.hh"#include "BKE_mball.hh"#include "BKE_object.hh"#include "BKE_object_types.hh"#include "BLT_translation.hh"#include "DEG_depsgraph.hh"#include "GPU_select.hh"#include "ED_mball.hh"#include "ED_object.hh"#include "ED_screen.hh"#include "ED_select_utils.hh"#include "ED_view3d.hh"#include "WM_api.hh"#include "WM_types.hh"#include "UI_interface_icons.hh"#include "mball_intern.hh"Go to the source code of this file.
Select Similar Operator | |
| enum | { SIMMBALL_TYPE = 1 , SIMMBALL_RADIUS , SIMMBALL_STIFFNESS , SIMMBALL_ROTATION } |
| static const EnumPropertyItem | prop_similar_types [] |
| static void | mball_select_similar_type_get (Object *obedit, MetaBall *mb, int type, KDTree_1d *tree_1d, KDTree_3d *tree_3d) |
| static bool | mball_select_similar_type (Object *obedit, MetaBall *mb, int type, const KDTree_1d *tree_1d, const KDTree_3d *tree_3d, const float thresh) |
| static int | mball_select_similar_exec (bContext *C, wmOperator *op) |
| void | MBALL_OT_select_similar (wmOperatorType *ot) |
| anonymous enum |
| Enumerator | |
|---|---|
| SIMMBALL_TYPE | |
| SIMMBALL_RADIUS | |
| SIMMBALL_STIFFNESS | |
| SIMMBALL_ROTATION | |
Definition at line 207 of file mball_edit.cc.
|
static |
Definition at line 582 of file mball_edit.cc.
References BKE_mball_is_any_selected(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_remlink(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), DEG_id_tag_update(), MetaBall::editelems, ListBase::first, MetaElem::flag, MetaBall::lastelem, MEM_freeN(), NC_GEOM, ND_DATA, MetaElem::next, next, OPERATOR_FINISHED, SELECT, and WM_event_add_notifier().
Referenced by delete_metaelems_invoke(), and MBALL_OT_delete_metaelems().
|
static |
Definition at line 616 of file mball_edit.cc.
References ALERT_ICON_NONE, delete_metaelems_exec(), IFACE_, wmOperator::ptr, RNA_boolean_get(), and WM_operator_confirm_ex().
Referenced by MBALL_OT_delete_metaelems().
|
static |
Definition at line 527 of file mball_edit.cc.
References BKE_mball_is_any_selected(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_addtail(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), DEG_id_tag_update(), MetaBall::editelems, MetaElem::flag, ListBase::last, MetaBall::lastelem, MEM_dupallocN, NC_GEOM, ND_DATA, OPERATOR_FINISHED, MetaElem::prev, SELECT, and WM_event_add_notifier().
Referenced by MBALL_OT_duplicate_metaelems().
| MetaElem * ED_mball_add_primitive | ( | bContext * | C, |
| Object * | obedit, | ||
| bool | obedit_is_new, | ||
| float | mat[4][4], | ||
| float | dia, | ||
| int | type ) |
Add meta-element primitive to meta-ball object (which is in edit mode).
Definition at line 110 of file mball_edit.cc.
References BKE_mball_element_add(), copy_v3_v3(), Object::data, MetaBall::editelems, MetaElem::expx, ListBase::first, MetaElem::flag, MetaBall::lastelem, MB_ELIPSOID, mul_v3_fl(), MetaElem::next, MetaElem::rad, MetaBall::rendersize, SELECT, MetaBall::wiresize, and MetaElem::x.
Referenced by blender::ed::object::object_metaball_add_exec().
| Base * ED_mball_base_and_elem_from_select_buffer | ( | const Span< Base * > | bases, |
| const uint | select_id, | ||
| MetaElem ** | r_ml ) |
Definition at line 747 of file mball_edit.cc.
References BLI_findlink(), Object::data, MetaBall::editelems, and Base::object.
Referenced by ed_mball_findnearest_metaelem().
| bool ED_mball_deselect_all_multi | ( | bContext * | C | ) |
Definition at line 95 of file mball_edit.cc.
References BKE_mball_deselect_all_multi_ex(), BKE_view_layer_array_from_bases_in_edit_mode_unique_data(), CTX_data_ensure_evaluated_depsgraph(), depsgraph, ED_view3d_viewcontext_init(), ViewContext::scene, ViewContext::v3d, and ViewContext::view_layer.
Referenced by ED_mball_select_pick().
| void ED_mball_editmball_free | ( | Object * | obedit | ) |
This function is used to free all MetaElems from MetaBall.
Definition at line 62 of file mball_edit.cc.
References Object::data, MetaBall::editelems, and MetaBall::lastelem.
Referenced by blender::ed::object::editmode_load_free_ex().
| void ED_mball_editmball_load | ( | Object * | obedit | ) |
This function is called, when MetaBall Object switched from edit mode to object mode. List of MetaElements is copied from object->data->edit_elems to object->data->elems.
Definition at line 87 of file mball_edit.cc.
Referenced by blender::ed::object::editmode_load_free_ex().
| void ED_mball_editmball_make | ( | Object * | obedit | ) |
This function is called, when MetaBall Object is switched from object mode to edit mode.
Definition at line 70 of file mball_edit.cc.
References Object::data, MetaBall::editelems, MetaBall::elems, ListBase::first, MetaElem::flag, MetaBall::lastelem, MetaElem::next, and SELECT.
Referenced by blender::ed::object::editmode_enter_ex().
|
static |
Definition at line 770 of file mball_edit.cc.
References BKE_view_layer_array_from_bases_in_edit_mode(), BLI_assert, BLI_findindex(), BLI_rcti_init_pt_radius(), CTX_data_ensure_evaluated_depsgraph(), Object::data, depsgraph, ED_mball_base_and_elem_from_select_buffer(), ED_view3d_viewcontext_init(), MetaBall::editelems, MetaElem::flag, MetaBall::lastelem, MBALLSEL_ANY, ViewContext::obact, Object::runtime, ViewContext::scene, SELECT, GPUSelectBuffer::storage, ViewContext::v3d, view3d_opengl_select(), VIEW3D_SELECT_FILTER_NOP, VIEW3D_SELECT_PICK_ALL, VIEW3D_SELECT_PICK_NEAREST, and ViewContext::view_layer.
Referenced by ED_mball_select_pick().
| bool ED_mball_select_pick | ( | bContext * | C, |
| const int | mval[2], | ||
| const SelectPick_Params * | params ) |
Select meta-element with mouse click (user can select radius circle or stiffness circle).
Definition at line 851 of file mball_edit.cc.
References blender::ed::object::base_activate(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), BLI_assert_unreachable, CTX_data_scene(), CTX_data_view_layer(), Object::data, DEG_id_tag_update(), ED_mball_deselect_all_multi(), ed_mball_findnearest_metaelem(), MetaElem::flag, MetaBall::id, ID_RECALC_SELECT, MetaBall::lastelem, MB_SCALE_RAD, MBALLSEL_RADIUS, MBALLSEL_STIFF, NC_GEOM, ND_SELECT, Base::object, params, SEL_OP_ADD, SEL_OP_AND, SEL_OP_SET, SEL_OP_SUB, SEL_OP_XOR, SELECT, and WM_event_add_notifier().
Referenced by view3d_select_exec().
|
static |
Definition at line 653 of file mball_edit.cc.
References CTX_data_edit_object(), Object::data, DEG_id_tag_update(), MetaBall::editelems, ListBase::first, MetaElem::flag, invert(), MB_HIDE, NC_GEOM, ND_DATA, MetaElem::next, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), SELECT, and WM_event_add_notifier().
Referenced by MBALL_OT_hide_metaelems().
| void MBALL_OT_delete_metaelems | ( | wmOperatorType * | ot | ) |
Definition at line 630 of file mball_edit.cc.
References delete_metaelems_exec(), delete_metaelems_invoke(), wmOperatorType::description, ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, and WM_operator_properties_confirm_or_exec().
Referenced by ED_operatortypes_metaball().
| void MBALL_OT_duplicate_metaelems | ( | wmOperatorType * | ot | ) |
Definition at line 559 of file mball_edit.cc.
References wmOperatorType::description, duplicate_metaelems_exec(), ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_metaball().
| void MBALL_OT_hide_metaelems | ( | wmOperatorType * | ot | ) |
Definition at line 676 of file mball_edit.cc.
References wmOperatorType::description, ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, hide_metaelems_exec(), wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_metaball().
| void MBALL_OT_reveal_metaelems | ( | wmOperatorType * | ot | ) |
Definition at line 723 of file mball_edit.cc.
References wmOperatorType::description, ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, reveal_metaelems_exec(), RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_metaball().
| void MBALL_OT_select_all | ( | wmOperatorType * | ot | ) |
Definition at line 184 of file mball_edit.cc.
References wmOperatorType::description, ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, mball_select_all_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, and WM_operator_properties_select_all().
Referenced by ED_operatortypes_metaball().
| void MBALL_OT_select_random_metaelems | ( | wmOperatorType * | ot | ) |
Definition at line 502 of file mball_edit.cc.
References wmOperatorType::description, ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, select_random_metaelems_exec(), and WM_operator_properties_select_random().
Referenced by ED_operatortypes_metaball().
| void MBALL_OT_select_similar | ( | wmOperatorType * | ot | ) |
Definition at line 431 of file mball_edit.cc.
References wmOperatorType::description, ED_operator_editmball(), wmOperatorType::exec, wmOperatorType::flag, FLT_MAX, wmOperatorType::idname, wmOperatorType::invoke, mball_select_similar_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, wmOperatorType::prop, prop_similar_types, RNA_def_enum(), RNA_def_float(), wmOperatorType::srna, and WM_menu_invoke().
Referenced by ED_operatortypes_metaball().
|
static |
Definition at line 149 of file mball_edit.cc.
References BKE_mball_deselect_all_multi_ex(), BKE_mball_is_any_selected_multi(), BKE_mball_select_all_multi_ex(), BKE_mball_select_swap_multi_ex(), BKE_view_layer_array_from_bases_in_edit_mode_unique_data(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), MetaBall::id, ID_RECALC_SELECT, NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), SEL_DESELECT, SEL_INVERT, SEL_SELECT, SEL_TOGGLE, and WM_event_add_notifier().
Referenced by MBALL_OT_select_all().
|
static |
Definition at line 328 of file mball_edit.cc.
References BKE_mball_select_count_multi(), BKE_view_layer_array_from_bases_in_edit_mode_unique_data(), BLI_assert, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), MetaBall::editelems, MetaBall::id, ID_RECALC_SELECT, LISTBASE_FOREACH, mball_select_similar_type(), mball_select_similar_type_get(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), RNA_float_get(), SELECT, SIMMBALL_RADIUS, SIMMBALL_ROTATION, SIMMBALL_STIFFNESS, SIMMBALL_TYPE, and WM_event_add_notifier().
Referenced by MBALL_OT_select_similar().
|
static |
Definition at line 265 of file mball_edit.cc.
References angle_normalized_v3v3(), BKE_object_rot_to_mat3(), BKE_object_scale_to_mat3(), cosf, ED_select_similar_compare_float(), ED_select_similar_compare_float_tree(), MetaBall::editelems, fabsf, LISTBASE_FOREACH, M_PI_2, mul_m3_v3(), mul_qt_v3(), SELECT, select(), SIM_CMP_EQ, SIMMBALL_RADIUS, SIMMBALL_ROTATION, and SIMMBALL_STIFFNESS.
Referenced by mball_select_similar_exec().
|
static |
Definition at line 222 of file mball_edit.cc.
References BKE_object_rot_to_mat3(), BKE_object_scale_to_mat3(), copy_v3_v3(), MetaBall::editelems, LISTBASE_FOREACH, mul_m3_v3(), mul_qt_v3(), SELECT, SIMMBALL_RADIUS, SIMMBALL_ROTATION, and SIMMBALL_STIFFNESS.
Referenced by mball_select_similar_exec().
|
static |
Definition at line 701 of file mball_edit.cc.
References CTX_data_edit_object(), Object::data, DEG_id_tag_update(), MetaBall::editelems, LISTBASE_FOREACH, MB_HIDE, NC_GEOM, ND_DATA, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), SELECT, select(), SET_FLAG_FROM_TEST, and WM_event_add_notifier().
Referenced by MBALL_OT_reveal_metaelems().
|
static |
Definition at line 458 of file mball_edit.cc.
References BKE_mball_is_any_unselected(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_ghashutil_strhash_p(), BLI_rng_free(), BLI_rng_get_float(), BLI_rng_new_srandom(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), MetaBall::editelems, MetaBall::id, Object::id, ID_RECALC_SELECT, LISTBASE_FOREACH, ID::name, NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), RNA_float_get(), seed, SEL_SELECT, SELECT, select(), WM_event_add_notifier(), and WM_operator_properties_select_random_seed_increment_get().
Referenced by MBALL_OT_select_random_metaelems().
|
static |
Definition at line 214 of file mball_edit.cc.
Referenced by MBALL_OT_select_similar().