add missing files after merging
[blender.git] / source / gameengine / Ketsji / KX_TouchSensor.h
index c523736967b799803a3fecca23850d5f647a847e..39011345267c05d589b52150f478b2a2159cbbdb 100644 (file)
@@ -1,6 +1,4 @@
-/**
- * Senses touch and collision events
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -17,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
  * ***** END GPL LICENSE BLOCK *****
  */
 
+/** \file KX_TouchSensor.h
+ *  \ingroup ketsji
+ *  \brief Senses touch and collision events
+ */
+
 #ifndef __KX_TOUCHSENSOR
 #define __KX_TOUCHSENSOR
 
@@ -58,7 +61,6 @@ protected:
        STR_String                              m_touchedpropname;      
        bool                                    m_bFindMaterial;
        bool                                    m_bTouchPulse;          /* changes in the colliding objects trigger pulses */
-       class SCA_EventManager* m_eventmgr;
        
        class PHY_IPhysicsController*   m_physCtrl;
 
@@ -79,13 +81,13 @@ public:
                class KX_GameObject* gameobj,
                bool bFindMaterial,
                bool bTouchPulse,
-               const STR_String& touchedpropname,
-               PyTypeObject* T=&Type) ;
+               const STR_String& touchedpropname) ;
        virtual ~KX_TouchSensor();
 
        virtual CValue* GetReplica();
+       virtual void ProcessReplica();
        virtual void SynchronizeTransform();
-       virtual bool Evaluate(CValue* event);
+       virtual bool Evaluate();
        virtual void Init();
        virtual void ReParent(SCA_IObject* parent);
        
@@ -102,7 +104,8 @@ public:
        // obj1 = sensor physical controller, obj2 = physical controller of second object
        // return value = true if collision should be checked on pair of object
        virtual bool    BroadPhaseFilterCollision(void*obj1,void*obj2) { return true; }
-
+       virtual bool    BroadPhaseSensorFilterCollision(void*obj1,void*obj2);
+       virtual sensortype GetSensorType() { return ST_TOUCH; }
   
 
        virtual bool IsPositiveTrigger() {
@@ -110,32 +113,23 @@ public:
                if (m_invert) result = !result;
                return result;
        }
-
        
        virtual void EndFrame();
 
+       class PHY_IPhysicsController* GetPhysicsController() { return m_physCtrl; }
+
+
        // todo: put some info for collision maybe
 
+#ifdef WITH_PYTHON
+
        /* --------------------------------------------------------------------- */
        /* Python interface ---------------------------------------------------- */
        /* --------------------------------------------------------------------- */
        
-       virtual PyObject* _getattr(const char *attr);
-       virtual int _setattr(const char *attr, PyObject *value);
-
-       /* 1. setProperty */
-       KX_PYMETHOD_DOC_O(KX_TouchSensor,SetProperty);
-       /* 2. getProperty */
-       KX_PYMETHOD_DOC_NOARGS(KX_TouchSensor,GetProperty);
-       /* 3. getHitObject */
-       KX_PYMETHOD_DOC_NOARGS(KX_TouchSensor,GetHitObject);
-       /* 4. getHitObject */
-       KX_PYMETHOD_DOC_NOARGS(KX_TouchSensor,GetHitObjectList);
-       /* 5. getTouchMaterial */
-       KX_PYMETHOD_DOC_NOARGS(KX_TouchSensor,GetTouchMaterial);
-#if 0
-       /* 6. setTouchMaterial */
-       KX_PYMETHOD_DOC_O(KX_TouchSensor,SetTouchMaterial);
+       static PyObject*        pyattr_get_object_hit(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+       static PyObject*        pyattr_get_object_hit_list(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+
 #endif
        
 };