2 * blenlib/DNA_ipo_types.h (mar-2001 nzc)
6 * ***** BEGIN GPL LICENSE BLOCK *****
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software Foundation,
20 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23 * All rights reserved.
25 * The Original Code is: all of this file.
27 * Contributor(s): none yet.
29 * ***** END GPL LICENSE BLOCK *****
31 #ifndef DNA_IPO_TYPES_H
32 #define DNA_IPO_TYPES_H
34 #include "DNA_listBase.h"
35 #include "DNA_vec_types.h"
43 ListBase curve; /* A list of IpoCurve structs in a linked list. */
44 rctf cur; /* Rect defining extents of keyframes? */
46 short blocktype, showkey; /* blocktype: self-explanatory; showkey: either 0 or 1 (show vertical yellow lines for editing) */
47 short muteipo, pad; /* muteipo: either 0 or 1 (whether ipo block is muted) */
50 /* NOTE: IpoCurve struct is defined in DNA_curve_types.h, not in here... */
53 typedef short IPO_Channel;
55 /* defines: are these duped or new? */
63 #define IPO_DISPDEGR 1
64 #define IPO_DISPBITS 2
65 #define IPO_DISPTIME 3
67 /* ******************** */
102 #define OB_PD_FSTR 25
103 #define OB_PD_FFALL 26
104 #define OB_PD_SDAMP 27
105 #define OB_PD_RDAMP 28
106 #define OB_PD_PERM 29
107 #define OB_PD_FMAXD 30
109 /* exception: driver channel, for bone driver only */
110 #define OB_ROT_DIFF 100
113 /* ******************** */
137 #define MA_TRANSLU 20
139 #define MA_FRESMIR 22
140 #define MA_FRESMIRI 23
141 #define MA_FRESTRA 24
142 #define MA_FRESTRAI 25
145 #define MA_MAP1 (1<<5)
146 #define MA_MAP2 (1<<6)
147 #define MA_MAP3 (1<<7)
148 #define MA_MAP4 (1<<8)
149 #define MA_MAP5 (1<<9)
150 #define MA_MAP6 (1<<10)
151 #define MA_MAP7 (1<<11)
152 #define MA_MAP8 (1<<12)
153 #define MA_MAP9 (1<<13)
154 #define MA_MAP10 (1<<14)
155 #define MA_MAP11 (1<<15)
156 #define MA_MAP12 (1<<16)
157 #define MA_MAP13 (1<<17)
158 #define MA_MAP14 (1<<18)
159 #define MA_MAP15 (1<<19)
160 #define MA_MAP16 (1<<20)
161 #define MA_MAP17 (1<<21)
162 #define MA_MAP18 (1<<22)
164 #define TEX_TOTNAM 14
182 /* ******************** */
197 #define TE_VN_DISTM 10
198 #define TE_VN_COLT 11
208 #define TE_MG_GAIN 19
219 /* ******************** */
226 /* ******************** */
233 /* ******************** */
235 #define KEY_TOTIPO 64
236 #define KEY_TOTNAM 64
241 /* ******************** */
257 #define WO_MISTSTA 10
263 #define WO_STARDIST 15
264 #define WO_STARSIZE 16
266 /* ******************** */
280 #define LA_HALOINT 10
282 /* ******************** */
284 /* yafray: totipo & totnam +2 because of added curves */
292 /* yafray aperture & focal distance curves */
293 #define CAM_YF_APERT 4
294 #define CAM_YF_FDIST 5
296 #define CAM_SHIFT_X 6
297 #define CAM_SHIFT_Y 7
299 /* ******************** */
306 #define SND_PANNING 3
309 /* ******************** */
311 #define AC_TOTIPO 10 /* __NLA */
327 /* ******************** */
328 #define CO_TOTIPO 2 /* Constraint Ipos */
332 #define CO_HEADTAIL 2
335 #define CO_OFFSET_X 3
336 #define CO_OFFSET_Y 4
337 #define CO_OFFSET_Z 5
338 #define CO_ORIENT_X 6
339 #define CO_ORIENT_Y 7
340 #define CO_ORIENT_Z 8
344 /* ******************** */
345 /* fluidsim ipos NT */
347 #define FLUIDSIM_TOTIPO 13
348 #define FLUIDSIM_TOTNAM 13
350 #define FLUIDSIM_VISC 1
351 #define FLUIDSIM_TIME 2
353 #define FLUIDSIM_GRAV_X 3
354 #define FLUIDSIM_GRAV_Y 4
355 #define FLUIDSIM_GRAV_Z 5
357 #define FLUIDSIM_VEL_X 6
358 #define FLUIDSIM_VEL_Y 7
359 #define FLUIDSIM_VEL_Z 8
361 #define FLUIDSIM_ACTIVE 9
363 #define FLUIDSIM_ATTR_FORCE_STR 10
364 #define FLUIDSIM_ATTR_FORCE_RADIUS 11
365 #define FLUIDSIM_VEL_FORCE_STR 12
366 #define FLUIDSIM_VEL_FORCE_RADIUS 13
368 /* ******************** */
370 #define PART_TOTIPO 25
371 #define PART_TOTNAM 25
373 #define PART_EMIT_FREQ 1
374 #define PART_EMIT_LIFE 2
375 #define PART_EMIT_VEL 3
376 #define PART_EMIT_AVE 4
377 #define PART_EMIT_SIZE 5
384 #define PART_LENGTH 11
385 #define PART_CLUMP 12
387 #define PART_GRAV_X 13
388 #define PART_GRAV_Y 14
389 #define PART_GRAV_Z 15
391 #define PART_KINK_AMP 16
392 #define PART_KINK_FREQ 17
393 #define PART_KINK_SHAPE 18
395 #define PART_BB_TILT 19
397 #define PART_PD_FSTR 20
398 #define PART_PD_FFALL 21
399 #define PART_PD_FMAXD 22
401 #define PART_PD2_FSTR 23
402 #define PART_PD2_FFALL 24
403 #define PART_PD2_FMAXD 25
406 /* these are IpoCurve specific */
407 /* **************** IPO ********************* */
416 #define IPO_FLOAT_DEGR 6
417 /* very special case, in keys */
418 #define IPO_BEZTRIPLE 100
419 #define IPO_BPOINT 101
423 #define IPO_CHAR_BIT 16
424 #define IPO_SHORT_BIT 17
425 #define IPO_INT_BIT 18
427 /* icu->ipo: the type of curve */
431 #define IPO_MIXED 3 /* not used yet */
440 #define IPO_VISIBLE 1
444 #define IPO_AUTO_HORIZ 16
445 #define IPO_ACTIVE 32
446 #define IPO_PROTECT 64