Blender
V5.0
source
blender
makesdna
DNA_meta_types.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#pragma once
10
11
#include "
DNA_ID.h
"
12
#include "
DNA_defs.h
"
13
#include "
DNA_listBase.h
"
14
15
struct
AnimData
;
16
struct
BoundBox
;
17
struct
Material
;
18
19
typedef
struct
MetaElem
{
20
struct
MetaElem
*
next
, *
prev
;
21
23
struct
BoundBox
*
bb
;
24
25
short
type
,
flag
;
26
char
_pad
[4];
28
float
x
,
y
,
z
;
30
float
quat
[4];
32
float
expx
;
33
float
expy
;
34
float
expz
;
36
float
rad
;
38
float
rad2
;
40
float
s
;
42
float
len
;
43
45
float
*
mat
, *
imat
;
46
}
MetaElem
;
47
48
typedef
struct
MetaBall
{
49
#ifdef __cplusplus
51
static
constexpr
ID_Type
id_type =
ID_MB
;
52
#endif
53
54
ID
id
;
55
struct
AnimData
*
adt
;
56
57
ListBase
elems
;
59
ListBase
*
editelems
;
60
61
/* material of the mother ball will define the material used of all others */
62
struct
Material
**
mat
;
63
65
char
flag
,
flag2
;
66
short
totcol
;
68
char
texspace_flag
;
69
char
_pad
[2];
70
75
char
needs_flush_to_id
;
76
77
float
texspace_location
[3];
78
float
texspace_size
[3];
79
81
float
wiresize
,
rendersize
;
82
83
/* bias elements to have an offset volume.
84
* mother ball changes will effect other objects thresholds,
85
* but these may also have their own thresh as an offset */
86
float
thresh
;
87
88
char
_pad0
[4];
89
91
MetaElem
*
lastelem
;
92
93
}
MetaBall
;
94
95
/* **************** METABALL ********************* */
96
98
enum
{
99
MB_TEXSPACE_FLAG_AUTO
= 1 << 0,
100
};
101
103
enum
{
104
MB_UPDATE_ALWAYS
= 0,
105
MB_UPDATE_HALFRES
= 1,
106
MB_UPDATE_FAST
= 2,
107
MB_UPDATE_NEVER
= 3,
108
};
109
111
enum
{
112
MB_DS_EXPAND
= 1 << 0,
113
};
114
116
enum
{
117
MB_BALL
= 0,
118
MB_TUBEX
= 1,
/* Deprecated. */
119
MB_TUBEY
= 2,
/* Deprecated. */
120
MB_TUBEZ
= 3,
/* Deprecated. */
121
MB_TUBE
= 4,
122
MB_PLANE
= 5,
123
MB_ELIPSOID
= 6,
124
MB_CUBE
= 7,
125
};
126
127
#define MB_TYPE_SIZE_SQUARED(type) ((type) == MB_ELIPSOID)
128
130
enum
{
131
MB_NEGATIVE
= 1 << 1,
132
MB_HIDE
= 1 << 3,
133
MB_SCALE_RAD
= 1 << 4,
134
};
DNA_ID.h
ID and Library types, which are fundamental for SDNA.
ID_Type
ID_Type
Definition
DNA_ID_enums.h:116
ID_MB
@ ID_MB
Definition
DNA_ID_enums.h:122
DNA_defs.h
DNA_listBase.h
These structs are the foundation for all linked lists in the library system.
MB_DS_EXPAND
@ MB_DS_EXPAND
Definition
DNA_meta_types.h:112
MB_TEXSPACE_FLAG_AUTO
@ MB_TEXSPACE_FLAG_AUTO
Definition
DNA_meta_types.h:99
MB_SCALE_RAD
@ MB_SCALE_RAD
Definition
DNA_meta_types.h:133
MB_NEGATIVE
@ MB_NEGATIVE
Definition
DNA_meta_types.h:131
MB_HIDE
@ MB_HIDE
Definition
DNA_meta_types.h:132
MB_TUBEY
@ MB_TUBEY
Definition
DNA_meta_types.h:119
MB_PLANE
@ MB_PLANE
Definition
DNA_meta_types.h:122
MB_ELIPSOID
@ MB_ELIPSOID
Definition
DNA_meta_types.h:123
MB_TUBE
@ MB_TUBE
Definition
DNA_meta_types.h:121
MB_TUBEX
@ MB_TUBEX
Definition
DNA_meta_types.h:118
MB_CUBE
@ MB_CUBE
Definition
DNA_meta_types.h:124
MB_TUBEZ
@ MB_TUBEZ
Definition
DNA_meta_types.h:120
MB_BALL
@ MB_BALL
Definition
DNA_meta_types.h:117
MB_UPDATE_ALWAYS
@ MB_UPDATE_ALWAYS
Definition
DNA_meta_types.h:104
MB_UPDATE_FAST
@ MB_UPDATE_FAST
Definition
DNA_meta_types.h:106
MB_UPDATE_NEVER
@ MB_UPDATE_NEVER
Definition
DNA_meta_types.h:107
MB_UPDATE_HALFRES
@ MB_UPDATE_HALFRES
Definition
DNA_meta_types.h:105
AnimData
Definition
DNA_anim_types.h:651
BoundBox
Definition
DNA_object_types.h:101
ID
Definition
DNA_ID.h:414
ListBase
Definition
DNA_listBase.h:32
Material
Definition
DNA_material_types.h:163
MetaBall
Definition
DNA_meta_types.h:48
MetaBall::lastelem
MetaElem * lastelem
Definition
DNA_meta_types.h:91
MetaBall::_pad
char _pad[2]
Definition
DNA_meta_types.h:69
MetaBall::thresh
float thresh
Definition
DNA_meta_types.h:86
MetaBall::texspace_flag
char texspace_flag
Definition
DNA_meta_types.h:68
MetaBall::elems
ListBase elems
Definition
DNA_meta_types.h:57
MetaBall::rendersize
float rendersize
Definition
DNA_meta_types.h:81
MetaBall::_pad0
char _pad0[4]
Definition
DNA_meta_types.h:88
MetaBall::flag2
char flag2
Definition
DNA_meta_types.h:65
MetaBall::texspace_size
float texspace_size[3]
Definition
DNA_meta_types.h:78
MetaBall::flag
char flag
Definition
DNA_meta_types.h:65
MetaBall::totcol
short totcol
Definition
DNA_meta_types.h:66
MetaBall::id
ID id
Definition
DNA_meta_types.h:54
MetaBall::wiresize
float wiresize
Definition
DNA_meta_types.h:81
MetaBall::adt
struct AnimData * adt
Definition
DNA_meta_types.h:55
MetaBall::texspace_location
float texspace_location[3]
Definition
DNA_meta_types.h:77
MetaBall::editelems
ListBase * editelems
Definition
DNA_meta_types.h:59
MetaBall::needs_flush_to_id
char needs_flush_to_id
Definition
DNA_meta_types.h:75
MetaBall::mat
struct Material ** mat
Definition
DNA_meta_types.h:62
MetaElem
Definition
DNA_meta_types.h:19
MetaElem::rad
float rad
Definition
DNA_meta_types.h:36
MetaElem::expy
float expy
Definition
DNA_meta_types.h:33
MetaElem::imat
float * imat
Definition
DNA_meta_types.h:45
MetaElem::_pad
char _pad[4]
Definition
DNA_meta_types.h:26
MetaElem::next
struct MetaElem * next
Definition
DNA_meta_types.h:20
MetaElem::type
short type
Definition
DNA_meta_types.h:25
MetaElem::expx
float expx
Definition
DNA_meta_types.h:32
MetaElem::x
float x
Definition
DNA_meta_types.h:28
MetaElem::z
float z
Definition
DNA_meta_types.h:28
MetaElem::expz
float expz
Definition
DNA_meta_types.h:34
MetaElem::quat
float quat[4]
Definition
DNA_meta_types.h:30
MetaElem::rad2
float rad2
Definition
DNA_meta_types.h:38
MetaElem::bb
struct BoundBox * bb
Definition
DNA_meta_types.h:23
MetaElem::len
float len
Definition
DNA_meta_types.h:42
MetaElem::y
float y
Definition
DNA_meta_types.h:28
MetaElem::mat
float * mat
Definition
DNA_meta_types.h:45
MetaElem::s
float s
Definition
DNA_meta_types.h:40
MetaElem::prev
struct MetaElem * prev
Definition
DNA_meta_types.h:20
MetaElem::flag
short flag
Definition
DNA_meta_types.h:25
Generated on
for Blender by
doxygen
1.16.1