|
Blender
V2.93
|
General operations for point-clouds. More...
Go to the source code of this file.
Enumerations | |
| enum | { BKE_POINTCLOUD_BATCH_DIRTY_ALL = 0 } |
Variables | |
| const char * | POINTCLOUD_ATTR_POSITION |
| const char * | POINTCLOUD_ATTR_RADIUS |
| void(* | BKE_pointcloud_batch_cache_dirty_tag_cb )(struct PointCloud *pointcloud, int mode) |
| void(* | BKE_pointcloud_batch_cache_free_cb )(struct PointCloud *pointcloud) |
General operations for point-clouds.
Definition in file BKE_pointcloud.h.
| anonymous enum |
| Enumerator | |
|---|---|
| BKE_POINTCLOUD_BATCH_DIRTY_ALL | |
Definition at line 62 of file BKE_pointcloud.h.
| void* BKE_pointcloud_add | ( | struct Main * | bmain, |
| const char * | name | ||
| ) |
Definition at line 216 of file pointcloud.cc.
References BKE_id_new(), and ID_PT.
Referenced by BKE_mesh_to_pointcloud().
| void* BKE_pointcloud_add_default | ( | struct Main * | bmain, |
| const char * | name | ||
| ) |
Definition at line 223 of file pointcloud.cc.
References BKE_libblock_alloc(), CD_CALLOC, CD_PROP_FLOAT, CustomData_add_layer_named(), PointCloud::id, ID_PT, PointCloud::pdata, POINTCLOUD_ATTR_RADIUS, pointcloud_init_data(), pointcloud_random(), and PointCloud::totpoint.
Referenced by BKE_object_obdata_add_from_type().
| void BKE_pointcloud_batch_cache_dirty_tag | ( | struct PointCloud * | pointcloud, |
| int | mode | ||
| ) |
Definition at line 424 of file pointcloud.cc.
References PointCloud::batch_cache, and BKE_pointcloud_batch_cache_dirty_tag_cb.
Referenced by BKE_object_batch_cache_dirty_tag().
| void BKE_pointcloud_batch_cache_free | ( | struct PointCloud * | pointcloud | ) |
Definition at line 431 of file pointcloud.cc.
References PointCloud::batch_cache, and BKE_pointcloud_batch_cache_free_cb.
Referenced by pointcloud_free_data().
Definition at line 277 of file pointcloud.cc.
References Object_Runtime::bb, BKE_boundbox_init_from_minmax(), BKE_pointcloud_minmax(), BLI_assert, BOUNDBOX_DIRTY, GeometrySet::compute_boundbox_without_instances(), Object::data, BoundBox::flag, Object_Runtime::geometry_set_eval, INIT_MINMAX, max, MEM_callocN, min, OB_POINTCLOUD, Object::runtime, and Object::type.
Referenced by BKE_object_boundbox_get(), and BKE_object_minmax().
| struct PointCloud* BKE_pointcloud_copy_for_eval | ( | struct PointCloud * | pointcloud_src, |
| bool | reference | ||
| ) |
Definition at line 335 of file pointcloud.cc.
References BKE_id_copy_ex(), PointCloud::id, LIB_ID_COPY_CD_REFERENCE, LIB_ID_COPY_LOCALIZE, and result.
Referenced by PointCloudComponent::copy(), PointCloudComponent::ensure_owns_direct_data(), and PointCloudComponent::get_for_write().
| bool BKE_pointcloud_customdata_required | ( | struct PointCloud * | pointcloud, |
| struct CustomDataLayer * | layer | ||
| ) |
Referenced by BKE_id_attribute_required().
| void BKE_pointcloud_data_update | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | object | ||
| ) |
Definition at line 396 of file pointcloud.cc.
References BKE_object_eval_assign_data(), BKE_object_free_derived_caches(), BKE_pointcloud_new_nomain(), GeometrySet::create_with_pointcloud(), depsgraph, PointCloud::id, pointcloud_evaluate_modifiers(), ReadOnly, scene, and take_pointcloud_ownership_from_geometry_set().
Referenced by BKE_object_handle_data_update(), and object_force_modifier_update_for_bind().
| void BKE_pointcloud_minmax | ( | const struct PointCloud * | pointcloud, |
| float | r_min[3], | ||
| float | r_max[3] | ||
| ) |
Definition at line 263 of file pointcloud.cc.
References Freestyle::a, PointCloud::co, DO_MAX, DO_MIN, float(), PointCloud::radius, and PointCloud::totpoint.
Referenced by BKE_pointcloud_boundbox_get(), and GeometrySet::compute_boundbox_without_instances().
| struct PointCloud* BKE_pointcloud_new_for_eval | ( | const struct PointCloud * | pointcloud_src, |
| int | totpoint | ||
| ) |
| struct PointCloud* BKE_pointcloud_new_nomain | ( | const int | totpoint | ) |
Definition at line 240 of file pointcloud.cc.
References BKE_idtype_idcode_to_name(), BKE_libblock_alloc(), BKE_pointcloud_update_customdata_pointers(), CD_CALLOC, CD_PROP_FLOAT, CustomData_add_layer_named(), CustomData_realloc(), PointCloud::id, ID_PT, LIB_ID_CREATE_LOCALIZE, PointCloud::pdata, POINTCLOUD_ATTR_RADIUS, pointcloud_init_data(), and PointCloud::totpoint.
Referenced by BKE_pointcloud_data_update(), blender::nodes::create_component_points(), blender::nodes::geo_node_point_distribute_exec(), blender::nodes::join_components(), and blender::bke::join_instance_groups_pointcloud().
| void BKE_pointcloud_update_customdata_pointers | ( | struct PointCloud * | pointcloud | ) |
Definition at line 303 of file pointcloud.cc.
References CD_PROP_FLOAT, CD_PROP_FLOAT3, PointCloud::co, CustomData_get_layer_named(), PointCloud::pdata, POINTCLOUD_ATTR_POSITION, POINTCLOUD_ATTR_RADIUS, and PointCloud::radius.
Referenced by BKE_pointcloud_from_mesh(), BKE_pointcloud_new_for_eval(), BKE_pointcloud_new_nomain(), blender::bke::create_attribute_providers_for_point_cloud(), pointcloud_blend_read_data(), pointcloud_copy_data(), pointcloud_init_data(), and pointcloud_random().
|
extern |
Definition at line 421 of file pointcloud.cc.
Referenced by BKE_pointcloud_batch_cache_dirty_tag(), and DRW_engines_register().
|
extern |
Definition at line 422 of file pointcloud.cc.
Referenced by BKE_pointcloud_batch_cache_free(), and DRW_engines_register().
|
extern |
Definition at line 58 of file pointcloud.cc.
Referenced by BKE_mesh_from_pointcloud(), BKE_pointcloud_customdata_required(), BKE_pointcloud_update_customdata_pointers(), and pointcloud_init_data().
|
extern |
Definition at line 59 of file pointcloud.cc.
Referenced by BKE_pointcloud_add_default(), BKE_pointcloud_new_nomain(), and BKE_pointcloud_update_customdata_pointers().