fixed spacing in the headers to get rid of some warnings and some other
[blender.git] / source / gameengine / Ketsji / KX_TrackToActuator.h
1 //
2 // Add object to the game world on action of this actuator
3 //
4 // $Id$
5 //
6 // ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
7 //
8 // This program is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU General Public License
10 // as published by the Free Software Foundation; either version 2
11 // of the License, or (at your option) any later version. The Blender
12 // Foundation also sells licenses for use in proprietary software under
13 // the Blender License.  See http://www.blender.org/BL/ for information
14 // about this.
15 //
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program; if not, write to the Free Software Foundation,
23 // Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24 //
25 // The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
26 // All rights reserved.
27 //
28 // The Original Code is: all of this file.
29 //
30 // Contributor(s): none yet.
31 //
32 // ***** END GPL/BL DUAL LICENSE BLOCK *****
33 //
34
35 #ifndef __KX_TrackToActuator
36 #define __KX_TrackToActuator
37
38 #include "SCA_IActuator.h"
39 #include "SCA_IObject.h"
40
41 class KX_TrackToActuator : public SCA_IActuator
42 {
43         Py_Header;
44         // Object reference. Actually, we use the object's 'life'
45         SCA_IObject*    m_object;
46         // 3d toggle
47         bool m_allow3D;
48         // time field
49         int m_time;
50         int     m_trackTime;
51         int     m_trackflag;
52         int m_upflag;
53  public:
54         KX_TrackToActuator(SCA_IObject* gameobj, SCA_IObject *ob, int time,
55                                        bool threedee,int trackflag,int upflag, PyTypeObject* T=&Type);
56         virtual ~KX_TrackToActuator();
57         virtual CValue* GetReplica() {
58                 KX_TrackToActuator* replica = new KX_TrackToActuator(*this);
59                 replica->ProcessReplica();
60                 // this will copy properties and so on...
61                 CValue::AddDataToReplica(replica);
62                 return replica;
63         };
64
65         virtual bool Update(double curtime,double deltatime);
66
67         /* Python part */
68         virtual PyObject*  _getattr(char *attr);
69         
70         /* 1. setObject */
71         KX_PYMETHOD_DOC(KX_TrackToActuator,SetObject);
72         /* 2. getObject */
73         KX_PYMETHOD_DOC(KX_TrackToActuator,GetObject);
74         /* 3. setTime */
75         KX_PYMETHOD_DOC(KX_TrackToActuator,SetTime);
76         /* 4. getTime */
77         KX_PYMETHOD_DOC(KX_TrackToActuator,GetTime);
78         /* 5. getUse3D */
79         KX_PYMETHOD_DOC(KX_TrackToActuator,GetUse3D);
80         /* 6. setUse3D */
81         KX_PYMETHOD_DOC(KX_TrackToActuator,SetUse3D);
82         
83 }; /* end of class KX_TrackToActuator : public KX_EditObjectActuator */
84
85 #endif
86