27#ifndef PX_PVD_USER_RENDER_IMPL_H
28#define PX_PVD_USER_RENDER_IMPL_H
30#include "PxPvdUserRenderer.h"
42#define DECLARE_PVD_IMMEDIATE_RENDER_TYPE(type) type,
43#define DECLARE_PVD_IMMEDIATE_RENDER_TYPE_NO_COMMA(type) type
44#include "PxPvdUserRenderTypes.h"
45#undef DECLARE_PVD_IMMEDIATE_RENDER_TYPE_NO_COMMA
46#undef DECLARE_PVD_IMMEDIATE_RENDER_TYPE
58 virtual void streamify(uint64_t& val) = 0;
59 virtual void streamify(
float& val) = 0;
60 virtual void streamify(uint32_t& val) = 0;
61 virtual void streamify(uint8_t& val) = 0;
67 virtual bool isGood() = 0;
68 virtual uint32_t hasData() = 0;
70 void streamify(PvdUserRenderTypes::Enum& val)
72 uint8_t data =
static_cast<uint8_t
>(val);
74 val =
static_cast<PvdUserRenderTypes::Enum
>(data);
76 void streamify(
PxVec3& val)
100 void streamify(
bool& val)
102 uint8_t tempVal = uint8_t(val ? 1 : 0);
104 val = tempVal ? true :
false;
108template <
typename TBulkRenderType>
112 BulkRenderEvent(
const TBulkRenderType* data, uint32_t count) : mData(data, count)
120 serializer.streamify(mData);
125 uint64_t mInstanceId;
134 serializer.streamify(mInstanceId);
170 uint32_t lineCount,
const PxDebugTriangle* triangleData, uint32_t triangleCount)
171 : mPointData(pointData, pointCount), mLineData(lineData, lineCount), mTriangleData(triangleData, triangleCount)
180 serializer.streamify(mPointData);
181 serializer.streamify(mLineData);
182 serializer.streamify(mTriangleData);
191 mText.color = text.color;
192 mText.position = text.position;
193 mText.size = text.size;
194 mText.string = text.string;
201 serializer.streamify(mText);
217 serializer.streamify(parent);
218 serializer.streamify(child);
228 : t0(_t0), t1(_t1), value(_value), active(_active)
236 serializer.streamify(t0);
237 serializer.streamify(t1);
238 serializer.streamify(value);
239 serializer.streamify(active);
249 : t0(_t0), lower(_lower), upper(_upper), active(_active)
257 serializer.streamify(t0);
258 serializer.streamify(lower);
259 serializer.streamify(upper);
260 serializer.streamify(active);
270 : t(_t), ySwing(_ySwing), zSwing(_zSwing), active(_active)
278 serializer.streamify(t);
279 serializer.streamify(ySwing);
280 serializer.streamify(zSwing);
281 serializer.streamify(active);
297 serializer.streamify(t);
298 serializer.streamify(angle);
299 serializer.streamify(active);
303template <
typename TDataType>
326 s.streamify(d.color);
336 s.streamify(d.color0);
338 s.streamify(d.color1);
348 s.streamify(d.color0);
350 s.streamify(d.color1);
352 s.streamify(d.color2);
356template <
typename TDataType>
362#define DECLARE_PVD_IMMEDIATE_RENDER_TYPE(type) \
364 struct PvdTypeToRenderType<type##RenderEvent> \
368 EnumVal = PvdUserRenderTypes::type \
372#include "PxPvdUserRenderTypes.h"
373#undef DECLARE_PVD_IMMEDIATE_RENDER_TYPE
375template <
typename TDataType>
376PvdUserRenderTypes::Enum getPvdRenderTypeFromType()
float x
Definition PxQuat.h:395
3 Element vector class.
Definition PxVec3.h:50
Definition PxPvdObjectModelBaseTypes.h:345
Definition PxPvdUserRenderImpl.h:51
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Used to store a single line and colour for debug rendering.
Definition PxRenderBuffer.h:85
Used to store a single point and colour for debug rendering.
Definition PxRenderBuffer.h:73
Used to store a text for debug rendering. Doesn't own 'string' array.
Definition PxRenderBuffer.h:115
Used to store a single triangle and colour for debug rendering.
Definition PxRenderBuffer.h:99
Definition PxPvdUserRenderImpl.h:243
Definition PxPvdUserRenderImpl.h:110
Definition PxPvdUserRenderImpl.h:165
Definition PxPvdUserRenderImpl.h:285
Definition PxPvdUserRenderImpl.h:206
Definition PxPvdUserRenderImpl.h:264
Definition PxPvdUserRenderImpl.h:222
Definition PxPvdUserRenderImpl.h:147
Definition PxPvdUserRenderImpl.h:138
Definition PxPvdObjectModelBaseTypes.h:114
Definition PxPvdUserRenderImpl.h:358
Definition PxPvdUserRenderImpl.h:38
Definition PxPvdUserRenderImpl.h:305
Definition PxPvdUserRenderImpl.h:124
Definition PxPvdUserRenderImpl.h:187
Definition PxPvdUserRenderImpl.h:156