You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							295 lines
						
					
					
						
							7.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							295 lines
						
					
					
						
							7.4 KiB
						
					
					
				| ; *************************************************************** | |
| ; * 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 independantly 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 | |
|            ), | |
|          ")" | |
|       ) | |
|    ) | |
| }
 |