void IsoparametricTransformation::Transform (const DenseMatrix &matrix, DenseMatrix &result) { MFEM_ASSERT(matrix.Height() == GetDimension(), "invalid input"); result.SetSize(PointMat.Height(), matrix.Width()); IntegrationPoint ip; Vector col; for (int j = 0; j < matrix.Width(); j++) { ip.Set(matrix.GetColumn(j), matrix.Height()); result.GetColumnReference(j, col); Transform(ip, col); } }
void IsoparametricTransformation::Transform (const DenseMatrix &matrix, DenseMatrix &result) { result.SetSize(PointMat.Height(), matrix.Width()); IntegrationPoint ip; Vector col; for (int j = 0; j < matrix.Width(); j++) { ip.x = matrix(0, j); if (matrix.Height() > 1) { ip.y = matrix(1, j); if (matrix.Height() > 2) { ip.z = matrix(2, j); } } result.GetColumnReference(j, col); Transform(ip, col); } }