2012-10-11 40 views

回答

5

我與艾根工作過......

通常情況下,簡單的訪問內部數組數據,如mentioned by user janneb in this thread,你只是想invoke data()

Vector3d v; 
// Operations to add values to the vector. 
double *c_ptr = v.data(); 

如果你想爲了迭代各個值來執行一些操作,您希望迭代每行行(.row(索引))列(.col(索引)),這取決於ma trix的順序,你想躺在目的地載體。

在你的具體的例子,你只需要遍歷行:

Matrix<double,3,1> --> c_array [] 

你想打電話給.COL(0)。如果類似的需要而產生的,the specific documentation is always helpful!

所以,你最終會喜歡的東西(假設你希望使用一個三線單柱矩陣):

Vector3d v; 
// Operations to add values to the vector. 
for (int i=0; i<v.rows(); ++i) 
    c_array[i] = v(i,0); 

希望這有助於。

+0

我一直希望沒有複製的東西。但這會做現在 –

+0

檢查答案的頂部:) –

+0

出於好奇,這是你的遊戲機器人項目?如果是這樣,你打算做一個開源庫嗎?將使用哪種語言進行交互? C++? –

相關問題