torcs - 1.2.2

src/modules/simu/simuv3/sim.h

Go to the documentation of this file.
00001 /***************************************************************************
00002 
00003     file                 : sim.h
00004     created              : Sun Mar 19 00:07:42 CET 2000
00005     copyright            : (C) 2000 by Eric Espie
00006     email                : torcs@free.fr
00007     version              : $Id: sim.h,v 1.5 2004/01/15 09:54:06 olethros Exp $
00008 
00009  ***************************************************************************/
00010 
00011 /***************************************************************************
00012  *                                                                         *
00013  *   This program is free software; you can redistribute it and/or modify  *
00014  *   it under the terms of the GNU General Public License as published by  *
00015  *   the Free Software Foundation; either version 2 of the License, or     *
00016  *   (at your option) any later version.                                   *
00017  *                                                                         *
00018  ***************************************************************************/
00019 
00020 #ifndef _SIMFCT_H_
00021 #define _SIMFCT_H_
00022 
00023 #include <math.h>
00024 #include <stdio.h>
00025 #include <string.h>
00026 #ifdef WIN32
00027 #include <float.h>
00028 #define isnan _isnan
00029 #endif
00030 
00031 #include <tgf.h>
00032 #include <track.h>
00033 #include <car.h>
00034 #include <raceman.h>
00035 #include <simu.h>
00036 #include "carstruct.h"
00037 #include <robottools.h>
00038 
00039 extern void SimConfig(tCarElt *carElt);
00040 extern void SimReConfig(tCarElt *carElt);
00041 extern void SimUpdate(tSituation*, double deltaTime, int telemetry);
00042 extern void SimInit(int nbcars);
00043 extern void SimShutdown(void);
00044 
00045 extern void SimAxleConfig(tCar *car, int index);
00046 extern void SimAxleUpdate(tCar *car, int index);
00047 
00048 extern void SimCarConfig(tCar *car);
00049 extern void SimCarUpdate(tCar *car, tSituation*);
00050 extern void SimCarUpdate2(tCar *car, tSituation*);
00051 
00052 extern void SimSuspCheckIn(tSuspension *susp);
00053 extern void SimSuspUpdate(tSuspension *susp);
00054 extern void SimSuspConfig(void *hdle, char *section, tSuspension *susp, tdble F0, tdble X0);
00055 
00056 extern void SimWheelConfig(tCar *car, int index);
00057 extern void SimWheelUpdateRide(tCar *car, int index);
00058 extern void SimWheelUpdateForce(tCar *car, int index);
00059 extern void SimWheelUpdateRotation(tCar *car);
00060 extern void SimUpdateFreeWheels(tCar *car, int axlenb);
00061 
00062 
00063 extern void SimSteerConfig(tCar *car);
00064 extern void SimSteerUpdate(tCar *car);
00065 
00066 extern void SimBrakeConfig(void *hdle, char *section, tBrake *brake);
00067 extern void SimBrakeUpdate(tCar *car, tWheel *wheel, tBrake *brake);
00068 extern void SimBrakeSystemConfig(tCar *car);
00069 extern void SimBrakeSystemUpdate(tCar *car);
00070 
00071 extern void SimAeroConfig(tCar *car);
00072 extern void SimAeroUpdate(tCar *car, tSituation *s);
00073 extern void SimWingConfig(tCar *car, int index);
00074 extern void SimWingUpdate(tCar *car, int index, tSituation *s);
00075 
00076 extern void SimCarUpdateWheelPos(tCar *car);
00077 
00078 extern void SimTransmissionConfig(tCar *car);
00079 extern void SimTransmissionUpdate(tCar *car);
00080 extern void SimGearboxUpdate(tCar *car);
00081 
00082 extern void SimDifferentialConfig(void *hdle, char *section, tDifferential *differential);
00083 extern void SimDifferentialUpdate(tCar *car, tDifferential *differential, int first);
00084 
00085 extern void SimEngineConfig(tCar *car);
00086 extern void SimEngineUpdateTq(tCar *car);
00087 extern tdble SimEngineUpdateRpm(tCar *car, tdble axleRpm);
00088 extern void SimEngineShutdown(tCar *car);
00089 
00090 extern void SimCarCollideZ(tCar *car);
00091 extern void SimCarCollideXYScene(tCar *car);
00092 extern void SimCarCollideCars(tSituation*);
00093 extern void SimCarCollideConfig(tCar *car);
00094 extern void SimCarCollideShutdown(int nbcars);
00095 extern void SimCarCollideInit(void);
00096 
00097 extern void NaiveRotate (t3Dd v, t3Dd u, t3Dd* v0);
00098 extern void NaiveInverseRotate (t3Dd v, t3Dd u, t3Dd* v0);
00099 
00100 extern tdble PartialFlowRectangle(tdble theta, tdble psi);
00101 extern tdble PartialFlowSmooth(tdble theta, tdble psi);
00102 extern tdble PartialFlowSphere(tdble theta, tdble psi);
00103 
00104 extern tdble SimDeltaTime;
00105 extern int SimTelemetry;
00106 extern tCar *SimCarTable;
00107 extern t3Dd vectStart[];
00108 extern t3Dd vectEnd[];
00109 
00110 extern tdble simDammageFactor[];
00111 extern tdble simSkidFactor[];
00112 
00113 #define SIM_VECT_COLL   12
00114 #define SIM_VECT_SPD    13
00115 #define SIM_VECT_ACCEL  14
00116 #define SIM_WHEEL_SPD   16
00117 #define SIM_WHEEL_ACCEL 20
00118 
00119 #define SIM_Z_OFFSET    2.0
00120 
00121 #endif /* _SIMFCT_H_ */ 
00122 
00123 
00124 

Generated at Thu Feb 26 21:52:30 2004 for torcs by doxygen 1.3.3 written by Dimitri van Heesch, © 1997-1999
TORCS © Eric Espié 1999, 2002.