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,
|
2004-06-24 09:43:13 +00:00
|
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
2003-02-26 19:22:24 +00:00
|
|
|
*
|
|
|
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* This is a new part of Blender.
|
|
|
|
|
*
|
2004-02-29 13:20:34 +00:00
|
|
|
* Contributor(s): Michel Selten, Willian P. Germano, Alex Mole, Joseph Gilbert
|
2003-02-26 19:22:24 +00:00
|
|
|
*
|
|
|
|
|
* ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
|
|
|
*/
|
|
|
|
|
|
2003-05-17 04:29:49 +00:00
|
|
|
#ifndef EXPP_gen_utils_h
|
|
|
|
|
#define EXPP_gen_utils_h
|
|
|
|
|
|
2003-05-31 04:43:10 +00:00
|
|
|
#include <Python.h>
|
2003-12-14 01:18:09 +00:00
|
|
|
#include "compile.h"
|
|
|
|
|
#include "eval.h" /* for PyEval_GetLocals */
|
2003-05-17 04:29:49 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <string.h>
|
2003-03-15 19:14:16 +00:00
|
|
|
|
2003-05-17 04:29:49 +00:00
|
|
|
#include <BKE_global.h>
|
|
|
|
|
#include <BKE_main.h>
|
2004-01-21 04:38:03 +00:00
|
|
|
#include <BPI_script.h>
|
|
|
|
|
|
2003-03-15 19:14:16 +00:00
|
|
|
#include <DNA_ID.h>
|
2003-05-17 04:29:49 +00:00
|
|
|
#include <DNA_object_types.h>
|
2003-05-31 04:43:10 +00:00
|
|
|
#include <DNA_material_types.h>
|
2003-05-17 04:29:49 +00:00
|
|
|
#include <DNA_scriptlink_types.h>
|
|
|
|
|
#include <DNA_listBase.h>
|
2003-03-15 19:14:16 +00:00
|
|
|
|
2004-02-29 13:20:34 +00:00
|
|
|
#define Py_PI 3.14159265358979323846
|
|
|
|
|
|
2003-11-23 17:46:06 +00:00
|
|
|
int StringEqual (const char * string1, const char * string2);
|
2003-03-15 19:14:16 +00:00
|
|
|
char * GetIdName (ID *id);
|
2003-05-17 04:29:49 +00:00
|
|
|
ID *GetIdFromList(ListBase *list, char *name);
|
|
|
|
|
|
2003-05-28 04:36:18 +00:00
|
|
|
PyObject *PythonReturnErrorObject (PyObject * type, char * error_msg);
|
|
|
|
|
PyObject *PythonIncRef (PyObject *object);
|
2003-05-17 04:29:49 +00:00
|
|
|
|
2003-05-08 03:06:46 +00:00
|
|
|
char * event_to_name (short event);
|
2003-05-17 04:29:49 +00:00
|
|
|
|
2003-05-08 03:06:46 +00:00
|
|
|
float EXPP_ClampFloat (float value, float min, float max);
|
2004-06-24 09:43:13 +00:00
|
|
|
int EXPP_ClampInt (int value, int min, int max);
|
2003-05-17 04:29:49 +00:00
|
|
|
|
2003-05-28 04:36:18 +00:00
|
|
|
PyObject *EXPP_incr_ret (PyObject *object);
|
2003-05-08 03:06:46 +00:00
|
|
|
PyObject *EXPP_ReturnPyObjError (PyObject * type, char * error_msg);
|
2003-05-28 04:36:18 +00:00
|
|
|
int EXPP_ReturnIntError (PyObject *type, char *error_msg);
|
2003-02-26 19:22:24 +00:00
|
|
|
|
2003-05-17 04:29:49 +00:00
|
|
|
int EXPP_check_sequence_consistency (PyObject *seq, PyTypeObject *against);
|
2003-06-22 20:14:11 +00:00
|
|
|
PyObject *EXPP_tuple_repr(PyObject *self, int size);
|
2003-05-17 04:29:49 +00:00
|
|
|
|
2003-11-23 17:46:06 +00:00
|
|
|
/* mapping utilities - see Texture.c for an example of how to use these */
|
|
|
|
|
typedef struct {
|
2004-06-24 09:43:13 +00:00
|
|
|
const char *sval;
|
|
|
|
|
int ival;
|
2003-11-23 17:46:06 +00:00
|
|
|
} EXPP_map_pair;
|
|
|
|
|
|
|
|
|
|
/* maps must end with a pair that has NULL as sval */
|
|
|
|
|
int EXPP_map_getIntVal (const EXPP_map_pair *map,
|
2004-06-24 09:43:13 +00:00
|
|
|
const char *sval, int *ival);
|
2003-11-23 17:46:06 +00:00
|
|
|
int EXPP_map_getShortVal (const EXPP_map_pair *map,
|
2004-06-24 09:43:13 +00:00
|
|
|
const char *sval, short *ival);
|
2003-11-23 17:46:06 +00:00
|
|
|
int EXPP_map_getStrVal (const EXPP_map_pair *map,
|
2004-06-24 09:43:13 +00:00
|
|
|
int ival, const char **sval);
|
|
|
|
|
|
|
|
|
|
/* scriplinks-related: */
|
|
|
|
|
PyObject *EXPP_getScriptLinks (ScriptLink *slink, PyObject *args, int is_scene);
|
|
|
|
|
int EXPP_clearScriptLinks (ScriptLink *slink);
|
|
|
|
|
int EXPP_addScriptLink (ScriptLink *slink, PyObject *args, int is_scene);
|
2003-11-23 17:46:06 +00:00
|
|
|
|
2003-05-17 04:29:49 +00:00
|
|
|
#endif /* EXPP_gen_utils_h */
|