29#ifndef OMNI_PVD_EXTENSION_SAMPLER_H
30#define OMNI_PVD_EXTENSION_SAMPLER_H
42#if PX_SUPPORT_OMNI_PVD
44 #define OMNI_PVD_ACTIVE (::OmniPvdPxExtensionsSampler::getInstance() != NULL)
46 #define OMNI_PVD_CREATE(c, o) if (::OmniPvdPxExtensionsSampler::getInstance() != NULL) {::OmniPvdPxExtensionsSampler::getInstance()->createObject(OmniPvdPxExtensionsSampler::classHandle_##c, o); }
48 #define OMNI_PVD_DESTROY(c, o) if (::OmniPvdPxExtensionsSampler::getInstance() != NULL) {::OmniPvdPxExtensionsSampler::getInstance()->destroyObject(o); }
51 #define OMNI_PVD_SET(c, a, o, v) if (::OmniPvdPxExtensionsSampler::getInstance() != NULL) {::OmniPvdPxExtensionsSampler::getInstance()->setAttribute(OmniPvdPxExtensionsSampler::attributeHandle_##c##_##a, o, v); }
53 #define OMNI_PVD_SETB(c, a, o, pv, n)if (::OmniPvdPxExtensionsSampler::getInstance() != NULL) {::OmniPvdPxExtensionsSampler::getInstance()->setAttributeBytes(OmniPvdPxExtensionsSampler::attributeHandle_##c##_##a, o, pv, n); }
55 #define OMNI_PVD_ADD(c, a, o, v) if (::OmniPvdPxExtensionsSampler::getInstance() != NULL) {::OmniPvdPxExtensionsSampler::getInstance()->addToSet(OmniPvdPxExtensionsSampler::attributeHandle_##c##_##a, o, v); }
57 #define OMNI_PVD_REMOVE(c, a, o, v) if (::OmniPvdPxExtensionsSampler::getInstance() != NULL) {::OmniPvdPxExtensionsSampler::getInstance()->removeFromSet(OmniPvdPxExtensionsSampler::attributeHandle_##c##_##a, o, v); }
59 #define OMNI_PVD_ACTIVE (false)
60 #define OMNI_PVD_CREATE(c, p)
61 #define OMNI_PVD_DESTROY(c, p)
62 #define OMNI_PVD_SET(c, a, p, v)
63 #define OMNI_PVD_SETB(c, a, p, v, n)
64 #define OMNI_PVD_ADD(c, a, p, v)
65 #define OMNI_PVD_REMOVE(c, a, p, v)
69#if PX_SUPPORT_OMNI_PVD
71#include "foundation/PxUserAllocated.h"
72#include "../pvdruntime/include/OmniPvdDefines.h"
79 OmniPvdPxExtensionsSampler();
80 ~OmniPvdPxExtensionsSampler();
82 void registerClasses();
85 template <
typename ClassType>
void createObject(OmniPvdClassHandle, ClassType
const & objectId);
86 template <
typename ClassType>
void destroyObject(ClassType
const & objectId);
87 template <
typename ClassType,
typename AttributeType>
void setAttribute(OmniPvdAttributeHandle, ClassType
const & objectId, AttributeType
const & value);
88 template <
typename ClassType,
typename AttributeType>
void setAttributeBytes(OmniPvdAttributeHandle, ClassType
const & objectId, AttributeType
const * value,
unsigned nBytes);
89 template <
typename ClassType,
typename AttributeType>
void addToSet(OmniPvdAttributeHandle, ClassType
const & objectId, AttributeType
const & value);
90 template <
typename ClassType,
typename AttributeType>
void removeFromSet(OmniPvdAttributeHandle, ClassType
const & objectId, AttributeType
const & value);
94#define OMNI_PVD_FAKE_CLASS(c, classT, classStr) static OmniPvdClassHandle classHandle_##c;
95#define OMNI_PVD_CLASS(c, classT) static OmniPvdClassHandle classHandle_##c;
96#define OMNI_PVD_CLASS_DERIVED(c, classT, baseClass) OMNI_PVD_CLASS(c, classT)
97#define OMNI_PVD_ENUM(c, classT) OMNI_PVD_CLASS(c, classT)
98#define OMNI_PVD_ENUM_VALUE(c, a, v)
99#define OMNI_PVD_ATTRIBUTE(c, a, classT, attrT, t, n) static OmniPvdAttributeHandle attributeHandle_##c##_##a;
100#define OMNI_PVD_ATTRIBUTE_SET(c, a, classT, attrT) static OmniPvdAttributeHandle attributeHandle_##c##_##a;
101#define OMNI_PVD_ATTRIBUTE_FLAG(c, a, classT, attrT, enumClass) static OmniPvdAttributeHandle attributeHandle_##c##_##a;
103#include "OmniPvdPxExtensionsTypes.h"
106#undef OMNI_PVD_ENUM_VALUE
107#undef OMNI_PVD_FAKE_CLASS
109#undef OMNI_PVD_CLASS_DERIVED
110#undef OMNI_PVD_ATTRIBUTE
111#undef OMNI_PVD_ATTRIBUTE_SET
112#undef OMNI_PVD_ATTRIBUTE_FLAG
115 static bool createInstance();
116 static OmniPvdPxExtensionsSampler* getInstance();
117 static void destroyInstance();
Used to write debug information to an OmniPvdWriteStream.
Definition OmniPvdWriter.h:47
Definition PxUserAllocated.h:43