Blender
V2.93
source
blender
makesdna
DNA_effect_types.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17
* All rights reserved.
18
*/
19
24
#pragma once
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
/* don't forget, new effects also in writefile.c for dna!!! */
31
32
#define PAF_MAXMULT 4
33
34
/* paf->flag (keep bit 0 free for compatibility) */
35
#define PAF_BSPLINE 2
36
#define PAF_STATIC 4
37
#define PAF_FACE 8
38
#define PAF_ANIMATED 16
39
/* show particles before they're emitted*/
40
#define PAF_UNBORN 32
41
/* emit only from faces*/
42
#define PAF_OFACE 64
43
/* show emitter (don't hide actual mesh)*/
44
#define PAF_SHOWE 128
45
/* true random emit from faces (not just ordered jitter)*/
46
#define PAF_TRAND 256
47
/* even distribution in face emission based on face areas*/
48
#define PAF_EDISTR 512
49
/*show particles after they've died*/
50
#define PAF_DIED 2048
51
52
/*paf->flag2 for pos/neg paf->flag2neg*/
53
#define PAF_TEXTIME 1
/*texture timing*/
54
55
/* eff->type */
56
#define EFF_BUILD 0
57
#define EFF_PARTICLE 1
58
#define EFF_WAVE 2
59
60
/* eff->flag */
61
#define EFF_SELECT 1
62
63
/* paf->stype */
64
#define PAF_NORMAL 0
65
#define PAF_VECT 1
66
67
/* paf->texmap */
68
#define PAF_TEXINT 0
69
#define PAF_TEXRGB 1
70
#define PAF_TEXGRAD 2
71
72
typedef
struct
Effect
{
73
struct
Effect
*
next
, *
prev
;
74
short
type
,
flag
,
buttype
,
rt
;
75
76
}
Effect
;
77
78
typedef
struct
BuildEff
{
79
struct
BuildEff
*
next
, *
prev
;
80
short
type
,
flag
,
buttype
,
rt
;
81
82
float
len
,
sfra
;
83
84
}
BuildEff
;
85
86
#
87
#
88
typedef
struct
Particle
{
89
float
co
[3],
no
[3];
90
float
time
,
lifetime
;
91
short
mat_nr
,
rt
;
92
}
Particle
;
93
94
struct
Collection
;
95
96
typedef
struct
PartEff
{
97
struct
PartEff
*
next
, *
prev
;
98
short
type
,
flag
,
buttype
,
stype
,
vertgroup
,
userjit
;
99
100
float
sta
,
end
,
lifetime
;
101
int
totpart
,
totkey
,
seed
;
102
103
float
normfac
,
obfac
,
randfac
,
texfac
,
randlife
;
104
float
force
[3];
105
float
damp
;
106
107
float
nabla
,
vectsize
,
maxlen
,
defvec
[3];
108
char
_pad
[4];
109
110
float
mult
[4],
life
[4];
111
short
child
[4],
mat
[4];
112
short
texmap
,
curmult
;
113
short
staticstep
,
omat
,
timetex
,
speedtex
,
flag2
,
flag2neg
;
114
short
disp
,
vertgroup_v
;
115
117
char
vgroupname
[64],
vgroupname_v
[64];
119
float
imat
[4][4];
120
121
Particle
*
keys
;
122
struct
Collection
*
group
;
123
124
}
PartEff
;
125
126
typedef
struct
WaveEff
{
127
struct
WaveEff
*
next
, *
prev
;
128
short
type
,
flag
,
buttype
,
stype
;
129
130
float
startx
,
starty
,
height
,
width
;
131
float
narrow
,
speed
,
minfac
,
damp
;
132
133
float
timeoffs
,
lifetime
;
134
135
}
WaveEff
;
136
137
#ifdef __cplusplus
138
}
139
#endif
WaveEff
struct WaveEff WaveEff
Effect
struct Effect Effect
PartEff
struct PartEff PartEff
Particle
struct Particle Particle
BuildEff
struct BuildEff BuildEff
BuildEff
Definition:
DNA_effect_types.h:78
BuildEff::prev
struct BuildEff * prev
Definition:
DNA_effect_types.h:79
BuildEff::sfra
float sfra
Definition:
DNA_effect_types.h:82
BuildEff::buttype
short buttype
Definition:
DNA_effect_types.h:80
BuildEff::rt
short rt
Definition:
DNA_effect_types.h:80
BuildEff::type
short type
Definition:
DNA_effect_types.h:80
BuildEff::next
struct BuildEff * next
Definition:
DNA_effect_types.h:79
BuildEff::flag
short flag
Definition:
DNA_effect_types.h:80
BuildEff::len
float len
Definition:
DNA_effect_types.h:82
Collection
Definition:
DNA_collection_types.h:60
Effect
Definition:
DNA_effect_types.h:72
Effect::type
short type
Definition:
DNA_effect_types.h:74
Effect::rt
short rt
Definition:
DNA_effect_types.h:74
Effect::flag
short flag
Definition:
DNA_effect_types.h:74
Effect::prev
struct Effect * prev
Definition:
DNA_effect_types.h:73
Effect::next
struct Effect * next
Definition:
DNA_effect_types.h:73
Effect::buttype
short buttype
Definition:
DNA_effect_types.h:74
PartEff
Definition:
DNA_effect_types.h:96
PartEff::vectsize
float vectsize
Definition:
DNA_effect_types.h:107
PartEff::vertgroup
short vertgroup
Definition:
DNA_effect_types.h:98
PartEff::type
short type
Definition:
DNA_effect_types.h:98
PartEff::mat
short mat[4]
Definition:
DNA_effect_types.h:111
PartEff::keys
Particle * keys
Definition:
DNA_effect_types.h:121
PartEff::texmap
short texmap
Definition:
DNA_effect_types.h:112
PartEff::vgroupname_v
char vgroupname_v[64]
Definition:
DNA_effect_types.h:117
PartEff::staticstep
short staticstep
Definition:
DNA_effect_types.h:113
PartEff::prev
struct PartEff * prev
Definition:
DNA_effect_types.h:97
PartEff::seed
int seed
Definition:
DNA_effect_types.h:101
PartEff::maxlen
float maxlen
Definition:
DNA_effect_types.h:107
PartEff::damp
float damp
Definition:
DNA_effect_types.h:105
PartEff::next
struct PartEff * next
Definition:
DNA_effect_types.h:97
PartEff::buttype
short buttype
Definition:
DNA_effect_types.h:98
PartEff::timetex
short timetex
Definition:
DNA_effect_types.h:113
PartEff::imat
float imat[4][4]
Definition:
DNA_effect_types.h:119
PartEff::_pad
char _pad[4]
Definition:
DNA_effect_types.h:108
PartEff::defvec
float defvec[3]
Definition:
DNA_effect_types.h:107
PartEff::speedtex
short speedtex
Definition:
DNA_effect_types.h:113
PartEff::vertgroup_v
short vertgroup_v
Definition:
DNA_effect_types.h:114
PartEff::child
short child[4]
Definition:
DNA_effect_types.h:111
PartEff::totpart
int totpart
Definition:
DNA_effect_types.h:101
PartEff::userjit
short userjit
Definition:
DNA_effect_types.h:98
PartEff::stype
short stype
Definition:
DNA_effect_types.h:98
PartEff::force
float force[3]
Definition:
DNA_effect_types.h:104
PartEff::mult
float mult[4]
Definition:
DNA_effect_types.h:110
PartEff::flag
short flag
Definition:
DNA_effect_types.h:98
PartEff::obfac
float obfac
Definition:
DNA_effect_types.h:103
PartEff::lifetime
float lifetime
Definition:
DNA_effect_types.h:100
PartEff::totkey
int totkey
Definition:
DNA_effect_types.h:101
PartEff::flag2
short flag2
Definition:
DNA_effect_types.h:113
PartEff::life
float life[4]
Definition:
DNA_effect_types.h:110
PartEff::curmult
short curmult
Definition:
DNA_effect_types.h:112
PartEff::normfac
float normfac
Definition:
DNA_effect_types.h:103
PartEff::disp
short disp
Definition:
DNA_effect_types.h:114
PartEff::texfac
float texfac
Definition:
DNA_effect_types.h:103
PartEff::nabla
float nabla
Definition:
DNA_effect_types.h:107
PartEff::sta
float sta
Definition:
DNA_effect_types.h:100
PartEff::omat
short omat
Definition:
DNA_effect_types.h:113
PartEff::randfac
float randfac
Definition:
DNA_effect_types.h:103
PartEff::vgroupname
char vgroupname[64]
Definition:
DNA_effect_types.h:117
PartEff::group
struct Collection * group
Definition:
DNA_effect_types.h:122
PartEff::end
float end
Definition:
DNA_effect_types.h:100
PartEff::randlife
float randlife
Definition:
DNA_effect_types.h:103
PartEff::flag2neg
short flag2neg
Definition:
DNA_effect_types.h:113
Particle
Definition:
DNA_effect_types.h:88
Particle::mat_nr
short mat_nr
Definition:
DNA_effect_types.h:91
Particle::time
float time
Definition:
DNA_effect_types.h:90
Particle::co
float co[3]
Definition:
DNA_effect_types.h:89
Particle::lifetime
float lifetime
Definition:
DNA_effect_types.h:90
Particle::no
float no[3]
Definition:
DNA_effect_types.h:89
Particle::rt
short rt
Definition:
DNA_effect_types.h:91
WaveEff
Definition:
DNA_effect_types.h:126
WaveEff::width
float width
Definition:
DNA_effect_types.h:130
WaveEff::height
float height
Definition:
DNA_effect_types.h:130
WaveEff::timeoffs
float timeoffs
Definition:
DNA_effect_types.h:133
WaveEff::prev
struct WaveEff * prev
Definition:
DNA_effect_types.h:127
WaveEff::stype
short stype
Definition:
DNA_effect_types.h:128
WaveEff::damp
float damp
Definition:
DNA_effect_types.h:131
WaveEff::starty
float starty
Definition:
DNA_effect_types.h:130
WaveEff::minfac
float minfac
Definition:
DNA_effect_types.h:131
WaveEff::buttype
short buttype
Definition:
DNA_effect_types.h:128
WaveEff::startx
float startx
Definition:
DNA_effect_types.h:130
WaveEff::lifetime
float lifetime
Definition:
DNA_effect_types.h:133
WaveEff::type
short type
Definition:
DNA_effect_types.h:128
WaveEff::flag
short flag
Definition:
DNA_effect_types.h:128
WaveEff::next
struct WaveEff * next
Definition:
DNA_effect_types.h:127
WaveEff::narrow
float narrow
Definition:
DNA_effect_types.h:131
WaveEff::speed
float speed
Definition:
DNA_effect_types.h:131
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1