├── DirectX.natvis
├── Eigen.natvis
├── Geometry.xml
├── MVE.natvis
├── Open3D.natvis
├── OpenCV.natvis
├── README.md
├── SEACAVE.natvis
├── TinyXML2.natvis
└── pmp.natvis
/DirectX.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0x887A0006
6 | The application's device failed due to badly formed commands sent by the application. This is an design-time issue that should be investigated and fixed.
7 |
8 |
9 | 0x887A0005
10 | The video card has been physically removed from the system, or a driver upgrade for the video card has occurred. The application should destroy and recreate the device. For help debugging the problem, call ID3D10Device::GetDeviceRemovedReason.
11 |
12 |
13 | 0x887A0007
14 | The device failed due to a badly formed command. This is a run-time issue; The application should destroy and recreate the device.
15 |
16 |
17 | 0x887A0020
18 | The driver encountered a problem and was put into the device removed state.
19 |
20 |
21 | 0x887A000B
22 | An event (for example, a power cycle) interrupted the gathering of presentation statistics.
23 |
24 |
25 | 0x887A000C
26 | The application attempted to acquire exclusive ownership of an output, but failed because some other application (or device within the application) already acquired ownership.
27 |
28 |
29 | 0x887A0001
30 | The application provided invalid parameter data; this must be debugged and fixed before the application is released.
31 |
32 |
33 | 0x887A0003
34 | The buffer supplied by the application is not big enough to hold the requested data.
35 |
36 |
37 | 0x887A0021
38 | A global counter resource is in use, and the Direct3D device can't currently use the counter resource.
39 |
40 |
41 | 0x887A0022
42 | The resource or request is not currently available, but it might become available later.
43 |
44 |
45 | 0x887A0002
46 | When calling IDXGIObject::GetPrivateData, the GUID passed in is not recognized as one previously passed to IDXGIObject::SetPrivateData or IDXGIObject::SetPrivateDataInterface. When calling IDXGIFactory::EnumAdapters or IDXGIAdapter::EnumOutputs, the enumerated ordinal is out of range.
47 |
48 |
49 | 0x887a0023
50 | Reserved
51 |
52 |
53 | 0x887A0024
54 | Reserved
55 |
56 |
57 | 0x887A000A
58 | The GPU was busy at the moment when a call was made to perform an operation, and did not execute or schedule the operation.
59 |
60 |
61 | 0x887A0004
62 | The requested functionality is not supported by the device or the driver.
63 |
64 |
65 | 0x887A0026
66 | The desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop.
67 |
68 |
69 | 0x887A0027
70 | The time-out interval elapsed before the next desktop frame was available.
71 |
72 |
73 | 0x887A0028
74 | The Remote Desktop Services session is currently disconnected.
75 |
76 |
77 | 0x887A0029
78 | The DXGI outuput (monitor) to which the swap chain content was restricted is now disconnected or changed.
79 |
80 |
81 | 0x887A002A
82 | DXGI can't provide content protection on the swap chain. This error is typically caused by an older driver, or when you use a swap chain that is incompatible with content protection.
83 |
84 |
85 | 0x887A002B
86 | You tried to use a resource to which you did not have the required access privileges. This error is most typically caused when you write to a shared resource with read-only access.
87 |
88 |
89 | 0x887A002C
90 | The supplied name of a resource in a call to IDXGIResource1::CreateSharedHandle is already associated with some other resource.
91 |
92 |
93 | 0x087a0001
94 | The window content is not visible. When receiving this status, an application can stop rendering and use DXGI_PRESENT_TEST to determine when to resume rendering.
95 |
96 |
97 | 0x087a0002
98 | The Present operation was partially invisible to the user.
99 |
100 |
101 | 0x087a0004
102 | The driver is requesting that the DXGI runtime not use shared resources to communicate with the Desktop Window Manager.
103 |
104 |
105 | 0x087a0005
106 | The Present operation was not visible because the Windows session has switched to another desktop (for example, ctrl-alt-del).
107 |
108 |
109 | 0x087a0006
110 | The Present operation was not visible because the target monitor was being used for some other purpose.
111 |
112 |
113 | 0x087a0007
114 | The desktop display mode has been changed, there might be color conversion/stretching. The application should call IDXGISwapChain::ResizeBuffers to match the new display mode.
115 |
116 |
117 | 0x087a0008
118 | IDXGISwapChain::ResizeTarget and IDXGISwapChain::SetFullscreenState will return DXGI_STATUS_MODE_CHANGE_IN_PROGRESS if a fullscreen/windowed mode transition is occurring when either API is called.
119 |
120 |
121 |
122 |
123 | 2289436696
124 | The pixel format of the texture surface is not valid.
125 |
126 |
127 | 2289436697
128 | The device does not support a specified texture-blending operation for color values.
129 |
130 |
131 | 2289436698
132 | The device does not support a specified texture-blending argument for color values.
133 |
134 |
135 | 2289436699
136 | The device does not support a specified texture-blending operation for the alpha channel.
137 |
138 |
139 | 2289436700
140 | The device does not support a specified texture-blending argument for the alpha channel.
141 |
142 |
143 | 2289436701
144 | The application is requesting more texture-filtering operations than the device supports.
145 |
146 |
147 | 2289436702
148 | The current texture filters cannot be used together.
149 |
150 |
151 | 2289436703
152 | The device does not support the specified texture factor value. Not used; provided only to support older drivers.
153 |
154 |
155 | 2289436705
156 | The currently set render states cannot be used together.
157 |
158 |
159 | 2289436706
160 | The device does not support the specified texture filter.
161 |
162 |
163 | 2289436710
164 | The current textures cannot be used simultaneously.
165 |
166 |
167 | 2289436711
168 | Internal driver error. Applications should destroy and recreate the device when receiving this error.
169 |
170 |
171 | 2289436774
172 | The requested item was not found.
173 |
174 |
175 | 2289436775
176 | There is more data available than the specified buffer size can hold.
177 |
178 |
179 | 2289436776
180 | The device has been lost but cannot be reset at this time. Therefore, rendering is not possible.A Direct 3D device object other than the one that returned this code caused the hardware adapter to be reset by the OS. Delete all video memory objects (surfaces, textures, state blocks) and call Reset() to return the device to a default state. If the application continues rendering without a reset, the rendering calls will succeed.
181 |
182 |
183 | 2289436777
184 | The device has been lost but can be reset at this time.
185 |
186 |
187 | 2289436778
188 | This device does not support the queried technique.
189 |
190 |
191 | 2289435004
192 | Direct3D does not have enough display memory to perform the operation. The device is using more resources in a single scene than can fit simultaneously into video memory. Present, PresentEx, or CheckDeviceState can return this error. Recovery is similar to D3DERR_DEVICEHUNG, though the application may want to reduce its per-frame memory usage as well to avoid having the error recur.
193 |
194 |
195 | 2289436779
196 | The requested device type is not valid.
197 |
198 |
199 | 2289436780
200 | The method call is invalid. For example, a method's parameter may not be a valid pointer.
201 |
202 |
203 | 2289436781
204 | Not used.
205 |
206 |
207 | 2289435164
208 | The previous blit operation that is transferring information to or from this surface is incomplete.
209 |
210 |
211 | 141953135
212 | This is a success code. However, the autogeneration of mipmaps is not supported for this format. This means that resource creation will succeed but the mipmap levels will not be automatically generated.
213 |
214 |
215 |
216 | 2289436784
217 | The hardware adapter has been removed. Application must destroy the device, do enumeration of adapters and create another Direct3D device. If application continues rendering without calling Reset, the rendering calls will succeed. Applies to Direct3D 9Ex only.
218 |
219 |
220 | 141953141
221 | At least one allocation that comprises the resources is on disk. Direct3D 9Ex only.
222 |
223 |
224 | 141953142
225 | No allocations that comprise the resources are on disk. However, at least one allocation is not in GPU-accessible memory. Direct3D 9Ex only.
226 |
227 |
228 | 141953143
229 | The desktop display mode has been changed. The application can continue rendering, but there might be color conversion/stretching. Pick a back buffer format similar to the current display mode, and call Reset to recreate the swap chains. The device will leave this state after a Reset is called. Direct3D 9Ex only.
230 |
231 |
232 | 141953144
233 | The presentation area is occluded. Occlusion means that the presentation window is minimized or another device entered the fullscreen mode on the same monitor as the presentation window and the presentation window is completely on that monitor. Occlusion will not occur if the client area is covered by another Window. Occluded applications can continue rendering and all calls will succeed, but the occluded presentation window will not be updated. Preferably the application should stop rendering to the presentation window using the device and keep calling CheckDeviceState until S_OK or S_PRESENT_MODE_CHANGED returns. Direct3D 9Ex only.
234 |
235 |
236 | 2289436788
237 | The device that returned this code caused the hardware adapter to be reset by the OS. Most applications should destroy the device and quit. Applications that must continue should destroy all video memory objects (surfaces, textures, state blocks etc) and call Reset() to put the device in a default state. If the application then continues rendering in the same way, the device will return to this state. Applies to Direct3D 9Ex only.
238 |
239 |
240 | 0x8876087b
241 | The device does not support overlay for the specified size or display mode. Direct3D 9Ex under Windows 7 only.
242 |
243 |
244 | 0x8876087c
245 | The device does not support overlay for the specified surface format. Direct3D 9Ex under Windows 7 only.
246 |
247 |
248 | 0x8876087d
249 | The specified content cannot be protected. Direct3D 9Ex under Windows 7 only.
250 |
251 |
252 | 0x8876087e
253 | The specified cryptographic algorithm is not supported. Direct3D 9Ex under Windows 7 only.
254 |
255 |
256 | 0x88760884
257 | The present statistics have no orderly sequence. Direct3D 9Ex under Windows 7 only.
258 |
259 |
260 |
261 |
262 | 0x88790002
263 | The file was not found.
264 |
265 |
266 | 0x88790001
267 | There are too many unique instances of a particular type of state object.
268 |
269 |
270 |
271 |
272 | 0x887c0002
273 | The file was not found.
274 |
275 |
276 | 0x887c0001
277 | There are too many unique instances of a particular type of state object.
278 |
279 |
280 | 0x887c0003
281 | There are too many unique instances of a particular type of view object.
282 |
283 |
284 | 0x887c0004
285 | The first call to ID3D11DeviceContext::Map after either ID3D11Device::CreateDeferredContext or ID3D11DeviceContext::FinishCommandList per Resource was not D3D11_MAP_WRITE_DISCARD.
286 |
287 |
288 |
289 |
290 | 2289434629
291 |
292 |
293 | 2289434634
294 |
295 |
296 | 2289434644
297 |
298 |
299 | 2289434664
300 |
301 |
302 | 2289434679
303 |
304 |
305 | 2289434714
306 |
307 |
308 | 2289434719
309 |
310 |
311 | 2289434724
312 |
313 |
314 | 2289434734
315 |
316 |
317 | 2289434744
318 |
319 |
320 | 2289434754
321 |
322 |
323 | 2289434769
324 |
325 |
326 | 2289434774
327 |
328 |
329 | 2289434784
330 |
331 |
332 | 2289434794
333 |
334 |
335 | 2289434795
336 |
337 |
338 | 2289434796
339 |
340 |
341 | 2289434829
342 |
343 |
344 | 2289434834
345 |
346 |
347 | 2289434836
348 |
349 |
350 | 2289434839
351 |
352 |
353 | 2289434844
354 |
355 |
356 | 2289434846
357 |
358 |
359 | 2289434849
360 |
361 |
362 | 2289434854
363 |
364 |
365 | 2289434864
366 |
367 |
368 | 2289434874
369 |
370 |
371 | 2289434879
372 |
373 |
374 | 2289434884
375 |
376 |
377 | 2289434894
378 |
379 |
380 | 2289434904
381 |
382 |
383 | 2289434914
384 |
385 |
386 | 2289434934
387 |
388 |
389 | 2289434950
390 |
391 |
392 | 2289434951
393 |
394 |
395 | 2289434954
396 |
397 |
398 | 2289434964
399 |
400 |
401 | 2289434969
402 |
403 |
404 | 2289434974
405 |
406 |
407 | 2289434984
408 |
409 |
410 | 2289434994
411 |
412 |
413 | 2289435006
414 |
415 |
416 | 2289435008
417 |
418 |
419 | 2289435011
420 |
421 |
422 | 2289435024
423 |
424 |
425 | 2289435034
426 |
427 |
428 | 2289435044
429 |
430 |
431 | 2289435054
432 |
433 |
434 | 2289435059
435 |
436 |
437 | 2289435064
438 |
439 |
440 | 2289435074
441 |
442 |
443 | 2289435084
444 |
445 |
446 | 2289435094
447 |
448 |
449 | 2289435104
450 |
451 |
452 | 2289435114
453 |
454 |
455 | 2289435134
456 |
457 |
458 | 2289435144
459 |
460 |
461 | 2289435145
462 |
463 |
464 | 2289435161
465 |
466 |
467 | 2289435166
468 |
469 |
470 | 2289435184
471 |
472 |
473 | 2289435185
474 |
475 |
476 | 2289435186
477 |
478 |
479 | 2289435187
480 |
481 |
482 | 2289435188
483 |
484 |
485 | 2289435189
486 |
487 |
488 | 2289435190
489 |
490 |
491 | 2289435191
492 |
493 |
494 | 2289435192
495 |
496 |
497 | 2289435193
498 |
499 |
500 | 2289435194
501 |
502 |
503 | 2289435195
504 |
505 |
506 | 2289435196
507 |
508 |
509 | 2289435197
510 |
511 |
512 | 2289435198
513 |
514 |
515 | 2289435199
516 |
517 |
518 | 2289435200
519 |
520 |
521 | 2289435201
522 |
523 |
524 | 2289435202
525 |
526 |
527 | 2289435203
528 |
529 |
530 | 2289435204
531 |
532 |
533 | 2289435205
534 |
535 |
536 | 2289435206
537 |
538 |
539 | 2289435207
540 |
541 |
542 | 2289435208
543 |
544 |
545 | 2289435209
546 |
547 |
548 | 2289435210
549 |
550 |
551 | 2289435211
552 |
553 |
554 | 2289435212
555 |
556 |
557 | 2289435213
558 |
559 |
560 | 2289435214
561 |
562 |
563 | 2289435215
564 |
565 |
566 | 2289435216
567 |
568 |
569 | 2289435224
570 |
571 |
572 | 2289435225
573 |
574 |
575 | 2289435226
576 |
577 |
578 | 2289435227
579 |
580 |
581 | 2289435244
582 |
583 |
584 | 2289435254
585 |
586 |
587 | 2289435264
588 |
589 |
590 | 2289435284
591 |
592 |
593 | 2289435304
594 |
595 |
596 | 2289435314
597 |
598 |
599 | 2289435315
600 |
601 |
602 | 2289435316
603 |
604 |
605 | 2289435317
606 |
607 |
608 | 2289435318
609 |
610 |
611 | 2289435319
612 |
613 |
614 | 2289435320
615 |
616 |
617 | 2289435321
618 |
619 |
620 | 2289435323
621 |
622 |
623 |
--------------------------------------------------------------------------------
/Eigen.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | [{$T2}, {$T3}]
9 |
10 |
11 | 2
12 | $i==0 ? $T2 : $T3
13 | m_storage.m_data.array
14 |
15 |
16 | Backward
17 | 2
18 | $i==0 ? $T2 : $T3
19 | m_storage.m_data.array
20 |
21 |
22 |
23 |
24 |
25 |
26 | [2, 2]
27 |
28 |
29 | {m_storage.m_data.array[0]} {m_storage.m_data.array[1]}
30 |
31 |
32 | {m_storage.m_data.array[0]} {m_storage.m_data.array[2]}
33 |
34 |
35 | {m_storage.m_data.array[2]} {m_storage.m_data.array[3]}
36 |
37 |
38 | {m_storage.m_data.array[1]} {m_storage.m_data.array[3]}
39 |
40 |
41 |
42 |
43 |
44 |
45 | [3, 3]
46 |
47 |
48 | {m_storage.m_data.array[0]} {m_storage.m_data.array[1]} {m_storage.m_data.array[2]}
49 |
50 |
51 | {m_storage.m_data.array[0]} {m_storage.m_data.array[3]} {m_storage.m_data.array[6]}
52 |
53 |
54 | {m_storage.m_data.array[3]} {m_storage.m_data.array[4]} {m_storage.m_data.array[5]}
55 |
56 |
57 | {m_storage.m_data.array[1]} {m_storage.m_data.array[4]} {m_storage.m_data.array[7]}
58 |
59 |
60 | {m_storage.m_data.array[6]} {m_storage.m_data.array[7]} {m_storage.m_data.array[8]}
61 |
62 |
63 | {m_storage.m_data.array[2]} {m_storage.m_data.array[5]} {m_storage.m_data.array[8]}
64 |
65 |
66 |
67 |
68 |
69 |
70 | [3, 4]
71 |
72 |
73 | {m_storage.m_data.array[0]} {m_storage.m_data.array[1]} {m_storage.m_data.array[2]} {m_storage.m_data.array[3]}
74 |
75 |
76 | {m_storage.m_data.array[0]} {m_storage.m_data.array[3]} {m_storage.m_data.array[6]} {m_storage.m_data.array[9]}
77 |
78 |
79 | {m_storage.m_data.array[4]} {m_storage.m_data.array[5]} {m_storage.m_data.array[6]} {m_storage.m_data.array[7]}
80 |
81 |
82 | {m_storage.m_data.array[1]} {m_storage.m_data.array[4]} {m_storage.m_data.array[7]} {m_storage.m_data.array[10]}
83 |
84 |
85 | {m_storage.m_data.array[8]} {m_storage.m_data.array[9]} {m_storage.m_data.array[10]} {m_storage.m_data.array[11]}
86 |
87 |
88 | {m_storage.m_data.array[2]} {m_storage.m_data.array[5]} {m_storage.m_data.array[8]} {m_storage.m_data.array[11]}
89 |
90 |
91 |
92 |
93 |
94 |
95 | [4, 4]
96 |
97 |
98 | {m_storage.m_data.array[0]} {m_storage.m_data.array[1]} {m_storage.m_data.array[2]} {m_storage.m_data.array[3]}
99 |
100 |
101 | {m_storage.m_data.array[0]} {m_storage.m_data.array[4]} {m_storage.m_data.array[8]} {m_storage.m_data.array[12]}
102 |
103 |
104 | {m_storage.m_data.array[4]} {m_storage.m_data.array[5]} {m_storage.m_data.array[6]} {m_storage.m_data.array[7]}
105 |
106 |
107 | {m_storage.m_data.array[1]} {m_storage.m_data.array[5]} {m_storage.m_data.array[9]} {m_storage.m_data.array[13]}
108 |
109 |
110 | {m_storage.m_data.array[8]} {m_storage.m_data.array[9]} {m_storage.m_data.array[10]} {m_storage.m_data.array[11]}
111 |
112 |
113 | {m_storage.m_data.array[2]} {m_storage.m_data.array[6]} {m_storage.m_data.array[10]} {m_storage.m_data.array[14]}
114 |
115 |
116 | {m_storage.m_data.array[12]} {m_storage.m_data.array[13]} {m_storage.m_data.array[14]} {m_storage.m_data.array[15]}
117 |
118 |
119 | {m_storage.m_data.array[3]} {m_storage.m_data.array[7]} {m_storage.m_data.array[11]} {m_storage.m_data.array[15]}
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 | empty
128 | [{m_storage.m_rows}, {m_storage.m_cols}] (dynamic matrix)
129 |
130 |
131 | 2
132 | $i==0 ? m_storage.m_rows : m_storage.m_cols
133 | m_storage.m_data
134 |
135 |
136 | Backward
137 | 2
138 | $i==0 ? m_storage.m_rows : m_storage.m_cols
139 | m_storage.m_data
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | empty
148 | [{$T2}, {m_storage.m_cols}] (dynamic column matrix)
149 |
150 |
151 | 2
152 | $i==0 ? $T2 : m_storage.m_cols
153 | m_storage.m_data
154 |
155 |
156 | Backward
157 | 2
158 | $i==0 ? $T2 : m_storage.m_cols
159 | m_storage.m_data
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 | empty
168 | [{m_storage.m_rows}, {$T2}] (dynamic row matrix)
169 |
170 |
171 | 2
172 | $i==0 ? m_storage.m_rows : $T2
173 | m_storage.m_data
174 |
175 |
176 | Backward
177 | 2
178 | $i==0 ? m_storage.m_rows : $T2
179 | m_storage.m_data
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 | empty
188 | [{m_storage.m_cols}] (dynamic column vector)
189 |
190 | - m_storage.m_cols
191 |
192 | m_storage.m_cols
193 | m_storage.m_data
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 | empty
202 | [{m_storage.m_rows}] (dynamic row vector)
203 |
204 | - m_storage.m_rows
205 |
206 | m_storage.m_rows
207 | m_storage.m_data
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 | [1] {m_storage.m_data.array[0]}
216 |
217 | - m_storage.m_data.array[0]
218 |
219 |
220 |
221 |
222 |
223 |
224 | [2] {m_storage.m_data.array[0]} {m_storage.m_data.array[1]}
225 |
226 | - m_storage.m_data.array[0]
227 | - m_storage.m_data.array[1]
228 |
229 |
230 |
231 |
232 |
233 |
234 | [3] {m_storage.m_data.array[0]} {m_storage.m_data.array[1]} {m_storage.m_data.array[2]}
235 |
236 | - m_storage.m_data.array[0]
237 | - m_storage.m_data.array[1]
238 | - m_storage.m_data.array[2]
239 |
240 |
241 |
242 |
243 |
244 |
245 | [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]}
246 |
247 | - m_storage.m_data.array[0]
248 | - m_storage.m_data.array[1]
249 | - m_storage.m_data.array[2]
250 | - m_storage.m_data.array[3]
251 |
252 |
253 |
254 |
255 |
--------------------------------------------------------------------------------
/Geometry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | m_storage.m_data.array[0]
6 | m_storage.m_data.array[1]
7 |
8 |
9 |
10 |
11 |
12 |
13 | points._vector
14 | points._size
15 |
16 |
17 |
18 |
19 |
20 |
21 | _vector
22 | _size
23 |
24 |
25 |
26 |
27 |
28 |
29 | points._Mypair._Myval2._Myfirst
30 | points._Mypair._Myval2._Mylast - points._Mypair._Myval2._Myfirst
31 |
32 |
33 |
34 |
35 |
36 |
37 | _Mypair._Myval2._Myfirst
38 | _Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/MVE.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {{ {c} x {w} x {h} - {"$T1",sb} }}
15 |
16 |
17 | UINT8
18 |
19 |
20 | UINT16
21 |
22 |
23 | FLOAT32
24 |
25 |
26 | FLOAT64
27 |
28 | - c
29 | - w
30 | - h
31 | - data._Mypair._Myval2._Myfirst
32 | - sizeof($T1)*c*w
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Open3D.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{ {num_of_channels_} x {width_} x {height_} }}
13 |
14 |
15 | UINT8
16 |
17 |
18 | UINT16
19 |
20 |
21 | FLOAT32
22 |
23 |
24 | FLOAT64
25 |
26 | - num_of_channels_
27 | - width_
28 | - height_
29 | - data_._Mypair._Myval2._Myfirst
30 | - bytes_per_channel_*num_of_channels_*width_
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/OpenCV.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {{UINT8, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
15 | {{INT8, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
16 | {{UINT16, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
17 | {{INT16, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
18 | {{INT32, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
19 | {{FLOAT32, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
20 | {{FLOAT64, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
21 | {{USER, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
22 |
23 |
24 | UINT8
25 |
26 |
27 | INT8
28 |
29 |
30 | UINT16
31 |
32 |
33 | INT16
34 |
35 |
36 | INT32
37 |
38 |
39 | FLOAT32
40 |
41 |
42 | FLOAT64
43 |
44 | - ((flags&0xfff)>>3)+1
45 | - cols
46 | - rows
47 | - step.p[0]
48 | - true
49 | - true
50 | - data
51 |
52 | cols*rows*(((flags&0xfff)>>3)+1)
53 | (uint8_t*)data
54 |
55 |
56 | cols*rows*(((flags&0xfff)>>3)+1)
57 | (int8_t*)data
58 |
59 |
60 | cols*rows*(((flags&0xfff)>>3)+1)
61 | (uint16_t*)data
62 |
63 |
64 | cols*rows*(((flags&0xfff)>>3)+1)
65 | (int16_t*)data
66 |
67 |
68 | cols*rows*(((flags&0xfff)>>3)+1)
69 | (int32_t*)data
70 |
71 |
72 | cols*rows*(((flags&0xfff)>>3)+1)
73 | (float*)data
74 |
75 |
76 | cols*rows*(((flags&0xfff)>>3)+1)
77 | (double*)data
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | {{UINT8, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
90 | {{INT8, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
91 | {{UINT16, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
92 | {{INT16, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
93 | {{INT32, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
94 | {{FLOAT32, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
95 | {{FLOAT64, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
96 | {{USER, {((type&0xfff)>>3)+1} x {cols} x {rows}}}
97 |
98 |
99 | UINT8
100 |
101 |
102 | INT8
103 |
104 |
105 | UINT16
106 |
107 |
108 | INT16
109 |
110 |
111 | INT32
112 |
113 |
114 | FLOAT32
115 |
116 |
117 | FLOAT64
118 |
119 | - ((type&0xfff)>>3)+1
120 | - cols
121 | - rows
122 |
123 | - step
124 | - width*(((type&0xfff)>>3)+1)*(1<<((type&7)>>1))
125 | - data.ptr
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 | {{UINT8, {nChannels} x {width} x {height}}}
137 | {{INT8, {nChannels} x {width} x {height}}}
138 | {{UINT16, {nChannels} x {width} x {height}}}
139 | {{INT16, {nChannels} x {width} x {height}}}
140 | {{INT32, {nChannels} x {width} x {height}}}
141 | {{FLOAT32, {nChannels} x {width} x {height}}}
142 | {{FLOAT64, {nChannels} x {width} x {height}}}
143 |
144 |
145 | UINT8
146 |
147 |
148 | INT8
149 |
150 |
151 | UINT16
152 |
153 |
154 | INT16
155 |
156 |
157 | INT32
158 |
159 |
160 | FLOAT32
161 |
162 |
163 | FLOAT64
164 |
165 | - nChannels
166 | - width
167 | - height
168 | - widthStep
169 | - imageData
170 |
171 |
172 |
173 |
174 | {x} {y}
175 |
176 |
177 | {x} {y} {z}
178 |
179 |
180 | {width}×{height}
181 |
182 | - width * height
183 |
184 |
185 |
186 | empty
187 | [start,end)
188 |
189 | - end - start
190 |
191 |
192 |
193 | center={center} size={size} angle={angle}°
194 |
195 |
196 | {x} {y} {x + width} {y + height} [{width}×{height}]
197 |
198 | - width * height
199 |
200 |
201 |
202 |
203 |
204 | 4
205 | val
206 |
207 |
208 |
209 |
210 |
211 |
212 | $T2
213 | val
214 |
215 |
216 |
217 |
218 | [{$T2}, {$T3}]
219 |
220 |
221 | $T2 * $T3
222 | val
223 |
224 |
225 |
226 |
227 |
228 | [2, 2]
229 |
230 |
231 | {val[0]} {val[1]}
232 |
233 |
234 | {val[2]} {val[3]}
235 |
236 |
237 |
238 |
239 |
240 | [3, 3]
241 |
242 |
243 | {val[0]} {val[1]} {val[2]}
244 |
245 |
246 | {val[3]} {val[4]} {val[5]}
247 |
248 |
249 | {val[6]} {val[7]} {val[8]}
250 |
251 |
252 |
253 |
254 |
255 | [3, 4]
256 |
257 |
258 | {val[0]} {val[1]} {val[2]} {val[3]}
259 |
260 |
261 | {val[4]} {val[5]} {val[6]} {val[7]}
262 |
263 |
264 | {val[8]} {val[9]} {val[10]} {val[11]}
265 |
266 |
267 |
268 |
269 |
270 | [4, 4]
271 |
272 |
273 | {val[0]} {val[1]} {val[2]} {val[3]}
274 |
275 |
276 | {val[4]} {val[5]} {val[6]} {val[7]}
277 |
278 |
279 | {val[8]} {val[9]} {val[10]} {val[11]}
280 |
281 |
282 | {val[12]} {val[13]} {val[14]} {val[15]}
283 |
284 |
285 |
286 |
287 | empty
288 | Ptr {*obj} [{*refcount} ref]
289 | Ptr {*obj} [{*refcount} refs]
290 |
291 | - obj
292 |
293 |
294 |
295 | {{size = {size}}}
296 |
297 |
298 | size
299 | ptr
300 |
301 |
302 |
303 |
304 |
305 | {re}
306 |
307 | -i*{-im}
308 | i*{im}
309 |
310 | {re}-i*{-im}
311 | {re}+i*{im}
312 |
313 | - re
314 | - im
315 |
316 |
317 |
318 | msg
319 |
320 |
321 |
322 | {*(($T1*)ptr)}
323 | end
324 |
325 | - ($T1*)ptr
326 |
327 |
328 |
329 | {*ptr}
330 | end
331 |
332 | - ptr
333 |
334 |
335 |
336 |
337 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Custom views of various objects for Visual Studio debugger
2 |
3 | The Visual Studio Natvis framework lets you customize the way Visual Studio displays native types in debugger variable windows. This repository contains visualizers for popular libraries, like Eigen and OpenCV.
4 |
--------------------------------------------------------------------------------
/SEACAVE.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{NULL}}
9 | {{{*m_pointer}}}
10 |
11 |
12 | *m_pointer
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | {{NULL}}
21 | {{{*m_pointer}}}
22 |
23 |
24 | *m_pointer
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | {{NULL}}
33 | {{refs={m_pNoRef->val} data={*m_pointer}}}
34 |
35 |
36 | *m_pointer
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | {{size={_size} capacity={_vectorSize}}}
45 |
46 |
47 | _size
48 | _vector
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | {{size={_size} capacity={$T2}}}
58 |
59 |
60 | _size
61 | _vector
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | {{UINT8, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
80 | {{INT8, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
81 | {{UINT16, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
82 | {{INT16, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
83 | {{INT32, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
84 | {{FLOAT32, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
85 | {{FLOAT64, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
86 | {{USER, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
87 |
88 |
89 | UINT8
90 |
91 |
92 | INT8
93 |
94 |
95 | UINT16
96 |
97 |
98 | INT16
99 |
100 |
101 | INT32
102 |
103 |
104 | FLOAT32
105 |
106 |
107 | FLOAT64
108 |
109 | - ((flags&0xfff)>>3)+1
110 | - cols
111 | - rows
112 | - step.p[0]
113 | - true
114 | - true
115 | - data
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 | {{UINT8, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
127 | {{INT8, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
128 | {{UINT16, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
129 | {{INT16, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
130 | {{INT32, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
131 | {{FLOAT32, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
132 | {{FLOAT64, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
133 | {{USER, {((flags&0xfff)>>3)+1} x {cols} x {rows}}}
134 |
135 |
136 | UINT8
137 |
138 |
139 | INT8
140 |
141 |
142 | UINT16
143 |
144 |
145 | INT16
146 |
147 |
148 | INT32
149 |
150 |
151 | FLOAT32
152 |
153 |
154 | FLOAT64
155 |
156 | - ((flags&0xfff)>>3)+1
157 | - cols
158 | - rows
159 | - step.p[0]
160 | - true
161 | - true
162 | - data
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 | {{min={ptMin} max={ptMax}}}
174 |
175 | - ptMin
176 | - ptMax
177 | - ptMax.m_storage.m_data.array[0]-ptMin.m_storage.m_data.array[0]
178 | - ptMax.m_storage.m_data.array[1]-ptMin.m_storage.m_data.array[1]
179 | - ptMax.m_storage.m_data.array[2]-ptMin.m_storage.m_data.array[2]
180 |
181 |
182 |
183 |
184 |
--------------------------------------------------------------------------------
/TinyXML2.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {start, [end-start]s}
5 | start, [end-start]s
6 |
7 |
8 | {value}
9 | value
10 |
11 |
12 | firstChild
13 | next
14 | this
15 |
16 |
17 |
18 |
19 | [CLOSED] {value}
20 | [CLOSING] {value}
21 | [OPEN] {value}
22 | value
23 |
24 | - rootAttribute
25 |
26 | firstChild
27 | next
28 | this
29 |
30 |
31 |
32 |
33 | {name} = {value}
34 |
35 |
36 | this
37 | next
38 | this
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/pmp.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | - idx_
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------