1 ; *************************************************************** 2 ; * Eigen Visualizer 3 ; * 4 ; * Author: Hauke Heibel <hauke.heibel (a] gmail.com> 5 ; * 6 ; * Support the enhanced debugging of the following Eigen 7 ; * types (*: any, +:fixed dimension) : 8 ; * 9 ; * - Eigen::Matrix<*,4,1,*,*,*> and Eigen::Matrix<*,1,4,*,*,*> 10 ; * - Eigen::Matrix<*,3,1,*,*,*> and Eigen::Matrix<*,1,3,*,*,*> 11 ; * - Eigen::Matrix<*,2,1,*,*,*> and Eigen::Matrix<*,1,2,*,*,*> 12 ; * - Eigen::Matrix<*,-1,-1,*,*,*> 13 ; * - Eigen::Matrix<*,+,-1,*,*,*> 14 ; * - Eigen::Matrix<*,-1,+,*,*,*> 15 ; * - Eigen::Matrix<*,+,+,*,*,*> 16 ; * 17 ; * Matrices are displayed properly independantly of the memory 18 ; * alignment (RowMajor vs. ColMajor). 19 ; * 20 ; * This file is distributed WITHOUT ANY WARRANTY. Please ensure 21 ; * that your original autoexp.dat file is copied to a safe 22 ; * place before proceeding with its modification. 23 ; *************************************************************** 24 25 [Visualizer] 26 27 ; Fixed size 4-vectors 28 Eigen::Matrix<*,4,1,*,*,*>|Eigen::Matrix<*,1,4,*,*,*>{ 29 children 30 ( 31 #( 32 [internals]: [$c,!], 33 x : ($c.m_storage.m_data.array)[0], 34 y : ($c.m_storage.m_data.array)[1], 35 z : ($c.m_storage.m_data.array)[2], 36 w : ($c.m_storage.m_data.array)[3] 37 ) 38 ) 39 40 preview 41 ( 42 #( 43 "[", 44 4, 45 "](", 46 #array(expr: $e.m_storage.m_data.array[$i], size: 4), 47 ")" 48 ) 49 ) 50 } 51 52 ; Fixed size 3-vectors 53 Eigen::Matrix<*,3,1,*,*,*>|Eigen::Matrix<*,1,3,*,*,*>{ 54 children 55 ( 56 #( 57 [internals]: [$c,!], 58 x : ($c.m_storage.m_data.array)[0], 59 y : ($c.m_storage.m_data.array)[1], 60 z : ($c.m_storage.m_data.array)[2] 61 ) 62 ) 63 64 preview 65 ( 66 #( 67 "[", 68 3, 69 "](", 70 #array(expr: $e.m_storage.m_data.array[$i], size: 3), 71 ")" 72 ) 73 ) 74 } 75 76 ; Fixed size 2-vectors 77 Eigen::Matrix<*,2,1,*,*,*>|Eigen::Matrix<*,1,2,*,*,*>{ 78 children 79 ( 80 #( 81 [internals]: [$c,!], 82 x : ($c.m_storage.m_data.array)[0], 83 y : ($c.m_storage.m_data.array)[1] 84 ) 85 ) 86 87 preview 88 ( 89 #( 90 "[", 91 2, 92 "](", 93 #array(expr: $e.m_storage.m_data.array[$i], size: 2), 94 ")" 95 ) 96 ) 97 } 98 99 ; Fixed size 1-vectors 100 Eigen::Matrix<*,1,1,*,*,*>|Eigen::Matrix<*,1,1,*,*,*>{ 101 children 102 ( 103 #( 104 [internals]: [$c,!], 105 x : ($c.m_storage.m_data.array)[0] 106 ) 107 ) 108 109 preview 110 ( 111 #( 112 "[", 113 1, 114 "](", 115 #array(expr: $e.m_storage.m_data.array[$i], size: 1), 116 ")" 117 ) 118 ) 119 } 120 121 ; Dynamic matrices (ColMajor and RowMajor support) 122 Eigen::Matrix<*,-1,-1,*,*,*>{ 123 children 124 ( 125 #( 126 [internals]: [$c,!], 127 rows: $c.m_storage.m_rows, 128 cols: $c.m_storage.m_cols, 129 ; Check for RowMajorBit 130 #if ($c.Flags & 0x1) ( 131 #array( 132 rank: 2, 133 base: 0, 134 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)], 135 size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols 136 ) 137 ) #else ( 138 #array( 139 rank: 2, 140 base: 0, 141 expr: ($c.m_storage.m_data)[$i], 142 size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols 143 ) 144 ) 145 ) 146 ) 147 148 preview 149 ( 150 #( 151 "[", 152 $c.m_storage.m_rows, 153 ",", 154 $c.m_storage.m_cols, 155 "](", 156 #array( 157 expr : [($c.m_storage.m_data)[$i],g], 158 size : $c.m_storage.m_rows*$c.m_storage.m_cols 159 ), 160 ")" 161 ) 162 ) 163 } 164 165 ; Fixed rows, dynamic columns matrix (ColMajor and RowMajor support) 166 Eigen::Matrix<*,*,-1,*,*,*>{ 167 children 168 ( 169 #( 170 [internals]: [$c,!], 171 rows: $c.RowsAtCompileTime, 172 cols: $c.m_storage.m_cols, 173 ; Check for RowMajorBit 174 #if ($c.Flags & 0x1) ( 175 #array( 176 rank: 2, 177 base: 0, 178 expr: ($c.m_storage.m_data)[($i % $c.RowsAtCompileTime)*$c.m_storage.m_cols + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)], 179 size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols 180 ) 181 ) #else ( 182 #array( 183 rank: 2, 184 base: 0, 185 expr: ($c.m_storage.m_data)[$i], 186 size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols 187 ) 188 ) 189 ) 190 ) 191 192 preview 193 ( 194 #( 195 "[", 196 $c.RowsAtCompileTime, 197 ",", 198 $c.m_storage.m_cols, 199 "](", 200 #array( 201 expr : [($c.m_storage.m_data)[$i],g], 202 size : $c.RowsAtCompileTime*$c.m_storage.m_cols 203 ), 204 ")" 205 ) 206 ) 207 } 208 209 ; Dynamic rows, fixed columns matrix (ColMajor and RowMajor support) 210 Eigen::Matrix<*,-1,*,*,*,*>{ 211 children 212 ( 213 #( 214 [internals]: [$c,!], 215 rows: $c.m_storage.m_rows, 216 cols: $c.ColsAtCompileTime, 217 ; Check for RowMajorBit 218 #if ($c.Flags & 0x1) ( 219 #array( 220 rank: 2, 221 base: 0, 222 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)], 223 size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime 224 ) 225 ) #else ( 226 #array( 227 rank: 2, 228 base: 0, 229 expr: ($c.m_storage.m_data)[$i], 230 size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime 231 ) 232 ) 233 ) 234 ) 235 236 preview 237 ( 238 #( 239 "[", 240 $c.m_storage.m_rows, 241 ",", 242 $c.ColsAtCompileTime, 243 "](", 244 #array( 245 expr : [($c.m_storage.m_data)[$i],g], 246 size : $c.m_storage.m_rows*$c.ColsAtCompileTime 247 ), 248 ")" 249 ) 250 ) 251 } 252 253 ; Fixed size matrix (ColMajor and RowMajor support) 254 Eigen::Matrix<*,*,*,*,*,*>{ 255 children 256 ( 257 #( 258 [internals]: [$c,!], 259 rows: $c.RowsAtCompileTime, 260 cols: $c.ColsAtCompileTime, 261 ; Check for RowMajorBit 262 #if ($c.Flags & 0x1) ( 263 #array( 264 rank: 2, 265 base: 0, 266 expr: ($c.m_storage.m_data.array)[($i % $c.RowsAtCompileTime)*$c.ColsAtCompileTime + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)], 267 size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime 268 ) 269 ) #else ( 270 #array( 271 rank: 2, 272 base: 0, 273 expr: ($c.m_storage.m_data.array)[$i], 274 size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime 275 ) 276 ) 277 ) 278 ) 279 280 preview 281 ( 282 #( 283 "[", 284 $c.RowsAtCompileTime, 285 ",", 286 $c.ColsAtCompileTime, 287 "](", 288 #array( 289 expr : [($c.m_storage.m_data.array)[$i],g], 290 size : $c.RowsAtCompileTime*$c.ColsAtCompileTime 291 ), 292 ")" 293 ) 294 ) 295 } 296