/** * blenlib/DNA_ipo_types.h (mar-2001 nzc) * * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. * All rights reserved. * * The Original Code is: all of this file. * * Contributor(s): none yet. * * ***** END GPL LICENSE BLOCK ***** */ #ifndef DNA_IPO_TYPES_H #define DNA_IPO_TYPES_H #include "DNA_listBase.h" #include "DNA_vec_types.h" #include "DNA_ID.h" /* IPO Data-Block */ typedef struct Ipo { ID id; ListBase curve; /* A list of IpoCurve structs in a linked list. */ rctf cur; /* Rect defining extents of keyframes? */ short blocktype, showkey; /* blocktype: self-explanatory; showkey: either 0 or 1 (show vertical yellow lines for editing) */ short muteipo, pad; /* muteipo: either 0 or 1 (whether ipo block is muted) */ } Ipo; /* NOTE: IpoCurve struct is defined in DNA_curve_types.h, not in here... */ /* sometimes used */ typedef short IPO_Channel; /* defines: are these duped or new? */ #define IPOBUTY 17 #define TOB_IPO 1 #define TOB_IPODROT 2 /* disptype */ #define IPO_DISPDEGR 1 #define IPO_DISPBITS 2 #define IPO_DISPTIME 3 /* ******************** */ #define OB_TOTIPO 30 #define OB_TOTNAM 30 #define OB_LOC_X 1 #define OB_LOC_Y 2 #define OB_LOC_Z 3 #define OB_DLOC_X 4 #define OB_DLOC_Y 5 #define OB_DLOC_Z 6 #define OB_ROT_X 7 #define OB_ROT_Y 8 #define OB_ROT_Z 9 #define OB_DROT_X 10 #define OB_DROT_Y 11 #define OB_DROT_Z 12 #define OB_SIZE_X 13 #define OB_SIZE_Y 14 #define OB_SIZE_Z 15 #define OB_DSIZE_X 16 #define OB_DSIZE_Y 17 #define OB_DSIZE_Z 18 #define OB_LAY 19 #define OB_TIME 20 #define OB_COL_R 21 #define OB_COL_G 22 #define OB_COL_B 23 #define OB_COL_A 24 #define OB_PD_FSTR 25 #define OB_PD_FFALL 26 #define OB_PD_SDAMP 27 #define OB_PD_RDAMP 28 #define OB_PD_PERM 29 #define OB_PD_FMAXD 30 /* exception: driver channel, for bone driver only */ #define OB_ROT_DIFF 100 /* ******************** */ #define MA_TOTIPO 40 #define MA_TOTNAM 26 #define MA_COL_R 1 #define MA_COL_G 2 #define MA_COL_B 3 #define MA_SPEC_R 4 #define MA_SPEC_G 5 #define MA_SPEC_B 6 #define MA_MIR_R 7 #define MA_MIR_G 8 #define MA_MIR_B 9 #define MA_REF 10 #define MA_ALPHA 11 #define MA_EMIT 12 #define MA_AMB 13 #define MA_SPEC 14 #define MA_HARD 15 #define MA_SPTR 16 #define MA_IOR 17 #define MA_MODE 18 #define MA_HASIZE 19 #define MA_TRANSLU 20 #define MA_RAYM 21 #define MA_FRESMIR 22 #define MA_FRESMIRI 23 #define MA_FRESTRA 24 #define MA_FRESTRAI 25 #define MA_ADD 26 #define MA_MAP1 0x20 #define MA_MAP2 0x40 #define MA_MAP3 0x80 #define MA_MAP4 0x100 #define MA_MAP5 0x200 #define MA_MAP6 0x400 #define MA_MAP7 0x800 #define MA_MAP8 0x1000 #define MA_MAP9 0x2000 #define MA_MAP10 0x4000 #define TEX_TOTNAM 14 #define MAP_OFS_X 1 #define MAP_OFS_Y 2 #define MAP_OFS_Z 3 #define MAP_SIZE_X 4 #define MAP_SIZE_Y 5 #define MAP_SIZE_Z 6 #define MAP_R 7 #define MAP_G 8 #define MAP_B 9 #define MAP_DVAR 10 #define MAP_COLF 11 #define MAP_NORF 12 #define MAP_VARF 13 #define MAP_DISP 14 /* ******************** */ #define TE_TOTIPO 26 #define TE_TOTNAM 26 #define TE_NSIZE 1 #define TE_NDEPTH 2 #define TE_NTYPE 3 #define TE_TURB 4 #define TE_VNW1 5 #define TE_VNW2 6 #define TE_VNW3 7 #define TE_VNW4 8 #define TE_VNMEXP 9 #define TE_VN_DISTM 10 #define TE_VN_COLT 11 #define TE_ISCA 12 #define TE_DISTA 13 #define TE_MG_TYP 14 #define TE_MGH 15 #define TE_MG_LAC 16 #define TE_MG_OCT 17 #define TE_MG_OFF 18 #define TE_MG_GAIN 19 #define TE_N_BAS1 20 #define TE_N_BAS2 21 #define TE_COL_R 22 #define TE_COL_G 23 #define TE_COL_B 24 #define TE_BRIGHT 25 #define TE_CONTRA 26 /* ******************** */ #define SEQ_TOTIPO 1 #define SEQ_TOTNAM 1 #define SEQ_FAC1 1 /* ******************** */ #define CU_TOTIPO 1 #define CU_TOTNAM 1 #define CU_SPEED 1 /* ******************** */ #define KEY_TOTIPO 64 #define KEY_TOTNAM 64 #define KEY_SPEED 0 #define KEY_NR 1 /* ******************** */ #define WO_TOTIPO 29 #define WO_TOTNAM 16 #define WO_HOR_R 1 #define WO_HOR_G 2 #define WO_HOR_B 3 #define WO_ZEN_R 4 #define WO_ZEN_G 5 #define WO_ZEN_B 6 #define WO_EXPOS 7 #define WO_MISI 8 #define WO_MISTDI 9 #define WO_MISTSTA 10 #define WO_MISTHI 11 #define WO_STAR_R 12 #define WO_STAR_G 13 #define WO_STAR_B 14 #define WO_STARDIST 15 #define WO_STARSIZE 16 /* ******************** */ #define LA_TOTIPO 21 #define LA_TOTNAM 10 #define LA_ENERGY 1 #define LA_COL_R 2 #define LA_COL_G 3 #define LA_COL_B 4 #define LA_DIST 5 #define LA_SPOTSI 6 #define LA_SPOTBL 7 #define LA_QUAD1 8 #define LA_QUAD2 9 #define LA_HALOINT 10 /* ******************** */ /* yafray: totipo & totnam +2 because of added curves */ #define CAM_TOTIPO 7 #define CAM_TOTNAM 7 #define CAM_LENS 1 #define CAM_STA 2 #define CAM_END 3 /* yafray aperture & focal distance curves */ #define CAM_YF_APERT 4 #define CAM_YF_FDIST 5 #define CAM_SHIFT_X 6 #define CAM_SHIFT_Y 7 /* ******************** */ #define SND_TOTIPO 4 #define SND_TOTNAM 4 #define SND_VOLUME 1 #define SND_PITCH 2 #define SND_PANNING 3 #define SND_ATTEN 4 /* ******************** */ #define AC_TOTIPO 10 /* __NLA */ #define AC_TOTNAM 10 #define AC_LOC_X 1 #define AC_LOC_Y 2 #define AC_LOC_Z 3 #define AC_SIZE_X 13 #define AC_SIZE_Y 14 #define AC_SIZE_Z 15 #define AC_QUAT_W 25 #define AC_QUAT_X 26 #define AC_QUAT_Y 27 #define AC_QUAT_Z 28 /* ******************** */ #define CO_TOTIPO 2 /* Constraint Ipos */ #define CO_TOTNAM 2 #define CO_ENFORCE 1 #define CO_HEADTAIL 2 /* #define CO_TIME 2 #define CO_OFFSET_X 3 #define CO_OFFSET_Y 4 #define CO_OFFSET_Z 5 #define CO_ORIENT_X 6 #define CO_ORIENT_Y 7 #define CO_ORIENT_Z 8 #define CO_ROLL 9 */ /* ******************** */ /* fluidsim ipos NT */ #define FLUIDSIM_TOTIPO 9 #define FLUIDSIM_TOTNAM 9 #define FLUIDSIM_VISC 1 #define FLUIDSIM_TIME 2 #define FLUIDSIM_GRAV_X 3 #define FLUIDSIM_GRAV_Y 4 #define FLUIDSIM_GRAV_Z 5 #define FLUIDSIM_VEL_X 6 #define FLUIDSIM_VEL_Y 7 #define FLUIDSIM_VEL_Z 8 #define FLUIDSIM_ACTIVE 9 /* ******************** */ /* particle ipos */ #define PART_TOTIPO 19 #define PART_TOTNAM 19 #define PART_EMIT_FREQ 1 #define PART_EMIT_LIFE 2 #define PART_EMIT_VEL 3 #define PART_EMIT_AVE 4 #define PART_EMIT_SIZE 5 #define PART_AVE 6 #define PART_SIZE 7 #define PART_DRAG 8 #define PART_BROWN 9 #define PART_DAMP 10 #define PART_LENGTH 11 #define PART_CLUMP 12 #define PART_GRAV_X 13 #define PART_GRAV_Y 14 #define PART_GRAV_Z 15 #define PART_KINK_AMP 16 #define PART_KINK_FREQ 17 #define PART_KINK_SHAPE 18 #define PART_BB_TILT 19 /* these are IpoCurve specific */ /* **************** IPO ********************* */ /* icu->vartype */ #define IPO_CHAR 0 #define IPO_SHORT 1 #define IPO_INT 2 #define IPO_LONG 3 #define IPO_FLOAT 4 #define IPO_DOUBLE 5 #define IPO_FLOAT_DEGR 6 /* very special case, in keys */ #define IPO_BEZTRIPLE 100 #define IPO_BPOINT 101 /* icu->vartype */ #define IPO_BITS 16 #define IPO_CHAR_BIT 16 #define IPO_SHORT_BIT 17 #define IPO_INT_BIT 18 /* icu->ipo: the type of curve */ #define IPO_CONST 0 #define IPO_LIN 1 #define IPO_BEZ 2 #define IPO_MIXED 3 /* not used yet */ /* icu->extrap */ #define IPO_HORIZ 0 #define IPO_DIR 1 #define IPO_CYCL 2 #define IPO_CYCLX 3 /* icu->flag */ #define IPO_VISIBLE 1 #define IPO_SELECT 2 #define IPO_EDIT 4 #define IPO_LOCK 8 #define IPO_AUTO_HORIZ 16 #define IPO_ACTIVE 32 #define IPO_PROTECT 64 #define IPO_MUTE 128 #endif