"visualizerFile": "${workspaceFolder}/.vscode/eigen.natvis",


<?xml version="1.0" encoding="utf-8"?><AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"><!-- Fixed x Fixed Matrix --><Type Name="Eigen::Matrix<*,*,*,*,*,*>"> <AlternativeType Name="Eigen::Array<*,-1,-1,*,*,*>"/><DisplayString>[{$T2}, {$T3}] (fixed matrix)</DisplayString><Expand><ArrayItems Condition="Flags%2"> <!-- row major layout --><Rank>2</Rank><Size>$i==0 ? $T2 : $T3</Size><ValuePointer>m_storage.m_data.array</ValuePointer></ArrayItems><ArrayItems Condition="!(Flags%2)"> <!-- column major layout --><Direction>Backward</Direction><Rank>2</Rank><Size>$i==0 ? $T2 : $T3</Size><ValuePointer>m_storage.m_data.array</ValuePointer></ArrayItems></Expand></Type><!-- 2 x 2 Matrix --><Type Name="Eigen::Matrix<*,2,2,*,*,*>"> <AlternativeType Name="Eigen::Array<*,2,2,*,*,*>"/><DisplayString>[2, 2] (fixed matrix)</DisplayString><Expand><Synthetic Name="[row 0]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]})</DisplayString></Synthetic><Synthetic Name="[row 0]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[2]})</DisplayString></Synthetic><Synthetic Name="[row 1]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString></Synthetic><Synthetic Name="[row 1]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[3]})</DisplayString></Synthetic> </Expand></Type><!-- 3 x 3 Matrix --><Type Name="Eigen::Matrix<*,3,3,*,*,*>"> <AlternativeType Name="Eigen::Array<*,3,3,*,*,*>"/><DisplayString>[3, 3] (fixed matrix)</DisplayString><Expand><Synthetic Name="[row 0]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]})</DisplayString></Synthetic><Synthetic Name="[row 0]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[3]}, {m_storage.m_data.array[6]})</DisplayString></Synthetic><Synthetic Name="[row 1]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[3]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[5]})</DisplayString></Synthetic><Synthetic Name="[row 1]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[7]})</DisplayString></Synthetic><Synthetic Name="[row 2]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[6]}, {m_storage.m_data.array[7]}, {m_storage.m_data.array[8]})</DisplayString></Synthetic><Synthetic Name="[row 2]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[8]})</DisplayString></Synthetic> </Expand></Type><!-- 4 x 4 Matrix --><Type Name="Eigen::Matrix<*,4,4,*,*,*>"> <AlternativeType Name="Eigen::Array<*,4,4,*,*,*>"/><DisplayString>[4, 4] (fixed matrix)</DisplayString><Expand><Synthetic Name="[row 0]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString></Synthetic><Synthetic Name="[row 0]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[8]}, {m_storage.m_data.array[12]})</DisplayString></Synthetic><Synthetic Name="[row 1]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[4]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[6]}, {m_storage.m_data.array[7]})</DisplayString></Synthetic><Synthetic Name="[row 1]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[9]}, {m_storage.m_data.array[13]})</DisplayString></Synthetic><Synthetic Name="[row 2]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[8]}, {m_storage.m_data.array[9]}, {m_storage.m_data.array[10]}, {m_storage.m_data.array[11]})</DisplayString></Synthetic><Synthetic Name="[row 2]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[6]}, {m_storage.m_data.array[10]}, {m_storage.m_data.array[14]})</DisplayString></Synthetic><Synthetic Name="[row 3]" Condition="Flags%2"><DisplayString>({m_storage.m_data.array[12]}, {m_storage.m_data.array[13]}, {m_storage.m_data.array[14]}, {m_storage.m_data.array[15]})</DisplayString></Synthetic><Synthetic Name="[row 3]" Condition="!(Flags%2)"><DisplayString>({m_storage.m_data.array[3]}, {m_storage.m_data.array[7]}, {m_storage.m_data.array[11]}, {m_storage.m_data.array[15]})</DisplayString></Synthetic> </Expand></Type> <!-- Dynamic x Dynamic Matrix --><Type Name="Eigen::Matrix<*,-1,-1,*,*,*>"> <AlternativeType Name="Eigen::Array<*,-1,-1,*,*,*>"/><DisplayString Condition="m_storage.m_data == 0">empty</DisplayString><DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}, {m_storage.m_cols}] (dynamic matrix)</DisplayString><Expand><ArrayItems Condition="Flags%2"> <!-- row major layout --><Rank>2</Rank><Size>$i==0 ? m_storage.m_rows : m_storage.m_cols</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems><ArrayItems Condition="!(Flags%2)"> <!-- column major layout --><Direction>Backward</Direction><Rank>2</Rank><Size>$i==0 ? m_storage.m_rows : m_storage.m_cols</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems></Expand></Type><!-- Fixed x Dynamic Matrix --><Type Name="Eigen::Matrix<*,*,-1,*,*,*>"><AlternativeType Name="Eigen::Array<*,*,-1,*,*,*>"/><DisplayString Condition="m_storage.m_data == 0">empty</DisplayString><DisplayString Condition="m_storage.m_data != 0">[{$T2}, {m_storage.m_cols}] (dynamic column matrix)</DisplayString><Expand><ArrayItems Condition="Flags%2"> <!-- row major layout --><Rank>2</Rank><Size>$i==0 ? $T2 : m_storage.m_cols</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems><ArrayItems Condition="!(Flags%2)"> <!-- column major layout --><Direction>Backward</Direction><Rank>2</Rank><Size>$i==0 ? $T2 : m_storage.m_cols</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems></Expand></Type><!-- Dynamic x Fixed Matrix --><Type Name="Eigen::Matrix<*,-1,*,*,*,*>"><AlternativeType Name="Eigen::Array<*,-1,*,*,*,*>"/><DisplayString Condition="m_storage.m_data == 0">empty</DisplayString><DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}, {$T2}] (dynamic row matrix)</DisplayString><Expand><ArrayItems Condition="Flags%2"> <!-- row major layout --><Rank>2</Rank><Size>$i==0 ? m_storage.m_rows : $T2</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems><ArrayItems Condition="!(Flags%2)"> <!-- column major layout --><Direction>Backward</Direction><Rank>2</Rank><Size>$i==0 ? m_storage.m_rows : $T2</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems></Expand></Type><!-- Dynamic Column Vector --><Type Name="Eigen::Matrix<*,1,-1,*,*,*>"><AlternativeType Name="Eigen::Array<*,1,-1,*,*,*>"/><DisplayString Condition="m_storage.m_data == 0">empty</DisplayString><DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_cols}] (dynamic column vector)</DisplayString><Expand><Item Name="[size]">m_storage.m_cols</Item><ArrayItems><Size>m_storage.m_cols</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems></Expand></Type><!-- Dynamic Row Vector --><Type Name="Eigen::Matrix<*,-1,1,*,*,*>"><AlternativeType Name="Eigen::Array<*,-1,1,*,*,*>"/><DisplayString Condition="m_storage.m_data == 0">empty</DisplayString><DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}] (dynamic row vector)</DisplayString><Expand><Item Name="[size]">m_storage.m_rows</Item><ArrayItems><Size>m_storage.m_rows</Size><ValuePointer>m_storage.m_data</ValuePointer></ArrayItems></Expand></Type><!-- Fixed Vector --><Type Name="Eigen::Matrix<*,1,1,*,*,*>"><AlternativeType Name="Eigen::Array<*,1,1,*,*,*>"/><DisplayString>[1] ({m_storage.m_data.array[0]})</DisplayString><Expand><Item Name="[x]">m_storage.m_data.array[0]</Item></Expand></Type><Type Name="Eigen::Matrix<*,2,1,*,*,*>"><AlternativeType Name="Eigen::Matrix<*,1,2,*,*,*>"/><AlternativeType Name="Eigen::Array<*,2,1,*,*,*>"/><AlternativeType Name="Eigen::Array<*,1,2,*,*,*>"/><DisplayString>[2] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]})</DisplayString><Expand><Item Name="[x]">m_storage.m_data.array[0]</Item><Item Name="[y]">m_storage.m_data.array[1]</Item></Expand></Type><Type Name="Eigen::Matrix<*,3,1,*,*,*>"><AlternativeType Name="Eigen::Matrix<*,1,3,*,*,*>"/><AlternativeType Name="Eigen::Array<*,3,1,*,*,*>"/><AlternativeType Name="Eigen::Array<*,1,3,*,*,*>"/><DisplayString>[3] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]})</DisplayString><Expand><Item Name="[x]">m_storage.m_data.array[0]</Item><Item Name="[y]">m_storage.m_data.array[1]</Item><Item Name="[z]">m_storage.m_data.array[2]</Item></Expand></Type><Type Name="Eigen::Matrix<*,4,1,*,*,*>"><AlternativeType Name="Eigen::Matrix<*,1,4,*,*,*>"/><AlternativeType Name="Eigen::Array<*,4,1,*,*,*>"/><AlternativeType Name="Eigen::Array<*,1,4,*,*,*>"/><DisplayString>[4] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString><Expand><Item Name="[x]">m_storage.m_data.array[0]</Item><Item Name="[y]">m_storage.m_data.array[1]</Item><Item Name="[z]">m_storage.m_data.array[2]</Item><Item Name="[w]">m_storage.m_data.array[3]</Item></Expand></Type></AutoVisualizer>