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/freestyle/intern/python/BPy_Freestyle.cpp

121 lines
3.3 KiB
C++
Raw Normal View History

#include "BPy_Freestyle.h"
#include "BPy_BBox.h"
#include "BPy_BinaryPredicate0D.h"
#include "BPy_BinaryPredicate1D.h"
#include "BPy_ContextFunctions.h"
2008-08-01 02:25:21 +00:00
#include "BPy_FrsMaterial.h"
#include "BPy_FrsNoise.h"
#include "BPy_Id.h"
#include "BPy_IntegrationType.h"
#include "BPy_Interface0D.h"
#include "BPy_Interface1D.h"
#include "BPy_Iterator.h"
#include "BPy_MediumType.h"
#include "BPy_Nature.h"
#include "BPy_Operators.h"
#include "BPy_SShape.h"
#include "BPy_StrokeAttribute.h"
#include "BPy_StrokeShader.h"
#include "BPy_UnaryFunction0D.h"
#include "BPy_UnaryFunction1D.h"
#include "BPy_UnaryPredicate0D.h"
#include "BPy_UnaryPredicate1D.h"
#include "BPy_ViewMap.h"
#include "BPy_ViewShape.h"
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////////////////
//static PyObject *Freestyle_testOutput( BPy_Freestyle * self );
static PyObject *Freestyle_getCurrentScene( PyObject *self );
/*-----------------------Freestyle module doc strings--------------------------*/
static char module_docstring[] = "The Blender Freestyle module\n\n";
/*-----------------------Freestyle module method def---------------------------*/
static PyMethodDef module_functions[] = {
// {"testOutput", ( PyCFunction ) Freestyle_testOutput, METH_NOARGS, "() - Return Curve Data name"},
{"getCurrentScene", ( PyCFunction ) Freestyle_getCurrentScene, METH_NOARGS, "() - Return the current scene."},
{NULL, NULL, 0, NULL}
};
/*-----------------------Freestyle module definition---------------------------*/
static PyModuleDef module_definition = {
PyModuleDef_HEAD_INIT,
"Freestyle",
module_docstring,
-1,
module_functions
};
//-------------------MODULE INITIALIZATION--------------------------------
PyObject *Freestyle_Init( void )
{
PyObject *module;
// initialize modules
module = PyModule_Create(&module_definition);
if (!module)
return NULL;
PyDict_SetItemString(PySys_GetObject("modules"), module_definition.m_name, module);
// attach its classes (adding the object types to the module)
// those classes have to be initialized before the others
MediumType_Init( module );
Nature_Init( module );
BBox_Init( module );
BinaryPredicate0D_Init( module );
BinaryPredicate1D_Init( module );
ContextFunctions_Init( module );
2008-08-01 02:25:21 +00:00
FrsMaterial_Init( module );
FrsNoise_Init( module );
Id_Init( module );
IntegrationType_Init( module );
Interface0D_Init( module );
Interface1D_Init( module );
Iterator_Init( module );
Operators_Init( module );
SShape_Init( module );
StrokeAttribute_Init( module );
StrokeShader_Init( module );
UnaryFunction0D_Init( module );
UnaryFunction1D_Init( module );
UnaryPredicate0D_Init( module );
UnaryPredicate1D_Init( module );
ViewMap_Init( module );
ViewShape_Init( module );
return module;
}
///////////////////////////////////////////////////////////////////////////////////////////
#include "FRS_freestyle.h"
#include "bpy_rna.h" /* pyrna_struct_CreatePyObject() */
static PyObject *Freestyle_getCurrentScene( PyObject *self )
{
if (!freestyle_scene) {
PyErr_SetString(PyExc_TypeError, "current scene not available");
return NULL;
}
PointerRNA ptr_scene;
RNA_pointer_create(NULL, &RNA_Scene, freestyle_scene, &ptr_scene);
return pyrna_struct_CreatePyObject(&ptr_scene);
}
#ifdef __cplusplus
}
#endif