|
Blender V5.0
|
Go to the source code of this file.
Classes | |
| struct | DupliObject |
Typedefs | |
| using | DupliList = blender::VectorList<DupliObject> |
Functions | |
| void | object_duplilist (Depsgraph *depsgraph, Scene *sce, Object *ob, blender::Set< const Object * > *include_objects, DupliList &r_duplilist) |
| void | object_duplilist_preview (Depsgraph *depsgraph, Scene *scene, Object *ob, const ViewerPath *viewer_path, DupliList &r_duplilist) |
| blender::bke::Instances | object_duplilist_legacy_instances (Depsgraph &depsgraph, Scene &scene, Object &ob) |
| bool | BKE_object_dupli_find_rgba_attribute (const Object *ob, const DupliObject *dupli, const Object *dupli_parent, const char *name, float r_value[4]) |
| bool | BKE_view_layer_find_rgba_attribute (const Scene *scene, const ViewLayer *layer, const char *name, float r_value[4]) |
Variables | |
| constexpr int | MAX_DUPLI_RECUR = 8 |
| using DupliList = blender::VectorList<DupliObject> |
Definition at line 69 of file BKE_duplilist.hh.
| bool BKE_object_dupli_find_rgba_attribute | ( | const Object * | ob, |
| const DupliObject * | dupli, | ||
| const Object * | dupli_parent, | ||
| const char * | name, | ||
| float | r_value[4] ) |
Look up the RGBA value of a uniform shader attribute.
Definition at line 2075 of file object_dupli.cc.
References copy_v4_fl(), Object::data, find_geonode_attribute_rgba(), find_property_rgba(), Object::id, ParticleSettings::id, name, ParticleSystem::part, and DupliObject::particle_system.
Referenced by blender::draw::ObjectRef::find_rgba_attribute(), and lookup_instance_property().
| bool BKE_view_layer_find_rgba_attribute | ( | const Scene * | scene, |
| const ViewLayer * | layer, | ||
| const char * | name, | ||
| float | r_value[4] ) |
Look up the RGBA value of a view layer/scene/world shader attribute.
Definition at line 2116 of file object_dupli.cc.
References copy_v4_fl(), find_property_rgba(), Scene::id, World::id, name, RNA_pointer_create_discrete(), and Scene::world.
Referenced by LayerAttribute::sync().
| void object_duplilist | ( | Depsgraph * | depsgraph, |
| Scene * | sce, | ||
| Object * | ob, | ||
| blender::Set< const Object * > * | include_objects, | ||
| DupliList & | r_duplilist ) |
Fill a Vector of DupliObject.
Definition at line 1807 of file object_dupli.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), depsgraph, DupliContext::gen, init_context(), and DupliGenerator::make_duplis.
Referenced by BKE_object_minmax_dupli(), BKE_scene_base_iter_next(), blender::draw::foreach_obref_in_scene(), blender::ed::greasepencil::get_bake_targets(), blender::ed::transform::iter_snap_objects(), and blender::ed::object::make_object_duplilist_real().
| blender::bke::Instances object_duplilist_legacy_instances | ( | Depsgraph & | depsgraph, |
| Scene & | scene, | ||
| Object & | ob ) |
Get the legacy instances of this object. That includes instances coming from these sources:
This does not include collection instances which are not considered legacy and should be treated properly at a higher level.
Also see get_dupli_generator for the different existing dupli generators.
Definition at line 1876 of file object_dupli.cc.
References VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::bke::Instances::add_new_reference(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::Instances::attributes_for_write(), BLI_assert, depsgraph, blender::bke::SpanAttributeWriter< T >::finish(), DupliContext::gen, gen_dupli_geometry_set, gen_dupli_particles, i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of(), init_context(), blender::bke::Instance, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), DupliGenerator::make_duplis, DupliObject::mat, DupliObject::ob, DupliObject::persistent_id, blender::bke::Instances::reference_handles_for_write(), blender::bke::Instances::resize(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::bke::SpanAttributeWriter< T >::span, and blender::bke::Instances::transforms_for_write().
Referenced by BPy_GeometrySet_static_from_evaluated_object().
| void object_duplilist_preview | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| const ViewerPath * | viewer_path, | ||
| DupliList & | r_duplilist ) |
Fill a Vector of DupliObject for the preview geometry referenced by the ViewerPath.
Definition at line 1831 of file object_dupli.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), DEG_get_original(), depsgraph, eModifierType_Nodes, blender::nodes::geo_eval_log::GeoNodesLog::find_viewer_node_log_for_path(), init_context(), LISTBASE_FOREACH, make_duplis_geometry_set_impl(), Object::modifiers, OB_CURVES, DupliContext::preview_base_geometry, NodesModifierData::runtime, and Object::type.
|
constexpr |
Definition at line 28 of file BKE_duplilist.hh.
Referenced by BKE_ptcache_bake(), BKE_ptcache_id_find(), copy_dupli_context(), blender::ed::object::dupliobject_cmp(), blender::ed::object::dupliobject_hash(), blender::ed::object::dupliobject_instancer_cmp(), blender::ed::object::dupliobject_instancer_hash(), make_dupli(), blender::ed::object::make_object_duplilist_real(), make_recursive_duplis(), blender::draw::ObjectKey::ObjectKey(), blender::draw::ObjectKey::operator==(), ptcache_free_bake_all_exec(), rna_def_depsgraph_instance(), and blender::ed::transform::special_aftertrans_update__object().