forked from bartvdbraak/blender
documentation - brief descriptions for bpy api files.
This commit is contained in:
parent
62f2218554
commit
2b939904ab
@ -22,12 +22,12 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy.c
|
/** \file blender/python/intern/bpy.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines the '_bpy' module which is used by python's 'bpy' package
|
||||||
|
* to access C defined builtin functions.
|
||||||
|
* A script writer should never directly access this module.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* This file defines the '_bpy' module which is used by python's 'bpy' package.
|
|
||||||
* a script writer should never directly access this module */
|
|
||||||
|
|
||||||
#define WITH_PYTHON /* for AUD_PyInit.h, possibly others */
|
#define WITH_PYTHON /* for AUD_PyInit.h, possibly others */
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_app.c
|
/** \file blender/python/intern/bpy_app.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines a 'PyStructSequence' accessed via 'bpy.app', mostly
|
||||||
|
* exposing static applications variables such as version and buildinfo
|
||||||
|
* however some writable variables have been added such as 'debug' and 'tempdir'
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_app_handlers.c
|
/** \file blender/python/intern/bpy_app_handlers.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines a 'PyStructSequence' accessed via 'bpy.app.handlers',
|
||||||
|
* which exposes various lists that the script author can add callback
|
||||||
|
* functions into (called via blenders generic BLI_cb api)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_driver.c
|
/** \file blender/python/intern/bpy_driver.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines the 'BPY_driver_exec' to execute python drivers,
|
||||||
|
* called by the animation system, there are also some utility functions
|
||||||
|
* to deal with the namespace used for driver execution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* ****************************************** */
|
/* ****************************************** */
|
||||||
|
@ -23,6 +23,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_interface.c
|
/** \file blender/python/intern/bpy_interface.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file deals with embedding the python interpreter within blender,
|
||||||
|
* starting and stopping python and exposing blender/python modules so they can
|
||||||
|
* be accesses from scripts.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_interface_atexit.c
|
/** \file blender/python/intern/bpy_interface_atexit.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file inserts an exit callback into pythons 'atexit' module.
|
||||||
|
* Without this sys.exit() can crash because blender is not properly closing
|
||||||
|
* resources.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_intern_string.c
|
/** \file blender/python/intern/bpy_intern_string.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* Store python versions of strings frequently used for python lookups
|
||||||
|
* to avoid converting, creating the hash and freeing every time as
|
||||||
|
* PyDict_GetItemString and PyObject_GetAttrString do.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
@ -22,6 +22,12 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_library.c
|
/** \file blender/python/intern/bpy_library.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file exposed blend file library appending/linking to python, typically
|
||||||
|
* this would be done via RNA api but in this case a hand written python api
|
||||||
|
* allows us to use pythons context manager (__enter__ and __exit__).
|
||||||
|
*
|
||||||
|
* Everything here is exposed via bpy.data.libraries.load(...) context manager.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* nifty feature. swap out strings for RNA data */
|
/* nifty feature. swap out strings for RNA data */
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
@ -24,6 +22,13 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_operator.c
|
/** \file blender/python/intern/bpy_operator.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines '_bpy.ops', an internal python module which gives python
|
||||||
|
* the ability to inspect and call both C and Python defined operators.
|
||||||
|
*
|
||||||
|
* \note
|
||||||
|
* This module is exposed to the user via 'release/scripts/modules/bpy/ops.py'
|
||||||
|
* which fakes exposing operators as modules/functions using its own classes.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,11 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_operator_wrap.c
|
/** \file blender/python/intern/bpy_operator_wrap.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file is so python can define operators that C can call into.
|
||||||
|
* The generic callback functions for python operators are defines in
|
||||||
|
* 'rna_wm.c', some calling into functions here to do python specific
|
||||||
|
* functionality.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_props.c
|
/** \file blender/python/intern/bpy_props.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines 'bpy.props' module used so scripts can define their own
|
||||||
|
* rna properties for use with python operators or adding new properties to
|
||||||
|
* existing blender types.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -254,7 +258,7 @@ static int bpy_prop_callback_assign(struct PropertyRNA *prop, PyObject *update_c
|
|||||||
{
|
{
|
||||||
/* assume this is already checked for type and arg length */
|
/* assume this is already checked for type and arg length */
|
||||||
if (update_cb) {
|
if (update_cb) {
|
||||||
PyObject **py_data= MEM_callocN(sizeof(PyObject *) * BPY_DATA_CB_SLOT_SIZE, "bpy_prop_callback_assign");
|
PyObject **py_data= MEM_callocN(sizeof(PyObject *) * BPY_DATA_CB_SLOT_SIZE, __func__);
|
||||||
RNA_def_property_update_runtime(prop, (void *)bpy_prop_update_cb);
|
RNA_def_property_update_runtime(prop, (void *)bpy_prop_update_cb);
|
||||||
py_data[BPY_DATA_CB_SLOT_UPDATE]= update_cb;
|
py_data[BPY_DATA_CB_SLOT_UPDATE]= update_cb;
|
||||||
RNA_def_py_data(prop, py_data);
|
RNA_def_py_data(prop, py_data);
|
||||||
|
@ -22,9 +22,14 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_rna.c
|
/** \file blender/python/intern/bpy_rna.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file is the main interface between python and blenders data api (RNA),
|
||||||
|
* exposing RNA to python so blender data can be accessed in a python like way.
|
||||||
|
*
|
||||||
|
* The two main types are 'BPy_StructRNA' and 'BPy_PropertyRNA' - the base
|
||||||
|
* classes for most of the data python accesses in blender.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
@ -6470,7 +6475,9 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
|
|||||||
const int is_operator= RNA_struct_is_a(ptr->type, &RNA_Operator);
|
const int is_operator= RNA_struct_is_a(ptr->type, &RNA_Operator);
|
||||||
const char *func_id= RNA_function_identifier(func);
|
const char *func_id= RNA_function_identifier(func);
|
||||||
/* testing, for correctness, not operator and not draw function */
|
/* testing, for correctness, not operator and not draw function */
|
||||||
const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !is_operator;
|
const short is_readonly= ((strncmp("draw", func_id, 4) ==0) || /* draw or draw_header */
|
||||||
|
/*strstr("render", func_id) ||*/
|
||||||
|
!is_operator);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
py_class= RNA_struct_py_type_get(ptr->type);
|
py_class= RNA_struct_py_type_get(ptr->type);
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_rna_anim.c
|
/** \file blender/python/intern/bpy_rna_anim.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines the animation related methods used in bpy_rna.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
@ -15,13 +15,15 @@
|
|||||||
* along with this program; if not, write to the Free Software Foundation,
|
* along with this program; if not, write to the Free Software Foundation,
|
||||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* Contributor(s): Arystanbek Dyussenov
|
* Contributor(s): Arystanbek Dyussenov, Campbell Barton
|
||||||
*
|
*
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** \file blender/python/intern/bpy_rna_array.c
|
/** \file blender/python/intern/bpy_rna_array.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file deals with array access for 'BPy_PropertyArrayRNA' from bpy_rna.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_rna_callback.c
|
/** \file blender/python/intern/bpy_rna_callback.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file currently exposes callbacks for interface regions but may be
|
||||||
|
* extended later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,6 +20,9 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_traceback.c
|
/** \file blender/python/intern/bpy_traceback.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file contains utility functions for getting data from a python stack
|
||||||
|
* trace.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/bpy_util.c
|
/** \file blender/python/intern/bpy_util.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file contains blender/python utility functions for the api's internal
|
||||||
|
* use (unrelated to 'bpy.utils')
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,6 +27,9 @@
|
|||||||
|
|
||||||
/** \file blender/python/intern/gpu.c
|
/** \file blender/python/intern/gpu.c
|
||||||
* \ingroup pythonintern
|
* \ingroup pythonintern
|
||||||
|
*
|
||||||
|
* This file defines the 'gpu' module, used to get GLSL shader code and data
|
||||||
|
* from blender materials.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* python redefines */
|
/* python redefines */
|
||||||
|
Loading…
Reference in New Issue
Block a user