mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
renaming:
Block -> FixedBlock DynBlock -> Block indeed, previous commit solves the main issue with DynBlock so is should now be the more commonly used one.
This commit is contained in:
@@ -3,17 +3,17 @@ USING_PART_OF_NAMESPACE_EIGEN
|
||||
using namespace std;
|
||||
|
||||
template<typename Scalar, typename Derived>
|
||||
Eigen::Block<Derived, 2, 2>
|
||||
Eigen::FixedBlock<Derived, 2, 2>
|
||||
topLeft2x2Corner(MatrixBase<Scalar, Derived>& m)
|
||||
{
|
||||
return Eigen::Block<Derived, 2, 2>(m.ref(), 0, 0);
|
||||
return Eigen::FixedBlock<Derived, 2, 2>(m.ref(), 0, 0);
|
||||
}
|
||||
|
||||
template<typename Scalar, typename Derived>
|
||||
const Eigen::Block<Derived, 2, 2>
|
||||
const Eigen::FixedBlock<Derived, 2, 2>
|
||||
topLeft2x2Corner(const MatrixBase<Scalar, Derived>& m)
|
||||
{
|
||||
return Eigen::Block<Derived, 2, 2>(m.ref(), 0, 0);
|
||||
return Eigen::FixedBlock<Derived, 2, 2>(m.ref(), 0, 0);
|
||||
}
|
||||
|
||||
int main(int, char**)
|
||||
|
||||
@@ -3,17 +3,17 @@ USING_PART_OF_NAMESPACE_EIGEN
|
||||
using namespace std;
|
||||
|
||||
template<typename Scalar, typename Derived>
|
||||
Eigen::DynBlock<Derived>
|
||||
Eigen::Block<Derived>
|
||||
topLeftCorner(MatrixBase<Scalar, Derived>& m, int rows, int cols)
|
||||
{
|
||||
return Eigen::DynBlock<Derived>(m.ref(), 0, 0, rows, cols);
|
||||
return Eigen::Block<Derived>(m.ref(), 0, 0, rows, cols);
|
||||
}
|
||||
|
||||
template<typename Scalar, typename Derived>
|
||||
const Eigen::DynBlock<Derived>
|
||||
const Eigen::Block<Derived>
|
||||
topLeftCorner(const MatrixBase<Scalar, Derived>& m, int rows, int cols)
|
||||
{
|
||||
return Eigen::DynBlock<Derived>(m.ref(), 0, 0, rows, cols);
|
||||
return Eigen::Block<Derived>(m.ref(), 0, 0, rows, cols);
|
||||
}
|
||||
|
||||
int main(int, char**)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Matrix4d m = Vector4d(1,2,3,4).asDiagonal();
|
||||
cout << "Here is the matrix m:" << endl << m << endl;
|
||||
cout << "Here is m.block<2, 2>(2, 2):" << endl << m.block<2, 2>(2, 2) << endl;
|
||||
m.block<2, 2>(2, 0) = m.block<2, 2>(2, 2);
|
||||
cout << "Here is m.fixedBlock<2, 2>(2, 2):" << endl << m.fixedBlock<2, 2>(2, 2) << endl;
|
||||
m.fixedBlock<2, 2>(2, 0) = m.fixedBlock<2, 2>(2, 2);
|
||||
cout << "Now the matrix m is:" << endl << m << endl;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Matrix3d m = Vector3d(1,2,3).asDiagonal();
|
||||
cout << "Here is the matrix m:" << endl << m << endl;
|
||||
cout << "Here is m.dynBlock(1, 1, 2, 1):" << endl << m.dynBlock(1, 1, 2, 1) << endl;
|
||||
m.dynBlock(1, 0, 2, 1) = m.dynBlock(1, 1, 2, 1);
|
||||
cout << "Here is m.block(1, 1, 2, 1):" << endl << m.block(1, 1, 2, 1) << endl;
|
||||
m.block(1, 0, 2, 1) = m.block(1, 1, 2, 1);
|
||||
cout << "Now the matrix m is:" << endl << m << endl;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
Matrix4i m = Matrix4i::zero();
|
||||
m.block<3,3>(1,0).setIdentity();
|
||||
m.fixedBlock<3,3>(1,0).setIdentity();
|
||||
cout << m << endl;
|
||||
|
||||
@@ -18,13 +18,13 @@ int main(int, char **)
|
||||
// notice how we are mixing fixed-size and dynamic-size types.
|
||||
|
||||
cout << "In the top-left block, we put the matrix m shown above." << endl;
|
||||
m2.block<2,2>(0,0) = m;
|
||||
m2.fixedBlock<2,2>(0,0) = m;
|
||||
cout << "In the bottom-left block, we put the matrix m*m, which is:" << endl << m*m << endl;
|
||||
m2.block<2,2>(2,0) = m * m;
|
||||
m2.fixedBlock<2,2>(2,0) = m * m;
|
||||
cout << "In the top-right block, we put the matrix m+m, which is:" << endl << m+m << endl;
|
||||
m2.block<2,2>(0,2) = m + m;
|
||||
m2.fixedBlock<2,2>(0,2) = m + m;
|
||||
cout << "In the bottom-right block, we put the matrix m-m, which is:" << endl << m-m << endl;
|
||||
m2.block<2,2>(2,2) = m - m;
|
||||
m2.fixedBlock<2,2>(2,2) = m - m;
|
||||
cout << "Now the 4x4 matrix m2 is:" << endl << m2 << endl;
|
||||
|
||||
cout << "Row 0 of m2 is:" << endl << m2.row(0) << endl;
|
||||
|
||||
Reference in New Issue
Block a user