33 ID *
id =
static_cast<ID *
>(ob_iter->data);
51 ID *
id =
static_cast<ID *
>(ob_iter->data);
82 ID *
id =
static_cast<ID *
>(base_iter->object->data);
99 ID *
id =
static_cast<ID *
>(base_iter->object->data);
123 scene, view_layer, v3d, params);
126 bases.
begin(), bases.
end(), objects.
begin(), [](
Base *base) { return base->object; });
192 "Object Bases out of sync, invoke BKE_view_layer_synced_ensure.");
199 "Active Base out of sync, invoke BKE_view_layer_synced_ensure.");
200 return view_layer->
basact;
206 "Active Collection out of sync, invoke BKE_view_layer_synced_ensure.");
234 if (em->bm->totedge != 0) {
248 Object *ob_result =
nullptr;
250 if (ob_iter == ob_active) {
254 if (ob_result ==
nullptr) {
275 return base ? base->
object :
nullptr;
CustomData interface, see also DNA_customdata_types.h.
bool CustomData_has_layer(const CustomData *data, eCustomDataType type)
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
bool BKE_view_layer_filter_edit_mesh_has_uvs(const Object *ob, void *user_data)
#define FOREACH_BASE_IN_MODE_END
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
#define FOREACH_SELECTED_OBJECT_BEGIN(_view_layer, _v3d, _instance)
blender::Vector< Base * > BKE_view_layer_array_from_bases_in_edit_mode(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
LayerCollection * BKE_view_layer_active_collection_get(ViewLayer *view_layer)
bool BKE_view_layer_filter_edit_mesh_has_edges(const Object *ob, void *user_data)
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_mode_params(const Scene *scene, ViewLayer *view_layer, const View3D *v3d, const ObjectsInModeParams *params)
Base * BKE_view_layer_active_base_get(ViewLayer *view_layer)
#define FOREACH_BASE_IN_MODE_BEGIN(_scene, _view_layer, _v3d, _object_type, _object_mode, _instance)
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
blender::Vector< Object * > BKE_view_layer_array_selected_objects_params(ViewLayer *view_layer, const View3D *v3d, const ObjectsInViewLayerParams *params)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
Object * BKE_view_layer_non_active_selected_object(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d, eObjectMode mode)
blender::Vector< Base * > BKE_view_layer_array_from_bases_in_edit_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
#define FOREACH_SELECTED_OBJECT_END
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
ListBase * BKE_view_layer_object_bases_get(ViewLayer *view_layer)
blender::Vector< Base * > BKE_view_layer_array_from_bases_in_mode_params(const Scene *scene, ViewLayer *view_layer, const View3D *v3d, const ObjectsInModeParams *params)
Object * BKE_view_layer_edit_object_get(const ViewLayer *view_layer)
#define BLI_assert_msg(a, msg)
ID and Library types, which are fundamental for SDNA.
Object is a sort of wrapper for general info.
void append(const T &value)
MeshRuntimeHandle * runtime
bool(*) filter_fn(const Object *ob, void *user_data)
bool(*) filter_fn(const Object *ob, void *user_data)
LayerCollection * active_collection