1 <?xml version=
"1.0" encoding=
"utf-8"?>
3 <AutoVisualizer xmlns=
"http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
5 <!-- Fixed x Fixed Matrix -->
6 <Type Name=
"Eigen::Matrix<*,*,*,*,*,*>">
7 <AlternativeType Name=
"Eigen::Array<*,-1,-1,*,*,*>"/>
8 <DisplayString>[{$T2}, {$T3}] (fixed matrix)
</DisplayString>
10 <ArrayItems Condition=
"Flags%2"> <!-- row major layout -->
12 <Size>$i==
0 ? $T2 : $T3
</Size>
13 <ValuePointer>m_storage.m_data.array
</ValuePointer>
15 <ArrayItems Condition=
"!(Flags%2)"> <!-- column major layout -->
16 <Direction>Backward
</Direction>
18 <Size>$i==
0 ? $T2 : $T3
</Size>
19 <ValuePointer>m_storage.m_data.array
</ValuePointer>
25 <Type Name=
"Eigen::Matrix<*,2,2,*,*,*>">
26 <AlternativeType Name=
"Eigen::Array<*,2,2,*,*,*>"/>
27 <DisplayString>[
2,
2] (fixed matrix)
</DisplayString>
29 <Synthetic Name=
"[row 0]" Condition=
"Flags%2">
30 <DisplayString>({m_storage.m_data.array[
0]}, {m_storage.m_data.array[
1]})
</DisplayString>
32 <Synthetic Name=
"[row 0]" Condition=
"!(Flags%2)">
33 <DisplayString>({m_storage.m_data.array[
0]}, {m_storage.m_data.array[
2]})
</DisplayString>
35 <Synthetic Name=
"[row 1]" Condition=
"Flags%2">
36 <DisplayString>({m_storage.m_data.array[
2]}, {m_storage.m_data.array[
3]})
</DisplayString>
38 <Synthetic Name=
"[row 1]" Condition=
"!(Flags%2)">
39 <DisplayString>({m_storage.m_data.array[
1]}, {m_storage.m_data.array[
3]})
</DisplayString>
45 <Type Name=
"Eigen::Matrix<*,3,3,*,*,*>">
46 <AlternativeType Name=
"Eigen::Array<*,3,3,*,*,*>"/>
47 <DisplayString>[
3,
3] (fixed matrix)
</DisplayString>
49 <Synthetic Name=
"[row 0]" Condition=
"Flags%2">
50 <DisplayString>({m_storage.m_data.array[
0]}, {m_storage.m_data.array[
1]}, {m_storage.m_data.array[
2]})
</DisplayString>
52 <Synthetic Name=
"[row 0]" Condition=
"!(Flags%2)">
53 <DisplayString>({m_storage.m_data.array[
0]}, {m_storage.m_data.array[
3]}, {m_storage.m_data.array[
6]})
</DisplayString>
55 <Synthetic Name=
"[row 1]" Condition=
"Flags%2">
56 <DisplayString>({m_storage.m_data.array[
3]}, {m_storage.m_data.array[
4]}, {m_storage.m_data.array[
5]})
</DisplayString>
58 <Synthetic Name=
"[row 1]" Condition=
"!(Flags%2)">
59 <DisplayString>({m_storage.m_data.array[
1]}, {m_storage.m_data.array[
4]}, {m_storage.m_data.array[
7]})
</DisplayString>
61 <Synthetic Name=
"[row 2]" Condition=
"Flags%2">
62 <DisplayString>({m_storage.m_data.array[
6]}, {m_storage.m_data.array[
7]}, {m_storage.m_data.array[
8]})
</DisplayString>
64 <Synthetic Name=
"[row 2]" Condition=
"!(Flags%2)">
65 <DisplayString>({m_storage.m_data.array[
2]}, {m_storage.m_data.array[
5]}, {m_storage.m_data.array[
8]})
</DisplayString>
71 <Type Name=
"Eigen::Matrix<*,4,4,*,*,*>">
72 <AlternativeType Name=
"Eigen::Array<*,4,4,*,*,*>"/>
73 <DisplayString>[
4,
4] (fixed matrix)
</DisplayString>
75 <Synthetic Name=
"[row 0]" Condition=
"Flags%2">
76 <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>
78 <Synthetic Name=
"[row 0]" Condition=
"!(Flags%2)">
79 <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>
81 <Synthetic Name=
"[row 1]" Condition=
"Flags%2">
82 <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>
84 <Synthetic Name=
"[row 1]" Condition=
"!(Flags%2)">
85 <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>
87 <Synthetic Name=
"[row 2]" Condition=
"Flags%2">
88 <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>
90 <Synthetic Name=
"[row 2]" Condition=
"!(Flags%2)">
91 <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>
93 <Synthetic Name=
"[row 3]" Condition=
"Flags%2">
94 <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>
96 <Synthetic Name=
"[row 3]" Condition=
"!(Flags%2)">
97 <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>
102 <!-- Dynamic x Dynamic Matrix -->
103 <Type Name=
"Eigen::Matrix<*,-1,-1,*,*,*>">
104 <AlternativeType Name=
"Eigen::Array<*,-1,-1,*,*,*>"/>
105 <DisplayString Condition=
"m_storage.m_data == 0">empty
</DisplayString>
106 <DisplayString Condition=
"m_storage.m_data != 0">[{m_storage.m_rows}, {m_storage.m_cols}] (dynamic matrix)
</DisplayString>
108 <ArrayItems Condition=
"Flags%2"> <!-- row major layout -->
110 <Size>$i==
0 ? m_storage.m_rows : m_storage.m_cols
</Size>
111 <ValuePointer>m_storage.m_data
</ValuePointer>
113 <ArrayItems Condition=
"!(Flags%2)"> <!-- column major layout -->
114 <Direction>Backward
</Direction>
116 <Size>$i==
0 ? m_storage.m_rows : m_storage.m_cols
</Size>
117 <ValuePointer>m_storage.m_data
</ValuePointer>
122 <!-- Fixed x Dynamic Matrix -->
123 <Type Name=
"Eigen::Matrix<*,*,-1,*,*,*>">
124 <AlternativeType Name=
"Eigen::Array<*,*,-1,*,*,*>"/>
125 <DisplayString Condition=
"m_storage.m_data == 0">empty
</DisplayString>
126 <DisplayString Condition=
"m_storage.m_data != 0">[{$T2}, {m_storage.m_cols}] (dynamic column matrix)
</DisplayString>
128 <ArrayItems Condition=
"Flags%2"> <!-- row major layout -->
130 <Size>$i==
0 ? $T2 : m_storage.m_cols
</Size>
131 <ValuePointer>m_storage.m_data
</ValuePointer>
133 <ArrayItems Condition=
"!(Flags%2)"> <!-- column major layout -->
134 <Direction>Backward
</Direction>
136 <Size>$i==
0 ? $T2 : m_storage.m_cols
</Size>
137 <ValuePointer>m_storage.m_data
</ValuePointer>
142 <!-- Dynamic x Fixed Matrix -->
143 <Type Name=
"Eigen::Matrix<*,-1,*,*,*,*>">
144 <AlternativeType Name=
"Eigen::Array<*,-1,*,*,*,*>"/>
145 <DisplayString Condition=
"m_storage.m_data == 0">empty
</DisplayString>
146 <DisplayString Condition=
"m_storage.m_data != 0">[{m_storage.m_rows}, {$T2}] (dynamic row matrix)
</DisplayString>
148 <ArrayItems Condition=
"Flags%2"> <!-- row major layout -->
150 <Size>$i==
0 ? m_storage.m_rows : $T2
</Size>
151 <ValuePointer>m_storage.m_data
</ValuePointer>
153 <ArrayItems Condition=
"!(Flags%2)"> <!-- column major layout -->
154 <Direction>Backward
</Direction>
156 <Size>$i==
0 ? m_storage.m_rows : $T2
</Size>
157 <ValuePointer>m_storage.m_data
</ValuePointer>
162 <!-- Dynamic Column Vector -->
163 <Type Name=
"Eigen::Matrix<*,1,-1,*,*,*>">
164 <AlternativeType Name=
"Eigen::Array<*,1,-1,*,*,*>"/>
165 <DisplayString Condition=
"m_storage.m_data == 0">empty
</DisplayString>
166 <DisplayString Condition=
"m_storage.m_data != 0">[{m_storage.m_cols}] (dynamic column vector)
</DisplayString>
168 <Item Name=
"[size]">m_storage.m_cols
</Item>
170 <Size>m_storage.m_cols
</Size>
171 <ValuePointer>m_storage.m_data
</ValuePointer>
176 <!-- Dynamic Row Vector -->
177 <Type Name=
"Eigen::Matrix<*,-1,1,*,*,*>">
178 <AlternativeType Name=
"Eigen::Array<*,-1,1,*,*,*>"/>
179 <DisplayString Condition=
"m_storage.m_data == 0">empty
</DisplayString>
180 <DisplayString Condition=
"m_storage.m_data != 0">[{m_storage.m_rows}] (dynamic row vector)
</DisplayString>
182 <Item Name=
"[size]">m_storage.m_rows
</Item>
184 <Size>m_storage.m_rows
</Size>
185 <ValuePointer>m_storage.m_data
</ValuePointer>
190 <!-- Fixed Vector -->
191 <Type Name=
"Eigen::Matrix<*,1,1,*,*,*>">
192 <AlternativeType Name=
"Eigen::Array<*,1,1,*,*,*>"/>
193 <DisplayString>[
1] ({m_storage.m_data.array[
0]})
</DisplayString>
195 <Item Name=
"[x]">m_storage.m_data.array[
0]
</Item>
199 <Type Name=
"Eigen::Matrix<*,2,1,*,*,*>">
200 <AlternativeType Name=
"Eigen::Matrix<*,1,2,*,*,*>"/>
201 <AlternativeType Name=
"Eigen::Array<*,2,1,*,*,*>"/>
202 <AlternativeType Name=
"Eigen::Array<*,1,2,*,*,*>"/>
203 <DisplayString>[
2] ({m_storage.m_data.array[
0]}, {m_storage.m_data.array[
1]})
</DisplayString>
205 <Item Name=
"[x]">m_storage.m_data.array[
0]
</Item>
206 <Item Name=
"[y]">m_storage.m_data.array[
1]
</Item>
210 <Type Name=
"Eigen::Matrix<*,3,1,*,*,*>">
211 <AlternativeType Name=
"Eigen::Matrix<*,1,3,*,*,*>"/>
212 <AlternativeType Name=
"Eigen::Array<*,3,1,*,*,*>"/>
213 <AlternativeType Name=
"Eigen::Array<*,1,3,*,*,*>"/>
214 <DisplayString>[
3] ({m_storage.m_data.array[
0]}, {m_storage.m_data.array[
1]}, {m_storage.m_data.array[
2]})
</DisplayString>
216 <Item Name=
"[x]">m_storage.m_data.array[
0]
</Item>
217 <Item Name=
"[y]">m_storage.m_data.array[
1]
</Item>
218 <Item Name=
"[z]">m_storage.m_data.array[
2]
</Item>
222 <Type Name=
"Eigen::Matrix<*,4,1,*,*,*>">
223 <AlternativeType Name=
"Eigen::Matrix<*,1,4,*,*,*>"/>
224 <AlternativeType Name=
"Eigen::Array<*,4,1,*,*,*>"/>
225 <AlternativeType Name=
"Eigen::Array<*,1,4,*,*,*>"/>
226 <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>
228 <Item Name=
"[x]">m_storage.m_data.array[
0]
</Item>
229 <Item Name=
"[y]">m_storage.m_data.array[
1]
</Item>
230 <Item Name=
"[z]">m_storage.m_data.array[
2]
</Item>
231 <Item Name=
"[w]">m_storage.m_data.array[
3]
</Item>