AL3SLCDLHEM2K7XFORCHBSO2WRSHWAPRCSMH7HHMRWVBPNA5EM7AC
6UEYAQ27626W64EMNMW33D24RJEZNJPEPEOKNMU524SIL5VSTHOAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
ACZYEIX7WMPIIODKCATBCUE626AJ4ZGGBOMVC6BGXM27EQU2RECAC
double reflect(double x, double c) const;
double *newx, double *newy,
double ray_def::reflect(double p, double c) const
double _reflect(double p, double c)
return (reflect(oldx, floor(oldx) + 0.5));
return (_reflect(oldx, floor(oldx) + 0.5));
return (reflect(oldx, flnew > flold? flnew : flold > flnew? flold : (newx + oldx) / 2));
return (reflect(oldx,
flnew > flold? flnew :
flold > flnew? flold :
(newx + oldx) / 2));
return (_reflect(oldx, flnew > flold ? flnew : flold > flnew ? flold : (newx + oldx) / 2));
return (_reflect(oldx,
flnew > flold ? flnew :
flold > flnew ? flold :
*newx = oldx; *newy = oldy;
*newx = oldx;
*newy = oldy;
accx = oldx; accy = oldy;
accx = oldx;
accy = oldy;
ASSERT(int(oldy) != int(*newy)); *newy = oldy; *newx = reflect(true, oldx, *newx);
ASSERT(int(oldy) != int(*newy));
*newx = reflect(true, oldx, *newx);
ASSERT(int(oldy) != int(accy)); accy = oldy; accx = reflect(true, oldx, accx);
ASSERT(int(oldy) != int(accy));
accx = reflect(true, oldx, accx);
ASSERT(int(oldx) != int(*newx)); *newx = oldx; *newy = reflect(false, oldy, *newy);
ASSERT(int(oldx) != int(*newx));
*newy = reflect(false, oldy, *newy);
ASSERT(int(oldx) != int(accx)); accx = oldx; accy = reflect(false, oldy, accy);
ASSERT(int(oldx) != int(accx));
accy = reflect(false, oldy, accy);
ASSERT( grid_is_solid(grd[newx][newy]) );
ASSERT(grid_is_solid(grd[newx][newy]));
if ( double_is_zero(slope) || slope > 100.0 )
if (double_is_zero(slope) || slope > 100.0)
ASSERT( (oldx != newx) && (oldy != newy) );
ASSERT((oldx != newx) && (oldy != newy));
set_reflect_point(oldaccx, oldaccy, &accx, &accy, blocked_x, blocked_y);
set_reflect_point(oldaccx, oldaccy, blocked_x, blocked_y);