void Renderer::orient(const WFMath::Quaternion & orientation) { if (!orientation.isValid()) { return; } float orient[4][4]; WFMath::RotMatrix<3> omatrix(orientation); // .asMatrix(orient); for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { orient[i][j] = omatrix.elem(i,j); } } orient[3][0] = orient[3][1] = orient[3][2] = orient[0][3] = orient[1][3] = orient[2][3] = 0.0f; orient[3][3] = 1.0f; glMultMatrixf(&orient[0][0]); }
// COPY CONSTRUCTION HELPERS omatrix PhenomatrixBase::copy_construct_omatrix(const PhenomatrixBase& rhs) { return omatrix(rhs.obs); }