This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/python/api2_2x/modules.h
Willian Padovani Germano 864e5640f7 * Applied a small fix to a bug reported by Guignot:
When a script that used setAttr for Camera Data objs (the bug also
    affected some other modules) was executed multiple times, Blender
    would crash after, let's say, the first 5 or 6 tries.  Problem, as
    Guignot pointed, was with reference counting.  Should be ok now, all
    affected modules were fixed.
* The Scene module is now "complete" (= 2.25).
* Made some necessary updates to Object and NMesh.
2003-06-09 04:01:48 +00:00

138 lines
4.8 KiB
C++

/*
*
* ***** 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.
*
* Contributor(s): Michel Selten, Willian P. Germano
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef EXPP_modules_h
#define EXPP_modules_h
#include <Python.h>
#include <DNA_scene_types.h>
#include <DNA_object_types.h>
#include <DNA_camera_types.h>
#include <DNA_lamp_types.h>
#include <DNA_curve_types.h>
#include <DNA_armature_types.h>
#include <DNA_ipo_types.h>
#include <DNA_effect_types.h>
#include <DNA_meta_types.h>
#include <DNA_image_types.h>
/*****************************************************************************/
/* Global variables */
/*****************************************************************************/
extern PyObject *g_blenderdict;
/*****************************************************************************/
/* Module Init functions and Data Object helper functions (used by the */
/* Object module to work with its .data field for the various Data objs */
/*****************************************************************************/
void M_Blender_Init (void);
/* Object itself */
PyObject * M_Object_Init (void);
PyObject * M_ObjectCreatePyObject (struct Object *obj);
int M_ObjectCheckPyObject (PyObject *py_obj);
struct Object * M_ObjectFromPyObject (PyObject *py_obj);
/* Scene */
PyObject * M_Scene_Init (void);
PyObject * Scene_CreatePyObject (struct Scene *sce);
Scene * Scene_FromPyObject (PyObject *pyobj);
int Scene_CheckPyObject (PyObject *pyobj);
/* Types */
PyObject * M_Types_Init (void);
/* NMesh Data */
PyObject * M_NMesh_Init (void);
PyObject * NMesh_CreatePyObject (struct Camera *cam);
Camera * NMesh_FromPyObject (PyObject *pyobj);
int NMesh_CheckPyObject (PyObject *pyobj);
/* Material */
PyObject * M_Material_Init (void);
/* Camera Data */
PyObject * M_Camera_Init (void);
PyObject * Camera_CreatePyObject (struct Camera *cam);
Camera * Camera_FromPyObject (PyObject *pyobj);
int Camera_CheckPyObject (PyObject *pyobj);
/* Lamp Data */
PyObject * M_Lamp_Init (void);
PyObject * Lamp_CreatePyObject (struct Lamp *lamp);
Lamp * Lamp_FromPyObject (PyObject *pyobj);
int Lamp_CheckPyObject (PyObject *pyobj);
/* Curve Data */
PyObject * M_Curve_Init (void);
PyObject * CurveCreatePyObject (struct Curve *curve);
struct Curve * CurveFromPyObject (PyObject *py_obj);
int CurveCheckPyObject (PyObject *py_obj);
/* Armature Data */
PyObject * M_Armature_Init (void);
PyObject * M_ArmatureCreatePyObject (bArmature *armature);
bArmature* M_ArmatureFromPyObject (PyObject *py_obj);
int M_ArmatureCheckPyObject (PyObject *py_obj);
/* Ipo Data */
PyObject * M_Ipo_Init (void);
PyObject * Ipo_CreatePyObject (struct Ipo *ipo);
struct Ipo * Ipo_FromPyObject (PyObject *py_obj);
int Ipo_CheckPyObject (PyObject *py_obj);
/* Metaball Data */
PyObject * M_Metaball_Init (void);
PyObject * Metaball_CreatePyObject (MetaBall *metaball);
struct MetaBall * Metaball_FromPyObject (PyObject *py_obj);
int Metaball_CheckPyObject (PyObject *py_obj);
/* Particle Effects Data */
PyObject * M_Effect_Init (void);
PyObject * Effect_CreatePyObject (struct Effect *effect);
struct Effect * Effect_FromPyObject (PyObject *py_obj);
int Effect_CheckPyObject (PyObject *py_obj);
/* Image */
PyObject * M_Image_Init (void);
PyObject * Image_CreatePyObject (Image *image);
int Image_CheckPyObject (PyObject *pyobj);
/* Init functions for other modules */
PyObject * M_Window_Init (void);
PyObject * M_Draw_Init (void);
PyObject * M_BGL_Init (void);
PyObject * M_Text_Init (void);
#endif /* EXPP_modules_h */