Blender
V5.0
source
blender
makesdna
DNA_attribute_types.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2025 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include <
stdint.h
>
8
9
#include "
BLI_implicit_sharing.h
"
10
11
#ifdef __cplusplus
12
13
namespace
blender::bke
{
14
class
AttributeStorage
;
15
class
AttributeStorageRuntime
;
16
}
// namespace blender::bke
17
18
using
AttributeStorageRuntimeHandle
=
blender::bke::AttributeStorageRuntime
;
19
#else
20
typedef
struct
AttributeStorageRuntimeHandle
AttributeStorageRuntimeHandle
;
21
#endif
22
24
struct
AttributeArray
{
25
void
*
data
;
26
const
ImplicitSharingInfoHandle
*
sharing_info
;
27
/* The number of elements in the array. */
28
int64_t
size
;
29
};
30
32
struct
AttributeSingle
{
33
void
*
data
;
34
const
ImplicitSharingInfoHandle
*
sharing_info
;
35
};
36
38
struct
Attribute
{
39
const
char
*
name
;
40
/* bke::AttrType. */
41
int16_t
data_type
;
42
/* bke::AttrDomain. */
43
int8_t
domain
;
44
/* bke::AttrStorageType */
45
int8_t
storage_type
;
46
char
_pad
[4];
47
49
void
*
data
;
50
};
51
56
struct
AttributeStorage
{
57
/* Array only used in files, otherwise #AttributeStorageRuntime::attributes is used. */
58
struct
Attribute
*
dna_attributes
;
59
int
dna_attributes_num
;
60
61
char
_pad
[4];
62
63
AttributeStorageRuntimeHandle
*
runtime
;
64
65
#ifdef __cplusplus
66
blender::bke::AttributeStorage
&
wrap
();
67
const
blender::bke::AttributeStorage
&
wrap
()
const
;
68
#endif
69
};
BLI_implicit_sharing.h
ImplicitSharingInfoHandle
struct ImplicitSharingInfoHandle ImplicitSharingInfoHandle
Definition
BLI_implicit_sharing.h:22
AttributeStorageRuntimeHandle
struct AttributeStorageRuntimeHandle AttributeStorageRuntimeHandle
Definition
DNA_attribute_types.h:20
int64_t
long long int int64_t
Definition
btConvexHullComputer.cpp:31
blender::bke::AttributeStorageRuntime
Definition
BKE_attribute_storage.hh:115
blender::bke::AttributeStorage
Definition
BKE_attribute_storage.hh:131
blender::bke
Definition
AS_asset_library.hh:27
wrap
float wrap(float value, float max, float min)
Definition
node_math.h:103
stdint.h
AttributeArray
Definition
DNA_attribute_types.h:24
AttributeArray::data
void * data
Definition
DNA_attribute_types.h:25
AttributeArray::size
int64_t size
Definition
DNA_attribute_types.h:28
AttributeArray::sharing_info
const ImplicitSharingInfoHandle * sharing_info
Definition
DNA_attribute_types.h:26
AttributeSingle
Definition
DNA_attribute_types.h:32
AttributeSingle::sharing_info
const ImplicitSharingInfoHandle * sharing_info
Definition
DNA_attribute_types.h:34
AttributeSingle::data
void * data
Definition
DNA_attribute_types.h:33
AttributeStorage
Definition
DNA_attribute_types.h:56
AttributeStorage::runtime
AttributeStorageRuntimeHandle * runtime
Definition
DNA_attribute_types.h:63
AttributeStorage::_pad
char _pad[4]
Definition
DNA_attribute_types.h:61
AttributeStorage::dna_attributes_num
int dna_attributes_num
Definition
DNA_attribute_types.h:59
AttributeStorage::dna_attributes
struct Attribute * dna_attributes
Definition
DNA_attribute_types.h:58
Attribute
Definition
DNA_attribute_types.h:38
Attribute::name
const char * name
Definition
DNA_attribute_types.h:39
Attribute::storage_type
int8_t storage_type
Definition
DNA_attribute_types.h:45
Attribute::Attribute
Attribute(ustring name, const TypeDesc type, AttributeElement element, Geometry *geom, AttributePrimitive prim)
Definition
scene/attribute.cpp:18
Attribute::data
void * data
Definition
DNA_attribute_types.h:49
Attribute::domain
int8_t domain
Definition
DNA_attribute_types.h:43
Attribute::_pad
char _pad[4]
Definition
DNA_attribute_types.h:46
Attribute::data_type
int16_t data_type
Definition
DNA_attribute_types.h:41
Generated on
for Blender by
doxygen
1.16.1