Initial revision
[blender.git] / source / blender / blenkernel / BKE_main.h
1 /**
2  * blenlib/BKE_main.h (mar-2001 nzc)
3  *
4  * Main is the root of the 'database' of a Blender context. All data
5  * is stuffed into lists, and all these lists are knotted to here. A
6  * Blender file is not much more but a binary dump of these
7  * lists. This list of lists is not serialized itself.
8  *
9  * Oops... this should be a _types.h file.
10  *
11  * $Id$ 
12  *
13  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
14  *
15  * This program is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU General Public License
17  * as published by the Free Software Foundation; either version 2
18  * of the License, or (at your option) any later version. The Blender
19  * Foundation also sells licenses for use in proprietary software under
20  * the Blender License.  See http://www.blender.org/BL/ for information
21  * about this.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program; if not, write to the Free Software Foundation,
30  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
31  *
32  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
33  * All rights reserved.
34  *
35  * The Original Code is: all of this file.
36  *
37  * Contributor(s): none yet.
38  *
39  * ***** END GPL/BL DUAL LICENSE BLOCK *****
40  */
41 #ifndef BKE_MAIN_H
42 #define BKE_MAIN_H
43
44 #include "DNA_listBase.h"
45
46 struct Library;
47
48 typedef struct Main {
49         struct Main *next, *prev;
50         char name[160];
51         short versionfile, rt;
52         struct Library *curlib;
53         ListBase scene;
54         ListBase library;
55         ListBase object;
56         ListBase mesh;
57         ListBase curve;
58         ListBase mball;
59         ListBase mat;
60         ListBase tex;
61         ListBase image;
62         ListBase ika;
63         ListBase wave;
64         ListBase latt;
65         ListBase lamp;
66         ListBase camera;
67         ListBase ipo;
68         ListBase key;
69         ListBase world;
70         ListBase screen;
71         ListBase vfont;
72         ListBase text;
73         ListBase sound;
74         ListBase group;
75         ListBase armature;      /* NLA */
76         ListBase action;        /* NLA */
77 } Main;
78
79
80 #endif