PyUnicode_From_STR_String utility function which passes STR_String to PyUnicode_FromStringAndSize (saves a call to strlen).
Also made CValue::ConvertKeysToPython use faster list creation and improved some of the macro formatting.
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
class BL_ActionActuator : public SCA_IActuator
|
||||
{
|
||||
public:
|
||||
Py_Header;
|
||||
Py_Header
|
||||
BL_ActionActuator(SCA_IObject* gameobj,
|
||||
const STR_String& propname,
|
||||
const STR_String& framepropname,
|
||||
@@ -70,8 +70,8 @@ public:
|
||||
|
||||
#ifdef WITH_PYTHON
|
||||
|
||||
KX_PYMETHOD_O(BL_ActionActuator,GetChannel);
|
||||
KX_PYMETHOD_DOC(BL_ActionActuator,setChannel);
|
||||
KX_PYMETHOD_O(BL_ActionActuator,GetChannel)
|
||||
KX_PYMETHOD_DOC(BL_ActionActuator,setChannel)
|
||||
|
||||
static PyObject* pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
|
||||
static int pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
class BL_ArmatureActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
public:
|
||||
BL_ArmatureActuator(SCA_IObject* gameobj,
|
||||
int type,
|
||||
|
||||
@@ -52,7 +52,7 @@ struct bPose;
|
||||
*/
|
||||
class BL_ArmatureConstraint : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
private:
|
||||
struct bConstraint* m_constraint;
|
||||
|
||||
@@ -51,7 +51,7 @@ class KX_BlenderSceneConverter;
|
||||
|
||||
class BL_ArmatureObject : public KX_GameObject
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
public:
|
||||
|
||||
double GetLastFrame ();
|
||||
|
||||
@@ -42,7 +42,7 @@ struct Key;
|
||||
class BL_ShapeActionActuator : public SCA_IActuator
|
||||
{
|
||||
public:
|
||||
Py_Header;
|
||||
Py_Header
|
||||
BL_ShapeActionActuator(SCA_IObject* gameobj,
|
||||
const STR_String& propname,
|
||||
const STR_String& framepropname,
|
||||
|
||||
@@ -24,19 +24,25 @@
|
||||
//extern int gRefCountExpr; // only for debugging purposes (detect mem.leaks)
|
||||
|
||||
|
||||
#define PLUGIN_DECLARE_SERIAL_EXPRESSION(class_name,base_class_name) \
|
||||
#define PLUGIN_DECLARE_SERIAL_EXPRESSION(class_name, base_class_name) \
|
||||
public: \
|
||||
virtual base_class_name * Copy() { return new class_name; } \
|
||||
virtual bool EdSerialize(CompressorArchive& arch,class CFactoryManager* facmgr,bool bIsStoring); \
|
||||
virtual bool EdIdSerialize(CompressorArchive& arch,class CFactoryManager* facmgr,bool bIsStoring) \
|
||||
{ \
|
||||
virtual base_class_name * Copy() { \
|
||||
return new class_name; \
|
||||
} \
|
||||
virtual bool EdSerialize(CompressorArchive& arch, \
|
||||
class CFactoryManager* facmgr, \
|
||||
bool bIsStoring); \
|
||||
virtual bool EdIdSerialize(CompressorArchive& arch, \
|
||||
class CFactoryManager* facmgr, \
|
||||
bool bIsStoring) \
|
||||
{ \
|
||||
if (bIsStoring) \
|
||||
{ \
|
||||
unsigned char exprID = GetExpressionID(); \
|
||||
arch << exprID; \
|
||||
} \
|
||||
return true; \
|
||||
} \
|
||||
} \
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
class CListValue : public CPropValue
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//PLUGIN_DECLARE_SERIAL (CListValue,CValue)
|
||||
|
||||
public:
|
||||
@@ -58,7 +58,7 @@ public:
|
||||
void Resize(int num);
|
||||
void SetValue(int i,CValue* val);
|
||||
CValue* GetValue(int i){ assertd(i < m_pValueArray.size()); return m_pValueArray[i];}
|
||||
int GetCount() { return m_pValueArray.size();};
|
||||
int GetCount() { return m_pValueArray.size(); }
|
||||
virtual const STR_String & GetText();
|
||||
|
||||
bool CheckEqual(CValue* first,CValue* second);
|
||||
|
||||
@@ -470,7 +470,7 @@ PyObject *PyObjectPlus::py_get_attrdef(PyObject *self_py, const PyAttributeDef *
|
||||
case KX_PYATTRIBUTE_TYPE_STRING:
|
||||
{
|
||||
STR_String *val = reinterpret_cast<STR_String*>(ptr);
|
||||
return PyUnicode_FromString(*val);
|
||||
return PyUnicode_From_STR_String(*val);
|
||||
}
|
||||
case KX_PYATTRIBUTE_TYPE_CHAR:
|
||||
{
|
||||
@@ -1171,6 +1171,11 @@ PyObject *PyObjectPlus::NewProxyPlus_Ext(PyObjectPlus *self, PyTypeObject *tp, v
|
||||
return self->m_proxy;
|
||||
}
|
||||
|
||||
PyObject *PyUnicode_From_STR_String(const STR_String& str)
|
||||
{
|
||||
return PyUnicode_FromStringAndSize(str.ReadPtr(), str.Length());
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/* deprecation warning management */
|
||||
|
||||
@@ -29,11 +29,12 @@
|
||||
* \ingroup expressions
|
||||
*/
|
||||
|
||||
#ifndef _PY_OBJECT_PLUS_H
|
||||
#define _PY_OBJECT_PLUS_H
|
||||
|
||||
/* for now keep weakrefs optional */
|
||||
#define USE_WEAKREFS
|
||||
|
||||
#ifndef _adr_py_lib_h_ // only process once,
|
||||
#define _adr_py_lib_h_ // even if multiply included
|
||||
|
||||
#ifndef __cplusplus // c++ only
|
||||
#error Must be compiled with C++
|
||||
@@ -45,10 +46,6 @@
|
||||
#include "SG_QList.h"
|
||||
#include <stddef.h>
|
||||
|
||||
/*------------------------------
|
||||
* Python defines
|
||||
------------------------------*/
|
||||
|
||||
#ifdef WITH_PYTHON
|
||||
#ifdef USE_MATHUTILS
|
||||
extern "C" {
|
||||
@@ -110,7 +107,7 @@ typedef struct PyObjectPlus_Proxy {
|
||||
#define BGE_PROXY_PYOWNS(_self) (((PyObjectPlus_Proxy *)_self)->py_owns)
|
||||
#define BGE_PROXY_PYREF(_self) (((PyObjectPlus_Proxy *)_self)->py_ref)
|
||||
#ifdef USE_WEAKREFS
|
||||
#define BGE_PROXY_WKREF(_self) (((PyObjectPlus_Proxy *)_self)->in_weakreflist)
|
||||
# define BGE_PROXY_WKREF(_self) (((PyObjectPlus_Proxy *)_self)->in_weakreflist)
|
||||
#endif
|
||||
|
||||
/* Note, sometimes we dont care what BGE type this is as long as its a proxy */
|
||||
@@ -125,44 +122,60 @@ typedef struct PyObjectPlus_Proxy {
|
||||
// AttributesPtr correspond to attributes of proxy generic pointer
|
||||
// each PyC++ class must be registered in KX_PythonInitTypes.cpp
|
||||
#define __Py_Header \
|
||||
public: \
|
||||
public: \
|
||||
static PyTypeObject Type; \
|
||||
static PyMethodDef Methods[]; \
|
||||
static PyAttributeDef Attributes[]; \
|
||||
virtual PyTypeObject *GetType(void) {return &Type;}; \
|
||||
virtual PyObject *GetProxy() {return GetProxyPlus_Ext(this, &Type, NULL);}; \
|
||||
virtual PyObject *NewProxy(bool py_owns) {return NewProxyPlus_Ext(this, &Type, NULL, py_owns);}; \
|
||||
virtual PyTypeObject *GetType(void) { \
|
||||
return &Type; \
|
||||
} \
|
||||
virtual PyObject *GetProxy() { \
|
||||
return GetProxyPlus_Ext(this, &Type, NULL); \
|
||||
} \
|
||||
virtual PyObject *NewProxy(bool py_owns) { \
|
||||
return NewProxyPlus_Ext(this, &Type, NULL, py_owns); \
|
||||
} \
|
||||
|
||||
// leave above line empty (macro)!
|
||||
// use this macro for class that use generic pointer in proxy
|
||||
// GetProxy() and NewProxy() must be defined to set the correct pointer in the proxy
|
||||
#define __Py_HeaderPtr \
|
||||
public: \
|
||||
public: \
|
||||
static PyTypeObject Type; \
|
||||
static PyMethodDef Methods[]; \
|
||||
static PyAttributeDef Attributes[]; \
|
||||
static PyAttributeDef AttributesPtr[]; \
|
||||
virtual PyTypeObject *GetType(void) {return &Type;}; \
|
||||
virtual PyTypeObject *GetType(void) { \
|
||||
return &Type; \
|
||||
} \
|
||||
virtual PyObject *GetProxy(); \
|
||||
virtual PyObject *NewProxy(bool py_owns); \
|
||||
|
||||
// leave above line empty (macro)!
|
||||
#ifdef WITH_CXX_GUARDEDALLOC
|
||||
#define Py_Header __Py_Header \
|
||||
void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, Type.tp_name); } \
|
||||
void operator delete(void *mem) { MEM_freeN(mem); } \
|
||||
void *operator new(size_t num_bytes) { \
|
||||
return MEM_mallocN(num_bytes, Type.tp_name); \
|
||||
} \
|
||||
void operator delete(void *mem) { \
|
||||
MEM_freeN(mem); \
|
||||
} \
|
||||
|
||||
#else
|
||||
#define Py_Header __Py_Header
|
||||
# define Py_Header __Py_Header
|
||||
#endif
|
||||
|
||||
#ifdef WITH_CXX_GUARDEDALLOC
|
||||
#define Py_HeaderPtr __Py_HeaderPtr \
|
||||
void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, Type.tp_name); } \
|
||||
void operator delete( void *mem ) { MEM_freeN(mem); } \
|
||||
void *operator new(size_t num_bytes) { \
|
||||
return MEM_mallocN(num_bytes, Type.tp_name); \
|
||||
} \
|
||||
void operator delete( void *mem ) { \
|
||||
MEM_freeN(mem); \
|
||||
} \
|
||||
|
||||
#else
|
||||
#define Py_HeaderPtr __Py_HeaderPtr
|
||||
# define Py_HeaderPtr __Py_HeaderPtr
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -182,62 +195,106 @@ typedef struct PyObjectPlus_Proxy {
|
||||
*/
|
||||
#define KX_PYMETHOD(class_name, method_name) \
|
||||
PyObject* Py##method_name(PyObject* args, PyObject* kwds); \
|
||||
static PyObject* sPy##method_name( PyObject* self, PyObject* args, PyObject* kwds) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "() - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(args, kwds); \
|
||||
}; \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self, PyObject* args, PyObject* kwds) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "() - " \
|
||||
BGE_PROXY_ERROR_MSG); \
|
||||
return NULL; \
|
||||
} \
|
||||
return((class_name*)BGE_PROXY_REF(self))->Py##method_name(args, kwds); \
|
||||
} \
|
||||
|
||||
#define KX_PYMETHOD_VARARGS(class_name, method_name) \
|
||||
PyObject* Py##method_name(PyObject* args); \
|
||||
static PyObject* sPy##method_name( PyObject* self, PyObject* args) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "() - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(args); \
|
||||
}; \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self, PyObject* args) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "() - " \
|
||||
BGE_PROXY_ERROR_MSG); return NULL; \
|
||||
} \
|
||||
return((class_name*)BGE_PROXY_REF(self))->Py##method_name(args); \
|
||||
} \
|
||||
|
||||
#define KX_PYMETHOD_NOARGS(class_name, method_name) \
|
||||
PyObject* Py##method_name(); \
|
||||
static PyObject* sPy##method_name( PyObject* self) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "() - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(); \
|
||||
}; \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "() - " \
|
||||
BGE_PROXY_ERROR_MSG); return NULL; \
|
||||
} \
|
||||
return((class_name*)BGE_PROXY_REF(self))->Py##method_name(); \
|
||||
} \
|
||||
|
||||
#define KX_PYMETHOD_O(class_name, method_name) \
|
||||
PyObject* Py##method_name(PyObject* value); \
|
||||
static PyObject* sPy##method_name( PyObject* self, PyObject* value) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "(value) - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(value); \
|
||||
}; \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self, PyObject* value) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "(value) - " \
|
||||
BGE_PROXY_ERROR_MSG); return NULL; \
|
||||
} \
|
||||
return((class_name*)BGE_PROXY_REF(self))->Py##method_name(value); \
|
||||
} \
|
||||
|
||||
#define KX_PYMETHOD_DOC(class_name, method_name) \
|
||||
PyObject* Py##method_name(PyObject* args, PyObject* kwds); \
|
||||
static PyObject* sPy##method_name( PyObject* self, PyObject* args, PyObject* kwds) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "(...) - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(args, kwds); \
|
||||
}; \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self, PyObject* args, PyObject* kwds) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "(...) - " \
|
||||
BGE_PROXY_ERROR_MSG); return NULL; \
|
||||
} \
|
||||
return((class_name*)BGE_PROXY_REF(self))->Py##method_name(args, kwds); \
|
||||
} \
|
||||
static const char method_name##_doc[]; \
|
||||
|
||||
#define KX_PYMETHOD_DOC_VARARGS(class_name, method_name) \
|
||||
PyObject* Py##method_name(PyObject* args); \
|
||||
static PyObject* sPy##method_name( PyObject* self, PyObject* args) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "(...) - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(args); \
|
||||
}; \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self, PyObject* args) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "(...) - " \
|
||||
BGE_PROXY_ERROR_MSG); \
|
||||
return NULL; \
|
||||
} \
|
||||
return((class_name*)BGE_PROXY_REF(self))->Py##method_name(args); \
|
||||
} \
|
||||
static const char method_name##_doc[]; \
|
||||
|
||||
#define KX_PYMETHOD_DOC_O(class_name, method_name) \
|
||||
PyObject* Py##method_name(PyObject* value); \
|
||||
static PyObject* sPy##method_name( PyObject* self, PyObject* value) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "(value) - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self, PyObject* value) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "(value) - " \
|
||||
BGE_PROXY_ERROR_MSG); \
|
||||
return NULL; \
|
||||
} \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(value); \
|
||||
}; \
|
||||
} \
|
||||
static const char method_name##_doc[]; \
|
||||
|
||||
#define KX_PYMETHOD_DOC_NOARGS(class_name, method_name) \
|
||||
PyObject* Py##method_name(); \
|
||||
static PyObject* sPy##method_name( PyObject* self) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { PyErr_SetString(PyExc_RuntimeError, #class_name "." #method_name "() - " BGE_PROXY_ERROR_MSG); return NULL; } \
|
||||
static PyObject* \
|
||||
sPy##method_name(PyObject* self) { \
|
||||
if(BGE_PROXY_REF(self)==NULL) { \
|
||||
PyErr_SetString(PyExc_RuntimeError, \
|
||||
#class_name "." #method_name "() - " \
|
||||
BGE_PROXY_ERROR_MSG); \
|
||||
return NULL; \
|
||||
} \
|
||||
return ((class_name*)BGE_PROXY_REF(self))->Py##method_name(); \
|
||||
}; \
|
||||
} \
|
||||
static const char method_name##_doc[]; \
|
||||
|
||||
|
||||
@@ -290,7 +347,7 @@ enum KX_PYATTRIBUTE_TYPE {
|
||||
KX_PYATTRIBUTE_TYPE_FUNCTION,
|
||||
KX_PYATTRIBUTE_TYPE_VECTOR,
|
||||
KX_PYATTRIBUTE_TYPE_FLAG,
|
||||
KX_PYATTRIBUTE_TYPE_CHAR,
|
||||
KX_PYATTRIBUTE_TYPE_CHAR
|
||||
};
|
||||
|
||||
enum KX_PYATTRIBUTE_ACCESS {
|
||||
@@ -480,22 +537,30 @@ typedef PyTypeObject * PyParentObject; // Define the PyParent Object
|
||||
|
||||
#ifdef WITH_CXX_GUARDEDALLOC
|
||||
#define Py_Header \
|
||||
public: \
|
||||
void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:PyObjectPlus"); } \
|
||||
void operator delete( void *mem ) { MEM_freeN(mem); } \
|
||||
public: \
|
||||
void *operator new(size_t num_bytes) { \
|
||||
return MEM_mallocN(num_bytes, "GE:PyObjectPlus"); \
|
||||
} \
|
||||
void operator delete( void *mem ) { \
|
||||
MEM_freeN(mem); \
|
||||
} \
|
||||
|
||||
#define Py_HeaderPtr \
|
||||
public: \
|
||||
void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:PyObjectPlusPtr"); } \
|
||||
void operator delete( void *mem ) { MEM_freeN(mem); } \
|
||||
public: \
|
||||
void *operator new(size_t num_bytes) { \
|
||||
return MEM_mallocN(num_bytes, "GE:PyObjectPlusPtr"); \
|
||||
} \
|
||||
void operator delete( void *mem ) { \
|
||||
MEM_freeN(mem); \
|
||||
} \
|
||||
|
||||
#else // WITH_CXX_GUARDEDALLOC
|
||||
|
||||
#define Py_Header \
|
||||
public: \
|
||||
public: \
|
||||
|
||||
#define Py_HeaderPtr \
|
||||
public: \
|
||||
public: \
|
||||
|
||||
#endif // WITH_CXX_GUARDEDALLOC
|
||||
|
||||
@@ -515,7 +580,7 @@ typedef PyTypeObject * PyParentObject; // Define the PyParent Object
|
||||
// possibility to use them at SCA_ILogicBrick, CValue and PyObjectPlus level.
|
||||
class PyObjectPlus : public SG_QList
|
||||
{ // The PyObjectPlus abstract class
|
||||
Py_Header; // Always start with Py_Header
|
||||
Py_Header // Always start with Py_Header
|
||||
|
||||
public:
|
||||
PyObjectPlus();
|
||||
@@ -580,6 +645,8 @@ public:
|
||||
|
||||
#ifdef WITH_PYTHON
|
||||
PyObject *py_getattr_dict(PyObject *pydict, PyObject *tp_dict);
|
||||
|
||||
PyObject *PyUnicode_From_STR_String(const STR_String& str);
|
||||
#endif
|
||||
|
||||
#endif // _adr_py_lib_h_
|
||||
#endif // _PY_OBJECT_PLUS_H
|
||||
|
||||
@@ -532,7 +532,7 @@ PyAttributeDef CValue::Attributes[] = {
|
||||
|
||||
PyObject * CValue::pyattr_get_name(void * self_v, const KX_PYATTRIBUTE_DEF * attrdef) {
|
||||
CValue * self = static_cast<CValue *> (self_v);
|
||||
return PyUnicode_FromString(self->GetName());
|
||||
return PyUnicode_From_STR_String(self->GetName());
|
||||
}
|
||||
|
||||
CValue* CValue::ConvertPythonToValue(PyObject* pyobj, const char *error_prefix)
|
||||
@@ -596,22 +596,24 @@ CValue* CValue::ConvertPythonToValue(PyObject* pyobj, const char *error_prefix)
|
||||
|
||||
}
|
||||
|
||||
PyObject* CValue::ConvertKeysToPython( void )
|
||||
PyObject* CValue::ConvertKeysToPython(void)
|
||||
{
|
||||
PyObject *pylist = PyList_New( 0 );
|
||||
PyObject *pystr;
|
||||
|
||||
if (m_pNamedPropertyArray)
|
||||
{
|
||||
PyObject *pylist= PyList_New(m_pNamedPropertyArray->size());
|
||||
Py_ssize_t i= 0;
|
||||
|
||||
std::map<STR_String,CValue*>::iterator it;
|
||||
for (it= m_pNamedPropertyArray->begin(); (it != m_pNamedPropertyArray->end()); it++)
|
||||
{
|
||||
pystr = PyUnicode_FromString( (*it).first );
|
||||
PyList_Append(pylist, pystr);
|
||||
Py_DECREF( pystr );
|
||||
}
|
||||
PyList_SET_ITEM(pylist, i++, PyUnicode_From_STR_String((*it).first));
|
||||
}
|
||||
|
||||
return pylist;
|
||||
}
|
||||
else {
|
||||
return PyList_New(0);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // WITH_PYTHON
|
||||
|
||||
@@ -200,7 +200,7 @@ public:
|
||||
class CValue : public PyObjectPlus
|
||||
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
public:
|
||||
enum AllocationTYPE {
|
||||
STACKVALUE = 0,
|
||||
@@ -319,7 +319,7 @@ public:
|
||||
|
||||
virtual const STR_String & GetText() = 0;
|
||||
virtual double GetNumber() = 0;
|
||||
double* ZeroVector() { return m_sZeroVec; };
|
||||
double* ZeroVector() { return m_sZeroVec; }
|
||||
virtual double* GetVector3(bool bGetTransformedVec = false);
|
||||
|
||||
virtual STR_String& GetName() = 0; // Retrieve the name of the value
|
||||
@@ -348,11 +348,11 @@ public:
|
||||
virtual bool IsSelected() { return m_ValFlags.Selected; }
|
||||
inline bool IsReleaseRequested() { return m_ValFlags.ReleaseRequested; }
|
||||
virtual bool IsVisible() { return m_ValFlags.Visible;}
|
||||
virtual void SetCustomFlag1(bool bCustomFlag) { m_ValFlags.CustomFlag1 = bCustomFlag;};
|
||||
virtual bool IsCustomFlag1() { return m_ValFlags.CustomFlag1;};
|
||||
virtual void SetCustomFlag1(bool bCustomFlag) { m_ValFlags.CustomFlag1 = bCustomFlag;}
|
||||
virtual bool IsCustomFlag1() { return m_ValFlags.CustomFlag1;}
|
||||
|
||||
virtual void SetCustomFlag2(bool bCustomFlag) { m_ValFlags.CustomFlag2 = bCustomFlag;};
|
||||
virtual bool IsCustomFlag2() { return m_ValFlags.CustomFlag2;};
|
||||
virtual void SetCustomFlag2(bool bCustomFlag) { m_ValFlags.CustomFlag2 = bCustomFlag;}
|
||||
virtual bool IsCustomFlag2() { return m_ValFlags.CustomFlag2;}
|
||||
|
||||
protected:
|
||||
virtual void DisableRefCount(); // Disable reference counting for this value
|
||||
@@ -381,15 +381,20 @@ private:
|
||||
//
|
||||
#define PLUGIN_DECLARE_SERIAL(class_name, root_base_class_name) \
|
||||
public: \
|
||||
virtual root_base_class_name * Copy() { return new class_name; } \
|
||||
virtual bool EdSerialize(CompressorArchive& arch,class CFactoryManager* facmgr,bool bIsStoring); \
|
||||
virtual bool EdIdSerialize(CompressorArchive& arch,class CFactoryManager* facmgr,bool bIsStoring) \
|
||||
{ \
|
||||
virtual root_base_class_name *Copy() { \
|
||||
return new class_name; \
|
||||
} \
|
||||
virtual bool EdSerialize(CompressorArchive& arch, \
|
||||
class CFactoryManager* facmgr, \
|
||||
bool bIsStoring); \
|
||||
virtual bool EdIdSerialize(CompressorArchive& arch, \
|
||||
class CFactoryManager* facmgr, \
|
||||
bool bIsStoring) \
|
||||
{ \
|
||||
if (bIsStoring) \
|
||||
arch.StoreString(#class_name); \
|
||||
\
|
||||
return false; \
|
||||
} \
|
||||
} \
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -424,7 +429,7 @@ public:
|
||||
//if (namefromprop.Length() > 0)
|
||||
// return namefromprop;
|
||||
return m_strNewName;
|
||||
}; // name of Value
|
||||
} // name of Value
|
||||
|
||||
protected:
|
||||
STR_String m_strNewName; // Identification
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
class SCA_2DFilterActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
private:
|
||||
vector<STR_String> m_propNames;
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
class SCA_ANDController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//virtual void Trigger(class SCA_LogicManager* logicmgr);
|
||||
public:
|
||||
SCA_ANDController(SCA_IObject* gameobj);
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
class SCA_ActuatorSensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
STR_String m_checkactname;
|
||||
bool m_lastresult;
|
||||
bool m_midresult;
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class SCA_AlwaysSensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
bool m_alwaysresult;
|
||||
public:
|
||||
SCA_AlwaysSensor(class SCA_EventManager* eventmgr,
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class SCA_DelaySensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
bool m_lastResult;
|
||||
bool m_repeat;
|
||||
int m_delay;
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
class SCA_ExpressionController : public SCA_IController
|
||||
{
|
||||
// Py_Header;
|
||||
// Py_Header
|
||||
STR_String m_exprText;
|
||||
CExpression* m_exprCache;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
*/
|
||||
class SCA_IController : public SCA_ILogicBrick
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
std::vector<class SCA_ISensor*> m_linkedsensors;
|
||||
std::vector<class SCA_IActuator*> m_linkedactuators;
|
||||
|
||||
@@ -43,7 +43,7 @@ class SCA_IScene;
|
||||
|
||||
class SCA_ILogicBrick : public CValue
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
SCA_IObject* m_gameobj;
|
||||
int m_Execute_Priority;
|
||||
|
||||
@@ -54,7 +54,7 @@ typedef std::vector<SCA_IObject *> SCA_ObjectList;
|
||||
class SCA_IObject : public CValue
|
||||
{
|
||||
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
protected:
|
||||
friend class KX_StateActuator;
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
*/
|
||||
class SCA_ISensor : public SCA_ILogicBrick
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
class SCA_EventManager* m_eventmgr;
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class SCA_JoystickSensor :public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/**
|
||||
* Axis 1-JOYAXIS_MAX, MUST be followed by m_axisf
|
||||
@@ -128,8 +128,8 @@ public:
|
||||
/* --------------------------------------------------------------------- */
|
||||
|
||||
/* Joystick Index */
|
||||
KX_PYMETHOD_DOC_NOARGS(SCA_JoystickSensor,GetButtonActiveList);
|
||||
KX_PYMETHOD_DOC_VARARGS(SCA_JoystickSensor,GetButtonStatus);
|
||||
KX_PYMETHOD_DOC_NOARGS(SCA_JoystickSensor,GetButtonActiveList)
|
||||
KX_PYMETHOD_DOC_VARARGS(SCA_JoystickSensor,GetButtonStatus)
|
||||
|
||||
static PyObject* pyattr_get_axis_values(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
|
||||
static PyObject* pyattr_get_axis_single(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
* exclusive. */
|
||||
class SCA_KeyboardSensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/**
|
||||
* the key this sensor is sensing for
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
class SCA_MouseSensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/**
|
||||
* Use SCA_IInputDevice values to encode the mouse mode for now.
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
class SCA_NANDController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//virtual void Trigger(class SCA_LogicManager* logicmgr);
|
||||
public:
|
||||
SCA_NANDController(SCA_IObject* gameobj);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
class SCA_NORController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//virtual void Trigger(class SCA_LogicManager* logicmgr);
|
||||
public:
|
||||
SCA_NORController(SCA_IObject* gameobj);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
class SCA_ORController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//virtual void Trigger(class SCA_LogicManager* logicmgr);
|
||||
public:
|
||||
SCA_ORController(SCA_IObject* gameobj);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
class SCA_PropertyActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
enum KX_ACT_PROP_MODE {
|
||||
KX_ACT_PROP_NODEF = 0,
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
class SCA_PropertySensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//class CExpression* m_rightexpr;
|
||||
int m_checktype;
|
||||
STR_String m_checkpropval;
|
||||
|
||||
@@ -164,7 +164,7 @@ void SCA_PythonController::SetNamespace(PyObject* pythondictionary)
|
||||
|
||||
/* Without __file__ set the sys.argv[0] is used for the filename
|
||||
* which ends up with lines from the blender binary being printed in the console */
|
||||
PyDict_SetItemString(m_pythondictionary, "__file__", PyUnicode_FromString(m_scriptName.Ptr()));
|
||||
PyDict_SetItemString(m_pythondictionary, "__file__", PyUnicode_From_STR_String(m_scriptName));
|
||||
|
||||
}
|
||||
#endif
|
||||
@@ -490,7 +490,7 @@ PyObject* SCA_PythonController::pyattr_get_script(void *self_v, const KX_PYATTRI
|
||||
// static_cast<void *>(dynamic_cast<Derived *>(obj)) - static_cast<void *>(obj)
|
||||
|
||||
SCA_PythonController* self= static_cast<SCA_PythonController*>(self_v);
|
||||
return PyUnicode_FromString(self->m_scriptText);
|
||||
return PyUnicode_From_STR_String(self->m_scriptText);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
class SCA_IObject;
|
||||
class SCA_PythonController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
#ifdef WITH_PYTHON
|
||||
struct _object * m_bytecode; /* SCA_PYEXEC_SCRIPT only */
|
||||
PyObject* m_function; /* SCA_PYEXEC_MODULE only */
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
class SCA_PythonKeyboard : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
private:
|
||||
class SCA_IInputDevice *m_keyboard;
|
||||
#ifdef WITH_PYTHON
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
class SCA_PythonMouse : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
private:
|
||||
class SCA_IInputDevice *m_mouse;
|
||||
class RAS_ICanvas *m_canvas;
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class SCA_RandomActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
/** Property to assign to */
|
||||
STR_String m_propname;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
class SCA_RandomSensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
unsigned int m_currentDraw;
|
||||
int m_iteration;
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
class SCA_XNORController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//virtual void Trigger(class SCA_LogicManager* logicmgr);
|
||||
public:
|
||||
SCA_XNORController(SCA_IObject* gameobj);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
class SCA_XORController : public SCA_IController
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//virtual void Trigger(class SCA_LogicManager* logicmgr);
|
||||
public:
|
||||
SCA_XORController(SCA_IObject* gameobj);
|
||||
|
||||
@@ -116,7 +116,7 @@ public:
|
||||
*/
|
||||
class BL_Shader : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
private:
|
||||
typedef std::vector<BL_Uniform*> BL_UniformVec;
|
||||
typedef std::vector<BL_DefUniform*> BL_UniformVecDef;
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
class KX_NetworkMessageActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
bool m_lastEvent;
|
||||
class NG_NetworkScene* m_networkscene; // needed for replication
|
||||
STR_String m_toPropName;
|
||||
|
||||
@@ -40,7 +40,7 @@ class NG_NetworkScene;
|
||||
class KX_NetworkMessageSensor : public SCA_ISensor
|
||||
{
|
||||
// note: Py_Header MUST BE the first listed here
|
||||
Py_Header;
|
||||
Py_Header
|
||||
NG_NetworkScene *m_NetworkScene;
|
||||
|
||||
// The subject we filter on.
|
||||
|
||||
@@ -40,7 +40,7 @@ struct bConstraint;
|
||||
|
||||
class KX_ArmatureSensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
//class CExpression* m_rightexpr;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -32,7 +32,7 @@ class KX_Scene;
|
||||
|
||||
class KX_BlenderMaterial : public PyObjectPlus, public RAS_IPolyMaterial
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
public:
|
||||
// --------------------------------
|
||||
KX_BlenderMaterial();
|
||||
|
||||
@@ -50,7 +50,7 @@ bool ConvertPythonToCamera(PyObject * value, KX_Camera **object, bool py_none_ok
|
||||
|
||||
class KX_Camera : public KX_GameObject
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
friend class KX_Scene;
|
||||
/** Camera parameters (clips distances, focal length). These
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
class KX_CameraActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
private :
|
||||
/** Object that will be tracked. */
|
||||
SCA_IObject *m_ob;
|
||||
|
||||
@@ -42,7 +42,7 @@ class KX_GameObject;
|
||||
|
||||
class KX_ConstraintActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
// Damp time (int),
|
||||
int m_posDampTime;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
class KX_ConstraintWrapper : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
public:
|
||||
KX_ConstraintWrapper(PHY_ConstraintType ctype,int constraintId,class PHY_IPhysicsEnvironment* physenv);
|
||||
virtual ~KX_ConstraintWrapper ();
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
class KX_FontObject : public KX_GameObject
|
||||
{
|
||||
public:
|
||||
Py_Header;
|
||||
Py_Header
|
||||
KX_FontObject( void* sgReplicationInfo,
|
||||
SG_Callbacks callbacks,
|
||||
RAS_IRenderTools* rendertools,
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
class KX_GameActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
int m_mode;
|
||||
bool m_restart;
|
||||
|
||||
@@ -1880,7 +1880,7 @@ PyTypeObject KX_GameObject::Type = {
|
||||
PyObject* KX_GameObject::pyattr_get_name(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||
{
|
||||
KX_GameObject* self= static_cast<KX_GameObject*>(self_v);
|
||||
return PyUnicode_FromString(self->GetName().ReadPtr());
|
||||
return PyUnicode_From_STR_String(self->GetName());
|
||||
}
|
||||
|
||||
PyObject* KX_GameObject::pyattr_get_parent(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||
|
||||
@@ -80,7 +80,7 @@ void KX_GameObject_Mathutils_Callback_Init(void);
|
||||
*/
|
||||
class KX_GameObject : public SCA_IObject
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
|
||||
bool m_bDyna;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
class KX_IpoActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
private:
|
||||
/** Computes the IPO start time from the current time
|
||||
and the current frame. */
|
||||
|
||||
@@ -44,7 +44,7 @@ class MT_Transform;
|
||||
|
||||
class KX_LightObject : public KX_GameObject
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
RAS_LightObject m_lightobj;
|
||||
class RAS_IRenderTools* m_rendertools; //needed for registering and replication of lightobj
|
||||
|
||||
@@ -129,7 +129,7 @@ PyObject* KX_MeshProxy::PyGetMaterialName(PyObject* args, PyObject* kwds)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return PyUnicode_FromString(matname.Ptr());
|
||||
return PyUnicode_From_STR_String(matname);
|
||||
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ PyObject* KX_MeshProxy::PyGetTextureName(PyObject* args, PyObject* kwds)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return PyUnicode_FromString(matname.Ptr());
|
||||
return PyUnicode_From_STR_String(matname);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ bool ConvertPythonToMesh(PyObject * value, class RAS_MeshObject **object, bool p
|
||||
|
||||
class KX_MeshProxy : public CValue
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
class RAS_MeshObject* m_meshobj;
|
||||
public:
|
||||
|
||||
@@ -47,7 +47,7 @@ class KX_RayCast;
|
||||
class KX_MouseFocusSensor : public SCA_MouseSensor
|
||||
{
|
||||
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ class MT_Transform;
|
||||
|
||||
class KX_NavMeshObject: public KX_GameObject
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
protected:
|
||||
dtStatNavMesh* m_navMesh;
|
||||
|
||||
@@ -41,7 +41,7 @@ struct PHY_CollData;
|
||||
|
||||
class KX_NearSensor : public KX_TouchSensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
float m_Margin;
|
||||
float m_ResetMargin;
|
||||
|
||||
@@ -80,7 +80,7 @@ struct KX_LocalFlags {
|
||||
|
||||
class KX_ObjectActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
MT_Vector3 m_force;
|
||||
MT_Vector3 m_torque;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
class KX_ParentActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/** Mode */
|
||||
int m_mode;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
class KX_PhysicsObjectWrapper : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
public:
|
||||
KX_PhysicsObjectWrapper(class PHY_IPhysicsController* ctrl,class PHY_IPhysicsEnvironment* physenv);
|
||||
virtual ~KX_PhysicsObjectWrapper();
|
||||
|
||||
@@ -216,13 +216,13 @@ KX_PYMETHODDEF_DOC_NOARGS(KX_PolyProxy, isCollider,
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_PolyProxy, getMaterialName,
|
||||
"getMaterialName() : returns the polygon material name, \"NoMaterial\" if no material\n")
|
||||
{
|
||||
return PyUnicode_FromString(m_polygon->GetMaterial()->GetPolyMaterial()->GetMaterialName());
|
||||
return PyUnicode_From_STR_String(m_polygon->GetMaterial()->GetPolyMaterial()->GetMaterialName());
|
||||
}
|
||||
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_PolyProxy, getTextureName,
|
||||
"getTexturelName() : returns the polygon texture name, \"NULL\" if no texture\n")
|
||||
{
|
||||
return PyUnicode_FromString(m_polygon->GetMaterial()->GetPolyMaterial()->GetTextureName());
|
||||
return PyUnicode_From_STR_String(m_polygon->GetMaterial()->GetPolyMaterial()->GetTextureName());
|
||||
}
|
||||
|
||||
KX_PYMETHODDEF_DOC(KX_PolyProxy, getVertexIndex,
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class KX_PolyProxy : public CValue
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
class RAS_Polygon* m_polygon;
|
||||
class RAS_MeshObject* m_mesh;
|
||||
|
||||
@@ -346,13 +346,13 @@ KX_PYMETHODDEF_DOC(KX_PolygonMaterial, activate, "activate(rasty, cachingInfo)")
|
||||
PyObject* KX_PolygonMaterial::pyattr_get_texture(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||
{
|
||||
KX_PolygonMaterial* self= static_cast<KX_PolygonMaterial*>(self_v);
|
||||
return PyUnicode_FromString(self->m_texturename.ReadPtr());
|
||||
return PyUnicode_From_STR_String(self->m_texturename);
|
||||
}
|
||||
|
||||
PyObject* KX_PolygonMaterial::pyattr_get_material(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||
{
|
||||
KX_PolygonMaterial* self= static_cast<KX_PolygonMaterial*>(self_v);
|
||||
return PyUnicode_FromString(self->m_materialname.ReadPtr());
|
||||
return PyUnicode_From_STR_String(self->m_materialname);
|
||||
}
|
||||
|
||||
/* this does not seem useful */
|
||||
|
||||
@@ -55,7 +55,7 @@ struct Image;
|
||||
*/
|
||||
class KX_PolygonMaterial : public PyObjectPlus, public RAS_IPolyMaterial
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
private:
|
||||
/** Blender texture face structure. */
|
||||
MTFace* m_tface;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
class KX_RadarSensor : public KX_NearSensor
|
||||
{
|
||||
protected:
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
float m_coneradius;
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ class KX_RayCast;
|
||||
|
||||
class KX_RaySensor : public SCA_ISensor
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
STR_String m_propertyname;
|
||||
bool m_bFindMaterial;
|
||||
bool m_bXRay;
|
||||
|
||||
@@ -45,7 +45,7 @@ class SCA_IScene;
|
||||
|
||||
class KX_SCA_AddObjectActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/// Time field: lifetime of the new object
|
||||
int m_timeProp;
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
class KX_SCA_DynamicActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
// dynamics operation to apply to the game object
|
||||
short m_dyn_operation;
|
||||
|
||||
@@ -41,7 +41,7 @@ class SCA_IScene;
|
||||
|
||||
class KX_SCA_EndObjectActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
SCA_IScene* m_scene;
|
||||
|
||||
public:
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
class KX_SCA_ReplaceMeshActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
// mesh reference (mesh to replace)
|
||||
RAS_MeshObject* m_mesh;
|
||||
|
||||
@@ -2117,7 +2117,7 @@ PySequenceMethods KX_Scene::Sequence = {
|
||||
PyObject* KX_Scene::pyattr_get_name(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||
{
|
||||
KX_Scene* self= static_cast<KX_Scene*>(self_v);
|
||||
return PyUnicode_FromString(self->GetName().ReadPtr());
|
||||
return PyUnicode_From_STR_String(self->GetName());
|
||||
}
|
||||
|
||||
PyObject* KX_Scene::pyattr_get_objects(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||
|
||||
@@ -101,7 +101,7 @@ class KX_ObstacleSimulation;
|
||||
* */
|
||||
class KX_Scene : public PyObjectPlus, public SCA_IScene
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
#ifdef WITH_PYTHON
|
||||
PyObject* m_attr_dict;
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class KX_SceneActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
int m_mode;
|
||||
// (restart) has become a toggle internally... not in the interface though
|
||||
|
||||
@@ -57,7 +57,7 @@ typedef struct KX_3DSoundSettings
|
||||
|
||||
class KX_SoundActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
bool m_isplaying;
|
||||
AUD_Reference<AUD_IFactory> m_sound;
|
||||
float m_volume;
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
*/
|
||||
class KX_StateActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/** Make visible? */
|
||||
enum {
|
||||
|
||||
@@ -47,7 +47,7 @@ const int MAX_PATH_LENGTH = 128;
|
||||
|
||||
class KX_SteeringActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/** Target object */
|
||||
KX_GameObject *m_target;
|
||||
|
||||
@@ -51,7 +51,7 @@ class KX_TouchEventManager;
|
||||
class KX_TouchSensor : public SCA_ISensor
|
||||
{
|
||||
protected:
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/**
|
||||
* The sensor should only look for objects with this property.
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
class KX_TrackToActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
// Object reference. Actually, we use the object's 'life'
|
||||
SCA_IObject* m_object;
|
||||
// 3d toggle
|
||||
|
||||
@@ -16,7 +16,7 @@ class PHY_IMotionState;
|
||||
///Python interface to physics vehicles (primarily 4-wheel cars and 2wheel bikes)
|
||||
class KX_VehicleWrapper : public PyObjectPlus
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
std::vector<PHY_IMotionState*> m_motionStates;
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class KX_VertexProxy : public CValue
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
protected:
|
||||
|
||||
class RAS_TexVert* m_vertex;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
class KX_VisibilityActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
Py_Header
|
||||
|
||||
/** Make visible? */
|
||||
bool m_visible;
|
||||
|
||||
Reference in New Issue
Block a user