doxygen: prevent GPL license block from being parsed as doxygen comment.
[blender.git] / source / gameengine / Ketsji / KX_RadarSensor.h
1 /*
2  * $Id$
3  *
4  * ***** BEGIN GPL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  *
20  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
21  * All rights reserved.
22  *
23  * The Original Code is: all of this file.
24  *
25  * Contributor(s): none yet.
26  *
27  * ***** END GPL LICENSE BLOCK *****
28  */
29
30 /** \file KX_RadarSensor.h
31  *  \ingroup ketsji
32  */
33
34 #ifndef __KX_RADAR_SENSOR_H
35 #define __KX_RADAR_SENSOR_H
36
37 #include "KX_NearSensor.h"
38 #include "MT_Point3.h"
39
40 /**
41 * Radar 'cone' sensor. Very similar to a near-sensor, but instead of a sphere, a cone is used.
42 */
43 class KX_RadarSensor : public KX_NearSensor
44 {
45  protected:
46         Py_Header;
47                 
48         float           m_coneradius;
49
50         /**
51          * Height of the cone.
52          */
53         float           m_coneheight;
54         int                             m_axis;
55
56         /**
57          * The previous position of the origin of the cone.
58          */
59         float       m_cone_origin[3];
60
61         /**
62          * The previous direction of the cone (origin to bottom plane).
63          */
64         float       m_cone_target[3];
65         
66 public:
67
68         KX_RadarSensor(SCA_EventManager* eventmgr,
69                 KX_GameObject* gameobj,
70                         PHY_IPhysicsController* physCtrl,
71                         double coneradius,
72                         double coneheight,
73                         int     axis,
74                         double margin,
75                         double resetmargin,
76                         bool bFindMaterial,
77                         const STR_String& touchedpropname);
78         KX_RadarSensor();
79         virtual ~KX_RadarSensor();
80         virtual void SynchronizeTransform();
81         virtual CValue* GetReplica();
82
83         /* --------------------------------------------------------------------- */
84         /* Python interface ---------------------------------------------------- */
85         /* --------------------------------------------------------------------- */
86         enum RadarAxis {
87                 KX_RADAR_AXIS_POS_X = 0,
88                 KX_RADAR_AXIS_POS_Y,
89                 KX_RADAR_AXIS_POS_Z,
90                 KX_RADAR_AXIS_NEG_X,
91                 KX_RADAR_AXIS_NEG_Y,
92                 KX_RADAR_AXIS_NEG_Z
93         };
94
95         /* python */
96         virtual sensortype GetSensorType() { return ST_RADAR; }
97
98 };
99
100 #endif //__KX_RADAR_SENSOR_H
101