<?xml version="1.0" encoding="utf-8"?> <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="JPH::Color"> <DisplayString>r={(int)r}, g={(int)g}, b={(int)b}, a={(int)a}</DisplayString> </Type> <Type Name="JPH::Float2"> <DisplayString>{x}, {y}</DisplayString> </Type> <Type Name="JPH::Float3"> <DisplayString>{x}, {y}, {z}</DisplayString> </Type> <Type Name="JPH::Float4"> <DisplayString>{x}, {y}, {z}, {w}</DisplayString> </Type> <Type Name="JPH::Vec3"> <DisplayString>{mF32[0]}, {mF32[1]}, {mF32[2]}, L^2={mF32[0]*mF32[0]+mF32[1]*mF32[1]+mF32[2]*mF32[2]}</DisplayString> </Type> <Type Name="JPH::DVec3"> <DisplayString>{mF64[0]}, {mF64[1]}, {mF64[2]}, L^2={mF64[0]*mF64[0]+mF64[1]*mF64[1]+mF64[2]*mF64[2]}</DisplayString> </Type> <Type Name="JPH::Vec4"> <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> </Type> <Type Name="JPH::UVec4"> <DisplayString>{mU32[0]}, {mU32[1]}, {mU32[2]}, {mU32[3]}</DisplayString> </Type> <Type Name="JPH::BVec16"> <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> </Type> <Type Name="JPH::Quat"> <DisplayString>{mValue}</DisplayString> </Type> <Type Name="JPH::Mat44"> <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> <Expand> <Synthetic Name="[Row 0]"> <DisplayString>{mCol[0].mF32[0]}, {mCol[1].mF32[0]}, {mCol[2].mF32[0]}, {mCol[3].mF32[0]}</DisplayString> </Synthetic> <Synthetic Name="[Row 1]"> <DisplayString>{mCol[0].mF32[1]}, {mCol[1].mF32[1]}, {mCol[2].mF32[1]}, {mCol[3].mF32[1]}</DisplayString> </Synthetic> <Synthetic Name="[Row 2]"> <DisplayString>{mCol[0].mF32[2]}, {mCol[1].mF32[2]}, {mCol[2].mF32[2]}, {mCol[3].mF32[2]}</DisplayString> </Synthetic> <Synthetic Name="[Row 3]"> <DisplayString>{mCol[0].mF32[3]}, {mCol[1].mF32[3]}, {mCol[2].mF32[3]}, {mCol[3].mF32[3]}</DisplayString> </Synthetic> </Expand> </Type> <Type Name="JPH::DMat44"> <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> <Expand> <Synthetic Name="[Row 0]"> <DisplayString>{mCol[0].mF32[0]}, {mCol[1].mF32[0]}, {mCol[2].mF32[0]}, {mCol3.mF64[0]}</DisplayString> </Synthetic> <Synthetic Name="[Row 1]"> <DisplayString>{mCol[0].mF32[1]}, {mCol[1].mF32[1]}, {mCol[2].mF32[1]}, {mCol3.mF64[1]}</DisplayString> </Synthetic> <Synthetic Name="[Row 2]"> <DisplayString>{mCol[0].mF32[2]}, {mCol[1].mF32[2]}, {mCol[2].mF32[2]}, {mCol3.mF64[2]}</DisplayString> </Synthetic> <Synthetic Name="[Row 3]"> <DisplayString>{mCol[0].mF32[3]}, {mCol[1].mF32[3]}, {mCol[2].mF32[3]}, 1}</DisplayString> </Synthetic> </Expand> </Type> <Type Name="JPH::AABox"> <DisplayString>min=({mMin}), max=({mMax})</DisplayString> </Type> <Type Name="JPH::BodyID"> <DisplayString>idx={mID & 0x007fffff}, seq={(mID >> 23) & 0xff}, in_bp={mID >> 24,d}</DisplayString> </Type> <Type Name="JPH::Body"> <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> </Type> <Type Name="JPH::BodyManager"> <DisplayString>bodies={mBodies._Mypair._Myval2._Mylast - mBodies._Mypair._Myval2._Myfirst}, active={mActiveBodies._Mypair._Myval2._Mylast - mActiveBodies._Mypair._Myval2._Myfirst}</DisplayString> </Type> <Type Name="JPH::StaticArray<*>"> <DisplayString>size={mSize}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">mSize</Item> <ArrayItems> <Size>mSize</Size> <ValuePointer>(value_type *)mElements</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="JPH::Array<*>"> <DisplayString>size={mSize}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">mSize</Item> <Item Name="[capacity]" ExcludeView="simple">mCapacity</Item> <ArrayItems> <Size>mSize</Size> <ValuePointer>mElements</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="JPH::HashTable<*>"> <DisplayString>size={mSize}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">mSize</Item> <Item Name="[bucket_count]" ExcludeView="simple">mMaxSize</Item> <IndexListItems Condition="mData != nullptr"> <Size>mMaxSize</Size> <ValueNode Condition="mControl[$i] & 0x80">mData[$i]</ValueNode> <ValueNode Condition="mControl[$i] == 0">"--Empty--"</ValueNode> <ValueNode Condition="mControl[$i] == 0x7f">"--Deleted--"</ValueNode> </IndexListItems> </Expand> </Type> <Type Name="JPH::StridedPtr<*>"> <DisplayString>{(value_type *)mPtr}, stride={mStride}</DisplayString> </Type> </AutoVisualizer>