RavEngine
Loading...
Searching...
No Matches
physx::Sn::SerializationContext Class Reference
Inheritance diagram for physx::Sn::SerializationContext:
[legend]
Collaboration diagram for physx::Sn::SerializationContext:
[legend]

Public Member Functions

 SerializationContext (const Cm::Collection &collection, const Cm::Collection *externalRefs)
 
virtual void writeData (const void *buffer, PxU32 size)
 Serializes object data and object extra data.
 
virtual PxU32 getTotalStoredSize ()
 
virtual void alignData (PxU32 alignment=PX_SERIAL_ALIGN)
 Aligns the serialized data.
 
virtual void writeName (const char *)
 Helper function to write a name to the extraData if serialization is configured to save names.
 
const PxCollection & getCollection () const
 Returns the collection that is being serialized.
 
virtual void registerReference (PxBase &serializable, PxU32 kind, size_t reference)
 Registers a reference value corresponding to a PxBase object.
 
const PxArray< ImportReference > & getImportReferences ()
 
InternalPtrRefMap & getInternalPtrReferencesMap ()
 
InternalHandle16RefMap & getInternalHandle16ReferencesMap ()
 
PxU32 getSize () const
 
PxU8 * getData () const
 
- Public Member Functions inherited from physx::PxUserAllocated
PX_INLINE void * operator new (size_t, void *address)
 
PX_INLINE void operator delete (void *, void *)
 
template<typename Alloc >
PX_INLINE void * operator new (size_t size, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new (size_t size, size_t, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new[] (size_t size, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new[] (size_t size, size_t, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void operator delete (void *ptr, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void operator delete[] (void *ptr, Alloc alloc, const char *fileName, int line)
 
PX_INLINE void operator delete (void *ptr)
 
PX_INLINE void operator delete[] (void *ptr)
 

Member Function Documentation

◆ alignData()

virtual void physx::Sn::SerializationContext::alignData ( PxU32  alignment = PX_SERIAL_ALIGN)
inlinevirtual

Aligns the serialized data.

This function is assumed to be called within the implementation of PxSerializer::exportData and PxSerializer::exportExtraData.

See also
PxSerializer::exportData, PxSerializer::exportExtraData, PxDeserializationContext::alignExtraData

Implements physx::PxSerializationContext.

◆ getCollection()

const PxCollection & physx::Sn::SerializationContext::getCollection ( ) const
inlinevirtual

Returns the collection that is being serialized.

Implements physx::PxSerializationContext.

◆ registerReference()

void SerializationContext::registerReference ( PxBase &  base,
PxU32  kind,
size_t  reference 
)
virtual

Registers a reference value corresponding to a PxBase object.

This method is assumed to be called in the implementation of PxSerializer::registerReferences for serialized references that need to be resolved on deserialization.

A reference needs to be associated with exactly one PxBase object in either the collection or the external references collection.

Different kinds of references are supported and need to be specified. In the most common case (PX_SERIAL_REF_KIND_PXBASE) the PxBase object matches the reference value (which is the pointer to the PxBase object). Integer references maybe registered as well (used for internal material indices with PX_SERIAL_REF_KIND_MATERIAL_IDX). Other kinds could be added with the restriction that for pointer types the kind value needs to be marked with the PX_SERIAL_REF_KIND_PTR_TYPE_BIT.

Parameters
[in]basePxBase object associated with the reference
[in]kindWhat kind of reference this is (PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX or custom kind)
[in]referenceValue of reference
See also
PxDeserializationContext::resolveReference, PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX, PxSerializer::registerReferences

Implements physx::PxSerializationContext.

◆ writeData()

virtual void physx::Sn::SerializationContext::writeData ( const void *  data,
PxU32  size 
)
inlinevirtual

Serializes object data and object extra data.

This function is assumed to be called within the implementation of PxSerializer::exportData and PxSerializer::exportExtraData.

See also
PxSerializer::exportData, PxSerializer::exportExtraData, PxSerializer::createObject, PxDeserializationContext::readExtraData

Implements physx::PxSerializationContext.

◆ writeName()

virtual void physx::Sn::SerializationContext::writeName ( const char *  name)
inlinevirtual

Helper function to write a name to the extraData if serialization is configured to save names.

This function is assumed to be called within the implementation of PxSerializer::exportExtraData.

See also
PxSerialization::serializeCollectionToBinary, PxDeserializationContext::readName

Implements physx::PxSerializationContext.


The documentation for this class was generated from the following files: