35 ID *
id =
static_cast<ID *
>(ob_iter->data);
47 if (!
params->filter_fn(ob_iter,
params->filter_userdata)) {
53 ID *
id =
static_cast<ID *
>(ob_iter->data);
56 id->
tag &= ~ID_TAG_DOIT;
64 objects.append(ob_iter);
84 ID *
id =
static_cast<ID *
>(base_iter->object->data);
96 if (!
params->filter_fn(base_iter->object,
params->filter_userdata)) {
100 if (
params->no_dup_data) {
101 ID *
id =
static_cast<ID *
>(base_iter->object->data);
104 id->
tag &= ~ID_TAG_DOIT;
125 scene, view_layer, v3d,
params);
128 bases.
begin(), bases.
end(), objects.begin(), [](
Base *base) { return base->object; });
156 params.no_dup_data =
true;
166 params.no_dup_data =
true;
175 params.no_dup_data =
true;
186 params.object_mode = mode;
187 params.no_dup_data =
true;
194 "Object Bases out of sync, invoke BKE_view_layer_synced_ensure.");
201 "Active Base out of sync, invoke BKE_view_layer_synced_ensure.");
202 return view_layer->
basact;
208 "Active Collection out of sync, invoke BKE_view_layer_synced_ensure.");
222 if (
const BMEditMesh *em = mesh->runtime->edit_mesh.get()) {
235 if (
const BMEditMesh *em = mesh->runtime->edit_mesh.get()) {
236 if (em->bm->totedge != 0) {
250 Object *ob_result =
nullptr;
252 if (ob_iter == ob_active) {
256 if (ob_result ==
nullptr) {
277 return base ? base->
object :
nullptr;
CustomData interface, see also DNA_customdata_types.h.
bool CustomData_has_layer(const CustomData *data, eCustomDataType type)
#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)
#define FOREACH_BASE_IN_MODE_BEGIN(_scene, _view_layer, _v3d, _object_type, _object_mode, _instance)
#define FOREACH_SELECTED_OBJECT_END
#define BLI_assert_msg(a, msg)
ID and Library types, which are fundamental for SDNA.
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
void append(const T &value)
bool BKE_view_layer_filter_edit_mesh_has_uvs(const Object *ob, void *)
Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
Vector< Base * > BKE_view_layer_array_from_bases_in_mode_params(const Scene *scene, ViewLayer *view_layer, const View3D *v3d, const ObjectsInModeParams *params)
LayerCollection * BKE_view_layer_active_collection_get(ViewLayer *view_layer)
Vector< Object * > BKE_view_layer_array_from_objects_in_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d, const eObjectMode mode)
Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
Vector< Object * > BKE_view_layer_array_selected_objects_params(ViewLayer *view_layer, const View3D *v3d, const ObjectsInViewLayerParams *params)
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)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
Vector< Base * > BKE_view_layer_array_from_bases_in_edit_mode(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
Object * BKE_view_layer_non_active_selected_object(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
Vector< Base * > BKE_view_layer_array_from_bases_in_edit_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
ListBase * BKE_view_layer_object_bases_get(ViewLayer *view_layer)
Object * BKE_view_layer_edit_object_get(const ViewLayer *view_layer)
bool BKE_view_layer_filter_edit_mesh_has_edges(const Object *ob, void *)
Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
LayerCollection * active_collection