0024514: Unclear guidelines to report issues in Mantis
[occt.git] / dox / dev_guides / debug / occt.natvis
1 <?xml version="1.0" encoding="utf-8"?>
2 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
3 <Type Name="gp_XY">
4     <DisplayString>[{(float)x} {(float)y}]</DisplayString>
5   </Type>
6   <Type Name="gp_Pnt2d">
7     <AlternativeType Name="gp_Vec2d"></AlternativeType>
8     <AlternativeType Name="gp_Dir2d"></AlternativeType>
9     <DisplayString>[{(float)cood.x} {(float)cood.y}]</DisplayString>
10   </Type>
11   <Type Name="gp_XYZ">
12     <DisplayString>[{(float)x} {(float)y} {(float)z}]</DisplayString>
13   </Type>
14   <Type Name="gp_Pnt">
15     <AlternativeType Name="gp_Vec"></AlternativeType>
16     <AlternativeType Name="gp_Dir"></AlternativeType>
17     <DisplayString>[{(float)coord.x} {(float)coord.y} {(float)coord.z}]</DisplayString>
18   </Type>
19   <Type Name="NCollection_Vec2&lt;*&gt;">
20     <DisplayString>[{v[0]} {v[1]}]</DisplayString>
21   </Type>
22   <Type Name="NCollection_Vec3&lt;*&gt;">
23     <DisplayString>[{v[0]} {v[1]} {v[2]}]</DisplayString>
24   </Type>
25   <Type Name="NCollection_Vec4&lt;*&gt;">
26     <DisplayString>[{v[0]} {v[1]} {v[2]} {v[3]}]</DisplayString>
27   </Type>
28   <Type Name="gp_Mat2d">
29     <DisplayString>
30       [{(float)matrix[0][0]} {(float)matrix[0][1]}], [{(float)matrix[1][0]} {(float)matrix[1][1]}]
31     </DisplayString>
32   </Type>
33   <Type Name="NCollection_Mat4&lt;*&gt;">
34     <Expand>
35       <Item Name="row0">((NCollection_Vec4&lt;$T1&gt;*)myMat)[0]</Item>
36       <Item Name="row1">((NCollection_Vec4&lt;$T1&gt;*)myMat)[1]</Item>
37       <Item Name="row2">((NCollection_Vec4&lt;$T1&gt;*)myMat)[2]</Item>
38       <Item Name="row3">((NCollection_Vec4&lt;$T1&gt;*)myMat)[3]</Item>
39     </Expand>
40   </Type>
41   <Type Name="Handle_Standard_Transient">
42     <DisplayString Condition="entity==0x00000000">NULL</DisplayString>
43     <DisplayString Condition="entity!=0x00000000">[cnt={entity->count}]</DisplayString>
44     <Expand>
45       <ExpandedItem>*entity</ExpandedItem>
46     </Expand>
47   </Type>
48   <Type Name="NCollection_Handle&lt;*&gt;">
49     <DisplayString Condition="entity==0x00000000">NULL</DisplayString>
50     <DisplayString Condition="entity!=0x00000000">{(void*)entity} [cnt={entity->count}]</DisplayString>
51     <Expand>
52       <ExpandedItem>*((NCollection_Handle&lt;$T1&gt;::Ptr*)entity)->myPtr</ExpandedItem>
53     </Expand>
54   </Type>
55   <Type Name="opencascade::handle&lt;*&gt;">
56     <DisplayString Condition="entity==0x00000000">NULL</DisplayString>
57     <DisplayString Condition="entity!=0x00000000">{(void*)entity} [cnt={entity->count} {*entity}]</DisplayString>
58     <Expand>
59       <ExpandedItem>(opencascade::handle&lt;$T1&gt;::element_type*)entity</ExpandedItem>
60     </Expand>
61   </Type>
62   <Type Name="TCollection_AsciiString">
63     <DisplayString>{mylength}: {mystring,s}</DisplayString>
64   </Type>
65   <Type Name="TCollection_HAsciiString">
66     <DisplayString>{myString.mylength}: {myString.mystring,s}</DisplayString>
67   </Type>
68   <Type Name="NCollection_UtfString&lt;*&gt;">
69     <DisplayString>{myLength}: {myString,s}</DisplayString>
70   </Type>
71   <Type Name="TCollection_ExtendedString">
72     <DisplayString>{mylength}: {(wchar_t *)mystring,su}</DisplayString>
73   </Type>
74   <Type Name="TCollection_HExtendedString">
75     <DisplayString>{myString.mylength}: {(wchar_t *)myString.mystring,su}</DisplayString>
76   </Type>
77   <Type Name="TCollection_BaseSequence">
78     <DisplayString>TCollection_Sequence [{Size}], curr={CurrentIndex}</DisplayString>
79   </Type>
80   <Type Name="TCollection_BasicMap">
81     <AlternativeType Name="NCollection_BaseMap"/>
82     <DisplayString>TCollection_Map [{mySize}]</DisplayString>
83   </Type>
84   <Type Name="TColStd_PackedMapOfInteger">
85     <DisplayString>TColStd_PackedMapOfInteger [{myExtent}]</DisplayString>
86   </Type>
87   <Type Name="NCollection_Vector&lt;*&gt;">
88     <DisplayString>NCollection_Vector [{myLength}]</DisplayString>
89     <Expand>
90       <IndexListItems Condition="myData->Length&lt;myLength">
91         <Size>myData->Length</Size>
92         <ValueNode>*($T1*)((char*)myData->DataPtr + $i * myItemSize)</ValueNode>
93       </IndexListItems>
94       <IndexListItems Condition="myData->Length&gt;=myLength">
95         <Size>myLength</Size>
96         <ValueNode>*($T1*)((char*)myData->DataPtr + $i * myItemSize)</ValueNode>
97       </IndexListItems>
98     </Expand>
99   </Type>
100   <Type Name="NCollection_List&lt;*&gt;">
101     <DisplayString>NCollection_List [{myLength}]</DisplayString>
102     <Expand>
103       <LinkedListItems>
104         <Size>myLength</Size>
105         <HeadPointer>myFirst</HeadPointer>
106         <NextPointer>myNext</NextPointer>
107         <ValueNode>*($T1*)(sizeof(NCollection_ListNode) + ((char *)this))</ValueNode>
108       </LinkedListItems>
109     </Expand>
110   </Type>
111   <Type Name="NCollection_Sequence&lt;*&gt;">
112     <DisplayString>NCollection_Sequence [{mySize}]</DisplayString>
113     <Expand>
114       <LinkedListItems>
115         <Size>mySize</Size>
116         <HeadPointer>myFirstItem</HeadPointer>
117         <NextPointer>myNext</NextPointer>
118         <ValueNode>*($T1*)(sizeof(NCollection_SeqNode) + ((char *)this))</ValueNode>
119       </LinkedListItems>
120     </Expand>
121   </Type>
122   <Type Name="Bnd_B2f">
123     <AlternativeType Name="Bnd_B2d"></AlternativeType>
124     <DisplayString Condition="myCenter[0] &gt; 1000000000000000000.">VOID</DisplayString>
125     <DisplayString Condition="myCenter[0] &lt; 1000000000000000000.">
126       Center: [{(float)myCenter[0]} {(float)myCenter[1]}], hSize: [{(float)myHSize[0]} {(float)myHSize[1]}]
127     </DisplayString>
128   </Type>
129   <Type Name="Bnd_B3f">
130     <AlternativeType Name="Bnd_B3d"></AlternativeType>
131     <DisplayString Condition="myCenter[0] &gt; 1000000000000000000.">VOID</DisplayString>
132     <DisplayString Condition="myCenter[0] &lt; 1000000000000000000.">
133       Center: [{(float)myCenter[0]} {(float)myCenter[1]} {(float)myCenter[2]}], hSize: [{(float)myHSize[0]} {(float)myHSize[1]} {(float)myHSize[2]}]
134     </DisplayString>
135   </Type>
136   <Type Name="TDF_Label">
137     <DisplayString Condition="myLabelNode==0">NULL</DisplayString>
138     <DisplayString Condition="myLabelNode!=0">[:{myLabelNode->myTag}]</DisplayString>
139     <Expand>
140       <ExpandedItem>*myLabelNode</ExpandedItem>
141     </Expand>
142   </Type>
143   <Type Name="TDF_LabelNode">
144     <DisplayString>[:{myTag}]</DisplayString>
145     <Expand>
146       <Item Name="brother" Condition="myBrother!=0">* myBrother</Item>
147       <Item Name="child" Condition="myFirstChild!=0">* myFirstChild</Item>
148       <ExpandedItem>myFirstAttribute</ExpandedItem>
149     </Expand>
150   </Type>
151   <Type Name="Handle_TDF_Attribute">
152     <DisplayString Condition="entity==0x00000000">NULL</DisplayString>
153     <DisplayString Condition="entity!=0x00000000">
154       [transaction={((TDF_Attribute*)entity)->myTransaction}]
155     </DisplayString>
156     <Expand>
157       <!--Item Name="next" Condition="myNext.entity!=0x00000000">myNext</Item-->
158       <ExpandedItem>(TDF_Attribute*)entity</ExpandedItem>
159     </Expand>
160   </Type>
161   <Type Name="OpenGl_Context">
162     <DisplayString>[{myGlVerMajor}.{myGlVerMinor}]</DisplayString>
163   </Type>
164
165 <!--ArrayItems Expansion-->
166 <Type Name="TColStd_Array1OfInteger">
167     <DisplayString Condition="isAllocated != 1">empty</DisplayString> 
168     <DisplayString>{{size = {myUpperBound - myLowerBound + 1}}}</DisplayString>
169     <Expand>
170         <Item Condition="isAllocated == 1" Name="[size]">myUpperBound - myLowerBound + 1</Item>
171         <ArrayItems Condition="isAllocated == 1">
172             <Size>myUpperBound - myLowerBound + 1</Size>
173             <ValuePointer>(Standard_Integer*)(myStart) + myLowerBound</ValuePointer>
174         </ArrayItems>
175     </Expand>
176 </Type>
177
178 <Type Name="TColStd_Array1OfReal">
179     <DisplayString Condition="isAllocated != 1">empty</DisplayString> 
180     <DisplayString>{{size = {myUpperBound - myLowerBound + 1}}}</DisplayString>
181     <Expand>
182         <Item Condition="isAllocated == 1" Name="[size]">myUpperBound - myLowerBound + 1</Item>
183         <ArrayItems Condition="isAllocated == 1">
184             <Size>myUpperBound - myLowerBound + 1</Size>
185             <ValuePointer>(Standard_Real*)(myStart) + myLowerBound</ValuePointer>
186         </ArrayItems>
187     </Expand>
188 </Type>
189
190 <!--Multi-dimensional Arrays-->
191 <Type Name="TColStd_Array2OfInteger">
192     <DisplayString Condition="(myUpperColumn == myLowerColumn) &amp;&amp; (myUpperRow == myLowerRow)">empty</DisplayString>
193     <DisplayString>extent = {(myUpperColumn-myLowerColumn+1) * (myUpperRow-myLowerRow+1)}</DisplayString>
194 </Type>
195
196
197 <!--LinkedListItems Expansion-->
198 <Type Name="TColStd_ListNodeOfListOfInteger">
199     <DisplayString>{{current = {myValue}}}</DisplayString>
200     <Expand>
201         <LinkedListItems>
202             <HeadPointer>this</HeadPointer>
203             <NextPointer>(TColStd_ListNodeOfListOfInteger*)myNext</NextPointer>
204             <ValueNode>this-&gt;myValue</ValueNode>
205         </LinkedListItems>
206     </Expand>
207 </Type>
208
209 <Type Name="TColStd_ListOfInteger">
210     <DisplayString Condition="myFirst == 0">empty</DisplayString>
211     <Expand>
212         <Item Name="values">(TColStd_ListNodeOfListOfInteger*)(myFirst)</Item>
213     </Expand>
214 </Type>
215
216 <Type Name="TColStd_ListNodeOfListOfReal">
217     <DisplayString>{{current = {myValue}}}</DisplayString>
218     <Expand>
219         <LinkedListItems>
220             <HeadPointer>this</HeadPointer>
221             <NextPointer>(TColStd_ListNodeOfListOfReal*)myNext</NextPointer>
222             <ValueNode>this-&gt;myValue</ValueNode>
223         </LinkedListItems>
224     </Expand>
225 </Type>
226
227 <Type Name="TColStd_ListOfReal">
228     <DisplayString Condition="myFirst == 0">empty</DisplayString>
229     <Expand>
230         <Item Name="values">(TColStd_ListNodeOfListOfReal*)(myFirst)</Item>
231     </Expand>
232 </Type>
233
234 <Type Name="BRep_ListOfCurveRepresentation">
235     <DisplayString Condition="myFirst == 0">empty</DisplayString>
236     <Expand>
237         <Item Name="values">(BRep_ListNodeOfListOfCurveRepresentation*)(myFirst)</Item>
238     </Expand>
239 </Type>
240
241 <Type Name="TopoDS_Shape">
242     <DisplayString>{myOrient} {myTShape} loc={myLocation}</DisplayString>
243 </Type>
244
245 <Type Name="TopoDS_TShape">
246     <DisplayString>subshapes={myShapes} flags={myFlags}</DisplayString>
247 </Type>
248
249 <Type Name="BOPDS_Pave">
250     <DisplayString>{{{myIndex} {myParameter}}}</DisplayString>
251 </Type>
252
253 <Type Name="BOPDS_PaveBlock">
254     <DisplayString>edge={myEdge} orig={myOriginalEdge} pave1={myPave1} pave2={myPave2} extpaves={myExtPaves}</DisplayString>
255 </Type>
256
257 </AutoVisualizer>