Blender V5.0
pointcloud.cc File Reference
#include <optional>
#include "BLI_function_ref.hh"
#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_resource_scope.hh"
#include "BLI_span.hh"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#include "BKE_anim_data.hh"
#include "BKE_attribute_legacy_convert.hh"
#include "BKE_attribute_storage.hh"
#include "BKE_attribute_storage_blend_write.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"
#include "attribute_storage_access.hh"

Go to the source code of this file.

Classes

class  CPPType

Namespaces

namespace  blender
namespace  blender::bke

Typedefs

using float3

Functions

static void pointcloud_init_data (ID *id)
static void pointcloud_copy_data (Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int)
static void pointcloud_free_data (ID *id)
static void pointcloud_foreach_id (ID *id, LibraryForeachIDData *data)
static void pointcloud_foreach_working_space_color (ID *id, const IDTypeForeachColorFunctionCallback &fn)
static void pointcloud_blend_write (BlendWriter *writer, ID *id, const void *id_address)
static void pointcloud_blend_read_data (BlendDataReader *reader, ID *id)
PointCloudBKE_pointcloud_add (Main *bmain, const char *name)
PointCloudBKE_pointcloud_new_nomain (const int totpoint)
void BKE_pointcloud_nomain_to_pointcloud (PointCloud *pointcloud_src, PointCloud *pointcloud_dst)
bool BKE_pointcloud_attribute_required (const PointCloud *, const blender::StringRef name)
void pointcloud_copy_parameters (const PointCloud &src, PointCloud &dst)
PointCloudBKE_pointcloud_copy_for_eval (const PointCloud *pointcloud_src)
static void pointcloud_evaluate_modifiers (Depsgraph *depsgraph, Scene *scene, Object *object, blender::bke::GeometrySet &geometry_set)
static PointCloudtake_pointcloud_ownership_from_geometry_set (blender::bke::GeometrySet &geometry_set)
void BKE_pointcloud_data_update (Depsgraph *depsgraph, Scene *scene, Object *object)
void BKE_pointcloud_batch_cache_dirty_tag (PointCloud *pointcloud, int mode)
void BKE_pointcloud_batch_cache_free (PointCloud *pointcloud)
PointCloudblender::bke::pointcloud_new_no_attributes (int totpoint)

Variables

constexpr StringRef ATTR_POSITION = "position"
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

Typedef Documentation

◆ float3

Definition at line 619 of file BLI_math_vector_types.hh.

Function Documentation

◆ BKE_pointcloud_add()

◆ BKE_pointcloud_attribute_required()

bool BKE_pointcloud_attribute_required ( const PointCloud * pointcloud,
const blender::StringRef name )

Definition at line 321 of file pointcloud.cc.

References ATTR_POSITION, and name.

Referenced by BKE_attribute_required().

◆ BKE_pointcloud_batch_cache_dirty_tag()

void BKE_pointcloud_batch_cache_dirty_tag ( PointCloud * pointcloud,
int mode )

◆ BKE_pointcloud_batch_cache_free()

void BKE_pointcloud_batch_cache_free ( PointCloud * pointcloud)

Definition at line 446 of file pointcloud.cc.

References PointCloud::batch_cache, and BKE_pointcloud_batch_cache_free_cb.

Referenced by pointcloud_free_data().

◆ BKE_pointcloud_copy_for_eval()

◆ BKE_pointcloud_data_update()

◆ BKE_pointcloud_new_nomain()

◆ BKE_pointcloud_nomain_to_pointcloud()

◆ pointcloud_blend_read_data()

◆ pointcloud_blend_write()

◆ pointcloud_copy_data()

void pointcloud_copy_data ( Main * ,
std::optional< Library * > ,
ID * id_dst,
const ID * id_src,
const int  )
static

◆ pointcloud_copy_parameters()

void pointcloud_copy_parameters ( const PointCloud & src,
PointCloud & dst )

Copy data from #src to #dst, except the geometry and attributes. Typically used to copy high-level parameters when a geometry-altering operation creates a new point cloud data-block.

Definition at line 327 of file pointcloud.cc.

References blender::MutableSpan< T >::copy_from(), PointCloud::flag, PointCloud::mat, MEM_malloc_arrayN(), MEM_SAFE_FREE, and PointCloud::totcol.

Referenced by blender::ed::pointcloud::copy_selection().

◆ pointcloud_evaluate_modifiers()

◆ pointcloud_foreach_id()

void pointcloud_foreach_id ( ID * id,
LibraryForeachIDData * data )
static

◆ pointcloud_foreach_working_space_color()

void pointcloud_foreach_working_space_color ( ID * id,
const IDTypeForeachColorFunctionCallback & fn )
static

Definition at line 116 of file pointcloud.cc.

References PointCloud::attribute_storage.

◆ pointcloud_free_data()

◆ pointcloud_init_data()

void pointcloud_init_data ( ID * id)
static

◆ take_pointcloud_ownership_from_geometry_set()

Variable Documentation

◆ ATTR_POSITION

StringRef ATTR_POSITION = "position"
constexpr

Definition at line 58 of file pointcloud.cc.

◆ BKE_pointcloud_batch_cache_dirty_tag_cb

void(* BKE_pointcloud_batch_cache_dirty_tag_cb) (PointCloud *pointcloud, int mode) ( PointCloud * pointcloud,
int mode ) = nullptr

Definition at line 436 of file pointcloud.cc.

Referenced by BKE_pointcloud_batch_cache_dirty_tag(), and DRW_module_init().

◆ BKE_pointcloud_batch_cache_free_cb

void(* BKE_pointcloud_batch_cache_free_cb) (PointCloud *pointcloud) ( PointCloud * pointcloud) = nullptr

Definition at line 437 of file pointcloud.cc.

Referenced by BKE_pointcloud_batch_cache_free(), and DRW_module_init().

◆ IDType_ID_PT

IDTypeInfo IDType_ID_PT
Initial value:
= {
PointCloud::id_type,
sizeof(PointCloud),
"PointCloud",
N_("pointclouds"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
Definition BKE_idtype.hh:47
#define BLT_I18NCONTEXT_ID_POINTCLOUD
#define FILTER_ID_MA
Definition DNA_ID.h:1208
#define FILTER_ID_PT
Definition DNA_ID.h:1229
@ INDEX_ID_PT
Definition DNA_ID.h:1329
static void pointcloud_init_data(ID *id)
Definition pointcloud.cc:60
static void pointcloud_free_data(ID *id)
Definition pointcloud.cc:98
static void pointcloud_foreach_id(ID *id, LibraryForeachIDData *data)
static void pointcloud_foreach_working_space_color(ID *id, const IDTypeForeachColorFunctionCallback &fn)
static void pointcloud_blend_write(BlendWriter *writer, ID *id, const void *id_address)
static void pointcloud_blend_read_data(BlendDataReader *reader, ID *id)
static void pointcloud_copy_data(Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int)
Definition pointcloud.cc:71
#define N_(msgid)

Definition at line 168 of file pointcloud.cc.