Blender V5.0
evil Namespace Reference

Functions

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)
void DEG_iterator_temp_object_free_properties (const DupliObject *dupli, Object *temp_object)

Function Documentation

◆ DEG_iterator_temp_object_free_properties()

void evil::DEG_iterator_temp_object_free_properties ( const DupliObject * dupli,
Object * temp_object )

WARNING: DON'T USE!!! Frees any property allocated when calling DEG_iterator_temp_object_from_dupli.

Definition at line 556 of file depsgraph_query_iter.cc.

References ensure_id_properties_freed(), Object::id, DupliObject::ob, ID::properties, and ID::system_properties.

Referenced by blender::draw::foreach_obref_in_scene().

◆ DEG_iterator_temp_object_from_dupli()

bool evil::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 )
nodiscard

WARNING: DON'T USE!!!

These functions are exposed publicly as a temporary measure while we figure out how to fully get rid of temporary objects in the Draw module (See #144811).

DON'T ADD NEW USE CASES FOR THESE FUNCTIONS. WARNING: DON'T USE!!! Generates a temporary object for a given dupli instance.

Returns true if the resulting object should be visible, otherwise the temp object should be considered invalid. NOTE: DEG_iterator_temp_object_free_properties should be called regardless.

Parameters
do_matrix_setupIf false, the temp_object won't have valid object_to_world/world_to_object matrices, and the OB_NEG_SCALE flag will never be set.

Definition at line 493 of file depsgraph_query_iter.cc.

References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, Object::base_flag, BASE_FROM_DUPLI, Object::base_local_view_bits, BKE_object_replace_data_on_shallow_copy(), BKE_object_visibility(), BLI_assert, Object::color, copy_m4_m4(), copy_v4_v4(), Object::data, blender::deg::deg_validate_eval_copy_datablock(), Object::dt, Object::id, invert_m4_m4(), is_negative_m4(), DupliObject::mat, DupliObject::ob, DupliObject::ob_data, OB_NEG_SCALE, OB_VISIBLE_PARTICLES, OB_VISIBLE_SELF, Object::runtime, SET_FLAG_FROM_TEST, and Object::transflag.

Referenced by blender::draw::foreach_obref_in_scene().