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
148 #define MA_MAP4 0x100
149 #define MA_MAP5 0x200
150 #define MA_MAP6 0x400
151 #define MA_MAP7 0x800
152 #define MA_MAP8 0x1000
153 #define MA_MAP9 0x2000
154 #define MA_MAP10 0x4000
156 #define TEX_TOTNAM 14
174 /* ******************** */
189 #define TE_VN_DISTM 10
190 #define TE_VN_COLT 11
200 #define TE_MG_GAIN 19
211 /* ******************** */
218 /* ******************** */
225 /* ******************** */
227 #define KEY_TOTIPO 64
228 #define KEY_TOTNAM 64
233 /* ******************** */
249 #define WO_MISTSTA 10
255 #define WO_STARDIST 15
256 #define WO_STARSIZE 16
258 /* ******************** */
272 #define LA_HALOINT 10
274 /* ******************** */
276 /* yafray: totipo & totnam +2 because of added curves */
284 /* yafray aperture & focal distance curves */
285 #define CAM_YF_APERT 4
286 #define CAM_YF_FDIST 5
288 #define CAM_SHIFT_X 6
289 #define CAM_SHIFT_Y 7
291 /* ******************** */
298 #define SND_PANNING 3
301 /* ******************** */
303 #define AC_TOTIPO 10 /* __NLA */
319 /* ******************** */
320 #define CO_TOTIPO 2 /* Constraint Ipos */
324 #define CO_HEADTAIL 2
327 #define CO_OFFSET_X 3
328 #define CO_OFFSET_Y 4
329 #define CO_OFFSET_Z 5
330 #define CO_ORIENT_X 6
331 #define CO_ORIENT_Y 7
332 #define CO_ORIENT_Z 8
336 /* ******************** */
337 /* fluidsim ipos NT */
339 #define FLUIDSIM_TOTIPO 9
340 #define FLUIDSIM_TOTNAM 9
342 #define FLUIDSIM_VISC 1
343 #define FLUIDSIM_TIME 2
345 #define FLUIDSIM_GRAV_X 3
346 #define FLUIDSIM_GRAV_Y 4
347 #define FLUIDSIM_GRAV_Z 5
349 #define FLUIDSIM_VEL_X 6
350 #define FLUIDSIM_VEL_Y 7
351 #define FLUIDSIM_VEL_Z 8
353 #define FLUIDSIM_ACTIVE 9
355 /* ******************** */
357 #define PART_TOTIPO 19
358 #define PART_TOTNAM 19
360 #define PART_EMIT_FREQ 1
361 #define PART_EMIT_LIFE 2
362 #define PART_EMIT_VEL 3
363 #define PART_EMIT_AVE 4
364 #define PART_EMIT_SIZE 5
371 #define PART_LENGTH 11
372 #define PART_CLUMP 12
374 #define PART_GRAV_X 13
375 #define PART_GRAV_Y 14
376 #define PART_GRAV_Z 15
378 #define PART_KINK_AMP 16
379 #define PART_KINK_FREQ 17
380 #define PART_KINK_SHAPE 18
382 #define PART_BB_TILT 19
385 /* these are IpoCurve specific */
386 /* **************** IPO ********************* */
395 #define IPO_FLOAT_DEGR 6
396 /* very special case, in keys */
397 #define IPO_BEZTRIPLE 100
398 #define IPO_BPOINT 101
402 #define IPO_CHAR_BIT 16
403 #define IPO_SHORT_BIT 17
404 #define IPO_INT_BIT 18
406 /* icu->ipo: the type of curve */
410 #define IPO_MIXED 3 /* not used yet */
419 #define IPO_VISIBLE 1
423 #define IPO_AUTO_HORIZ 16
424 #define IPO_ACTIVE 32
425 #define IPO_PROTECT 64