Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/python/api2_2x/gen_library.c')
-rw-r--r--source/blender/python/api2_2x/gen_library.c332
1 files changed, 0 insertions, 332 deletions
diff --git a/source/blender/python/api2_2x/gen_library.c b/source/blender/python/api2_2x/gen_library.c
deleted file mode 100644
index 8673fefdbb5..00000000000
--- a/source/blender/python/api2_2x/gen_library.c
+++ /dev/null
@@ -1,332 +0,0 @@
-#include "gen_library.h"
-#include "gen_utils.h" /*This must come first*/
-
-/* use for GenericLib_getProperties */
-#include "BKE_idprop.h"
-#include "IDProp.h"
-
-#include "BKE_global.h"
-#include "BKE_main.h"
-#include "BKE_library.h"
-#include "BKE_curve.h"
-
-/* GenericLib */
-#include "World.h"
-#include "Font.h"
-#include "Metaball.h"
-#include "Curve.h"
-#include "Camera.h"
-#include "NLA.h"
-#include "Lattice.h"
-#include "Armature.h"
-#include "Lamp.h"
-#include "Text.h"
-#include "Text3d.h"
-#include "Sound.h"
-#include "Scene.h"
-#include "Mesh.h"
-#include "Group.h"
-#include "Object.h"
-#include "Texture.h"
-#include "Ipo.h"
-#include "DNA_object_types.h"
-#include "DNA_ipo_types.h"
-
-
-/* Generic get/set attrs */
-PyObject *GenericLib_getName( void *self )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnPyObjError( PyExc_RuntimeError, "data has been removed" ) );
- return PyString_FromString( id->name + 2 );
-}
-
-int GenericLib_setName( void *self, PyObject *value )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- char *name = NULL;
- if (!id) return ( EXPP_ReturnIntError( PyExc_RuntimeError, "data has been removed" ) );
-
- name = PyString_AsString ( value );
- if( !name )
- return EXPP_ReturnIntError( PyExc_TypeError,
- "expected string argument" );
-
- rename_id( id, name );
-
- return 0;
-}
-
-PyObject *GenericLib_getFakeUser( void *self )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnPyObjError( PyExc_RuntimeError, "data has been removed" ) );
- if (id->flag & LIB_FAKEUSER)
- Py_RETURN_TRUE;
- else
- Py_RETURN_FALSE;
-}
-
-int GenericLib_setFakeUser( void *self, PyObject *value )
-{
- int param;
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnIntError( PyExc_RuntimeError, "data has been removed" ) );
-
- param = PyObject_IsTrue( value );
- if( param == -1 )
- return EXPP_ReturnIntError( PyExc_TypeError,
- "expected True/False or 0/1" );
-
- if (param) {
- if (!(id->flag & LIB_FAKEUSER)) {
- id->flag |= LIB_FAKEUSER;
- id_us_plus(id);
- }
- } else {
- if (id->flag & LIB_FAKEUSER) {
- id->flag &= ~LIB_FAKEUSER;
- id->us--;
- }
- }
- return 0;
-}
-
-PyObject *GenericLib_getTag( void *self )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnPyObjError( PyExc_RuntimeError, "data has been removed" ) );
- if (id->flag & LIB_DOIT)
- Py_RETURN_TRUE;
- else
- Py_RETURN_FALSE;
-}
-
-int GenericLib_setTag( void *self, PyObject *value )
-{
- int param;
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnIntError( PyExc_RuntimeError, "data has been removed" ) );
-
- param = PyObject_IsTrue( value );
- if( param == -1 )
- return EXPP_ReturnIntError( PyExc_TypeError,
- "expected int argument in range [0,1]" );
-
- if (param)
- id->flag |= LIB_DOIT;
- else
- id->flag &= ~LIB_DOIT;
- return 0;
-}
-
-
-/* read only */
-PyObject *GenericLib_getLib( void *self )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnPyObjError( PyExc_RuntimeError, "data has been removed" ) );
-
- if (id->lib)
- return PyString_FromString(id->lib->name);
- else
- return EXPP_incr_ret( Py_None );
-}
-
-PyObject *GenericLib_getUsers( void *self )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnPyObjError( PyExc_RuntimeError, "data has been removed" ) );
- return PyInt_FromLong(id->us);
-}
-
-PyObject *GenericLib_getProperties( void *self )
-{
- ID *id = ((BPy_GenericLib *)self)->id;
- if (!id) return ( EXPP_ReturnPyObjError( PyExc_RuntimeError, "data has been removed" ) );
- return BPy_Wrap_IDProperty( id, IDP_GetProperties(id, 1), NULL );
-}
-
-/* use for any.setName("name")*/
-PyObject * GenericLib_setName_with_method( void *self, PyObject *args )
-{
- return EXPP_setterWrapper( (void *)self, args, (setter)GenericLib_setName );
-}
-
-
-/*
- * returns the Blender lib type code from a PyObject
- * -1 for no match, only give this function libdata
- *
- * At the moment this is only used by GenericLib_assignData
- * so not all types are needed.
- */
-short GenericLib_getType(PyObject * pydata)
-{
- //~ if (BPy_Scene_Check(pydata)) return ID_SCE;
- if (BPy_Object_Check(pydata)) return ID_OB;
- if (BPy_Mesh_Check(pydata)) return ID_ME;
- //~ if (BPy_Curve_Check(pydata)) return ID_CU;
- //~ if (BPy_Metaball_Check(pydata)) return ID_MB;
- //~ if (BPy_Material_Check(pydata)) return ID_MA;
- if (BPy_Texture_Check(pydata)) return ID_TE;
- //~ if (BPy_Image_Check(pydata)) return ID_IM;
- //~ //if (BPy_Lattice_Check(pydata)) return ID_LT;
- //~ if (BPy_Lamp_Check(pydata)) return ID_LA;
- //~ if (BPy_Camera_Check(pydata)) return ID_CA;
- if (BPy_Ipo_Check(pydata)) return ID_IP;
- if (BPy_World_Check(pydata)) return ID_WO;
- //~ //if (BPy_Font_Check(pydata)) return ID_VF;
- //~ if (BPy_Text_Check(pydata)) return ID_TXT;
- //~ if (BPy_Sound_Check(pydata)) return ID_SO;
- if (BPy_Group_Check(pydata)) return ID_GR;
- //~ if (BPy_Armature_Check(pydata)) return ID_AR;
- if (BPy_Action_Check(pydata)) return ID_AC;
-
- return -1;
-}
-
-
-/*
- * This function is used to assign a PyObject representing
- * blender libdata to a pointer.
- *
- * Python examples of this are...
- * ob.DupGroup = dupliGroup
- * mesh.texMesh = texme
- * ob.ipo = None
- *
- * This function deals with type checking, data usercounts,
- * and raising errors.
- *
- * value - python value
- * data - Blender pointer to assign value to
- * ndata - Use this if there is a value data cannot be.
- * for instance, a curve's curve modifier cant point to its self.
- * refcount - non zero values will modify blenders user count.
- * type - ID type.
- * subtype - used only for objects and IPO's to stop the wrong types of obs/ipos
- * being assigned.
- *
- */
-int GenericLib_assignData(PyObject *value, void **data, void **ndata, short refcount, short type, short subtype)
-{
- ID *id= NULL;
-
- if (*data) {
- id = ((ID*)*data);
-
- if (ndata && *data == *ndata) {
- return EXPP_ReturnIntError( PyExc_TypeError,
- "Cannot set this data to its self" );
- }
- }
-
- if (value == Py_None) {
- *data = NULL;
- if (refcount && id) id->us--;
- } else if (GenericLib_getType(value) == type) {
-
- /* object subtypes */
- if (subtype != 0) {
- if (type == ID_OB) {
- Object *ob= (Object *)(((BPy_GenericLib *)value)->id);
- if (ob->type != subtype)
- return EXPP_ReturnIntError( PyExc_TypeError,
- "Object type not supported" );
- }
-
- if (type == ID_IP) {
- Ipo *ipo = (Ipo *)(((BPy_GenericLib *)value)->id);
- if (ipo->blocktype != subtype)
- return EXPP_ReturnIntError( PyExc_TypeError,
- "Ipo type does is not compatible" );
- }
-
-
- }
- if (refcount && id) id->us--;
- id = ((BPy_GenericLib *)value)->id;
- id->us++;
- *data = id;
- } else {
- return EXPP_ReturnIntError( PyExc_TypeError,
- "Could not assign Python Type - None or Library Object" );
- }
- return 0;
-}
-
-
-/*
- * returns the ID of the object with given name
- * from a given list.
- */
-ID *GetIdFromList( ListBase * list, char *name )
-{
- ID *id = list->first;
-
- while( id ) {
- if( strcmp( name, id->name + 2 ) == 0 )
- break;
- id = id->next;
- }
-
- return id;
-}
-
-
-PyObject *GetPyObjectFromID( ID * id )
-{
- switch ( MAKE_ID2( id->name[0], id->name[1] ) ) {
- case ID_SCE:
- return Scene_CreatePyObject( ( Scene *) id );
- case ID_OB:
- return Object_CreatePyObject( (Object *) id );
- case ID_ME:
- return Mesh_CreatePyObject( (Mesh *)id, NULL );
- case ID_CU:
- switch (curve_type((Curve *)id)) {
- case OB_FONT:
- return Text3d_CreatePyObject( (Text3d *)id );
- default:
- return Curve_CreatePyObject( (Curve *)id );
- }
- case ID_MB:
- return Metaball_CreatePyObject((MetaBall *)id);
- case ID_MA:
- return Material_CreatePyObject((Material *)id);
- case ID_TE:
- return Texture_CreatePyObject((Tex *)id);
- case ID_IM:
- return Image_CreatePyObject((Image *)id);
- case ID_LT:
- return Lattice_CreatePyObject((Lattice *)id);
- case ID_LA:
- return Lamp_CreatePyObject((Lamp *)id);
- case ID_CA:
- return Camera_CreatePyObject((Camera *)id);
- case ID_IP:
- return Ipo_CreatePyObject((Ipo *)id);
- case ID_WO:
- return World_CreatePyObject((World *)id);
- case ID_VF:
- return Font_CreatePyObject((VFont *)id);
- case ID_TXT:
- return Text_CreatePyObject((Text *)id);
- case ID_SO:
- return Sound_CreatePyObject((bSound *)id);
- case ID_GR:
- return Group_CreatePyObject((Group *)id);
- case ID_AR:
- return Armature_CreatePyObject((bArmature *)id);
- case ID_AC:
- return Action_CreatePyObject((bAction *)id);
- }
- Py_RETURN_NONE;
-}
-
-long GenericLib_hash(BPy_GenericLib * pydata)
-{
- return (long)pydata->id;
-}
-