void PtCloudGeom::Scale() { double currentScale = m_Scale() / m_LastScale(); m_ScaleFromOrig *= currentScale; m_ScaleMatrix.loadIdentity(); m_ScaleMatrix.scale( m_ScaleFromOrig() ); m_LastScale = m_Scale(); }
void Scale::UpdateMatrix() const { m_Matrix.resize(m_Scale.size(), m_Scale.size()); for (Matrix::size_type row = 0; row < m_Matrix.size1(); row++) { for (Matrix::size_type column = 0; column < m_Matrix.size2(); column++) { if (row == column) m_Matrix(row, column) = m_Scale(row); else m_Matrix(row, column) = 0.0f; } } }