|
Blender V4.3
|
#include <optional>#include "MEM_guardedalloc.h"#include "DNA_defaults.h"#include "DNA_material_types.h"#include "DNA_object_types.h"#include "DNA_pointcloud_types.h"#include "BLI_bounds.hh"#include "BLI_index_range.hh"#include "BLI_math_vector.hh"#include "BLI_rand.h"#include "BLI_span.hh"#include "BLI_task.hh"#include "BLI_utildefines.h"#include "BLI_vector.hh"#include "BKE_anim_data.hh"#include "BKE_bake_data_block_id.hh"#include "BKE_customdata.hh"#include "BKE_geometry_set.hh"#include "BKE_idtype.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_modifier.hh"#include "BKE_object.hh"#include "BKE_object_types.hh"#include "BKE_pointcloud.hh"#include "BLT_translation.hh"#include "DEG_depsgraph_query.hh"#include "BLO_read_write.hh"Go to the source code of this file.
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
Variables | |
| const char * | POINTCLOUD_ATTR_POSITION = "position" |
| const char * | POINTCLOUD_ATTR_RADIUS = "radius" |
| IDTypeInfo | IDType_ID_PT |
| void(* | BKE_pointcloud_batch_cache_dirty_tag_cb )(PointCloud *pointcloud, int mode) = nullptr |
| void(* | BKE_pointcloud_batch_cache_free_cb )(PointCloud *pointcloud) = nullptr |
| void * BKE_pointcloud_add | ( | Main * | bmain, |
| const char * | name ) |
Definition at line 219 of file pointcloud.cc.
References BKE_id_new(), and ID_PT.
Referenced by BKE_mesh_to_pointcloud(), blender::io::usd::USDPointInstancerReader::create_object(), and blender::io::usd::USDPointsReader::create_object().
| void * BKE_pointcloud_add_default | ( | Main * | bmain, |
| const char * | name ) |
Definition at line 226 of file pointcloud.cc.
References BKE_libblock_alloc(), PointCloud::id, ID_PT, pointcloud_init_data(), and pointcloud_random().
Referenced by BKE_object_obdata_add_from_type(), and blender::io::alembic::AbcPointsReader::readObjectData().
| bool BKE_pointcloud_attribute_required | ( | const PointCloud * | pointcloud, |
| const char * | name ) |
Definition at line 287 of file pointcloud.cc.
References POINTCLOUD_ATTR_POSITION, and STREQ.
Referenced by BKE_attribute_required().
| void BKE_pointcloud_batch_cache_dirty_tag | ( | PointCloud * | pointcloud, |
| int | mode ) |
Definition at line 393 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 | ( | PointCloud * | pointcloud | ) |
Definition at line 400 of file pointcloud.cc.
References PointCloud::batch_cache, and BKE_pointcloud_batch_cache_free_cb.
Referenced by pointcloud_free_data().
| PointCloud * BKE_pointcloud_copy_for_eval | ( | const PointCloud * | pointcloud_src | ) |
Definition at line 294 of file pointcloud.cc.
References BKE_id_copy_ex(), PointCloud::id, and LIB_ID_COPY_LOCALIZE.
Referenced by blender::bke::PointCloudComponent::copy(), blender::bke::PointCloudComponent::ensure_owns_direct_data(), blender::geometry::execute_realize_pointcloud_tasks(), blender::bke::PointCloudComponent::get_for_write(), blender::ed::geometry::get_original_geometry_eval_copy(), and blender::geometry::reorder_points().
Definition at line 354 of file pointcloud.cc.
References BKE_object_eval_assign_data(), BKE_object_free_derived_caches(), BKE_pointcloud_new_nomain(), depsgraph, blender::bke::GeometrySet::from_pointcloud(), PointCloud::id, pointcloud_evaluate_modifiers(), blender::bke::ReadOnly, and take_pointcloud_ownership_from_geometry_set().
Referenced by BKE_object_handle_data_update(), and blender::ed::object::object_force_modifier_update_for_bind().
| PointCloud * BKE_pointcloud_new_nomain | ( | const int | totpoint | ) |
Definition at line 236 of file pointcloud.cc.
References BKE_idtype_idcode_to_name(), BKE_libblock_alloc(), CustomData_realloc(), PointCloud::id, ID_PT, LIB_ID_CREATE_LOCALIZE, PointCloud::pdata, 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::geometry::extract_pointcloud_points(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_in_volume_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(), blender::nodes::node_geo_curve_to_points_cc::pointcloud_from_curves(), blender::bke::pointcloud_new_no_attributes(), blender::io::alembic::AbcPointsReader::read_geometry(), blender::io::usd::USDPointsReader::read_geometry(), blender::io::usd::USDPointInstancerReader::read_object_data(), blender::geometry::separate_point_cloud_selection(), and blender::bke::bake::try_load_pointcloud().
| void BKE_pointcloud_nomain_to_pointcloud | ( | PointCloud * | pointcloud_src, |
| PointCloud * | pointcloud_dst ) |
Definition at line 249 of file pointcloud.cc.
References BKE_id_free(), BLI_assert, CD_MASK_ALL, CustomData_free(), CustomData_init_from(), PointCloud::id, ID_TAG_NO_MAIN, PointCloud::pdata, ID::tag, and PointCloud::totpoint.
Referenced by blender::ed::object::modifier_apply_obdata(), blender::io::usd::USDPointInstancerReader::read_object_data(), blender::io::usd::USDPointsReader::read_object_data(), blender::io::alembic::AbcPointsReader::readObjectData(), and blender::ed::geometry::store_result_geometry().
|
static |
Definition at line 136 of file pointcloud.cc.
References BLO_read_pointer_array(), CustomData_blend_read(), PointCloud::mat, PointCloud::pdata, PointCloud::runtime, PointCloud::totcol, and PointCloud::totpoint.
|
static |
Definition at line 114 of file pointcloud.cc.
References BKE_id_blend_write(), BLO_write_id_struct, BLO_write_pointer_array(), CD_MASK_ALL, CustomData_blend_write(), CustomData_blend_write_prepare(), PointCloud::id, PointCloud::mat, PointCloud::pdata, PointCloud::totcol, and PointCloud::totpoint.
|
static |
Definition at line 72 of file pointcloud.cc.
References PointCloud::batch_cache, CD_MASK_ALL, CustomData_init_from(), PointCloud::mat, MEM_dupallocN, PointCloud::pdata, PointCloud::runtime, and PointCloud::totpoint.
|
static |
Definition at line 300 of file pointcloud.cc.
References BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_clear_errors(), BKE_modifiers_get_virtual_modifierlist(), DAG_EVAL_RENDER, DEG_get_mode(), depsgraph, eModifierMode_Realtime, eModifierMode_Render, MOD_APPLY_RENDER, MOD_APPLY_USECACHE, ModifierTypeInfo::modify_geometry_set, ModifierData::next, and ModifierData::type.
Referenced by BKE_pointcloud_data_update().
|
static |
Definition at line 106 of file pointcloud.cc.
References BKE_LIB_FOREACHID_PROCESS_IDSUPER, IDWALK_CB_USER, PointCloud::mat, and PointCloud::totcol.
|
static |
Definition at line 96 of file pointcloud.cc.
References BKE_animdata_free(), BKE_pointcloud_batch_cache_free(), CustomData_free(), PointCloud::id, PointCloud::mat, MEM_SAFE_FREE, PointCloud::pdata, PointCloud::runtime, and PointCloud::totpoint.
|
static |
Definition at line 58 of file pointcloud.cc.
References BLI_assert, CustomData_reset(), DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, PointCloud::pdata, blender::bke::Point, and PointCloud::runtime.
Referenced by BKE_pointcloud_add_default(), and BKE_pointcloud_new_nomain().
|
static |
Definition at line 179 of file pointcloud.cc.
References BLI_assert, BLI_rng_free(), BLI_rng_get_float(), BLI_rng_new(), CustomData_realloc(), PointCloud::pdata, blender::bke::Point, POINTCLOUD_ATTR_RADIUS, and PointCloud::totpoint.
Referenced by BKE_pointcloud_add_default().
|
static |
Definition at line 334 of file pointcloud.cc.
References blender::bke::GeometrySet::get_component_for_write(), blender::bke::GeometrySet::has(), blender::bke::ReadOnly, blender::bke::PointCloudComponent::release(), blender::bke::GeometrySet::remove(), and blender::bke::PointCloudComponent::replace().
Referenced by BKE_pointcloud_data_update().
| void(* BKE_pointcloud_batch_cache_dirty_tag_cb) (PointCloud *pointcloud, int mode) | ( | PointCloud * | pointcloud, |
| int | mode ) = nullptr |
Definition at line 390 of file pointcloud.cc.
Referenced by BKE_pointcloud_batch_cache_dirty_tag(), and DRW_engines_register().
| void(* BKE_pointcloud_batch_cache_free_cb) (PointCloud *pointcloud) | ( | PointCloud * | pointcloud | ) | = nullptr |
Definition at line 391 of file pointcloud.cc.
Referenced by BKE_pointcloud_batch_cache_free(), and DRW_engines_register().
| IDTypeInfo IDType_ID_PT |
Definition at line 149 of file pointcloud.cc.
| const char* POINTCLOUD_ATTR_POSITION = "position" |
Definition at line 55 of file pointcloud.cc.
Referenced by BKE_pointcloud_attribute_required().
| const char* POINTCLOUD_ATTR_RADIUS = "radius" |
Definition at line 56 of file pointcloud.cc.
Referenced by pointcloud_random().