0
template <typename T >
QMatrix4x4 eigenTF2QMatrix(const T& transf)
{
Eigen::Matrix<double, 4, 4, Eigen::RowMajor> m = transf.matrix();
//QMatrix4x4 qmat(static_cast<qreal*>(m.data()) ); (original line)
QMatrix4x4 qmat(m.data());
printQMatrix4x4("From Eigen::Transform", qmat);
return qmat;
}
行を:だけでなく
QMatrix4x4 qmat(m.data());
元のように:
QMatrix4x4 qmat(static_cast<qreal*>(m.data()) );
は私にエラーを与える:
error: invalid conversion from 'Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 4, 1> >::Scalar* {aka double*}' to 'int' [-fpermissive]
この機能をどのようにして腕で動作させることができますか?
まあ、それはおそらくですか? – Notlikethat
qrealは、ARMではdoubleの代わりにfloatです。それはうまくいかなかった。 –
'Qt'をハックして' qreal == float'を変更して 'Qt'を再構築できますが、行列の各メンバをコピーするサイクルを書くのが簡単です。 – fghj