Blender  V3.3
BKE_pointcloud.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #pragma once
4 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 struct BoundBox;
14 struct CustomDataLayer;
15 struct Depsgraph;
16 struct Main;
17 struct Object;
18 struct PointCloud;
19 struct Scene;
20 
21 /* PointCloud datablock */
22 extern const char *POINTCLOUD_ATTR_POSITION;
23 extern const char *POINTCLOUD_ATTR_RADIUS;
24 
25 void *BKE_pointcloud_add(struct Main *bmain, const char *name);
26 void *BKE_pointcloud_add_default(struct Main *bmain, const char *name);
28 
29 struct BoundBox *BKE_pointcloud_boundbox_get(struct Object *ob);
30 bool BKE_pointcloud_minmax(const struct PointCloud *pointcloud, float r_min[3], float r_max[3]);
31 
32 bool BKE_pointcloud_customdata_required(const struct PointCloud *pointcloud, const char *name);
33 
34 /* Dependency Graph */
35 
36 struct PointCloud *BKE_pointcloud_new_for_eval(const struct PointCloud *pointcloud_src,
37  int totpoint);
38 struct PointCloud *BKE_pointcloud_copy_for_eval(struct PointCloud *pointcloud_src, bool reference);
39 
41  struct Scene *scene,
42  struct Object *object);
43 
44 /* Draw Cache */
45 
46 enum {
48 };
49 
50 void BKE_pointcloud_batch_cache_dirty_tag(struct PointCloud *pointcloud, int mode);
51 void BKE_pointcloud_batch_cache_free(struct PointCloud *pointcloud);
52 
53 extern void (*BKE_pointcloud_batch_cache_dirty_tag_cb)(struct PointCloud *pointcloud, int mode);
54 extern void (*BKE_pointcloud_batch_cache_free_cb)(struct PointCloud *pointcloud);
55 
56 #ifdef __cplusplus
57 }
58 #endif
struct PointCloud * BKE_pointcloud_copy_for_eval(struct PointCloud *pointcloud_src, bool reference)
Definition: pointcloud.cc:344
void(* BKE_pointcloud_batch_cache_free_cb)(struct PointCloud *pointcloud)
Definition: pointcloud.cc:434
bool BKE_pointcloud_customdata_required(const struct PointCloud *pointcloud, const char *name)
const char * POINTCLOUD_ATTR_RADIUS
Definition: pointcloud.cc:55
void * BKE_pointcloud_add(struct Main *bmain, const char *name)
Definition: pointcloud.cc:219
void BKE_pointcloud_data_update(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object)
Definition: pointcloud.cc:407
void(* BKE_pointcloud_batch_cache_dirty_tag_cb)(struct PointCloud *pointcloud, int mode)
Definition: pointcloud.cc:433
struct BoundBox * BKE_pointcloud_boundbox_get(struct Object *ob)
Definition: pointcloud.cc:295
struct PointCloud * BKE_pointcloud_new_for_eval(const struct PointCloud *pointcloud_src, int totpoint)
void BKE_pointcloud_batch_cache_dirty_tag(struct PointCloud *pointcloud, int mode)
Definition: pointcloud.cc:436
struct PointCloud * BKE_pointcloud_new_nomain(int totpoint)
Definition: pointcloud.cc:243
bool BKE_pointcloud_minmax(const struct PointCloud *pointcloud, float r_min[3], float r_max[3])
void BKE_pointcloud_batch_cache_free(struct PointCloud *pointcloud)
Definition: pointcloud.cc:443
void * BKE_pointcloud_add_default(struct Main *bmain, const char *name)
Definition: pointcloud.cc:226
const char * POINTCLOUD_ATTR_POSITION
Definition: pointcloud.cc:54
@ BKE_POINTCLOUD_BATCH_DIRTY_ALL
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
Scene scene
const Depsgraph * depsgraph
SyclQueue void void size_t num_bytes void
Definition: BKE_main.h:121
void reference()
Definition: graph/node.h:185
string name
Definition: scene.h:198