void CSplinePatch::ComputeIndices( ) { int s[4]; int t[4]; ComputeIndex( m_is, m_Width, s ); ComputeIndex( m_it, m_Height, t ); int base = t[0] * m_Width; m_SampleIndices[0][0] = base + s[0]; m_SampleIndices[1][0] = base + s[1]; m_SampleIndices[2][0] = base + s[2]; m_SampleIndices[3][0] = base + s[3]; base = t[1] * m_Width; m_SampleIndices[0][1] = base + s[0]; m_SampleIndices[1][1] = base + s[1]; m_SampleIndices[2][1] = base + s[2]; m_SampleIndices[3][1] = base + s[3]; base = t[2] * m_Width; m_SampleIndices[0][2] = base + s[0]; m_SampleIndices[1][2] = base + s[1]; m_SampleIndices[2][2] = base + s[2]; m_SampleIndices[3][2] = base + s[3]; base = t[3] * m_Width; m_SampleIndices[0][3] = base + s[0]; m_SampleIndices[1][3] = base + s[1]; m_SampleIndices[2][3] = base + s[2]; m_SampleIndices[3][3] = base + s[3]; }
int TabularCPT::ComputeCurrentIndex(double& sum) const { return ComputeIndex(Variable::ComputeCurrentIndex(parents_), sum); }