29#ifndef SN_XML_SERIALIZER_H
30#define SN_XML_SERIALIZER_H
32#include "PxExtensionMetaDataObjects.h"
33#include "SnXmlVisitorWriter.h"
39 void writeHeightFieldSample( PxOutputStream& inStream,
const PxHeightFieldSample& inSample )
42 PxU8* writePtr(
reinterpret_cast< PxU8*
>( &retval ) );
43 const PxU8* inPtr(
reinterpret_cast<const PxU8*
>( &inSample ) );
54 writePtr[0] = inPtr[3];
55 writePtr[1] = inPtr[2];
56 writePtr[2] = inPtr[0];
57 writePtr[3] = inPtr[1];
61 writePtr[0] = inPtr[0];
62 writePtr[1] = inPtr[1];
63 writePtr[2] = inPtr[2];
64 writePtr[3] = inPtr[3];
71 template<
typename TDataType,
typename TWriteOperator>
72 inline void writeStridedBufferProperty( XmlWriter& writer, MemoryBuffer& tempBuffer,
const char* inPropName,
const void* inData, PxU32 inStride, PxU32 inCount, PxU32 inItemsPerLine, TWriteOperator inOperator )
74 PX_ASSERT( inStride == 0 || inStride ==
sizeof( TDataType ) );
75 PX_UNUSED( inStride );
76 writeBuffer( writer, tempBuffer
77 , inItemsPerLine,
reinterpret_cast<const TDataType*
>( inData )
78 , inCount, inPropName, inOperator );
81 template<
typename TDataType,
typename TWriteOperator>
82 inline void writeStridedBufferProperty( XmlWriter& writer, MemoryBuffer& tempBuffer,
const char* inPropName,
const PxStridedData& inData, PxU32 inCount, PxU32 inItemsPerLine, TWriteOperator inOperator )
84 writeStridedBufferProperty<TDataType>( writer, tempBuffer, inPropName, inData.data, inData.stride, inCount, inItemsPerLine, inOperator );
87 template<
typename TDataType,
typename TWriteOperator>
88 inline void writeStridedBufferProperty( XmlWriter& writer, MemoryBuffer& tempBuffer,
const char* inPropName,
const PxTypedStridedData<TDataType>& inData, PxU32 inCount, PxU32 inItemsPerLine, TWriteOperator inOperator )
90 writeStridedBufferProperty<TDataType>( writer, tempBuffer, inPropName, inData.data, inData.stride, inCount, inItemsPerLine, inOperator );
93 template<
typename TDataType,
typename TWriteOperator>
94 inline void writeStridedBufferProperty( XmlWriter& writer, MemoryBuffer& tempBuffer,
const char* inPropName,
const PxBoundedData& inData, PxU32 inItemsPerLine, TWriteOperator inWriteOperator )
96 writeStridedBufferProperty<TDataType>( writer, tempBuffer, inPropName, inData, inData.count, inItemsPerLine, inWriteOperator );
99 template<
typename TDataType,
typename TWriteOperator>
100 inline void writeStridedBufferProperty( XmlWriter& writer, MemoryBuffer& tempBuffer,
const char* inPropName, PxStrideIterator<const TDataType>& inData, PxU32 inCount, PxU32 inItemsPerLine, TWriteOperator inWriteOperator )
102 writeStrideBuffer<TDataType>(writer, tempBuffer
103 , inItemsPerLine, inData, PtrAccess<TDataType>
104 , inCount, inPropName, inData.stride(), inWriteOperator );
107 template<
typename TDataType>
108 inline void writeStridedFlagsProperty( XmlWriter& writer, MemoryBuffer& tempBuffer,
const char* inPropName, PxStrideIterator<const TDataType>& inData, PxU32 inCount, PxU32 inItemsPerLine,
const PxU32ToName* inTable )
110 writeStrideFlags<TDataType>(writer, tempBuffer
111 , inItemsPerLine, inData, PtrAccess<TDataType>
112 , inCount, inPropName, inTable );
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39