100 state->draw_plane =
true;
123 float dimensions[3] = {0.0f};
131 if (dimensions_prop) {
139 state->draw_box =
true;
208 const int mval[2] = {
234 return TIP_(
"Create object instance from object-data");
315 const uint32_t uid =
RNA_int_get(drop_box->ptr,
"session_uid");
338 float obmat_final[4][4])
353 offset[2] = bb->min[2];
368 float obmat_final[4][4];
401 if (base !=
nullptr) {
415 float obmat_final[4][4];
457 float loc[3],
rot[3];
506 float loc[3],
rot[3];
556 "OBJECT_OT_add_named",
567 "OBJECT_OT_transform_to_mouse",
578 "OBJECT_OT_collection_external_asset_drop",
587 "OBJECT_OT_collection_instance_add",
597 "OBJECT_OT_drop_named_material",
603 "OBJECT_OT_drop_geometry_nodes",
609 "VIEW3D_OT_camera_background_image_add",
615 "OBJECT_OT_empty_image_add",
621 "OBJECT_OT_data_instance_add",
627 "VIEW3D_OT_drop_world",
Main runtime representation of an asset.
IDProperty * BKE_asset_metadata_idprop_find(const AssetMetaData *asset_data, const char *name) ATTR_WARN_UNUSED_RESULT
Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
ScrArea * CTX_wm_area(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
RegionView3D * CTX_wm_region_view3d(const bContext *C)
ARegion * CTX_wm_region(const bContext *C)
View3D * CTX_wm_view3d(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
void BKE_view_layer_base_deselect_all(const Scene *scene, ViewLayer *view_layer)
Base * BKE_view_layer_base_find(ViewLayer *view_layer, Object *ob)
void BKE_view_layer_base_select_and_set_active(ViewLayer *view_layer, Base *selbase)
ID * BKE_libblock_find_session_uid(Main *bmain, short type, uint32_t session_uid)
General operations, lookup, etc. for blender objects.
void BKE_object_dimensions_eval_cached_get(const Object *ob, float r_vec[3])
std::optional< blender::Bounds< blender::float3 > > BKE_object_boundbox_get(const Object *ob)
void copy_m4_m3(float m1[4][4], const float m2[3][3])
void rescale_m4(float mat[4][4], const float scale[3])
void mat4_to_size(float size[3], const float M[4][4])
void mul_mat3_m4_v3(const float mat[4][4], float r[3])
void mat3_normalized_to_eul(float eul[3], const float mat[3][3])
MINLINE void sub_v3_v3(float r[3], const float a[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE bool is_zero_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void mul_v3_v3fl(float r[3], const float a[3], float f)
#define UNUSED_VARS_NDEBUG(...)
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
ID and Library types, which are fundamental for SDNA.
Object groups, one object can be in many groups at once.
#define OB_DATA_SUPPORT_ID(_id_type)
#define BASE_SELECTABLE(v3d, base)
void ED_outliner_select_sync_from_object_tag(bContext *C)
bool ED_region_overlap_isect_any_xy(const ScrArea *area, const int event_xy[2])
void ED_undo_push(bContext *C, const char *str)
V3DSnapCursorState * ED_view3d_cursor_snap_state_create()
V3DSnapCursorState * ED_view3d_cursor_snap_state_active_get()
Object * ED_view3d_give_object_under_cursor(bContext *C, const int mval[2])
bool ED_view3d_is_object_under_cursor(bContext *C, const int mval[2])
void ED_view3d_cursor_snap_state_free(V3DSnapCursorState *state)
V3DSnapCursorData * ED_view3d_cursor_snap_data_get()
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
AssetMetaData & get_metadata() const
ID_Type get_id_type() const
#define ID_IS_EDITABLE(_id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
std::string drop_named_material_tooltip(bContext *C, const char *name, const int mval[2])
std::string drop_geometry_nodes_tooltip(bContext *C, PointerRNA *properties, const int mval[2])
T midpoint(const T &a, const T &b)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
int RNA_int_get(PointerRNA *ptr, const char *name)
void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values)
bool use_instance_collections
wmDropBox * active_dropbox
const AssetRepresentationHandle * asset
AssetImportSettings import_settings
wmDragActiveDropState drop_state
void(* on_exit)(wmDropBox *drop, wmDrag *drag)
void(* on_enter)(wmDropBox *drop, wmDrag *drag)
void(* draw_droptip)(bContext *C, wmWindow *win, wmDrag *drag, const int xy[2])
static void view3d_ob_drop_copy_external_asset(bContext *C, wmDrag *drag, wmDropBox *drop)
static bool view3d_world_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_ob_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_collection_drop_poll_local_id(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_object_data_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_id_path_drop_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
static void view3d_collection_drop_copy_local_id(bContext *, wmDrag *drag, wmDropBox *drop)
static bool view3d_ima_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_ima_bg_is_camera_view(bContext *C)
static bool view3d_collection_drop_poll_external_asset(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_drop_snap_exit(wmDropBox *drop, wmDrag *)
static void view3d_ob_drop_matrix_from_snap(V3DSnapCursorState *snap_state, Object *ob, float obmat_final[4][4])
static std::string view3d_object_data_drop_tooltip(bContext *, wmDrag *, const int[2], wmDropBox *)
static bool view3d_ima_empty_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_ob_drop_poll_local_id(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_ima_bg_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_geometry_nodes_drop_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
static bool view3d_ob_drop_poll_external_asset(bContext *C, wmDrag *drag, const wmEvent *event)
static std::string view3d_geometry_nodes_drop_tooltip(bContext *C, wmDrag *, const int xy[2], wmDropBox *drop)
static bool view3d_drop_in_main_region_poll(bContext *C, const wmEvent *event)
static void view3d_id_drop_copy_with_type(bContext *C, wmDrag *drag, wmDropBox *drop)
static void view3d_collection_drop_copy_external_asset(bContext *C, wmDrag *drag, wmDropBox *drop)
static bool view3d_drop_id_in_main_region_poll(bContext *C, wmDrag *drag, const wmEvent *event, ID_Type id_type)
static V3DSnapCursorState * view3d_drop_snap_init(wmDropBox *drop)
static std::string view3d_mat_drop_tooltip(bContext *C, wmDrag *drag, const int xy[2], wmDropBox *)
static void view3d_ob_drop_copy_local_id(bContext *, wmDrag *drag, wmDropBox *drop)
static bool view3d_geometry_nodes_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_mat_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_collection_drop_on_enter(wmDropBox *drop, wmDrag *drag)
static void view3d_collection_drop_matrix_from_snap(V3DSnapCursorState *snap_state, float r_loc[3], float r_rot[3])
static bool view3d_collection_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_ob_drop_on_enter(wmDropBox *drop, wmDrag *drag)
static void view3d_id_drop_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
static ID_Type view3d_drop_id_in_main_region_poll_get_id_type(bContext *C, wmDrag *drag, const wmEvent *event)
AssetMetaData * WM_drag_get_asset_meta_data(const wmDrag *drag, int idcode)
wmDropBox * WM_dropbox_add(ListBase *lb, const char *idname, bool(*poll)(bContext *C, wmDrag *drag, const wmEvent *event), void(*copy)(bContext *C, wmDrag *drag, wmDropBox *drop), void(*cancel)(Main *bmain, wmDrag *drag, wmDropBox *drop), WMDropboxTooltipFunc tooltip)
void WM_drag_draw_item_name_fn(bContext *, wmWindow *win, wmDrag *drag, const int xy[2])
void WM_drag_free_imported_drag_ID(Main *bmain, wmDrag *drag, wmDropBox *drop)
bool WM_drag_asset_will_import_linked(const wmDrag *drag)
ID * WM_drag_asset_id_import(const bContext *C, wmDragAsset *asset_drag, const int flag_extra)
const char * WM_drag_get_item_name(wmDrag *drag)
bool WM_drag_is_ID_type(const wmDrag *drag, int idcode)
ID * WM_drag_get_local_ID_or_import_from_asset(const bContext *C, const wmDrag *drag, int idcode)
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmDragAsset * WM_drag_get_asset_data(const wmDrag *drag, int idcode)
ID * WM_drag_get_local_ID(const wmDrag *drag, short idcode)
void WM_main_add_notifier(uint type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_operator_properties_id_lookup_set_from_id(PointerRNA *ptr, const ID *id)