1
0
Fork 0

Patch from Norman Vine:

Yikes  --
Looks like I broke the scenery.current_normal when I last
reworked the hitlist code.

I guess this is proof that no one has been using it.
This commit is contained in:
david 2002-04-25 19:44:27 +00:00
parent 830e274238
commit 58a001ad32

View file

@ -212,6 +212,7 @@ int FGHitList::IntersectLeaf( ssgLeaf *leaf, sgdMat4 m,
if( fgdPointInTriangle( point, tri ) ) { if( fgdPointInTriangle( point, tri ) ) {
// transform point into passed into desired coordinate frame // transform point into passed into desired coordinate frame
sgdXformPnt3( point, point, m ); sgdXformPnt3( point, point, m );
sgdXformPnt4(plane,plane,m);
add(leaf,i,point,plane); add(leaf,i,point,plane);
num_hits++; num_hits++;
} }
@ -315,6 +316,7 @@ int FGHitList::IntersectLeaf( ssgLeaf *leaf, sgdMat4 m,
if( fgdPointInTriangle( point, tri ) ) { if( fgdPointInTriangle( point, tri ) ) {
// transform point into passed coordinate frame // transform point into passed coordinate frame
sgdXformPnt3( point, point, m ); sgdXformPnt3( point, point, m );
sgdXformPnt4(plane,plane,m);
add(leaf,n,point,plane); add(leaf,n,point,plane);
test_dist = tmp_dist; test_dist = tmp_dist;
num_hits++; num_hits++;
@ -535,12 +537,10 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, sgdVec3 scenery_center,
sgVec3 tmp; sgVec3 tmp;
sgMat4 TMP; sgMat4 TMP;
sgSetVec3(tmp, hit_list->get_normal(this_hit)); sgSetVec3(tmp, hit_list->get_normal(this_hit));
// cout << "cur_normal: " << tmp[0] << " " << tmp[1] << " " // cout << "cur_normal: " << tmp[0] << " " << tmp[1] << " " << tmp[2] << endl;
// << tmp[2] << endl; sgdSetVec3( normal, tmp );
sgTransposeNegateMat4 ( TMP, globals->get_current_view()->get_UP() ) ; // float *up = globals->get_current_view()->get_world_up();
sgXformVec3(tmp, tmp, TMP); // cout << "world_up : " << up[0] << " " << up[1] << " " << up[2] << endl;
// cout << "NED: " << tmp[0] << " " << tmp[1] << " " << tmp[2] << endl;
sgdSetVec3( normal, tmp[2], tmp[1], tmp[0] );
/* ssgState *IntersectedLeafState = /* ssgState *IntersectedLeafState =
((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */ ((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */
return true; return true;
@ -602,9 +602,10 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, sgdVec3 scenery_center,
sgVec3 tmp; sgVec3 tmp;
sgMat4 TMP; sgMat4 TMP;
sgSetVec3(tmp, hit_list->get_normal(this_hit)); sgSetVec3(tmp, hit_list->get_normal(this_hit));
sgTransposeNegateMat4 ( TMP, globals->get_current_view()->get_UP() ) ; // cout << "cur_normal: " << tmp[0] << " " << tmp[1] << " " << tmp[2] << endl;
sgXformVec3(tmp, tmp, TMP); sgdSetVec3( normal, tmp );
sgdSetVec3( normal, tmp[2], tmp[1], tmp[0] ); // float *up = globals->get_current_view()->get_world_up();
// cout << "world_up : " << up[0] << " " << up[1] << " " << up[2] << endl;
/* ssgState *IntersectedLeafState = /* ssgState *IntersectedLeafState =
((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */ ((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */
return true; return true;