2003-06-21 11:12:14 +00:00
|
|
|
/*
|
2004-09-25 20:30:40 +00:00
|
|
|
* $Id$
|
2003-06-21 11:12:14 +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.
|
|
|
|
|
*
|
|
|
|
|
* Contributor(s): Jacques Guignot
|
|
|
|
|
*
|
|
|
|
|
* ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef EXPP_WORLD_H
|
|
|
|
|
#define EXPP_WORLD_H
|
|
|
|
|
|
|
|
|
|
#include <Python.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "constant.h"
|
|
|
|
|
#include "gen_utils.h"
|
2003-06-27 07:46:29 +00:00
|
|
|
#include "bpy_types.h"
|
2003-10-28 00:29:37 +00:00
|
|
|
#include "modules.h"
|
2003-06-21 11:12:14 +00:00
|
|
|
|
2003-06-27 07:46:29 +00:00
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* Python API function prototypes for the World module. */
|
|
|
|
|
/*****************************************************************************/
|
2004-09-25 20:30:40 +00:00
|
|
|
static PyObject *M_World_New( PyObject * self, PyObject * args,
|
|
|
|
|
PyObject * keywords );
|
|
|
|
|
static PyObject *M_World_Get( PyObject * self, PyObject * args );
|
|
|
|
|
static PyObject *M_World_GetActive( PyObject * self );
|
2003-06-27 07:46:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* The following string definitions are used for documentation strings. */
|
|
|
|
|
/* In Python these will be written to the console when doing a */
|
|
|
|
|
/* Blender.World.__doc__ */
|
|
|
|
|
/*****************************************************************************/
|
2004-09-25 20:30:40 +00:00
|
|
|
static char M_World_doc[] = "The Blender World module\n\n\
|
2003-06-27 07:46:29 +00:00
|
|
|
This module provides access to **World Data** objects in Blender\n\n";
|
|
|
|
|
|
2004-09-25 20:30:40 +00:00
|
|
|
static char M_World_New_doc[] = "() - return a new World object";
|
2003-06-27 07:46:29 +00:00
|
|
|
|
2004-09-25 20:30:40 +00:00
|
|
|
static char M_World_Get_doc[] =
|
|
|
|
|
"(name) - return the world with the name 'name', \
|
2003-06-27 07:46:29 +00:00
|
|
|
returns None if not found.\n If 'name' is not specified, \
|
|
|
|
|
it returns a list of all worlds in the\ncurrent scene.";
|
2004-09-25 20:30:40 +00:00
|
|
|
static char M_World_GetActive_doc[] = "() - returns the current world, or \
|
2004-06-22 11:38:58 +00:00
|
|
|
None if the Scene has no world";
|
2003-06-27 07:46:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* Python method structure definition for Blender.World module: */
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
struct PyMethodDef M_World_methods[] = {
|
2004-09-25 20:30:40 +00:00
|
|
|
{"New", ( PyCFunction ) M_World_New, METH_VARARGS | METH_KEYWORDS,
|
|
|
|
|
M_World_New_doc},
|
|
|
|
|
{"Get", M_World_Get, METH_VARARGS, M_World_Get_doc},
|
|
|
|
|
{"GetActive", ( PyCFunction ) M_World_GetActive, METH_NOARGS,
|
|
|
|
|
M_World_GetActive_doc},
|
|
|
|
|
{"get", M_World_Get, METH_VARARGS, M_World_Get_doc},
|
|
|
|
|
{NULL, NULL, 0, NULL}
|
2003-06-27 07:46:29 +00:00
|
|
|
};
|
2003-06-21 11:12:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
2003-06-27 07:46:29 +00:00
|
|
|
/* Python BPy_World methods declarations: */
|
2003-06-21 11:12:14 +00:00
|
|
|
/*****************************************************************************/
|
2004-09-25 20:30:40 +00:00
|
|
|
static PyObject *World_getRange( BPy_World * self );
|
|
|
|
|
static PyObject *World_setRange( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getIpo( BPy_World * self );
|
|
|
|
|
static PyObject *World_setIpo( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_clearIpo( BPy_World * self );
|
|
|
|
|
static PyObject *World_getName( BPy_World * self );
|
|
|
|
|
static PyObject *World_setName( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getSkytype( BPy_World * self );
|
|
|
|
|
static PyObject *World_setSkytype( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getMistype( BPy_World * self );
|
|
|
|
|
static PyObject *World_setMistype( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getHor( BPy_World * self );
|
|
|
|
|
static PyObject *World_setHor( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getZen( BPy_World * self );
|
|
|
|
|
static PyObject *World_setZen( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getAmb( BPy_World * self );
|
|
|
|
|
static PyObject *World_setAmb( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getStar( BPy_World * self );
|
|
|
|
|
static PyObject *World_setStar( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getMist( BPy_World * self );
|
|
|
|
|
static PyObject *World_setMist( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_getScriptLinks( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_addScriptLink( BPy_World * self, PyObject * args );
|
|
|
|
|
static PyObject *World_clearScriptLinks( BPy_World * self );
|
|
|
|
|
static PyObject *World_makeActive( BPy_World * self );
|
2003-06-21 11:12:14 +00:00
|
|
|
|
2003-06-27 07:46:29 +00:00
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* Python BPy_World methods table: */
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
static PyMethodDef BPy_World_methods[] = {
|
2004-09-25 20:30:40 +00:00
|
|
|
{"getRange", ( PyCFunction ) World_getRange, METH_NOARGS,
|
|
|
|
|
"() - Return World Range"},
|
|
|
|
|
{"setRange", ( PyCFunction ) World_setRange, METH_VARARGS,
|
|
|
|
|
"() - Change this World's range"},
|
|
|
|
|
{"getIpo", ( PyCFunction ) World_getIpo, METH_NOARGS,
|
|
|
|
|
"() - Return World Ipo"},
|
|
|
|
|
{"setIpo", ( PyCFunction ) World_setIpo, METH_VARARGS,
|
|
|
|
|
"() - Change this World's ipo"},
|
|
|
|
|
{"clearIpo", ( PyCFunction ) World_clearIpo, METH_VARARGS,
|
|
|
|
|
"() - Unlink Ipo from this World"},
|
|
|
|
|
{"getName", ( PyCFunction ) World_getName, METH_NOARGS,
|
|
|
|
|
"() - Return World Data name"},
|
|
|
|
|
{"setName", ( PyCFunction ) World_setName, METH_VARARGS,
|
|
|
|
|
"() - Return World Data name"},
|
|
|
|
|
{"getSkytype", ( PyCFunction ) World_getSkytype, METH_NOARGS,
|
|
|
|
|
"() - Return World Data skytype"},
|
|
|
|
|
{"setSkytype", ( PyCFunction ) World_setSkytype, METH_VARARGS,
|
|
|
|
|
"() - Return World Data skytype"},
|
|
|
|
|
{"getMistype", ( PyCFunction ) World_getMistype, METH_NOARGS,
|
|
|
|
|
"() - Return World Data mistype"},
|
|
|
|
|
{"setMistype", ( PyCFunction ) World_setMistype, METH_VARARGS,
|
|
|
|
|
"() - Return World Data mistype"},
|
|
|
|
|
{"getHor", ( PyCFunction ) World_getHor, METH_NOARGS,
|
|
|
|
|
"() - Return World Data hor"},
|
|
|
|
|
{"setHor", ( PyCFunction ) World_setHor, METH_VARARGS,
|
|
|
|
|
"() - Return World Data hor"},
|
|
|
|
|
{"getZen", ( PyCFunction ) World_getZen, METH_NOARGS,
|
|
|
|
|
"() - Return World Data zen"},
|
|
|
|
|
{"setZen", ( PyCFunction ) World_setZen, METH_VARARGS,
|
|
|
|
|
"() - Return World Data zen"},
|
|
|
|
|
{"getAmb", ( PyCFunction ) World_getAmb, METH_NOARGS,
|
|
|
|
|
"() - Return World Data amb"},
|
|
|
|
|
{"setAmb", ( PyCFunction ) World_setAmb, METH_VARARGS,
|
|
|
|
|
"() - Return World Data amb"},
|
|
|
|
|
{"getStar", ( PyCFunction ) World_getStar, METH_NOARGS,
|
|
|
|
|
"() - Return World Data star"},
|
|
|
|
|
{"setStar", ( PyCFunction ) World_setStar, METH_VARARGS,
|
|
|
|
|
"() - Return World Data star"},
|
|
|
|
|
{"getMist", ( PyCFunction ) World_getMist, METH_NOARGS,
|
|
|
|
|
"() - Return World Data mist"},
|
|
|
|
|
{"setMist", ( PyCFunction ) World_setMist, METH_VARARGS,
|
|
|
|
|
"() - Return World Data mist"},
|
|
|
|
|
{"getScriptLinks", ( PyCFunction ) World_getScriptLinks, METH_VARARGS,
|
|
|
|
|
"(eventname) - Get a list of this world's scriptlinks (Text names) "
|
|
|
|
|
"of the given type\n"
|
|
|
|
|
"(eventname) - string: FrameChanged or Redraw."},
|
|
|
|
|
{"addScriptLink", ( PyCFunction ) World_addScriptLink, METH_VARARGS,
|
|
|
|
|
"(text, evt) - Add a new world scriptlink.\n"
|
|
|
|
|
"(text) - string: an existing Blender Text name;\n"
|
|
|
|
|
"(evt) string: FrameChanged or Redraw."},
|
|
|
|
|
{"clearScriptLinks", ( PyCFunction ) World_clearScriptLinks,
|
|
|
|
|
METH_NOARGS,
|
|
|
|
|
"() - Delete all scriptlinks from this world :)."},
|
|
|
|
|
{"makeActive", ( PyCFunction ) World_makeActive, METH_NOARGS,
|
|
|
|
|
"() - Makes this world the active world for the current scene."},
|
|
|
|
|
{NULL, NULL, 0, NULL}
|
2003-06-27 07:46:29 +00:00
|
|
|
};
|
2003-06-21 11:12:14 +00:00
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
/* Python World_Type helper functions needed by Blender (the Init function) */
|
|
|
|
|
/* and Object modules. */
|
|
|
|
|
/*****************************************************************************/
|
2004-09-25 20:30:40 +00:00
|
|
|
PyObject *World_Init( void );
|
|
|
|
|
PyObject *World_CreatePyObject( World * world );
|
|
|
|
|
World *World_FromPyObject( PyObject * pyobj );
|
|
|
|
|
int World_CheckPyObject( PyObject * pyobj );
|
2003-06-21 11:12:14 +00:00
|
|
|
|
|
|
|
|
|
2004-09-25 20:30:40 +00:00
|
|
|
#endif /* EXPP_WORLD_H */
|