Changeset View
Changeset View
Standalone View
Standalone View
source/gameengine/Ketsji/KX_GameObject.h
| Context not available. | |||||
| #include "SG_Node.h" | #include "SG_Node.h" | ||||
| #include "MT_Transform.h" | #include "MT_Transform.h" | ||||
| #include "MT_CmMatrix4x4.h" | #include "MT_CmMatrix4x4.h" | ||||
| #include "CTR_Map.h" | |||||
| #include "CTR_HashedPtr.h" | |||||
| #include "KX_Scene.h" | #include "KX_Scene.h" | ||||
| #include "KX_KetsjiEngine.h" /* for m_anim_framerate */ | #include "KX_KetsjiEngine.h" /* for m_anim_framerate */ | ||||
| #include "DNA_constraint_types.h" /* for constraint replication */ | #include "DNA_constraint_types.h" /* for constraint replication */ | ||||
| Context not available. | |||||
| //Forward declarations. | //Forward declarations. | ||||
| struct KX_ClientObjectInfo; | struct KX_ClientObjectInfo; | ||||
| class KX_RayCast; | class KX_RayCast; | ||||
| class KX_LodManager; | |||||
| class RAS_MeshObject; | class RAS_MeshObject; | ||||
| class RAS_MeshUser; | |||||
| class PHY_IGraphicController; | class PHY_IGraphicController; | ||||
| class PHY_IPhysicsEnvironment; | class PHY_IPhysicsEnvironment; | ||||
| class PHY_IPhysicsController; | class PHY_IPhysicsController; | ||||
| class BL_ActionManager; | class BL_ActionManager; | ||||
| struct Object; | struct Object; | ||||
| class KX_ObstacleSimulation; | class KX_ObstacleSimulation; | ||||
| class KX_CollisionContactPointList; | |||||
| struct bAction; | struct bAction; | ||||
| #ifdef WITH_PYTHON | #ifdef WITH_PYTHON | ||||
| Context not available. | |||||
| Py_Header | Py_Header | ||||
| protected: | protected: | ||||
| bool m_bDyna; | |||||
| KX_ClientObjectInfo* m_pClient_info; | KX_ClientObjectInfo* m_pClient_info; | ||||
| STR_String m_name; | std::string m_name; | ||||
| STR_String m_text; | std::string m_text; | ||||
| int m_layer; | int m_layer; | ||||
| std::vector<RAS_MeshObject*> m_meshes; | std::vector<RAS_MeshObject*> m_meshes; | ||||
| std::vector<RAS_MeshObject*> m_lodmeshes; | KX_LodManager *m_lodManager; | ||||
| int m_currentLodLevel; | short m_currentLodLevel; | ||||
| short m_previousLodLevel; | RAS_MeshUser *m_meshUser; | ||||
| SG_QList m_meshSlots; // head of mesh slots of this | |||||
| struct Object* m_pBlenderObject; | struct Object* m_pBlenderObject; | ||||
| struct Object* m_pBlenderGroupObject; | struct Object* m_pBlenderGroupObject; | ||||
| bool m_bUseObjectColor; | |||||
| bool m_bIsNegativeScaling; | bool m_bIsNegativeScaling; | ||||
| MT_Vector4 m_objectColor; | MT_Vector4 m_objectColor; | ||||
| Context not available. | |||||
| bool m_bCulled; | bool m_bCulled; | ||||
| bool m_bOccluder; | bool m_bOccluder; | ||||
| bool m_autoUpdateBounds; | |||||
| PHY_IPhysicsController* m_pPhysicsController; | PHY_IPhysicsController* m_pPhysicsController; | ||||
| PHY_IGraphicController* m_pGraphicController; | PHY_IGraphicController* m_pGraphicController; | ||||
| SG_Node* m_pSGNode; | SG_Node* m_pSGNode; | ||||
| MT_CmMatrix4x4 m_OpenGL_4x4Matrix; | MT_CmMatrix4x4 m_OpenGL_4x4Matrix; | ||||
| std::vector<bRigidBodyJointConstraint*> m_constraints; | |||||
| KX_ObstacleSimulation* m_pObstacleSimulation; | CListValue *m_components; | ||||
| std::vector<bRigidBodyJointConstraint*> m_constraints; | |||||
| CListValue* m_pInstanceObjects; | CListValue* m_pInstanceObjects; | ||||
| KX_GameObject* m_pDupliGroupObject; | KX_GameObject* m_pDupliGroupObject; | ||||
| Context not available. | |||||
| BL_ActionManager* m_actionManager; | BL_ActionManager* m_actionManager; | ||||
| BL_ActionManager* GetActionManager(); | BL_ActionManager* GetActionManager(); | ||||
| bool m_bRecordAnimation; | |||||
| public: | public: | ||||
| bool m_isDeformable; | |||||
| /** | /** | ||||
| * KX_GameObject custom infos for ray cast, it contains property name, | * KX_GameObject custom infos for ray cast, it contains property name, | ||||
| * collision mask, xray flag and hited object. | * collision mask, xray flag and hited object. | ||||
| Context not available. | |||||
| virtual void /* This function should be virtual - derived classed override it */ | virtual void /* This function should be virtual - derived classed override it */ | ||||
| Relink( | Relink( | ||||
| CTR_Map<CTR_HashedPtr, void*> *map | std::map<void *, void *>& map | ||||
| ); | ); | ||||
| /** | /** | ||||
| Context not available. | |||||
| /** | /** | ||||
| * Sets the parent of this object to a game object | * Sets the parent of this object to a game object | ||||
| */ | */ | ||||
| void SetParent(KX_Scene *scene, KX_GameObject *obj, bool addToCompound=true, bool ghost=true); | void SetParent(KX_GameObject *obj, bool addToCompound=true, bool ghost=true); | ||||
| /** | /** | ||||
| * Removes the parent of this object to a game object | * Removes the parent of this object to a game object | ||||
| */ | */ | ||||
| void RemoveParent(KX_Scene *scene); | void RemoveParent(); | ||||
| /********************************* | /********************************* | ||||
| * group reference API | * group reference API | ||||
| Context not available. | |||||
| /** | /** | ||||
| * Adds an action to the object's action manager | * Adds an action to the object's action manager | ||||
| */ | */ | ||||
| bool PlayAction(const char* name, | bool PlayAction(const std::string& name, | ||||
| float start, | float start, | ||||
| float end, | float end, | ||||
| short layer=0, | short layer=0, | ||||
| Context not available. | |||||
| /** | /** | ||||
| * Gets the name of the current action | * Gets the name of the current action | ||||
| */ | */ | ||||
| const char *GetActionName(short layer); | const std::string GetActionName(short layer); | ||||
| /** | /** | ||||
| * Sets the current frame of an action | * Sets the current frame of an action | ||||
| Context not available. | |||||
| /** | /** | ||||
| * Kick the object's action manager | * Kick the object's action manager | ||||
| * \param curtime The current time used to compute the actions frame. | |||||
| * \param applyObject Set to true if the actions must transform this object, else it only manages actions' frames. | |||||
| */ | */ | ||||
| void UpdateActionManager(float curtime); | void UpdateActionManager(float curtime, bool applyObject); | ||||
| /** | |||||
| * Have the action manager update IPOs | |||||
| * note: not thread-safe! | |||||
| */ | |||||
| void UpdateActionIPOs(); | |||||
| /********************************* | /********************************* | ||||
| * End Animation API | * End Animation API | ||||
| Context not available. | |||||
| */ | */ | ||||
| /** | /** | ||||
| * Inherited from CValue -- does nothing! | * Inherited from CValue | ||||
| */ | |||||
| CValue* | |||||
| Calc( | |||||
| VALUE_OPERATOR op, | |||||
| CValue *val | |||||
| ); | |||||
| /** | |||||
| * Inherited from CValue -- does nothing! | |||||
| */ | |||||
| CValue* | |||||
| CalcFinal( | |||||
| VALUE_DATA_TYPE dtype, | |||||
| VALUE_OPERATOR op, | |||||
| CValue *val | |||||
| ); | |||||
| /** | |||||
| * Inherited from CValue -- does nothing! | |||||
| */ | |||||
| const | |||||
| STR_String & | |||||
| GetText( | |||||
| ); | |||||
| /** | |||||
| * Inherited from CValue -- does nothing! | |||||
| */ | */ | ||||
| double | virtual const std::string GetText(); | ||||
| GetNumber( | |||||
| ); | |||||
| /** | /** | ||||
| * \section Inherited from CValue. These are the useful | * \section Inherited from CValue. These are the useful | ||||
| Context not available. | |||||
| /** | /** | ||||
| * Inherited from CValue -- returns the name of this object. | * Inherited from CValue -- returns the name of this object. | ||||
| */ | */ | ||||
| STR_String& | virtual std::string GetName(); | ||||
| GetName( | |||||
| ); | |||||
| /** | /** | ||||
| * Inherited from CValue -- set the name of this object. | * Inherited from CValue -- set the name of this object. | ||||
| */ | */ | ||||
| void | virtual void SetName(const std::string& name); | ||||
| SetName( | |||||
| const char *name | |||||
| ); | |||||
| /** | /** | ||||
| * Inherited from CValue -- return a new copy of this | * Inherited from CValue -- return a new copy of this | ||||
| * instance allocated on the heap. Ownership of the new | * instance allocated on the heap. Ownership of the new | ||||
| * object belongs with the caller. | * object belongs with the caller. | ||||
| */ | */ | ||||
| virtual CValue* | virtual CValue *GetReplica(); | ||||
| GetReplica( | |||||
| ); | |||||
| /** | /** | ||||
| * Inherited from CValue -- Makes sure any internal | * Makes sure any internal | ||||
| * data owned by this class is deep copied. Called internally | * data owned by this class is deep copied. Called internally | ||||
| */ | */ | ||||
| virtual void | virtual void ProcessReplica(); | ||||
| ProcessReplica(); | |||||
| /** | /** | ||||
| * Return the linear velocity of the game object. | * Return the linear velocity of the game object. | ||||
| Context not available. | |||||
| */ | */ | ||||
| MT_Vector3 | MT_Vector3 | ||||
| GetVelocity( | GetVelocity( | ||||
| const MT_Point3& position | const MT_Vector3& position | ||||
| ); | ); | ||||
| /** | /** | ||||
| Context not available. | |||||
| const MT_Vector4& | const MT_Vector4& | ||||
| GetObjectColor(); | GetObjectColor(); | ||||
| void | void | ||||
| ResolveCombinedVelocities( | ResolveCombinedVelocities( | ||||
| const MT_Vector3 & lin_vel, | const MT_Vector3 & lin_vel, | ||||
| Context not available. | |||||
| PHY_IPhysicsController* GetPhysicsController(); | PHY_IPhysicsController* GetPhysicsController(); | ||||
| void SetPhysicsController(PHY_IPhysicsController* physicscontroller,bool isDynamic) | void SetPhysicsController(PHY_IPhysicsController *physicscontroller) | ||||
| { | { | ||||
| m_bDyna = isDynamic; | |||||
| m_pPhysicsController = physicscontroller; | m_pPhysicsController = physicscontroller; | ||||
| } | } | ||||
| Context not available. | |||||
| { | { | ||||
| } | } | ||||
| /// Return true when the game object is a BL_DeformableGameObject. | |||||
| virtual bool IsDeformable() const | |||||
| { | |||||
| return false; | |||||
| } | |||||
| /** | /** | ||||
| * \return a pointer to the graphic controller owner by this class | * \return a pointer to the graphic controller owner by this class | ||||
| Context not available. | |||||
| * \section Coordinate system manipulation functions | * \section Coordinate system manipulation functions | ||||
| */ | */ | ||||
| void NodeSetLocalPosition(const MT_Point3& trans ); | void NodeSetLocalPosition(const MT_Vector3& trans ); | ||||
| void NodeSetLocalOrientation(const MT_Matrix3x3& rot ); | void NodeSetLocalOrientation(const MT_Matrix3x3& rot ); | ||||
| void NodeSetGlobalOrientation(const MT_Matrix3x3& rot ); | void NodeSetGlobalOrientation(const MT_Matrix3x3& rot ); | ||||
| Context not available. | |||||
| void NodeSetRelativeScale( const MT_Vector3& scale ); | void NodeSetRelativeScale( const MT_Vector3& scale ); | ||||
| // adapt local position so that world position is set to desired position | // adapt local position so that world position is set to desired position | ||||
| void NodeSetWorldPosition(const MT_Point3& trans); | void NodeSetWorldPosition(const MT_Vector3& trans); | ||||
| void | void | ||||
| NodeUpdateGS( | NodeUpdateGS( | ||||
| Context not available. | |||||
| const MT_Matrix3x3& NodeGetWorldOrientation( ) const; | const MT_Matrix3x3& NodeGetWorldOrientation( ) const; | ||||
| const MT_Vector3& NodeGetWorldScaling( ) const; | const MT_Vector3& NodeGetWorldScaling( ) const; | ||||
| const MT_Point3& NodeGetWorldPosition( ) const; | const MT_Vector3& NodeGetWorldPosition( ) const; | ||||
| const MT_Matrix3x3& NodeGetLocalOrientation( ) const; | const MT_Matrix3x3& NodeGetLocalOrientation( ) const; | ||||
| const MT_Vector3& NodeGetLocalScaling( ) const; | const MT_Vector3& NodeGetLocalScaling( ) const; | ||||
| const MT_Point3& NodeGetLocalPosition( ) const; | const MT_Vector3& NodeGetLocalPosition( ) const; | ||||
| /** | /** | ||||
| * \section scene graph node accessor functions. | * \section scene graph node accessor functions. | ||||
| Context not available. | |||||
| m_pSGNode = node; | m_pSGNode = node; | ||||
| } | } | ||||
| //Is it a dynamic/physics object ? | /// Is it a dynamic/physics object ? | ||||
| bool IsDynamic() const | bool IsDynamic() const; | ||||
| { | |||||
| return m_bDyna; | |||||
| } | |||||
| bool IsDynamicsSuspended() const; | bool IsDynamicsSuspended() const; | ||||
| /** | /** | ||||
| * Should we record animation for this object? | |||||
| */ | |||||
| void SetRecordAnimation(bool recordAnimation) | |||||
| { | |||||
| m_bRecordAnimation = recordAnimation; | |||||
| } | |||||
| bool IsRecordAnimation() const | |||||
| { | |||||
| return m_bRecordAnimation; | |||||
| } | |||||
| /** | |||||
| * Check if this object has a vertex parent relationship | * Check if this object has a vertex parent relationship | ||||
| */ | */ | ||||
| bool IsVertexParent( ) | bool IsVertexParent( ) | ||||
| Context not available. | |||||
| float curframetime, | float curframetime, | ||||
| bool recurse | bool recurse | ||||
| ); | ); | ||||
| /** | |||||
| * Updates Material Ipo data | |||||
| */ | |||||
| void | |||||
| UpdateMaterialData( | |||||
| dword matname_hash, | |||||
| MT_Vector4 rgba, | |||||
| MT_Vector3 specrgb, | |||||
| MT_Scalar hard, | |||||
| MT_Scalar spec, | |||||
| MT_Scalar ref, | |||||
| MT_Scalar emit, | |||||
| MT_Scalar alpha | |||||
| ); | |||||
| /** | /** | ||||
| * \section Mesh accessor functions. | * \section Mesh accessor functions. | ||||
| Context not available. | |||||
| * Update buckets to indicate that there is a new | * Update buckets to indicate that there is a new | ||||
| * user of this object's meshes. | * user of this object's meshes. | ||||
| */ | */ | ||||
| void | virtual void | ||||
| AddMeshUser( | AddMeshUser( | ||||
| ); | ); | ||||
| Context not available. | |||||
| * creating or duplicating the object, changing | * creating or duplicating the object, changing | ||||
| * visibility, object color, .. . | * visibility, object color, .. . | ||||
| */ | */ | ||||
| void | virtual void UpdateBuckets(); | ||||
| UpdateBuckets( | |||||
| bool recursive | |||||
| ); | |||||
| /** | /** | ||||
| * Clear the meshes associated with this class | * Clear the meshes associated with this class | ||||
| Context not available. | |||||
| m_meshes.push_back(mesh); | m_meshes.push_back(mesh); | ||||
| } | } | ||||
| /** | |||||
| * Add a level of detail mesh to the object. These should | /** Set current lod manager, can be NULL. | ||||
| * be added in order. | * If NULL the object's mesh backs to the mesh of the previous first lod level. | ||||
| */ | */ | ||||
| void | void SetLodManager(KX_LodManager *lodManager); | ||||
| AddLodMesh( | /// Get current lod manager. | ||||
| RAS_MeshObject* mesh | KX_LodManager *GetLodManager() const; | ||||
| ); | |||||
| /** | /** | ||||
| * Updates the current lod level based on distance from camera. | * Updates the current lod level based on distance from camera. | ||||
| */ | */ | ||||
| void | void UpdateLod(const MT_Vector3& cam_pos, float lodfactor); | ||||
| UpdateLod( | |||||
| MT_Vector3 &cam_pos | |||||
| ); | |||||
| /** | /** | ||||
| * Pick out a mesh associated with the integer 'num'. | * Pick out a mesh associated with the integer 'num'. | ||||
| Context not available. | |||||
| ) const { | ) const { | ||||
| return m_meshes.size(); | return m_meshes.size(); | ||||
| } | } | ||||
| /** | |||||
| * Set the debug color of the meshes associated with this | |||||
| * class. Does this still work? | |||||
| */ | |||||
| void | |||||
| SetDebugColor( | |||||
| unsigned int bgra | |||||
| ); | |||||
| /** | |||||
| * Reset the debug color of meshes associated with this class. | |||||
| */ | |||||
| void | |||||
| ResetDebugColor( | |||||
| ); | |||||
| /** | /** | ||||
| * Was this object marked visible? (only for the explicit | * Was this object marked visible? (only for the explicit | ||||
| Context not available. | |||||
| GetLayer( | GetLayer( | ||||
| void | void | ||||
| ); | ); | ||||
| /// Allow auto updating bounding volume box. | |||||
| inline void SetAutoUpdateBounds(bool autoUpdate) | |||||
| { | |||||
| m_autoUpdateBounds = autoUpdate; | |||||
| } | |||||
| inline bool GetAutoUpdateBounds() const | |||||
| { | |||||
| return m_autoUpdateBounds; | |||||
| } | |||||
| /** Update the game object bounding box (AABB) by using the one existing in the | |||||
| * mesh or the mesh deformer. | |||||
| * \param force Force the AABB update even if the object doesn't allow auto update or if the mesh is | |||||
| * not modified like in the case of mesh replacement. | |||||
| */ | |||||
| void UpdateBounds(bool force); | |||||
| void SetBoundsAabb(MT_Vector3 aabbMin, MT_Vector3 aabbMax); | |||||
| void GetBoundsAabb(MT_Vector3 &aabbMin, MT_Vector3 &aabbMax) const; | |||||
| /** | /** | ||||
| * Get the negative scaling state | * Get the negative scaling state | ||||
| */ | */ | ||||
| Context not available. | |||||
| void RegisterCollisionCallbacks(); | void RegisterCollisionCallbacks(); | ||||
| void UnregisterCollisionCallbacks(); | void UnregisterCollisionCallbacks(); | ||||
| void RunCollisionCallbacks(KX_GameObject *collider, const MT_Vector3 &point, const MT_Vector3 &normal); | void RunCollisionCallbacks(KX_GameObject *collider, KX_CollisionContactPointList& contactPointList); | ||||
| /** | /** | ||||
| * Stop making progress | * Stop making progress | ||||
| */ | */ | ||||
| Context not available. | |||||
| */ | */ | ||||
| void Resume(void); | void Resume(void); | ||||
| void RegisterObstacle(KX_ObstacleSimulation* obstacleSimulation) | |||||
| { | |||||
| m_pObstacleSimulation = obstacleSimulation; | |||||
| } | |||||
| void UnregisterObstacle() | |||||
| { | |||||
| m_pObstacleSimulation = NULL; | |||||
| } | |||||
| /** | /** | ||||
| * add debug object to the debuglist. | * add debug object to the debuglist. | ||||
| */ | */ | ||||
| Context not available. | |||||
| CListValue* GetChildren(); | CListValue* GetChildren(); | ||||
| CListValue* GetChildrenRecursive(); | CListValue* GetChildrenRecursive(); | ||||
| /// Returns the component list. | |||||
| CListValue *GetComponents() const; | |||||
| /// Add a components. | |||||
| void SetComponents(CListValue *components); | |||||
| /// Updates the components. | |||||
| void UpdateComponents(); | |||||
| KX_Scene* GetScene(); | KX_Scene* GetScene(); | ||||
| #ifdef WITH_PYTHON | #ifdef WITH_PYTHON | ||||
| Context not available. | |||||
| */ | */ | ||||
| virtual PyObject *py_repr(void) | virtual PyObject *py_repr(void) | ||||
| { | { | ||||
| return PyUnicode_From_STR_String(GetName()); | return PyUnicode_FromStdString(GetName()); | ||||
| } | } | ||||
| KX_PYMETHOD_O(KX_GameObject,SetWorldPosition); | KX_PYMETHOD_O(KX_GameObject,SetWorldPosition); | ||||
| Context not available. | |||||
| KX_PYMETHOD_O(KX_GameObject,SetState); | KX_PYMETHOD_O(KX_GameObject,SetState); | ||||
| KX_PYMETHOD_VARARGS(KX_GameObject,AlignAxisToVect); | KX_PYMETHOD_VARARGS(KX_GameObject,AlignAxisToVect); | ||||
| KX_PYMETHOD_O(KX_GameObject,GetAxisVect); | KX_PYMETHOD_O(KX_GameObject,GetAxisVect); | ||||
| KX_PYMETHOD_NOARGS(KX_GameObject,SuspendPhysics); | |||||
| KX_PYMETHOD_NOARGS(KX_GameObject,RestorePhysics); | |||||
| KX_PYMETHOD_VARARGS(KX_GameObject,SuspendDynamics); | KX_PYMETHOD_VARARGS(KX_GameObject,SuspendDynamics); | ||||
| KX_PYMETHOD_NOARGS(KX_GameObject,RestoreDynamics); | KX_PYMETHOD_NOARGS(KX_GameObject,RestoreDynamics); | ||||
| KX_PYMETHOD_NOARGS(KX_GameObject,EnableRigidBody); | KX_PYMETHOD_NOARGS(KX_GameObject,EnableRigidBody); | ||||
| Context not available. | |||||
| KX_PYMETHOD_DOC_O(KX_GameObject,getVectTo); | KX_PYMETHOD_DOC_O(KX_GameObject,getVectTo); | ||||
| KX_PYMETHOD_DOC_VARARGS(KX_GameObject, sendMessage); | KX_PYMETHOD_DOC_VARARGS(KX_GameObject, sendMessage); | ||||
| KX_PYMETHOD_VARARGS(KX_GameObject, ReinstancePhysicsMesh); | KX_PYMETHOD_VARARGS(KX_GameObject, ReinstancePhysicsMesh); | ||||
| KX_PYMETHOD_O(KX_GameObject, ReplacePhysicsShape); | |||||
| KX_PYMETHOD_DOC(KX_GameObject, addDebugProperty); | KX_PYMETHOD_DOC(KX_GameObject, addDebugProperty); | ||||
| KX_PYMETHOD_DOC(KX_GameObject, playAction); | KX_PYMETHOD_DOC(KX_GameObject, playAction); | ||||
| Context not available. | |||||
| /* attributes */ | /* attributes */ | ||||
| static PyObject* pyattr_get_name(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_name(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_name(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | |||||
| static PyObject* pyattr_get_parent(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_parent(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static PyObject* pyattr_get_group_object(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_group_object(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| Context not available. | |||||
| static int pyattr_set_ang_vel_min(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_ang_vel_min(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_ang_vel_max(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_ang_vel_max(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_ang_vel_max(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_ang_vel_max(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_layer(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | |||||
| static int pyattr_set_layer(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | |||||
| static PyObject* pyattr_get_visible(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_visible(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_visible(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_visible(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_record_animation(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_culled(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_record_animation(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static PyObject* pyattr_get_cullingBox(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static PyObject* pyattr_get_worldPosition(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_worldPosition(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_worldPosition(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_worldPosition(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_localPosition(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_localPosition(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| Context not available. | |||||
| static PyObject* pyattr_get_attrDict(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_attrDict(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static PyObject* pyattr_get_obcolor(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_obcolor(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_obcolor(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_obcolor(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_components(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | |||||
| static PyObject* pyattr_get_collisionCallbacks(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_collisionCallbacks(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_collisionCallbacks(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_collisionCallbacks(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_collisionGroup(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_collisionGroup(void *selv_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| Context not available. | |||||
| static int pyattr_set_linearDamping(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_linearDamping(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_angularDamping(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_angularDamping(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| static int pyattr_set_angularDamping(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | static int pyattr_set_angularDamping(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | ||||
| static PyObject* pyattr_get_lodManager(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | |||||
| static int pyattr_set_lodManager(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); | |||||
| /* Experimental! */ | /* Experimental! */ | ||||
| static PyObject* pyattr_get_sensors(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | static PyObject* pyattr_get_sensors(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); | ||||
| Context not available. | |||||