Blender  V2.59
DNA_camera_types.h
Go to the documentation of this file.
00001 /*
00002  * $Id: DNA_camera_types.h 36696 2011-05-15 05:43:59Z campbellbarton $ 
00003  *
00004  * ***** BEGIN GPL LICENSE BLOCK *****
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * as published by the Free Software Foundation; either version 2
00009  * of the License, or (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software Foundation,
00018  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019  *
00020  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
00021  * All rights reserved.
00022  *
00023  * The Original Code is: all of this file.
00024  *
00025  * Contributor(s): none yet.
00026  *
00027  * ***** END GPL LICENSE BLOCK *****
00028  */
00029 #ifndef DNA_CAMERA_TYPES_H
00030 #define DNA_CAMERA_TYPES_H
00031 
00036 #include "DNA_ID.h"
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 struct Object;
00043 struct AnimData;
00044 struct Ipo;
00045 
00046 typedef struct Camera {
00047         ID id;
00048         struct AnimData *adt;   /* animation data (must be immediately after id for utilities to use it) */ 
00049         
00050         char type; /* CAM_PERSP or CAM_ORTHO */
00051         char dtx; /* draw type extra */
00052         short flag;
00053         float passepartalpha;
00054         float clipsta, clipend;
00055         float lens, ortho_scale, drawsize;
00056         float shiftx, shifty;
00057         
00058         /* yafray: dof params */
00059         /* qdn: yafray var 'YF_dofdist' now enabled for defocus composit node as well.
00060                         The name was not changed so that no other files need to be modified */
00061         float YF_dofdist;
00062 
00063         struct Ipo *ipo;                        // XXX depreceated... old animation system
00064         
00065         struct Object *dof_ob;
00066 } Camera;
00067 
00068 /* **************** CAMERA ********************* */
00069 
00070 /* type */
00071 #define CAM_PERSP               0
00072 #define CAM_ORTHO               1
00073 
00074 /* dtx */
00075 #define CAM_DTX_CENTER                  1
00076 #define CAM_DTX_CENTER_DIAG             2
00077 #define CAM_DTX_THIRDS                  4
00078 #define CAM_DTX_GOLDEN                  8
00079 #define CAM_DTX_GOLDEN_TRI_A    16
00080 #define CAM_DTX_GOLDEN_TRI_B    32
00081 #define CAM_DTX_HARMONY_TRI_A   64
00082 #define CAM_DTX_HARMONY_TRI_B   128
00083 
00084 /* flag */
00085 #define CAM_SHOWLIMITS  1
00086 #define CAM_SHOWMIST    2
00087 #define CAM_SHOWPASSEPARTOUT    4
00088 #define CAM_SHOWTITLESAFE       8
00089 #define CAM_SHOWNAME            16
00090 #define CAM_ANGLETOGGLE         32
00091 #define CAM_DS_EXPAND           64
00092 #define CAM_PANORAMA            128
00093 
00094 /* yafray: dof sampling switch */
00095 /* #define CAM_YF_NO_QMC        512 */ /* depreceated */
00096 
00097 
00098 #ifdef __cplusplus
00099 }
00100 #endif
00101 
00102 #endif