2003-02-26 19:22:24 +00:00
|
|
|
/*
|
2004-09-25 20:30:40 +00:00
|
|
|
* $Id$
|
2003-02-26 19:22:24 +00:00
|
|
|
*
|
|
|
|
|
* ***** BEGIN GPL/BL DUAL 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. The Blender
|
|
|
|
|
* Foundation also sells licenses for use in proprietary software under
|
|
|
|
|
* the Blender License. See http://www.blender.org/BL/ for information
|
|
|
|
|
* about this.
|
|
|
|
|
*
|
|
|
|
|
* 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.
|
|
|
|
|
*
|
|
|
|
|
* This is a new part of Blender.
|
|
|
|
|
*
|
2004-07-26 21:44:55 +00:00
|
|
|
* Contributor(s): Michel Selten, Willian P. Germano, Nathan Letwory
|
2003-02-26 19:22:24 +00:00
|
|
|
*
|
|
|
|
|
* ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
|
|
|
*/
|
2003-05-20 03:56:41 +00:00
|
|
|
|
|
|
|
|
#ifndef EXPP_modules_h
|
|
|
|
|
#define EXPP_modules_h
|
|
|
|
|
|
2003-02-26 19:22:24 +00:00
|
|
|
#include <Python.h>
|
|
|
|
|
|
2003-06-07 03:49:45 +00:00
|
|
|
#include <DNA_scene_types.h>
|
2003-03-15 19:14:16 +00:00
|
|
|
#include <DNA_object_types.h>
|
2003-07-01 05:19:14 +00:00
|
|
|
#include <DNA_mesh_types.h>
|
2003-04-08 19:54:14 +00:00
|
|
|
#include <DNA_camera_types.h>
|
|
|
|
|
#include <DNA_lamp_types.h>
|
2003-11-13 04:00:59 +00:00
|
|
|
#include <DNA_lattice_types.h>
|
2003-05-20 03:56:41 +00:00
|
|
|
#include <DNA_curve_types.h>
|
2003-05-29 04:00:35 +00:00
|
|
|
#include <DNA_armature_types.h>
|
2003-06-05 18:03:46 +00:00
|
|
|
#include <DNA_ipo_types.h>
|
|
|
|
|
#include <DNA_effect_types.h>
|
|
|
|
|
#include <DNA_meta_types.h>
|
2003-05-31 04:43:10 +00:00
|
|
|
#include <DNA_image_types.h>
|
2004-07-26 21:44:55 +00:00
|
|
|
#include <DNA_texture_types.h>
|
2003-06-26 02:03:51 +00:00
|
|
|
#include <DNA_text_types.h>
|
2003-07-27 15:56:32 +00:00
|
|
|
#include <DNA_world_types.h>
|
2004-07-26 21:44:55 +00:00
|
|
|
#include <DNA_key_types.h>
|
|
|
|
|
#include <DNA_sequence_types.h>
|
2004-04-19 06:57:41 +00:00
|
|
|
#include <DNA_action_types.h>
|
2004-07-26 21:44:55 +00:00
|
|
|
#include <DNA_constraint_types.h>
|
2003-03-15 19:14:16 +00:00
|
|
|
|
2003-03-08 18:10:20 +00:00
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* Global variables */
|
|
|
|
|
/*****************************************************************************/
|
2003-04-21 20:33:06 +00:00
|
|
|
extern PyObject *g_blenderdict;
|
2003-03-08 18:10:20 +00:00
|
|
|
|
2003-05-20 03:56:41 +00:00
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* Module Init functions and Data Object helper functions (used by the */
|
|
|
|
|
/* Object module to work with its .data field for the various Data objs */
|
|
|
|
|
/*****************************************************************************/
|
2004-09-25 20:30:40 +00:00
|
|
|
void M_Blender_Init( void );
|
2003-06-28 07:38:21 +00:00
|
|
|
|
2004-09-25 20:30:40 +00:00
|
|
|
void types_InitAll( void ); /* in Types.c */
|
2004-04-23 13:11:48 +00:00
|
|
|
|
2003-06-28 07:38:21 +00:00
|
|
|
/* sys */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *sys_Init( void );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
2003-09-03 04:13:08 +00:00
|
|
|
/* Registry */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Registry_Init( void );
|
2003-09-03 04:13:08 +00:00
|
|
|
|
2003-05-20 03:56:41 +00:00
|
|
|
/* Object itself */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Object_Init( void );
|
|
|
|
|
PyObject *Object_CreatePyObject( struct Object *obj );
|
|
|
|
|
Object *Object_FromPyObject( PyObject * py_obj );
|
|
|
|
|
int Object_CheckPyObject( PyObject * py_obj );
|
|
|
|
|
Object *GetObjectByName( char *name );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
2003-06-07 03:49:45 +00:00
|
|
|
/* Scene */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Scene_Init( void );
|
|
|
|
|
PyObject *Scene_CreatePyObject( struct Scene *sce );
|
|
|
|
|
Scene *Scene_FromPyObject( PyObject * pyobj );
|
|
|
|
|
int Scene_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
Scene *GetSceneByName( char *name );
|
2003-06-07 03:49:45 +00:00
|
|
|
|
2003-05-28 04:36:18 +00:00
|
|
|
/* Types */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Types_Init( void );
|
2003-05-28 04:36:18 +00:00
|
|
|
|
2003-05-20 03:56:41 +00:00
|
|
|
/* NMesh Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *NMesh_Init( void );
|
|
|
|
|
PyObject *NMesh_CreatePyObject( Mesh * me, Object * ob );
|
|
|
|
|
Mesh *Mesh_FromPyObject( PyObject * pyobj, Object * ob );
|
|
|
|
|
int NMesh_CheckPyObject( PyObject * pyobj );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
2003-05-28 04:36:18 +00:00
|
|
|
/* Material */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Material_Init( void );
|
|
|
|
|
PyObject *Material_CreatePyObject( struct Material *mat );
|
|
|
|
|
int Material_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
Material **EXPP_newMaterialList_fromPyList( PyObject * list );
|
|
|
|
|
Material **EXPP_newMaterialList( int len );
|
|
|
|
|
int EXPP_releaseMaterialList( Material ** matlist, int len );
|
|
|
|
|
int EXPP_synchronizeMaterialLists( Object * object );
|
|
|
|
|
void EXPP_incr_mats_us( Material ** matlist, int len );
|
|
|
|
|
PyObject *EXPP_PyList_fromMaterialList( Material ** matlist, int len,
|
|
|
|
|
int all );
|
|
|
|
|
Material *GetMaterialByName( char *name );
|
2003-05-28 04:36:18 +00:00
|
|
|
|
2003-11-23 17:46:06 +00:00
|
|
|
/* Texture */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Texture_Init( void );
|
2003-11-23 17:46:06 +00:00
|
|
|
|
2003-05-20 03:56:41 +00:00
|
|
|
/* Camera Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Camera_Init( void );
|
|
|
|
|
PyObject *Camera_CreatePyObject( struct Camera *cam );
|
|
|
|
|
Camera *Camera_FromPyObject( PyObject * pyobj );
|
|
|
|
|
int Camera_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
Camera *GetCameraByName( char *name );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
|
|
|
|
/* Lamp Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Lamp_Init( void );
|
|
|
|
|
PyObject *Lamp_CreatePyObject( struct Lamp *lamp );
|
|
|
|
|
Lamp *Lamp_FromPyObject( PyObject * pyobj );
|
|
|
|
|
int Lamp_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
Lamp *GetLampByName( char *name );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
|
|
|
|
/* Curve Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Curve_Init( void );
|
|
|
|
|
PyObject *Curve_CreatePyObject( struct Curve *curve );
|
|
|
|
|
Curve *Curve_FromPyObject( PyObject * py_obj );
|
|
|
|
|
int Curve_CheckPyObject( PyObject * py_obj );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
2003-05-29 04:00:35 +00:00
|
|
|
/* Armature Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Armature_Init( void );
|
|
|
|
|
PyObject *Armature_CreatePyObject( bArmature * armature );
|
|
|
|
|
bArmature *Armature_FromPyObject( PyObject * py_obj );
|
|
|
|
|
int Armature_CheckPyObject( PyObject * py_obj );
|
2003-05-29 04:00:35 +00:00
|
|
|
|
2003-06-05 18:03:46 +00:00
|
|
|
/* Ipo Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *BezTriple_CreatePyObject( BezTriple * bzt );
|
|
|
|
|
int BezTriple_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
BezTriple *BezTriple_FromPyObject( PyObject * pyobj );
|
2003-07-19 20:44:25 +00:00
|
|
|
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *IpoCurve_Init( void );
|
|
|
|
|
PyObject *IpoCurve_CreatePyObject( IpoCurve * ipo );
|
|
|
|
|
int IpoCurve_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
IpoCurve *IpoCurve_FromPyObject( PyObject * pyobj );
|
2003-07-20 18:06:06 +00:00
|
|
|
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Ipo_Init( void );
|
|
|
|
|
PyObject *Ipo_CreatePyObject( struct Ipo *ipo );
|
|
|
|
|
Ipo *Ipo_FromPyObject( PyObject * py_obj );
|
|
|
|
|
int Ipo_CheckPyObject( PyObject * py_obj );
|
2003-06-05 18:03:46 +00:00
|
|
|
|
|
|
|
|
/* Metaball Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Metaball_Init( void );
|
|
|
|
|
PyObject *Metaball_CreatePyObject( MetaBall * metaball );
|
|
|
|
|
MetaBall *Metaball_FromPyObject( PyObject * py_obj );
|
|
|
|
|
int Metaball_CheckPyObject( PyObject * py_obj );
|
2003-06-05 18:03:46 +00:00
|
|
|
|
2003-05-20 03:56:41 +00:00
|
|
|
/* Particle Effects Data */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Effect_Init( void );
|
|
|
|
|
PyObject *Effect_CreatePyObject( struct Effect *effect );
|
|
|
|
|
Effect *Effect_FromPyObject( PyObject * py_obj );
|
|
|
|
|
int Effect_CheckPyObject( PyObject * py_obj );
|
2003-05-20 03:56:41 +00:00
|
|
|
|
2003-05-31 04:43:10 +00:00
|
|
|
/* Image */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Image_Init( void );
|
|
|
|
|
PyObject *Image_CreatePyObject( Image * image );
|
|
|
|
|
int Image_CheckPyObject( PyObject * pyobj );
|
2003-05-31 04:43:10 +00:00
|
|
|
|
2003-06-26 02:03:51 +00:00
|
|
|
/* Text */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Text_Init( void );
|
|
|
|
|
PyObject *Text_CreatePyObject( Text * txt );
|
2003-06-26 02:03:51 +00:00
|
|
|
|
2003-07-27 15:56:32 +00:00
|
|
|
/* World */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *World_Init( void );
|
|
|
|
|
PyObject *World_CreatePyObject( struct World *world );
|
|
|
|
|
int World_CheckPyObject( PyObject * py_obj );
|
|
|
|
|
World *World_FromPyObject( PyObject * py_obj );
|
|
|
|
|
World *GetWorldByName( char *name );
|
2003-07-27 15:56:32 +00:00
|
|
|
|
2003-11-13 04:00:59 +00:00
|
|
|
/* Lattice */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Lattice_Init( void );
|
|
|
|
|
PyObject *Lattice_CreatePyObject( Lattice * lt );
|
|
|
|
|
Lattice *Lattice_FromPyObject( PyObject * pyobj );
|
|
|
|
|
int Lattice_CheckPyObject( PyObject * pyobj );
|
2003-11-13 04:00:59 +00:00
|
|
|
|
2004-04-03 13:59:27 +00:00
|
|
|
/* Noise */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Noise_Init( void );
|
2004-04-03 13:59:27 +00:00
|
|
|
|
2004-07-21 21:01:15 +00:00
|
|
|
/* CurNurb */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *CurNurb_Init( void );
|
|
|
|
|
PyObject *CurNurb_CreatePyObject( Nurb * bzt );
|
|
|
|
|
int CurNurb_CheckPyObject( PyObject * pyobj );
|
|
|
|
|
Nurb *CurNurb_FromPyObject( PyObject * pyobj );
|
2004-07-21 21:01:15 +00:00
|
|
|
|
2003-05-20 03:56:41 +00:00
|
|
|
/* Init functions for other modules */
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *Window_Init( void );
|
|
|
|
|
PyObject *Draw_Init( void );
|
|
|
|
|
PyObject *BGL_Init( void );
|
|
|
|
|
PyObject *Mathutils_Init( void );
|
|
|
|
|
PyObject *NLA_Init( void );
|
|
|
|
|
PyObject *Library_Init( void );
|
|
|
|
|
PyObject *Sound_Init( void );
|
|
|
|
|
PyObject *Theme_Init( void ); /* Window.Theme */
|
|
|
|
|
|
|
|
|
|
#endif /* EXPP_modules_h */
|