Blender V4.3
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
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 {
51 struct AnimData *adt;
52
57 struct Ipo *ipo DNA_DEPRECATED;
58
59 /* material of the mother ball will define the material used of all others */
60 struct Material **mat;
61
63 char flag, flag2;
64 short totcol;
67 char _pad[2];
68
74
76 float texspace_size[3];
77
80
81 /* bias elements to have an offset volume.
82 * mother ball changes will effect other objects thresholds,
83 * but these may also have their own thresh as an offset */
84 float thresh;
85
86 char _pad0[4];
87
90
92
93/* **************** METABALL ********************* */
94
96enum {
98};
99
101enum {
106};
107
109enum {
110 MB_DS_EXPAND = 1 << 0,
111};
112
114enum {
116 MB_TUBEX = 1, /* Deprecated. */
117 MB_TUBEY = 2, /* Deprecated. */
118 MB_TUBEZ = 3, /* Deprecated. */
123};
124
125#define MB_TYPE_SIZE_SQUARED(type) ((type) == MB_ELIPSOID)
126
128enum {
129 MB_NEGATIVE = 1 << 1,
130 MB_HIDE = 1 << 3,
131 MB_SCALE_RAD = 1 << 4,
132};
ID and Library types, which are fundamental for SDNA.
These structs are the foundation for all linked lists in the library system.
@ MB_TEXSPACE_FLAG_AUTO
@ MB_SCALE_RAD
@ MB_NEGATIVE
@ MB_HIDE
@ MB_DS_EXPAND
struct MetaBall MetaBall
@ MB_TUBEY
@ MB_PLANE
@ MB_ELIPSOID
@ MB_TUBE
@ MB_TUBEX
@ MB_CUBE
@ MB_TUBEZ
@ MB_BALL
@ MB_UPDATE_ALWAYS
@ MB_UPDATE_FAST
@ MB_UPDATE_NEVER
@ MB_UPDATE_HALFRES
struct MetaElem MetaElem
Definition DNA_ID.h:413
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