1
0
Fork 0

Fix bug in collision calculations

Signed-off-by: v meazza <vivian.meazza@lineone.net>
This commit is contained in:
v meazza 2009-10-12 10:24:11 +01:00 committed by Tim Moore
parent e91b5a8804
commit d974954b5a

View file

@ -395,8 +395,8 @@ const FGAIBase *
FGAIManager::calcCollision(double alt, double lat, double lon, double fuse_range) FGAIManager::calcCollision(double alt, double lat, double lon, double fuse_range)
{ {
// we specify tgt extent (ft) according to the AIObject type // we specify tgt extent (ft) according to the AIObject type
double tgt_ht[] = {0, 50 ,100, 250, 0, 100, 0, 0, 50, 50, 50}; double tgt_ht[] = {0, 50, 100, 250, 0, 100, 0, 0, 50, 50, 20, 50};
double tgt_length[] = {0, 100, 200, 750, 0, 50, 0, 0, 200, 100, 100}; double tgt_length[] = {0, 100, 200, 750, 0, 50, 0, 0, 200, 100, 40, 100};
ai_list_iterator ai_list_itr = ai_list.begin(); ai_list_iterator ai_list_itr = ai_list.begin();
ai_list_iterator end = ai_list.end(); ai_list_iterator end = ai_list.end();
@ -407,11 +407,11 @@ FGAIManager::calcCollision(double alt, double lat, double lon, double fuse_range
if (fabs(tgt_alt - alt) > tgt_ht[type] || type == FGAIBase::otBallistic if (fabs(tgt_alt - alt) > tgt_ht[type] || type == FGAIBase::otBallistic
|| type == FGAIBase::otStorm || type == FGAIBase::otThermal ) { || type == FGAIBase::otStorm || type == FGAIBase::otThermal ) {
SG_LOG(SG_GENERAL, SG_DEBUG, "AIManager: skipping " //SG_LOG(SG_GENERAL, SG_DEBUG, "AIManager: skipping "
<< fabs(tgt_alt - alt) // << fabs(tgt_alt - alt)
<< " " // << " "
<< type // << type
); // );
++ai_list_itr; ++ai_list_itr;
continue; continue;
} }
@ -422,14 +422,14 @@ FGAIManager::calcCollision(double alt, double lat, double lon, double fuse_range
double range = calcRange(lat, lon, tgt_lat, tgt_lon); double range = calcRange(lat, lon, tgt_lat, tgt_lon);
SG_LOG(SG_GENERAL, SG_DEBUG, "AIManager: AI list size " //SG_LOG(SG_GENERAL, SG_DEBUG, "AIManager: AI list size "
<< ai_list.size() // << ai_list.size()
<< " type " << type // << " type " << type
<< " ID " << id // << " ID " << id
<< " range " << range // << " range " << range
//<< " bearing " << bearing // //<< " bearing " << bearing
<< " alt " << tgt_alt // << " alt " << tgt_alt
); // );
tgt_length[type] += fuse_range; tgt_length[type] += fuse_range;