DI-Guy C++ SDK Reference  13.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
diguyVehicleController.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2014 VT MAK
4  ** All rights reserved.
5  *********************************************************************/
6 
7 /*********************************************************************
8  **
9  *t diguyVehicleController
10  **
11  */
12 
13 #ifndef __diguyVehicleController_H
14 #define __diguyVehicleController_H
15 
16 #ifdef SWIG
18 #else
19 #define CPLUSPLUS_ONLY
20 #endif
21 
22 #ifdef CPLUSPLUS_ONLY
23 
24 #include <declspec_diguy.h>
25 #include <diguy_constants.h>
26 
27 class diguyCharacter;
28 class bdiScenarioVehicleController;
29 
30 #endif
31 
32 
33 /****************************************************************************/
34 class BDI_DECLSPEC_diguy diguyVehicleController
35 {
36 
37 public:
38 
39 /*****************************************************************************
40  **
41  *2 Character Functions
42  **
43  */
44  diguyCharacter* get_vehicle_character();
45 
46 
47 /*****************************************************************************
48  **
49  *2 Speed Functions
50  **
51  ** These functions should only be used in free action mode.
52  **
53  */
54 
55  /*l
56  *b Description:
57  **
58  ** This function sets the vehicle's speed. The speed becomes
59  ** effective immediately; no acceleration or deceleration is applied.
60  **
61  *b Arguments:
62  **
63  *a speed - new speed of vehicle
64  *a units - units of speed
65  **
66  *b Callable From:
67  **
68  *- - C++
69  *- - Script
70  */
71  void set_speed(float speed,
73 
74  /*
75  * Documentation Pending
76  */
78 
79  /*
80  * Documentation Pending
81  */
82  void set_desired_speed_with_acceleration(float desired_speed,
83  float acceleration,
85 
86  /*
87  * Documentation Pending
88  *
89  * Reach desired speed over the acceleration_time. Actual
90  * acceleration is derived from change in speeds and the alloted
91  * time.
92  */
93  void set_desired_speed_with_acceleration_time(float desired_speed,
94  float acceleration_time, // seconds
96 
97  /*
98  * Documentation Pending
99  */
100  float get_desired_speed(diguySpeedUnits units = DIGUY_SPEED_UNITS_METERS_PER_SECOND);
101 
102  /*
103  * Documentation Pending
104  */
105  void set_default_acceleration(float acceleration,
107  float get_default_acceleration(diguySpeedUnits units = DIGUY_SPEED_UNITS_METERS_PER_SECOND);
108 
109  void set_default_deceleration(float deceleration,
111  float get_default_deceleration(diguySpeedUnits units = DIGUY_SPEED_UNITS_METERS_PER_SECOND);
112 
113 
114 /*****************************************************************************
115  **
116  *2 Steering Functions
117  **
118  ** These functions should only be used in free action mode.
119  **
120  */
121 
122  /*
123  * Documentation Pending
124  */
125  void set_vehicle_simulation_mode(diguyVehicleSimulationMode vsim_mode);
126 
127  /*
128  * Documentation Pending
129  */
130  diguyVehicleSimulationMode get_vehicle_simulation_mode();
131 
132  /*
133  * Documentation Pending
134  */
135  void set_front_wheels_steer_angle(float angle);
136 
137  /*
138  * Documentation Pending
139  */
140  float get_front_wheels_steer_angle();
141 
142  /*
143  * Documentation Pending
144  */
145  void set_desired_front_wheels_steer_angle(float desired_angle,
146  float angle_change_rate = DIGUY_DEFAULT_FLOAT);
147 
148  /*
149  * Documentation Pending
150  */
151  float get_desired_front_wheels_steer_angle();
152 
153 
158 #ifdef CPLUSPLUS_ONLY
159 
160  bdiScenarioVehicleController* get_scripted_object() {return m_scripted_object;}
161 
162 private:
163 
164  /*l
165  ** A private constructor.
166  */
167  diguyVehicleController(bdiScenarioVehicleController* vehicle_controller);
168 
169  /*l
170  ** A pointer to internal data.
171  */
172  bdiScenarioVehicleController* m_scripted_object;
173 
174  friend class bdiScenarioVehicleController;
175 
176 #endif
177 
178 };
180 #endif /* __diguyVehicleController_H */
182