rename and negate DISABLE_PYTHON --> WITH_PYTHON
[blender.git] / source / gameengine / Ketsji / KX_ParentActuator.h
index e2b30ba2d0f3830711ace9b7578e421a8b712161..28745c6d0f524d59512eecb3f2607a6901c5b753 100644 (file)
@@ -2,7 +2,7 @@
  * Set or remove an objects parent
  *
  *
- * $Id: KX_ParentActuator.h 3271 2004-10-16 11:41:50Z kester $
+ * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
@@ -21,7 +21,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.
@@ -46,6 +46,9 @@ class KX_ParentActuator : public SCA_IActuator
        /** Mode */
        int m_mode;
        
+       /** option */
+       bool    m_addToCompound;
+       bool    m_ghost;
        /** Object to set as parent */
        SCA_IObject *m_ob;
        
@@ -57,13 +60,15 @@ class KX_ParentActuator : public SCA_IActuator
                KX_PARENT_NODEF = 0,
                KX_PARENT_SET,
                KX_PARENT_REMOVE,
+               KX_PARENT_MAX
 
        };
  
        KX_ParentActuator(class SCA_IObject* gameobj,
                                                int mode,
-                                               SCA_IObject *ob,
-                                               PyTypeObject* T=&Type);
+                                               bool addToCompound,
+                                               bool ghost,
+                                               SCA_IObject *ob);
        virtual ~KX_ParentActuator();
        virtual bool Update();
        
@@ -72,17 +77,18 @@ class KX_ParentActuator : public SCA_IActuator
        virtual void Relink(GEN_Map<GEN_HashedPtr, void*> *obj_map);
        virtual bool UnlinkObject(SCA_IObject* clientobj);
        
+#ifdef WITH_PYTHON
+
        /* --------------------------------------------------------------------- */
        /* Python interface ---------------------------------------------------- */
        /* --------------------------------------------------------------------- */
 
-       virtual PyObject* _getattr(const STR_String& attr);
-
-       /* 1. setObject                                                            */
-       KX_PYMETHOD_DOC_O(KX_ParentActuator,SetObject);
-       /* 2. getObject                                                            */
-       KX_PYMETHOD_DOC_VARARGS(KX_ParentActuator,GetObject);
+       /* These are used to get and set m_ob */
+       static PyObject* pyattr_get_object(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
+       static int pyattr_set_object(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
        
+#endif // WITH_PYTHON
+
 }; /* end of class KX_ParentActuator : public SCA_PropertyActuator */
 
 #endif