T interpolate (double dXPos, double dYPos)
{
int iFloorX = static_cast<int>(floor(dXPos));
int iFloorY = static_cast<int>(floor (dYPos));
double dXFrac = dXPos - iFloorX;
double dYFrac = dYPos - iFloorY;
T interpolate (double dXPos, double dYPos)
{
int iFloorX = static_cast<int>(floor(dXPos));
int iFloorY = static_cast<int>(floor (dYPos));
double dXFrac = dXPos - iFloorX;
double dYFrac = dYPos - iFloorY;