| ; *************************************************************** |
| ; * 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 |
| ), |
| ")" |
| ) |
| ) |
| } |