blender/source/gameengine/Expressions
Campbell Barton fd2b115678 Python BGE API
- Initialize python types with PyType_Ready, which adds methods to the type dictionary.
- use Pythons get/setattro (uses a python string for the attribute rather then char*). Using basic C strings seems nice but internally python converts them to python strings and discards them for most functions that accept char arrays.
- Method lookups use the PyTypes dictionary (should be faster then Py_FindMethod)
- Renamed __getattr -> py_base_getattro, _getattr -> py_getattro, __repr -> py_base_repr, py_delattro, py_getattro_self etc.

From here is possible to put all the parent classes methods into each python types dictionary to avoid nested lookups (api has 4 levels of lookups in some places), tested this but its not ready yet.

Simple tests for getting a method within a loop show this to be between 0.5 and 3.2x faster then using Py_FindMethod()
2009-04-03 14:51:06 +00:00
..
BoolValue.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
BoolValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
CMakeLists.txt Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
ConstExpr.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
ConstExpr.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
EmptyValue.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
EmptyValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
ErrorValue.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
ErrorValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
EXP_C-Api.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
EXP_C-Api.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
Expression.cpp Various mem leaks related to CValue reference count fixed 2008-03-01 19:46:50 +00:00
Expression.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
FloatValue.cpp BGE patch 18368: Modulus (ie %) expression controller in BGE. Implement a cache for the expression for better performance. 2009-03-11 22:11:52 +00:00
FloatValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
IdentifierExpr.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
IdentifierExpr.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
IfExpr.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
IfExpr.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
InputParser.cpp BGE patch 18368: Modulus (ie %) expression controller in BGE. Implement a cache for the expression for better performance. 2009-03-11 22:11:52 +00:00
InputParser.h BGE patch 18368: Modulus (ie %) expression controller in BGE. Implement a cache for the expression for better performance. 2009-03-11 22:11:52 +00:00
IntValue.cpp BGE patch 18368: Modulus (ie %) expression controller in BGE. Implement a cache for the expression for better performance. 2009-03-11 22:11:52 +00:00
IntValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_HashedPtr.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_HashedPtr.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_Python_dynamic.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_Python_static.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_Python.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
ListValue.cpp Python BGE API 2009-04-03 14:51:06 +00:00
ListValue.h Python BGE API 2009-04-03 14:51:06 +00:00
Makefile converted my gen_utils.h fix to PyObjectPlus.h 2008-09-06 14:13:31 +00:00
Operator1Expr.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
Operator1Expr.h Synchronise game engine with Tuhopuu2 tree. 2004-04-24 06:40:15 +00:00
Operator2Expr.cpp Synchronise game engine with Tuhopuu2 tree. 2004-04-24 06:40:15 +00:00
Operator2Expr.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
PyObjectPlus.cpp Python BGE API 2009-04-03 14:51:06 +00:00
PyObjectPlus.h Python BGE API 2009-04-03 14:51:06 +00:00
SConscript SCons: 2009-02-15 23:26:00 +00:00
StringValue.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
StringValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
Value.cpp Python BGE API 2009-04-03 14:51:06 +00:00
Value.h Python BGE API 2009-04-03 14:51:06 +00:00
VectorValue.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
VectorValue.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
VoidValue.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00