45 int32_t mOwnerClassId;
53 PropertyType::Enum mPropertyType;
57 uint32_t m32BitOffset;
59 uint32_t m64BitOffset;
62 const NamespacedName& datatypeName, PropertyType::Enum propType, int32_t propId,
63 uint32_t offset32, uint32_t offset64)
64 : mOwnerClassName(clsName)
65 , mOwnerClassId(classId)
69 , mDatatypeName(datatypeName)
70 , mPropertyType(propType)
72 , m32BitOffset(offset32)
73 , m64BitOffset(offset64)
81 , mPropertyType(PropertyType::Unknown)
151 int32_t mPackedUniformWidth;
156 int32_t mPackedClassType;
163 bool mRequiresDestruction;
169 , mPackedUniformWidth(-1)
170 , mPackedClassType(-1)
172 , mRequiresDestruction(
false)
176 : mClassId(-1), mBaseClass(-1), mPackedUniformWidth(-1), mPackedClassType(-1), mLocked(
false), mRequiresDestruction(
false)
191 uint32_t& get32BitSize()
193 return get32BitSizeInfo().mByteSize;
195 uint32_t& get64BitSize()
197 return get64BitSizeInfo().mByteSize;
200 uint32_t get32BitSize()
const
202 return mSizeInfo[0].mByteSize;
206 return mSizeInfo[(
sizeof(
void*) >> 2) - 1];
208 uint32_t getNativeSize()
const
210 return getNativeSizeInfo().mByteSize;
220 bool needsMarshalling;
222 TBlockMarshaller marshaller;
223 MarshalQueryResult(int32_t _srcType = -1, int32_t _dstType = -1,
bool _canMarshal =
false,
bool _needs =
false,
224 TBlockMarshaller _m = NULL)
225 : srcType(_srcType), dstType(_dstType), canMarshal(_canMarshal), needsMarshalling(_needs), marshaller(_m)
237 uint32_t mMessageOffset;
242 uint32_t mDestByteSize;
245 uint32_t byteSize, uint32_t destByteSize)
246 : mProperty(propName)
247 , mDatatypeName(dtypeName)
249 , mMessageOffset(messageOff)
250 , mByteSize(byteSize)
251 , mDestByteSize(destByteSize)
385 template <
typename TDataType>
388 return findClass(getPvdNamespacedNameForType<TDataType>());
394 bool isDerivedFrom(int32_t classId, int32_t parentClass)
const
396 if(classId == parentClass)
401 if(p->mClassId == parentClass)
403 p = getClassPtr(p->mBaseClass);
408 virtual void lockClass(int32_t classId) = 0;
410 virtual uint32_t getNbClasses()
const = 0;
411 virtual uint32_t getClasses(
ClassDescription* outClasses, uint32_t requestCount, uint32_t startIndex = 0)
const = 0;
416 PropertyType::Enum propertyType = PropertyType::Scalar) = 0;
418 PropertyType::Enum propertyType = PropertyType::Scalar)
420 return createProperty(findClass(clsId)->mClassId, name, semantic, findClass(dtype)->mClassId, propertyType);
423 PropertyType::Enum propertyType = PropertyType::Scalar)
425 return createProperty(findClass(clsId)->mClassId, name,
"", findClass(dtype)->mClassId, propertyType);
428 PropertyType::Enum propertyType = PropertyType::Scalar)
430 return createProperty(clsId, name,
"", dtype, propertyType);
432 template <
typename TDataType>
434 PropertyType::Enum propertyType = PropertyType::Scalar)
436 return createProperty(clsId, name, semantic, getPvdNamespacedNameForType<TDataType>(), propertyType);
445 virtual uint32_t getNbProperties(int32_t classId)
const = 0;
446 virtual uint32_t getProperties(int32_t classId,
PropertyDescription* outBuffer, uint32_t bufCount,
447 uint32_t startIdx = 0)
const = 0;
450 virtual MarshalQueryResult checkMarshalling(int32_t srcClsId, int32_t dstClsId)
const = 0;
456 uint32_t messageSize) = 0;
460 virtual uint32_t getNbPropertyMessages()
const = 0;
462 uint32_t startIdx = 0)
const = 0;
472 virtual void addRef() = 0;
473 virtual void release() = 0;
475 static uint32_t getCurrentPvdObjectModelVersion();
Definition PxPvdObjectModelMetaData.h:231