| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555 |
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- GLM debugger visualizers for Visual Studio
-
- Makes debugging code using GLM easier by making data more easily accessible
- from the debugger watch windows.
-
- For example, a variable declared like this:
-
- glm::vec4 v = glm::vec4(1, 2, 3, 4);
-
- Will show up like this in the default debugger windows:
-
- Name Value
- ..............................................................
- v {x=1.000000 r=1.000000 s=1.000000 y=2.000000 ...}
-
- But if you use this file, it will show up like this:
-
- Name Value
- ..................
- v [1 2 3 4]
-
- === How to Use ===
-
- Copy this file to the project directory of each project using GLM, or just copy it to
-
- %USERPROFILE%\Douments\Visual Studio 2019\Visualizers\ (replace '2019' when necessary)
- or
- %VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers\ (requires admin access)
-
- if you want to use this from every project.
- See also https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects
- -->
- <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
- <Type Name="glm::vec<1,*,*>">
- <DisplayString>[{x,g}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x,g</Item>
- </Expand>
- </Type>
-
- <Type Name="glm::vec<2,*,*>">
- <DisplayString>[{x,g} {y,g}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<3,*,*>">
- <DisplayString>[{x,g} {y,g} {z,g}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<4,*,*>">
- <DisplayString>[{x,g} {y,g} {z,g} {w,g}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- <Item Name="w">w,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<1,bool,*>" Priority="High">
- <DisplayString>[{(int)x}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<2,bool,*>" Priority="High">
- <DisplayString>[{(int)x} {(int)y}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x</Item>
- <Item Name="y">y</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<3,bool,*>" Priority="High">
- <DisplayString>[{(int)x,g} {(int)y,g} {(int)z,g}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x</Item>
- <Item Name="y">y</Item>
- <Item Name="z">z</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<4,bool,*>" Priority="High">
- <DisplayString>[{(int)x,g} {(int)y,g} {(int)z,g} {(int)w,g}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x</Item>
- <Item Name="y">y</Item>
- <Item Name="z">z</Item>
- <Item Name="w">w</Item>
- </Expand>
- </Type>
-
- <Type Name="glm::vec<2,float,*>" Priority="High">
- <DisplayString>[{x,g} {y,g}]</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5F3759DF - ((*(int *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(float *)&i</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0f,g</Item>
- </If>
- </CustomListItems>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<3,float,*>" Priority="High">
- <DisplayString>[{x,g} {y,g} {z,g}]</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y+z*z"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5F3759DF - ((*(int *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(float *)&i</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0f,g</Item>
- </If>
- </CustomListItems>
- <Synthetic Name="[rgba]">
- <DisplayString>
- <!-- hex RGBA color - alpha is assumed to be 255 -->
- #{
- (unsigned((x<0?0:(x>1?1:x))*255.5f) << 24) |
- (unsigned((y<0?0:(y>1?1:y))*255.5f) << 16) |
- (unsigned((z<0?0:(z>1?1:z))*255.5f) << 8) | 0xFF,Xb
- }
- </DisplayString>
- </Synthetic>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<4,float,*>" Priority="High">
- <DisplayString>[{x,g} {y,g} {z,g} {w,g}]</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y+z*z+w*w"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5F3759DF - ((*(int *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(float *)&i</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0f,g</Item>
- </If>
- </CustomListItems>
- <Synthetic Name="[rgba]">
- <DisplayString>
- <!-- hex RGBA color -->
- #{
- (unsigned((x<0?0:(x>1?1:x))*255.5f) << 24) |
- (unsigned((y<0?0:(y>1?1:y))*255.5f) << 16) |
- (unsigned((z<0?0:(z>1?1:z))*255.5f) << 8) |
- (unsigned((w<0?0:(w>1?1:w))*255.5f) << 0),Xb
- }
- </DisplayString>
- </Synthetic>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- <Item Name="w">w,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<2,double,*>" Priority="High">
- <DisplayString>[{x,g} {y,g}]</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5FE6EB50C7B537A9 - ((*(long long *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(double *)&i</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0,g</Item>
- </If>
- </CustomListItems>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<3,double,*>" Priority="High">
- <DisplayString>[{x,g} {y,g} {z,g}]</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y+z*z"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5FE6EB50C7B537A9 - ((*(long long *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(double *)&i</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0,g</Item>
- </If>
- </CustomListItems>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::vec<4,double,*>" Priority="High">
- <DisplayString>[{x,g} {y,g} {z,g} {w,g}]</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y+z*z+w*w"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5FE6EB50C7B537A9 - ((*(long long *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(double *)&i</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0,g</Item>
- </If>
- </CustomListItems>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- <Item Name="w">w,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::qua<*,*>">
- <DisplayString>{w,g} + {x,g}i + {y,g}j + {z,g}k</DisplayString>
- <Expand HideRawView="1">
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- <Item Name="w">w,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::qua<float,*>" Priority="High">
- <DisplayString>{w,g} + {x,g}i + {y,g}j + {z,g}k</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y+z*z+w*w"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5F3759DF - ((*(int *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(float *)&i</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Exec>k = k * (1.5f - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0f,g</Item>
- </If>
- </CustomListItems>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- <Item Name="w">w,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::qua<double,*>" Priority="High">
- <DisplayString>{w,g} + {x,g}i + {y,g}j + {z,g}k</DisplayString>
- <Expand HideRawView="1">
- <CustomListItems MaxItemsPerView="1">
- <!-- calculate length using fast inverse sqrt -->
- <Variable Name="k" InitialValue="x*x+y*y+z*z+w*w"/>
- <Variable Name="n" InitialValue="k/2"/>
- <Variable Name="i" InitialValue="0x5FE6EB50C7B537A9 - ((*(long long *)&k) >> 1)"/>
- <If Condition="k != 0">
- <Exec>k = *(double *)&i</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Exec>k = k * (1.5 - (n * k * k))</Exec>
- <Item Name="[len]">1/k,g</Item>
- </If>
- <If Condition="k == 0">
- <Item Name="[len]">0.0,g</Item>
- </If>
- </CustomListItems>
- <Item Name="x">x,g</Item>
- <Item Name="y">y,g</Item>
- <Item Name="z">z,g</Item>
- <Item Name="w">w,g</Item>
- </Expand>
- </Type>
- <Type Name="glm::mat<2,2,*,*>">
- <DisplayString>[{value[0]} {value[1]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat<2,3,*,*>">
- <DisplayString>[{value[0]} {value[1]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 3">
- <DisplayString>[{value[0].z,g} {value[1].z,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat<2,4,*,*>">
- <DisplayString>[{value[0]} {value[1]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 3">
- <DisplayString>[{value[0].z,g} {value[1].z,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 4">
- <DisplayString>[{value[0].w,g} {value[1].w,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat<3,2,*,*>">
- <DisplayString>[{value[0]} {value[1]} {value[2]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g} {value[2].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g} {value[2].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- <Item Name="col 3">value[2]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat<3,3,*,*>">
- <DisplayString>[{value[0]} {value[1]} {value[2]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g} {value[2].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g} {value[2].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 3">
- <DisplayString>[{value[0].z,g} {value[1].z,g} {value[2].z,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- <Item Name="col 3">value[2]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat<3,4,*,*>">
- <DisplayString>[{value[0]} {value[1]} {value[2]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g} {value[2].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g} {value[2].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 3">
- <DisplayString>[{value[0].z,g} {value[1].z,g} {value[2].z,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 4">
- <DisplayString>[{value[0].w,g} {value[1].w,g} {value[2].w,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- <Item Name="col 3">value[2]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat4x2<4,2,*,*>">
- <DisplayString>[{value[0]} {value[1]} {value[2]} {value[3]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g} {value[2].x,g} {value[3].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g} {value[2].y,g} {value[3].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- <Item Name="col 3">value[2]</Item>
- <Item Name="col 4">value[3]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat4x3<4,3,*,*>">
- <DisplayString>[{value[0]} {value[1]} {value[2]} {value[3]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g} {value[2].x,g} {value[3].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g} {value[2].y,g} {value[3].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 3">
- <DisplayString>[{value[0].z,g} {value[1].z,g} {value[2].z,g} {value[3].z,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- <Item Name="col 3">value[2]</Item>
- <Item Name="col 4">value[3]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::mat<4,4,*,*>">
- <DisplayString>[{value[0]} {value[1]} {value[2]} {value[3]}]</DisplayString>
- <Expand HideRawView="1">
- <!-- display matrix in row major order - it makes more sense -->
- <Synthetic Name="row 1">
- <DisplayString>[{value[0].x,g} {value[1].x,g} {value[2].x,g} {value[3].x,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 2">
- <DisplayString>[{value[0].y,g} {value[1].y,g} {value[2].y,g} {value[3].y,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 3">
- <DisplayString>[{value[0].z,g} {value[1].z,g} {value[2].z,g} {value[3].z,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="row 4">
- <DisplayString>[{value[0].w,g} {value[1].w,g} {value[2].w,g} {value[3].w,g}]</DisplayString>
- </Synthetic>
- <Synthetic Name="columns">
- <Expand>
- <Item Name="col 1">value[0]</Item>
- <Item Name="col 2">value[1]</Item>
- <Item Name="col 3">value[2]</Item>
- <Item Name="col 4">value[3]</Item>
- </Expand>
- </Synthetic>
- </Expand>
- </Type>
- <Type Name="glm::tdualquat<*>">
- <DisplayString>[r: {real}] [d: {dual}]</DisplayString>
- <Expand HideRawView="1">
- <Item Name="real">real</Item>
- <Item Name="dual">dual</Item>
- </Expand>
- </Type>
- </AutoVisualizer>
|