99 static_assert(blender::dna::is_ID_v<T>);
105 static_assert(blender::dna::is_ID_v<T>);
106 return reinterpret_cast<const T *
>(
121 static_assert(blender::dna::is_ID_v<T>);
127 static_assert(blender::dna::is_ID_v<T>);
151 static_assert(blender::dna::is_ID_v<T>);
163 static_assert(blender::dna::is_ID_v<T>);
246#define DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS \
247 DEG_ITER_OBJECT_FLAG_LINKED_DIRECTLY | DEG_ITER_OBJECT_FLAG_LINKED_VIA_SET | \
248 DEG_ITER_OBJECT_FLAG_VISIBLE | DEG_ITER_OBJECT_FLAG_DUPLI
294#define DEG_OBJECT_ITER_BEGIN(settings_, instance_) \
296 DEGObjectIterData data_ = { \
298 (settings_)->depsgraph, \
299 (int)(settings_)->flags, \
302 ITER_BEGIN (DEG_iterator_objects_begin, \
303 DEG_iterator_objects_next, \
304 DEG_iterator_objects_end, \
309#define DEG_OBJECT_ITER_END \
356 bool do_matrix_setup,
blender::VectorList< DupliObject > DupliList
#define ENUM_OPERATORS(_type, _max)
float DEG_get_ctime(const Depsgraph *graph)
bool DEG_object_transform_is_evaluated(const Object &object)
uint32_t DEG_get_eval_flags_for_id(const Depsgraph *graph, const ID *id)
void DEG_foreach_ID(const Depsgraph *depsgraph, DEGForeachIDCallback callback)
bool DEG_id_is_fully_evaluated(const Depsgraph *depsgraph, const ID *id_eval)
bool DEG_is_fully_evaluated(const Depsgraph *depsgraph)
bool DEG_is_evaluated_id(const ID *id)
bool DEG_iterator_dupli_is_visible(const DupliObject *dupli, eEvaluationMode eval_mode)
blender::FunctionRef< void(ID *id, eDepsObjectComponentType component)> DEGForeachIDComponentCallback
bool DEG_is_original(const T *id)
void DEG_iterator_ids_begin(BLI_Iterator *iter, DEGIDIterData *data)
Scene * DEG_get_evaluated_scene(const Depsgraph *graph)
bool DEG_id_type_updated(const Depsgraph *depsgraph, short id_type)
bool DEG_is_evaluated(const T *id)
eEvaluationMode DEG_get_mode(const Depsgraph *graph)
bool DEG_is_original_id(const ID *id)
ID * DEG_get_original_id(ID *id)
void DEG_iterator_objects_begin(BLI_Iterator *iter, DEGObjectIterData *data)
void DEG_iterator_objects_end(BLI_Iterator *iter)
void DEG_foreach_dependent_ID_component(const Depsgraph *depsgraph, const ID *id, eDepsObjectComponentType source_component_type, int flags, DEGForeachIDComponentCallback callback)
Depsgraph * DEG_get_depsgraph_by_id(const ID &id)
bool DEG_object_geometry_is_evaluated(const Object &object)
void DEG_iterator_ids_end(BLI_Iterator *iter)
ViewLayer * DEG_get_evaluated_view_layer(const Depsgraph *graph)
ViewLayer * DEG_get_input_view_layer(const Depsgraph *graph)
void DEG_foreach_dependent_ID(const Depsgraph *depsgraph, const ID *id, DEGForeachIDCallback callback)
Main * DEG_get_bmain(const Depsgraph *graph)
@ DEG_FOREACH_COMPONENT_IGNORE_TRANSFORM_SOLVERS
bool DEG_iterator_object_is_visible(eEvaluationMode eval_mode, const Object *ob)
void DEG_iterator_objects_next(BLI_Iterator *iter)
bool DEG_id_type_any_updated(const Depsgraph *depsgraph)
void DEG_iterator_ids_next(BLI_Iterator *iter)
T * DEG_get_original(T *id)
Scene * DEG_get_input_scene(const Depsgraph *graph)
T * DEG_get_evaluated(const Depsgraph *depsgraph, T *id)
bool DEG_id_type_any_exists(const Depsgraph *depsgraph, short id_type)
void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph, PointerRNA *ptr, PointerRNA *r_ptr_eval)
ID * DEG_get_evaluated_id(const Depsgraph *depsgraph, ID *id)
bool DEG_collection_geometry_is_evaluated(const Collection &collection)
blender::FunctionRef< void(ID *id)> DEGForeachIDCallback
void DEG_foreach_ancestor_ID(const Depsgraph *depsgraph, const ID *id, DEGForeachIDCallback callback)
void DEG_get_customdata_mask_for_object(const Depsgraph *graph, Object *object, CustomData_MeshMasks *r_mask)
@ DEG_ITER_OBJECT_FLAG_LINKED_DIRECTLY
@ DEG_ITER_OBJECT_FLAG_VISIBLE
@ DEG_ITER_OBJECT_FLAG_DUPLI
@ DEG_ITER_OBJECT_FLAG_LINKED_INDIRECTLY
@ DEG_ITER_OBJECT_FLAG_LINKED_VIA_SET
Object is a sort of wrapper for general info.
struct ObjectRuntimeHandle ObjectRuntimeHandle
BMesh const char void * data
BPy_StructRNA * depsgraph
void DEG_iterator_temp_object_free_properties(const DupliObject *dupli, Object *temp_object)
bool DEG_iterator_temp_object_from_dupli(const Object *dupli_parent, const DupliObject *dupli, eEvaluationMode eval_mode, bool do_matrix_setup, Object *r_temp_object, ObjectRuntimeHandle *r_temp_runtime)
int dupli_object_next_index
DEGObjectIterSettings * settings
eEvaluationMode eval_mode
void transfer_from(DEGObjectIterData &other)
DupliObject * dupli_object_next
DupliObject * dupli_object_current
blender::bke::ObjectRuntime temp_dupli_object_runtime
Object * object_orig_with_preview
blender::Set< const Object * > * included_objects
const ViewerPath * viewer_path