Blender V4.5
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
15struct AnimData;
16struct BoundBox;
17struct Ipo;
18struct Material;
19
20typedef struct MetaElem {
21 struct MetaElem *next, *prev;
22
24 struct BoundBox *bb;
25
26 short type, flag;
27 char _pad[4];
29 float x, y, z;
31 float quat[4];
33 float expx;
34 float expy;
35 float expz;
37 float rad;
39 float rad2;
41 float s;
43 float len;
44
46 float *mat, *imat;
48
49typedef struct MetaBall {
50#ifdef __cplusplus
52 static constexpr ID_Type id_type = ID_MB;
53#endif
54
56 struct AnimData *adt;
57
62 struct Ipo *ipo DNA_DEPRECATED;
63
64 /* material of the mother ball will define the material used of all others */
65 struct Material **mat;
66
68 char flag, flag2;
69 short totcol;
72 char _pad[2];
73
79
81 float texspace_size[3];
82
85
86 /* bias elements to have an offset volume.
87 * mother ball changes will effect other objects thresholds,
88 * but these may also have their own thresh as an offset */
89 float thresh;
90
91 char _pad0[4];
92
95
97
98/* **************** METABALL ********************* */
99
101enum {
103};
104
106enum {
111};
112
114enum {
115 MB_DS_EXPAND = 1 << 0,
116};
117
119enum {
121 MB_TUBEX = 1, /* Deprecated. */
122 MB_TUBEY = 2, /* Deprecated. */
123 MB_TUBEZ = 3, /* Deprecated. */
128};
129
130#define MB_TYPE_SIZE_SQUARED(type) ((type) == MB_ELIPSOID)
131
133enum {
134 MB_NEGATIVE = 1 << 1,
135 MB_HIDE = 1 << 3,
136 MB_SCALE_RAD = 1 << 4,
137};
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_MB
These structs are the foundation for all linked lists in the library system.
@ MB_SCALE_RAD
@ MB_NEGATIVE
@ MB_HIDE
@ MB_DS_EXPAND
@ MB_UPDATE_ALWAYS
@ MB_UPDATE_FAST
@ MB_UPDATE_NEVER
@ MB_UPDATE_HALFRES
@ MB_TUBEY
@ MB_PLANE
@ MB_ELIPSOID
@ MB_TUBE
@ MB_TUBEX
@ MB_CUBE
@ MB_TUBEZ
@ MB_BALL
@ MB_TEXSPACE_FLAG_AUTO
Definition DNA_ID.h:404
MetaElem * lastelem
char _pad[2]
char texspace_flag
ListBase elems
float rendersize
char _pad0[4]
float texspace_size[3]
struct Ipo *ipo DNA_DEPRECATED
float wiresize
struct AnimData * adt
float texspace_location[3]
ListBase * editelems
char needs_flush_to_id
struct Material ** mat
float * imat
char _pad[4]
struct MetaElem * next
float quat[4]
struct BoundBox * bb
float * mat
struct MetaElem * prev