Blender
V3.3
|
General operations for point clouds. More...
Go to the source code of this file.
Enumerations | |
enum | { BKE_POINTCLOUD_BATCH_DIRTY_ALL = 0 } |
Functions | |
void * | BKE_pointcloud_add (struct Main *bmain, const char *name) |
void * | BKE_pointcloud_add_default (struct Main *bmain, const char *name) |
struct PointCloud * | BKE_pointcloud_new_nomain (int totpoint) |
struct BoundBox * | BKE_pointcloud_boundbox_get (struct Object *ob) |
bool | BKE_pointcloud_minmax (const struct PointCloud *pointcloud, float r_min[3], float r_max[3]) |
bool | BKE_pointcloud_customdata_required (const struct PointCloud *pointcloud, const char *name) |
struct PointCloud * | BKE_pointcloud_new_for_eval (const struct PointCloud *pointcloud_src, int totpoint) |
struct PointCloud * | BKE_pointcloud_copy_for_eval (struct PointCloud *pointcloud_src, bool reference) |
void | BKE_pointcloud_data_update (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object) |
void | BKE_pointcloud_batch_cache_dirty_tag (struct PointCloud *pointcloud, int mode) |
void | BKE_pointcloud_batch_cache_free (struct PointCloud *pointcloud) |
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 46 of file BKE_pointcloud.h.
Definition at line 219 of file pointcloud.cc.
References BKE_id_new(), and ID_PT.
Referenced by BKE_mesh_to_pointcloud().
Definition at line 226 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 436 of file pointcloud.cc.
References PointCloud::batch_cache, and BKE_pointcloud_batch_cache_dirty_tag_cb.
Referenced by BKE_object_data_batch_cache_dirty_tag().
void BKE_pointcloud_batch_cache_free | ( | struct PointCloud * | pointcloud | ) |
Definition at line 443 of file pointcloud.cc.
References PointCloud::batch_cache, and BKE_pointcloud_batch_cache_free_cb.
Referenced by pointcloud_free_data().
Definition at line 295 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 344 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 | ( | const struct PointCloud * | pointcloud, |
const char * | name | ||
) |
Referenced by BKE_id_attribute_required().
void BKE_pointcloud_data_update | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | object | ||
) |
Definition at line 407 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().
bool BKE_pointcloud_minmax | ( | const struct PointCloud * | pointcloud, |
float | r_min[3], | ||
float | r_max[3] | ||
) |
Referenced by 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 | ( | int | totpoint | ) |
Definition at line 243 of file pointcloud.cc.
References BKE_idtype_idcode_to_name(), BKE_libblock_alloc(), 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::node_geo_instances_to_points_cc::convert_instances_to_points(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud(), blender::geometry::execute_realize_pointcloud_tasks(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::nodes::node_geo_curve_to_points_cc::node_geo_exec(), blender::nodes::node_geo_points_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_on_faces_cc::point_distribution_calculate(), blender::geometry::point_merge_by_distance(), and blender::nodes::node_geo_delete_geometry_cc::separate_point_cloud_selection().
|
extern |
Definition at line 433 of file pointcloud.cc.
Referenced by BKE_pointcloud_batch_cache_dirty_tag(), and DRW_engines_register().
|
extern |
Definition at line 434 of file pointcloud.cc.
Referenced by BKE_pointcloud_batch_cache_free(), and DRW_engines_register().
|
extern |
Definition at line 54 of file pointcloud.cc.
Referenced by BKE_mesh_from_pointcloud(), BKE_pointcloud_customdata_required(), point_cloud_bounds(), pointcloud_init_data(), and pointcloud_random().
|
extern |
Definition at line 55 of file pointcloud.cc.
Referenced by BKE_pointcloud_add_default(), BKE_pointcloud_new_nomain(), point_cloud_bounds(), and pointcloud_random().