aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-10-31 14:37:11 -0400
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-10-31 14:37:11 -0400
commit5ba19a53a6eb68c0bf1d2b531fe7fbffcca39929 (patch)
tree515611a3eff08d401a7266363aa36f6a18b2cf3a /doc
parent3ae4e3880febfa7a1948bc8accdabe066d17344d (diff)
rephrase tutorial on Map
Diffstat (limited to 'doc')
-rw-r--r--doc/C01_QuickStartGuide.dox24
1 files changed, 15 insertions, 9 deletions
diff --git a/doc/C01_QuickStartGuide.dox b/doc/C01_QuickStartGuide.dox
index 2943aed80..06b2595e7 100644
--- a/doc/C01_QuickStartGuide.dox
+++ b/doc/C01_QuickStartGuide.dox
@@ -278,18 +278,24 @@ Of course, fixed-size matrices can't be resized.
\subsection TutorialMap Map
-Any memory buffer can be mapped as an Eigen expression:
-<table class="tutorial_code"><tr><td>
+Any memory buffer can be mapped as an Eigen expression using the Map() static method:
\code
std::vector<float> stlarray(10);
-Map<VectorXf>(&stlarray[0], stlarray.size()).setOnes();
-int data[4] = 1, 2, 3, 4;
-Matrix2i mat2x2(data);
-MatrixXi mat2x2 = Map<Matrix2i>(data);
-MatrixXi mat2x2 = Map<MatrixXi>(data,2,2);
+VectorXf::Map(&stlarray[0], stlarray.size()).squaredNorm();
+\endcode
+Here VectorXf::Map returns an object of class Map<VectorXf>, which behaves like a VectorXf except that it uses the existing array. You can write to this object, that will write to the existing array. You can also construct a named obtect to reuse it:
+\code
+float array[rows*cols];
+Map<MatrixXf> m(array,rows,cols);
+m = othermatrix1 * othermatrix2;
+m.eigenvalues();
+\endcode
+In the fixed-size case, no need to pass sizes:
+\code
+float array[9];
+Map<Matrix3d> m(array);
+Matrix3d::Map(array).setIdentity();
\endcode
-</td></tr></table>
-
\subsection TutorialCommaInit Comma initializer