; *************************************************************** | |
; * Eigen Visualizer | |
; * | |
; * Author: Hauke Heibel <hauke.heibel@gmail.com> | |
; * | |
; * Support the enhanced debugging of the following Eigen | |
; * types (*: any, +:fixed dimension) : | |
; * | |
; * - Eigen::Matrix<*,4,1,*,*,*> and Eigen::Matrix<*,1,4,*,*,*> | |
; * - Eigen::Matrix<*,3,1,*,*,*> and Eigen::Matrix<*,1,3,*,*,*> | |
; * - Eigen::Matrix<*,2,1,*,*,*> and Eigen::Matrix<*,1,2,*,*,*> | |
; * - Eigen::Matrix<*,-1,-1,*,*,*> | |
; * - Eigen::Matrix<*,+,-1,*,*,*> | |
; * - Eigen::Matrix<*,-1,+,*,*,*> | |
; * - Eigen::Matrix<*,+,+,*,*,*> | |
; * | |
; * Matrices are displayed properly independently of the memory | |
; * alignment (RowMajor vs. ColMajor). | |
; * | |
; * This file is distributed WITHOUT ANY WARRANTY. Please ensure | |
; * that your original autoexp.dat file is copied to a safe | |
; * place before proceeding with its modification. | |
; *************************************************************** | |
[Visualizer] | |
; Fixed size 4-vectors | |
Eigen::Matrix<*,4,1,*,*,*>|Eigen::Matrix<*,1,4,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
x : ($c.m_storage.m_data.array)[0], | |
y : ($c.m_storage.m_data.array)[1], | |
z : ($c.m_storage.m_data.array)[2], | |
w : ($c.m_storage.m_data.array)[3] | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
4, | |
"](", | |
#array(expr: $e.m_storage.m_data.array[$i], size: 4), | |
")" | |
) | |
) | |
} | |
; Fixed size 3-vectors | |
Eigen::Matrix<*,3,1,*,*,*>|Eigen::Matrix<*,1,3,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
x : ($c.m_storage.m_data.array)[0], | |
y : ($c.m_storage.m_data.array)[1], | |
z : ($c.m_storage.m_data.array)[2] | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
3, | |
"](", | |
#array(expr: $e.m_storage.m_data.array[$i], size: 3), | |
")" | |
) | |
) | |
} | |
; Fixed size 2-vectors | |
Eigen::Matrix<*,2,1,*,*,*>|Eigen::Matrix<*,1,2,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
x : ($c.m_storage.m_data.array)[0], | |
y : ($c.m_storage.m_data.array)[1] | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
2, | |
"](", | |
#array(expr: $e.m_storage.m_data.array[$i], size: 2), | |
")" | |
) | |
) | |
} | |
; Fixed size 1-vectors | |
Eigen::Matrix<*,1,1,*,*,*>|Eigen::Matrix<*,1,1,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
x : ($c.m_storage.m_data.array)[0] | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
1, | |
"](", | |
#array(expr: $e.m_storage.m_data.array[$i], size: 1), | |
")" | |
) | |
) | |
} | |
; Dynamic matrices (ColMajor and RowMajor support) | |
Eigen::Matrix<*,-1,-1,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
rows: $c.m_storage.m_rows, | |
cols: $c.m_storage.m_cols, | |
; Check for RowMajorBit | |
#if ($c.Flags & 0x1) ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.m_storage.m_cols + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)], | |
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols | |
) | |
) #else ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data)[$i], | |
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols | |
) | |
) | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
$c.m_storage.m_rows, | |
",", | |
$c.m_storage.m_cols, | |
"](", | |
#array( | |
expr : [($c.m_storage.m_data)[$i],g], | |
size : $c.m_storage.m_rows*$c.m_storage.m_cols | |
), | |
")" | |
) | |
) | |
} | |
; Fixed rows, dynamic columns matrix (ColMajor and RowMajor support) | |
Eigen::Matrix<*,*,-1,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
rows: $c.RowsAtCompileTime, | |
cols: $c.m_storage.m_cols, | |
; Check for RowMajorBit | |
#if ($c.Flags & 0x1) ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data)[($i % $c.RowsAtCompileTime)*$c.m_storage.m_cols + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)], | |
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols | |
) | |
) #else ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data)[$i], | |
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols | |
) | |
) | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
$c.RowsAtCompileTime, | |
",", | |
$c.m_storage.m_cols, | |
"](", | |
#array( | |
expr : [($c.m_storage.m_data)[$i],g], | |
size : $c.RowsAtCompileTime*$c.m_storage.m_cols | |
), | |
")" | |
) | |
) | |
} | |
; Dynamic rows, fixed columns matrix (ColMajor and RowMajor support) | |
Eigen::Matrix<*,-1,*,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
rows: $c.m_storage.m_rows, | |
cols: $c.ColsAtCompileTime, | |
; Check for RowMajorBit | |
#if ($c.Flags & 0x1) ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.ColsAtCompileTime + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)], | |
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime | |
) | |
) #else ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data)[$i], | |
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime | |
) | |
) | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
$c.m_storage.m_rows, | |
",", | |
$c.ColsAtCompileTime, | |
"](", | |
#array( | |
expr : [($c.m_storage.m_data)[$i],g], | |
size : $c.m_storage.m_rows*$c.ColsAtCompileTime | |
), | |
")" | |
) | |
) | |
} | |
; Fixed size matrix (ColMajor and RowMajor support) | |
Eigen::Matrix<*,*,*,*,*,*>{ | |
children | |
( | |
#( | |
[internals]: [$c,!], | |
rows: $c.RowsAtCompileTime, | |
cols: $c.ColsAtCompileTime, | |
; Check for RowMajorBit | |
#if ($c.Flags & 0x1) ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data.array)[($i % $c.RowsAtCompileTime)*$c.ColsAtCompileTime + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)], | |
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime | |
) | |
) #else ( | |
#array( | |
rank: 2, | |
base: 0, | |
expr: ($c.m_storage.m_data.array)[$i], | |
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime | |
) | |
) | |
) | |
) | |
preview | |
( | |
#( | |
"[", | |
$c.RowsAtCompileTime, | |
",", | |
$c.ColsAtCompileTime, | |
"](", | |
#array( | |
expr : [($c.m_storage.m_data.array)[$i],g], | |
size : $c.RowsAtCompileTime*$c.ColsAtCompileTime | |
), | |
")" | |
) | |
) | |
} |