/* Initial configuration */ void SimConfig(tCarElt *carElt, tRmInfo* ReInfo) { tCar *car = &(SimCarTable[carElt->index]); memset(car, 0, sizeof(tCar)); car->carElt = carElt; car->DynGCg = car->DynGC = carElt->_DynGC; car->trkPos = carElt->_trkPos; car->ctrl = &carElt->ctrl; car->params = carElt->_carHandle; car->ReInfo = ReInfo; SimCarConfig(car); SimCarCollideConfig(car); sgMakeCoordMat4(carElt->pub.posMat, carElt->_pos_X, carElt->_pos_Y, carElt->_pos_Z - carElt->_statGC_z, RAD2DEG(carElt->_yaw), RAD2DEG(carElt->_roll), RAD2DEG(carElt->_pitch)); sgEulerToQuat (car->posQuat, -RAD2DEG(carElt->_yaw), RAD2DEG(carElt->_pitch), RAD2DEG(carElt->_roll)); sgQuatToMatrix (car->posMat, car->posQuat); simu_total_time = 0.0f; simu_init_time = GfTimeClock(); //sgMakeRotMat4 (car->posMat, RAD2DEG(carElt->_yaw), RAD2DEG(carElt->_roll), RAD2DEG(carElt->_pitch)); }
/* Initial configuration */ void SimConfig(tCarElt *carElt) { tCar *car = &(SimCarTable[carElt->index]); memset(car, 0, sizeof(tCar)); car->carElt = carElt; car->DynGCg = car->DynGC = carElt->_DynGC; car->trkPos = carElt->_trkPos; car->ctrl = &carElt->ctrl; car->params = carElt->_carHandle; SimCarConfig(car); SimCarCollideConfig(car, PTrack); sgMakeCoordMat4(carElt->pub.posMat, carElt->_pos_X, carElt->_pos_Y, carElt->_pos_Z - carElt->_statGC_z, (float) RAD2DEG(carElt->_yaw), (float) RAD2DEG(carElt->_roll), (float) RAD2DEG(carElt->_pitch)); }