diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /PhysX_3.4/Documentation/PhysXAPI/files/classPxDeserializationContext.html | |
| download | physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip | |
Initial commit:
PhysX 3.4.0 Update @ 21294896
APEX 1.4.0 Update @ 21275617
[CL 21300167]
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classPxDeserializationContext.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classPxDeserializationContext.html | 326 |
1 files changed, 326 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxDeserializationContext.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxDeserializationContext.html new file mode 100644 index 00000000..3f8acf1d --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxDeserializationContext.html @@ -0,0 +1,326 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDeserializationContext Class Reference</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css"> + </head> + + <body bgcolor="#FFFFFF"> + <div id="header"> + <hr class="first"> + <img alt="" src="images/PhysXlogo.png" align="middle"> <br> + <center> + <a class="qindex" href="main.html">Main Page</a> + <a class="qindex" href="hierarchy.html">Class Hierarchy</a> + <a class="qindex" href="annotated.html">Compound List</a> + <a class="qindex" href="functions.html">Compound Members</a> + </center> + <hr class="second"> + </div> +<!-- Generated by Doxygen 1.5.8 --> +<div class="contents"> +<h1>PxDeserializationContext Class Reference<br> +<small> +[<a class="el" href="group__common.html">Common</a>]</small> +</h1><!-- doxytag: class="PxDeserializationContext" -->Binary deserialization context class. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="PxSerialFramework_8h-source.html">PxSerialFramework.h</a>></code> +<p> + +<p> +<a href="classPxDeserializationContext-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxBase.html">PxBase</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#b190b79866da182afa6f3f23f48d1d37">resolveReference</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> kind, size_t reference) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves a pointer to a deserialized <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> object given a corresponding deserialized reference value. <a href="#b190b79866da182afa6f3f23f48d1d37"></a><br></td></tr> +<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> +<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#8031417e21624c82dcafa32ba6540286">translatePxBase</a> (T *&base)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Helper function to update <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> pointer on deserialization. <a href="#8031417e21624c82dcafa32ba6540286"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#393b7ca347c967d330791d19b2e37006">readName</a> (const char *&name)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Helper function to read a name from the extra data during deserialization. <a href="#393b7ca347c967d330791d19b2e37006"></a><br></td></tr> +<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> +<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">PX_INLINE T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#fc3b1411dd1c15ed50b393bb1a65290a">readExtraData</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> count=1)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to read extra data during deserialization. <a href="#fc3b1411dd1c15ed50b393bb1a65290a"></a><br></td></tr> +<tr><td class="memTemplParams" nowrap colspan="2">template<typename T , PxU32 alignment> </td></tr> +<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">PX_INLINE T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#fc3b1411dd1c15ed50b393bb1a65290a">readExtraData</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> count=1)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to read extra data during deserialization optionally aligning the extra data stream before reading. <a href="#fc3b1411dd1c15ed50b393bb1a65290a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#f6b8fa92c606bc4641ef3e06750b4a37">alignExtraData</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> alignment=PX_SERIAL_ALIGN)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to align the extra data stream to a power of 2 alignment. <a href="#f6b8fa92c606bc4641ef3e06750b4a37"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#be1146f20c2d30d916e0afc0f22cba53">getPhysXVersion</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to return the PX_PHYSX_VERSION value with which the data was originally serialized. <a href="#be1146f20c2d30d916e0afc0f22cba53"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#18007433a2cc90ef8ccf4353fb8b123d">PxDeserializationContext</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#2299e472c6c4dc486cbd08385efd31d9">~PxDeserializationContext</a> ()</td></tr> + +<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PxU8 * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDeserializationContext.html#91c4d17f9b7f7acd3cd7a119fe701939">mExtraDataAddress</a></td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Binary deserialization context class. +<p> +This class is used to resolve references and access extra data during deserialization. It is mainly used by the serialization framework. Except for custom serializable types, users should not have to worry about it.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxSerializationContext.html" title="Binary serialization context class.">PxSerializationContext</a> </dd></dl> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="18007433a2cc90ef8ccf4353fb8b123d"></a><!-- doxytag: member="PxDeserializationContext::PxDeserializationContext" ref="18007433a2cc90ef8ccf4353fb8b123d" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PxDeserializationContext::PxDeserializationContext </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="2299e472c6c4dc486cbd08385efd31d9"></a><!-- doxytag: member="PxDeserializationContext::~PxDeserializationContext" ref="2299e472c6c4dc486cbd08385efd31d9" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxDeserializationContext::~PxDeserializationContext </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline, protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="f6b8fa92c606bc4641ef3e06750b4a37"></a><!-- doxytag: member="PxDeserializationContext::alignExtraData" ref="f6b8fa92c606bc4641ef3e06750b4a37" args="(PxU32 alignment=PX_SERIAL_ALIGN)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE void PxDeserializationContext::alignExtraData </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>alignment</em> = <code>PX_SERIAL_ALIGN</code> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Function to align the extra data stream to a power of 2 alignment. +<p> +This function is assumed to be called within the implementation of <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a>.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxSerializationContext.html#5d7a1f5789f666908ea28caf166fc609" title="Aligns the serialized data.">PxSerializationContext::alignData</a>, <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="be1146f20c2d30d916e0afc0f22cba53"></a><!-- doxytag: member="PxDeserializationContext::getPhysXVersion" ref="be1146f20c2d30d916e0afc0f22cba53" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxDeserializationContext::getPhysXVersion </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Function to return the PX_PHYSX_VERSION value with which the data was originally serialized. +<p> + +</div> +</div><p> +<a class="anchor" name="fc3b1411dd1c15ed50b393bb1a65290a"></a><!-- doxytag: member="PxDeserializationContext::readExtraData" ref="fc3b1411dd1c15ed50b393bb1a65290a" args="(PxU32 count=1)" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename T , PxU32 alignment> </div> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE T* PxDeserializationContext::readExtraData </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>count</em> = <code>1</code> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Function to read extra data during deserialization optionally aligning the extra data stream before reading. +<p> +This function is assumed to be called within the implementation of <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a>.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxSerializationContext.html#2cb3cc1613a70406c2bf89ec53035a22" title="Serializes object data and object extra data.">PxSerializationContext::writeData</a>, <a class="el" href="classPxDeserializationContext.html#f6b8fa92c606bc4641ef3e06750b4a37" title="Function to align the extra data stream to a power of 2 alignment.">PxDeserializationContext::alignExtraData</a>, <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="fc3b1411dd1c15ed50b393bb1a65290a"></a><!-- doxytag: member="PxDeserializationContext::readExtraData" ref="fc3b1411dd1c15ed50b393bb1a65290a" args="(PxU32 count=1)" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename T > </div> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE T* PxDeserializationContext::readExtraData </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>count</em> = <code>1</code> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Function to read extra data during deserialization. +<p> +This function is assumed to be called within the implementation of <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a>.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxSerializationContext.html#2cb3cc1613a70406c2bf89ec53035a22" title="Serializes object data and object extra data.">PxSerializationContext::writeData</a>, <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="393b7ca347c967d330791d19b2e37006"></a><!-- doxytag: member="PxDeserializationContext::readName" ref="393b7ca347c967d330791d19b2e37006" args="(const char *&name)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE void PxDeserializationContext::readName </td> + <td>(</td> + <td class="paramtype">const char *& </td> + <td class="paramname"> <em>name</em> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Helper function to read a name from the extra data during deserialization. +<p> +This function is assumed to be called within the implementation of <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a>.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxSerializationContext.html#1a708961bc536693395826a6bc11a8f6" title="Helper function to write a name to the extraData if serialization is configured to...">PxSerializationContext::writeName</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b190b79866da182afa6f3f23f48d1d37"></a><!-- doxytag: member="PxDeserializationContext::resolveReference" ref="b190b79866da182afa6f3f23f48d1d37" args="(PxU32 kind, size_t reference) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxBase.html">PxBase</a>* PxDeserializationContext::resolveReference </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>kind</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"> <em>reference</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieves a pointer to a deserialized <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> object given a corresponding deserialized reference value. +<p> +This method is assumed to be called in the implementation of <a class="el" href="classPxSerializer.html#1fadfa942cb290428004ef688825dfb3" title="Create object at a given address, resolve references and import extra data.">PxSerializer::createObject</a> in order to update reference values on deserialization.<p> +To update a <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> reference the corresponding deserialized pointer value needs to be provided in order to retrieve the location of the corresponding deserialized <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> object. (<a class="el" href="classPxDeserializationContext.html#8031417e21624c82dcafa32ba6540286" title="Helper function to update PxBase pointer on deserialization.">PxDeserializationContext::translatePxBase</a> simplifies this common case).<p> +For other kinds of references the reverence values need to be updated by deduction given the corresponding <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> instance.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>kind</em> </td><td>What kind of reference this is (PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX or custom kind) </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>reference</em> </td><td>Deserialized reference value </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> object associated with the reference value</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxSerializationContext.html#de8ef3b58a16bab4f4cbd3c04a891817" title="Registers a reference value corresponding to a PxBase object.">PxSerializationContext::registerReference</a>, <a class="el" href="group__common.html#g8cd51251f2e11c3b6598b96f32e400f8" title="Reference kind value for PxBase objects.">PX_SERIAL_REF_KIND_PXBASE</a>, <a class="el" href="group__common.html#g27914dcd6d0448671eebfeca012cd0b5" title="Reference kind value for material indices.">PX_SERIAL_REF_KIND_MATERIAL_IDX</a>, <a class="el" href="classPxDeserializationContext.html#8031417e21624c82dcafa32ba6540286" title="Helper function to update PxBase pointer on deserialization.">translatePxBase</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8031417e21624c82dcafa32ba6540286"></a><!-- doxytag: member="PxDeserializationContext::translatePxBase" ref="8031417e21624c82dcafa32ba6540286" args="(T *&base)" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename T > </div> + <table class="memname"> + <tr> + <td class="memname">void PxDeserializationContext::translatePxBase </td> + <td>(</td> + <td class="paramtype">T *& </td> + <td class="paramname"> <em>base</em> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Helper function to update <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection.">PxBase</a> pointer on deserialization. +<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxDeserializationContext.html#b190b79866da182afa6f3f23f48d1d37" title="Retrieves a pointer to a deserialized PxBase object given a corresponding deserialized...">resolveReference</a>, <a class="el" href="group__common.html#g8cd51251f2e11c3b6598b96f32e400f8" title="Reference kind value for PxBase objects.">PX_SERIAL_REF_KIND_PXBASE</a> </dd></dl> + +<p>References <a class="el" href="PxSerialFramework_8h-source.html#l00068">PX_SERIAL_REF_KIND_PXBASE</a>.</p> + +</div> +</div><p> +<hr><h2>Member Data Documentation</h2> +<a class="anchor" name="91c4d17f9b7f7acd3cd7a119fe701939"></a><!-- doxytag: member="PxDeserializationContext::mExtraDataAddress" ref="91c4d17f9b7f7acd3cd7a119fe701939" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PxU8* <a class="el" href="classPxDeserializationContext.html#91c4d17f9b7f7acd3cd7a119fe701939">PxDeserializationContext::mExtraDataAddress</a><code> [protected]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PxSerialFramework_8h-source.html">PxSerialFramework.h</a></ul> +</div> + +<hr style="width: 100%; height: 2px;"><br> +Copyright © 2008-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a> +</body> +</html> |