Blender
V4.3
source
blender
makesdna
DNA_pointcloud_types.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include "
DNA_ID.h
"
12
#include "
DNA_customdata_types.h
"
13
14
#ifdef __cplusplus
15
# include <optional>
16
17
# include "
BLI_bounds_types.hh
"
18
# include "
BLI_math_vector_types.hh
"
19
# include "
BLI_memory_counter_fwd.hh
"
20
# include "
BLI_span.hh
"
21
#endif
22
23
#ifdef __cplusplus
24
namespace
blender
{
25
template
<
typename
T>
class
Span
;
26
namespace
bke {
27
class
AttributeAccessor;
28
class
MutableAttributeAccessor;
29
struct
PointCloudRuntime;
30
}
// namespace bke
31
}
// namespace blender
32
using
PointCloudRuntimeHandle
=
blender::bke::PointCloudRuntime
;
33
#else
34
typedef
struct
PointCloudRuntimeHandle
PointCloudRuntimeHandle
;
35
#endif
36
37
typedef
struct
PointCloud
{
38
ID
id
;
39
struct
AnimData
*
adt
;
/* animation data (must be immediately after id) */
40
41
int
flag
;
42
43
/* Geometry */
44
int
totpoint
;
45
46
/* Custom Data */
47
struct
CustomData
pdata
;
49
int
attributes_active_index
;
50
int
_pad4
;
51
52
/* Material */
53
struct
Material
**
mat
;
54
short
totcol
;
55
short
_pad3
[3];
56
57
#ifdef __cplusplus
58
blender::Span<blender::float3>
positions()
const
;
59
blender::MutableSpan<blender::float3>
positions_for_write();
60
61
blender::bke::AttributeAccessor
attributes
()
const
;
62
blender::bke::MutableAttributeAccessor
attributes_for_write();
63
64
void
tag_positions_changed();
65
void
tag_radii_changed();
66
67
std::optional<blender::Bounds<blender::float3>> bounds_min_max()
const
;
68
69
void
count_memory(
blender::MemoryCounter
&memory)
const
;
70
#endif
71
72
PointCloudRuntimeHandle
*
runtime
;
73
74
/* Draw Cache */
75
void
*
batch_cache
;
76
}
PointCloud
;
77
79
enum
{
80
PT_DS_EXPAND
= (1 << 0),
81
};
82
83
/* Only one material supported currently. */
84
#define POINTCLOUD_MATERIAL_NR 1
BLI_bounds_types.hh
BLI_math_vector_types.hh
BLI_memory_counter_fwd.hh
BLI_span.hh
DNA_ID.h
ID and Library types, which are fundamental for SDNA.
DNA_customdata_types.h
PointCloud
struct PointCloud PointCloud
PointCloudRuntimeHandle
struct PointCloudRuntimeHandle PointCloudRuntimeHandle
Definition
DNA_pointcloud_types.h:34
PT_DS_EXPAND
@ PT_DS_EXPAND
Definition
DNA_pointcloud_types.h:80
Geometry::attributes
AttributeSet attributes
Definition
scene/geometry.h:84
blender::MutableSpan
Definition
BLI_span.hh:444
blender::Span
Definition
BLI_span.hh:75
blender::bke::AttributeAccessor
Definition
BKE_attribute.hh:491
blender::bke::MutableAttributeAccessor
Definition
BKE_attribute.hh:678
blender::memory_counter::MemoryCounter
Definition
BLI_memory_counter.hh:41
blender::fn::multi_function::build::detail::MaterializeArgMode::Span
@ Span
blender
Definition
ANIM_action.hh:36
AnimData
Definition
DNA_anim_types.h:1138
CustomData
Definition
DNA_customdata_types.h:68
ID
Definition
DNA_ID.h:413
Material
Definition
DNA_material_types.h:164
PointCloud
Definition
DNA_pointcloud_types.h:37
PointCloud::batch_cache
void * batch_cache
Definition
DNA_pointcloud_types.h:75
PointCloud::mat
struct Material ** mat
Definition
DNA_pointcloud_types.h:53
PointCloud::totcol
short totcol
Definition
DNA_pointcloud_types.h:54
PointCloud::_pad3
short _pad3[3]
Definition
DNA_pointcloud_types.h:55
PointCloud::totpoint
int totpoint
Definition
DNA_pointcloud_types.h:44
PointCloud::attributes_active_index
int attributes_active_index
Definition
DNA_pointcloud_types.h:49
PointCloud::_pad4
int _pad4
Definition
DNA_pointcloud_types.h:50
PointCloud::id
ID id
Definition
DNA_pointcloud_types.h:38
PointCloud::runtime
PointCloudRuntimeHandle * runtime
Definition
DNA_pointcloud_types.h:72
PointCloud::flag
int flag
Definition
DNA_pointcloud_types.h:41
PointCloud::adt
struct AnimData * adt
Definition
DNA_pointcloud_types.h:39
PointCloud::pdata
struct CustomData pdata
Definition
DNA_pointcloud_types.h:47
blender::bke::PointCloudRuntime
Definition
BKE_pointcloud.hh:35
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0