Jolt.natvis 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  3. <Type Name="JPH::Color">
  4. <DisplayString>r={(int)r}, g={(int)g}, b={(int)b}, a={(int)a}</DisplayString>
  5. </Type>
  6. <Type Name="JPH::Float2">
  7. <DisplayString>{x}, {y}</DisplayString>
  8. </Type>
  9. <Type Name="JPH::Float3">
  10. <DisplayString>{x}, {y}, {z}</DisplayString>
  11. </Type>
  12. <Type Name="JPH::Float4">
  13. <DisplayString>{x}, {y}, {z}, {w}</DisplayString>
  14. </Type>
  15. <Type Name="JPH::Vec3">
  16. <DisplayString>{mF32[0]}, {mF32[1]}, {mF32[2]}, L^2={mF32[0]*mF32[0]+mF32[1]*mF32[1]+mF32[2]*mF32[2]}</DisplayString>
  17. </Type>
  18. <Type Name="JPH::DVec3">
  19. <DisplayString>{mF64[0]}, {mF64[1]}, {mF64[2]}, L^2={mF64[0]*mF64[0]+mF64[1]*mF64[1]+mF64[2]*mF64[2]}</DisplayString>
  20. </Type>
  21. <Type Name="JPH::Vec4">
  22. <DisplayString>{mF32[0]}, {mF32[1]}, {mF32[2]}, {mF32[3]}, L^2={mF32[0]*mF32[0]+mF32[1]*mF32[1]+mF32[2]*mF32[2]+mF32[3]*mF32[3]}</DisplayString>
  23. </Type>
  24. <Type Name="JPH::UVec4">
  25. <DisplayString>{mU32[0]}, {mU32[1]}, {mU32[2]}, {mU32[3]}</DisplayString>
  26. </Type>
  27. <Type Name="JPH::BVec16">
  28. <DisplayString>{uint(mU8[0])}, {uint(mU8[1])}, {uint(mU8[2])}, {uint(mU8[3])}, {uint(mU8[4])}, {uint(mU8[5])}, {uint(mU8[6])}, {uint(mU8[7])}, {uint(mU8[8])}, {uint(mU8[9])}, {uint(mU8[10])}, {uint(mU8[11])}, {uint(mU8[12])}, {uint(mU8[13])}, {uint(mU8[14])}, {uint(mU8[15])}</DisplayString>
  29. </Type>
  30. <Type Name="JPH::Quat">
  31. <DisplayString>{mValue}</DisplayString>
  32. </Type>
  33. <Type Name="JPH::Mat44">
  34. <DisplayString>{mCol[0].mF32[0]}, {mCol[1].mF32[0]}, {mCol[2].mF32[0]}, {mCol[3].mF32[0]} | {mCol[0].mF32[1]}, {mCol[1].mF32[1]}, {mCol[2].mF32[1]}, {mCol[3].mF32[1]} | {mCol[0].mF32[2]}, {mCol[1].mF32[2]}, {mCol[2].mF32[2]}, {mCol[3].mF32[2]}</DisplayString>
  35. <Expand>
  36. <Synthetic Name="[Row 0]">
  37. <DisplayString>{mCol[0].mF32[0]}, {mCol[1].mF32[0]}, {mCol[2].mF32[0]}, {mCol[3].mF32[0]}</DisplayString>
  38. </Synthetic>
  39. <Synthetic Name="[Row 1]">
  40. <DisplayString>{mCol[0].mF32[1]}, {mCol[1].mF32[1]}, {mCol[2].mF32[1]}, {mCol[3].mF32[1]}</DisplayString>
  41. </Synthetic>
  42. <Synthetic Name="[Row 2]">
  43. <DisplayString>{mCol[0].mF32[2]}, {mCol[1].mF32[2]}, {mCol[2].mF32[2]}, {mCol[3].mF32[2]}</DisplayString>
  44. </Synthetic>
  45. <Synthetic Name="[Row 3]">
  46. <DisplayString>{mCol[0].mF32[3]}, {mCol[1].mF32[3]}, {mCol[2].mF32[3]}, {mCol[3].mF32[3]}</DisplayString>
  47. </Synthetic>
  48. </Expand>
  49. </Type>
  50. <Type Name="JPH::DMat44">
  51. <DisplayString>{mCol[0].mF32[0]}, {mCol[1].mF32[0]}, {mCol[2].mF32[0]}, {mCol3.mF64[0]} | {mCol[0].mF32[1]}, {mCol[1].mF32[1]}, {mCol[2].mF32[1]}, {mCol3.mF64[1]} | {mCol[0].mF32[2]}, {mCol[1].mF32[2]}, {mCol[2].mF32[2]}, {mCol3.mF64[2]}</DisplayString>
  52. <Expand>
  53. <Synthetic Name="[Row 0]">
  54. <DisplayString>{mCol[0].mF32[0]}, {mCol[1].mF32[0]}, {mCol[2].mF32[0]}, {mCol3.mF64[0]}</DisplayString>
  55. </Synthetic>
  56. <Synthetic Name="[Row 1]">
  57. <DisplayString>{mCol[0].mF32[1]}, {mCol[1].mF32[1]}, {mCol[2].mF32[1]}, {mCol3.mF64[1]}</DisplayString>
  58. </Synthetic>
  59. <Synthetic Name="[Row 2]">
  60. <DisplayString>{mCol[0].mF32[2]}, {mCol[1].mF32[2]}, {mCol[2].mF32[2]}, {mCol3.mF64[2]}</DisplayString>
  61. </Synthetic>
  62. <Synthetic Name="[Row 3]">
  63. <DisplayString>{mCol[0].mF32[3]}, {mCol[1].mF32[3]}, {mCol[2].mF32[3]}, 1}</DisplayString>
  64. </Synthetic>
  65. </Expand>
  66. </Type>
  67. <Type Name="JPH::AABox">
  68. <DisplayString>min=({mMin}), max=({mMax})</DisplayString>
  69. </Type>
  70. <Type Name="JPH::BodyID">
  71. <DisplayString>idx={mID &amp; 0x007fffff}, seq={(mID >> 23) &amp; 0xff}, in_bp={mID >> 24,d}</DisplayString>
  72. </Type>
  73. <Type Name="JPH::Body">
  74. <DisplayString>{mDebugName}: p=({mPosition.mF32[0],g}, {mPosition.mF32[1],g}, {mPosition.mF32[2],g}), r=({mRotation.mValue.mF32[0],g}, {mRotation.mValue.mF32[1],g}, {mRotation.mValue.mF32[2],g}, {mRotation.mValue.mF32[3],g}), v=({mLinearVelocity.mF32[0],g}, {mLinearVelocity.mF32[1],g}, {mLinearVelocity.mF32[2],g}), w=({mAngularVelocity.mF32[0],g}, {mAngularVelocity.mF32[1],g}, {mAngularVelocity.mF32[2],g})</DisplayString>
  75. </Type>
  76. <Type Name="JPH::BodyManager">
  77. <DisplayString>bodies={mBodies._Mypair._Myval2._Mylast - mBodies._Mypair._Myval2._Myfirst}, active={mActiveBodies._Mypair._Myval2._Mylast - mActiveBodies._Mypair._Myval2._Myfirst}</DisplayString>
  78. </Type>
  79. <Type Name="JPH::StaticArray&lt;*&gt;">
  80. <DisplayString>size={mSize}</DisplayString>
  81. <Expand>
  82. <Item Name="[size]" ExcludeView="simple">mSize</Item>
  83. <ArrayItems>
  84. <Size>mSize</Size>
  85. <ValuePointer>(value_type *)mElements</ValuePointer>
  86. </ArrayItems>
  87. </Expand>
  88. </Type>
  89. <Type Name="JPH::Array&lt;*&gt;">
  90. <DisplayString>size={mSize}</DisplayString>
  91. <Expand>
  92. <Item Name="[size]" ExcludeView="simple">mSize</Item>
  93. <Item Name="[capacity]" ExcludeView="simple">mCapacity</Item>
  94. <ArrayItems>
  95. <Size>mSize</Size>
  96. <ValuePointer>mElements</ValuePointer>
  97. </ArrayItems>
  98. </Expand>
  99. </Type>
  100. <Type Name="JPH::HashTable&lt;*&gt;">
  101. <DisplayString>size={mSize}</DisplayString>
  102. <Expand>
  103. <Item Name="[size]" ExcludeView="simple">mSize</Item>
  104. <Item Name="[bucket_count]" ExcludeView="simple">mMaxSize</Item>
  105. <IndexListItems Condition="mData != nullptr">
  106. <Size>mMaxSize</Size>
  107. <ValueNode Condition="mControl[$i] &amp; 0x80">mData[$i]</ValueNode>
  108. <ValueNode Condition="mControl[$i] == 0">"--Empty--"</ValueNode>
  109. <ValueNode Condition="mControl[$i] == 0x7f">"--Deleted--"</ValueNode>
  110. </IndexListItems>
  111. </Expand>
  112. </Type>
  113. <Type Name="JPH::StridedPtr&lt;*&gt;">
  114. <DisplayString>{(value_type *)mPtr}, stride={mStride}</DisplayString>
  115. </Type>
  116. </AutoVisualizer>