public int NumberOfTiles()
{
int dx = m_dir.td_tilewidth;
if (dx == -1)
dx = m_dir.td_imagewidth;
int dy = m_dir.td_tilelength;
if (dy == -1)
dy = m_dir.td_imagelength;
int dz = m_dir.td_tiledepth;
if (dz == -1)
dz = m_dir.td_imagedepth;
int ntiles;
if (dx == 0 || dy == 0 || dz == 0)
{
ntiles = 0;
}
else
{
ntiles = multiply(
multiply(howMany(m_dir.td_imagewidth, dx), howMany(m_dir.td_imagelength, dy), "NumberOfTiles"),
howMany(m_dir.td_imagedepth, dz), "NumberOfTiles");
}
if (m_dir.td_planarconfig == PlanarConfig.SEPARATE)
ntiles = multiply(ntiles, m_dir.td_samplesperpixel, "NumberOfTiles");
return ntiles;
}