diff options
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxMetaData_8h-source.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/PxMetaData_8h-source.html | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxMetaData_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxMetaData_8h-source.html new file mode 100644 index 00000000..cc68cdfc --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxMetaData_8h-source.html @@ -0,0 +1,194 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaData.h Source File</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 --> +<h1>PxMetaData.h</h1><a href="PxMetaData_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span> +<a name="l00002"></a>00002 <span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span> +<a name="l00003"></a>00003 <span class="comment">//</span> +<a name="l00004"></a>00004 <span class="comment">// Notice</span> +<a name="l00005"></a>00005 <span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span> +<a name="l00006"></a>00006 <span class="comment">// proprietary rights in and to this software and related documentation and</span> +<a name="l00007"></a>00007 <span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span> +<a name="l00008"></a>00008 <span class="comment">// distribution of this software and related documentation without an express</span> +<a name="l00009"></a>00009 <span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span> +<a name="l00010"></a>00010 <span class="comment">//</span> +<a name="l00011"></a>00011 <span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES</span> +<a name="l00012"></a>00012 <span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span> +<a name="l00013"></a>00013 <span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span> +<a name="l00014"></a>00014 <span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span> +<a name="l00015"></a>00015 <span class="comment">//</span> +<a name="l00016"></a>00016 <span class="comment">// Information and code furnished is believed to be accurate and reliable.</span> +<a name="l00017"></a>00017 <span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span> +<a name="l00018"></a>00018 <span class="comment">// information or for any infringement of patents or other rights of third parties that may</span> +<a name="l00019"></a>00019 <span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span> +<a name="l00020"></a>00020 <span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span> +<a name="l00021"></a>00021 <span class="comment">// This code supersedes and replaces all information previously supplied.</span> +<a name="l00022"></a>00022 <span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span> +<a name="l00023"></a>00023 <span class="comment">// components in life support devices or systems without express written approval of</span> +<a name="l00024"></a>00024 <span class="comment">// NVIDIA Corporation.</span> +<a name="l00025"></a>00025 <span class="comment">//</span> +<a name="l00026"></a>00026 <span class="comment">// Copyright (c) 2008-2016 NVIDIA Corporation. All rights reserved.</span> +<a name="l00027"></a>00027 <span class="comment">// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.</span> +<a name="l00028"></a>00028 <span class="comment">// Copyright (c) 2001-2004 NovodeX AG. All rights reserved. </span> +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 <span class="preprocessor">#ifndef PX_PHYSICS_METADATA_H</span> +<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define PX_PHYSICS_METADATA_H</span> +<a name="l00033"></a>00033 <span class="preprocessor"></span> +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="Px_8h.html">foundation/Px.h</a>"</span> +<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="PxIO_8h.html">foundation/PxIO.h</a>"</span> +<a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="PxMetaDataFlags_8h.html">PxMetaDataFlags.h</a>"</span> +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 +<a name="l00042"></a>00042 <span class="preprocessor">#if !PX_DOXYGEN</span> +<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>physx +<a name="l00044"></a>00044 { +<a name="l00045"></a>00045 <span class="preprocessor">#endif</span> +<a name="l00046"></a>00046 <span class="preprocessor"></span> +<a name="l00052"></a><a class="code" href="structPxMetaDataEntry.html">00052</a> <span class="keyword">struct </span><a class="code" href="structPxMetaDataEntry.html" title="Struct to store meta data definitions.">PxMetaDataEntry</a> +<a name="l00053"></a>00053 { +<a name="l00054"></a><a class="code" href="structPxMetaDataEntry.html#f798a0e7beeb8caf4ddbd713fc0994c6">00054</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* type; +<a name="l00055"></a><a class="code" href="structPxMetaDataEntry.html#5fb361c8856029844ac694f01d31f5d3">00055</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* name; +<a name="l00056"></a><a class="code" href="structPxMetaDataEntry.html#31fb4a1629e34ceceaa0daa52521fea6">00056</a> <a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> offset; +<a name="l00057"></a><a class="code" href="structPxMetaDataEntry.html#7350e286124fcd8a4edb2a2a61b81535">00057</a> <a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> size; +<a name="l00058"></a><a class="code" href="structPxMetaDataEntry.html#1efc5f7a629ef2f730fec6ec9d99a28f">00058</a> <a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> count; +<a name="l00059"></a><a class="code" href="structPxMetaDataEntry.html#62398e1e02dcbfca7126ee6a8e4e9f71">00059</a> <a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> offsetSize; +<a name="l00060"></a><a class="code" href="structPxMetaDataEntry.html#d6271b105706045a82e8e771f9a4dcaa">00060</a> <a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> flags; +<a name="l00061"></a><a class="code" href="structPxMetaDataEntry.html#638dd4ae7cf2bff56370ea132e5f4455">00061</a> <a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> alignment; +<a name="l00062"></a>00062 }; +<a name="l00063"></a>00063 +<a name="l00064"></a><a class="code" href="group__physics.html#gffbcca4cdc677e1e2fe5cf379146727e">00064</a> <span class="preprocessor"> #define PX_STORE_METADATA(stream, metaData) stream.write(&metaData, sizeof(PxMetaDataEntry))</span> +<a name="l00065"></a>00065 <span class="preprocessor"></span> +<a name="l00066"></a><a class="code" href="group__physics.html#g59c318a035d7a555f3e2188d757059bf">00066</a> <span class="preprocessor"> #define PX_SIZE_OF(Class, Member) sizeof((reinterpret_cast<Class*>(0))->Member)</span> +<a name="l00067"></a>00067 <span class="preprocessor"></span> +<a name="l00071"></a><a class="code" href="group__physics.html#g14481630a9253df1784a9cad4e94d904">00071</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_ITEM(stream, Class, type, name, flags) \</span> +<a name="l00072"></a>00072 <span class="preprocessor"> { \</span> +<a name="l00073"></a>00073 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \</span> +<a name="l00074"></a>00074 <span class="preprocessor"> 1, 0, flags, 0}; \</span> +<a name="l00075"></a>00075 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00076"></a>00076 <span class="preprocessor"> }</span> +<a name="l00077"></a>00077 <span class="preprocessor"></span> +<a name="l00082"></a><a class="code" href="group__physics.html#gd42d1fc82f3ab8db230e5050f2fe0cd0">00082</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_ITEMS(stream, Class, type, name, flags, count) \</span> +<a name="l00083"></a>00083 <span class="preprocessor"> { \</span> +<a name="l00084"></a>00084 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \</span> +<a name="l00085"></a>00085 <span class="preprocessor"> count, 0, flags, 0}; \</span> +<a name="l00086"></a>00086 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00087"></a>00087 <span class="preprocessor"> }</span> +<a name="l00088"></a>00088 <span class="preprocessor"></span> +<a name="l00094"></a><a class="code" href="group__physics.html#g5c5117095910154a5e39fee736503e72">00094</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Class, type, name, flags) \</span> +<a name="l00095"></a>00095 <span class="preprocessor"> { \</span> +<a name="l00096"></a>00096 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \</span> +<a name="l00097"></a>00097 <span class="preprocessor"> sizeof((reinterpret_cast<Class*>(0))->name)/sizeof(type), 0, flags, 0}; \</span> +<a name="l00098"></a>00098 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00099"></a>00099 <span class="preprocessor"> }</span> +<a name="l00100"></a>00100 <span class="preprocessor"></span> +<a name="l00104"></a><a class="code" href="group__physics.html#g7d5660bc1b17b72651434edf7fa022a8">00104</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_CLASS(stream, Class) \</span> +<a name="l00105"></a>00105 <span class="preprocessor"> { \</span> +<a name="l00106"></a>00106 <span class="preprocessor"> PxMetaDataEntry tmp = { #Class, 0, 0, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS, 0 }; \</span> +<a name="l00107"></a>00107 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00108"></a>00108 <span class="preprocessor"> }</span> +<a name="l00109"></a>00109 <span class="preprocessor"></span> +<a name="l00113"></a><a class="code" href="group__physics.html#g314967fa3f63ec7c0b84832edb318458">00113</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_VCLASS(stream, Class) \</span> +<a name="l00114"></a>00114 <span class="preprocessor"> { \</span> +<a name="l00115"></a>00115 <span class="preprocessor"> PxMetaDataEntry tmp = { #Class, 0, 0, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS|PxMetaDataFlag::eVIRTUAL, 0}; \</span> +<a name="l00116"></a>00116 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00117"></a>00117 <span class="preprocessor"> }</span> +<a name="l00118"></a>00118 <span class="preprocessor"></span> +<a name="l00122"></a><a class="code" href="group__physics.html#g190471540583d37595e5532c7534f950">00122</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_TYPEDEF(stream, newType, oldType) \</span> +<a name="l00123"></a>00123 <span class="preprocessor"> { \</span> +<a name="l00124"></a>00124 <span class="preprocessor"> PxMetaDataEntry tmp = { #newType, #oldType, 0, 0, 0, 0, PxMetaDataFlag::eTYPEDEF, 0 }; \</span> +<a name="l00125"></a>00125 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00126"></a>00126 <span class="preprocessor"> }</span> +<a name="l00127"></a>00127 <span class="preprocessor"></span> +<a name="l00131"></a><a class="code" href="group__physics.html#g032d753d48dd9e14306d309c2b618410">00131</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_BASE_CLASS(stream, Class, BaseClass) \</span> +<a name="l00132"></a>00132 <span class="preprocessor"> { \</span> +<a name="l00133"></a>00133 <span class="preprocessor"> Class* myClass = reinterpret_cast<Class*>(42); \</span> +<a name="l00134"></a>00134 <span class="preprocessor"> BaseClass* s = static_cast<BaseClass*>(myClass); \</span> +<a name="l00135"></a>00135 <span class="preprocessor"> const PxU32 offset = PxU32(size_t(s) - size_t(myClass)); \</span> +<a name="l00136"></a>00136 <span class="preprocessor"> PxMetaDataEntry tmp = { #Class, #BaseClass, offset, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS, 0 }; \</span> +<a name="l00137"></a>00137 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00138"></a>00138 <span class="preprocessor"> }</span> +<a name="l00139"></a>00139 <span class="preprocessor"></span> +<a name="l00143"></a><a class="code" href="group__physics.html#gdf1f469d767ae64422c20cce7c71a6b3">00143</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_UNION(stream, Class, name) \</span> +<a name="l00144"></a>00144 <span class="preprocessor"> { \</span> +<a name="l00145"></a>00145 <span class="preprocessor"> PxMetaDataEntry tmp = { #Class, 0, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \</span> +<a name="l00146"></a>00146 <span class="preprocessor"> 1, 0, PxMetaDataFlag::eUNION, 0 }; \</span> +<a name="l00147"></a>00147 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00148"></a>00148 <span class="preprocessor"> }</span> +<a name="l00149"></a>00149 <span class="preprocessor"></span> +<a name="l00153"></a><a class="code" href="group__physics.html#g0f17b2c81d2d85ff9ff7f853464c38e7">00153</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_UNION_TYPE(stream, Class, type, enumValue) \</span> +<a name="l00154"></a>00154 <span class="preprocessor"> { \</span> +<a name="l00155"></a>00155 <span class="preprocessor"> PxMetaDataEntry tmp = { #Class, #type, enumValue, 0, 0, 0, PxMetaDataFlag::eUNION, 0 }; \</span> +<a name="l00156"></a>00156 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00157"></a>00157 <span class="preprocessor"> }</span> +<a name="l00158"></a>00158 <span class="preprocessor"></span> +<a name="l00162"></a><a class="code" href="group__physics.html#g2cc87661da498e4f0c4ce26b6656e467">00162</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_EXTRA_ITEM(stream, Class, type, control, align) \</span> +<a name="l00163"></a>00163 <span class="preprocessor"> { \</span> +<a name="l00164"></a>00164 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), sizeof(type), 0, PxU32(PX_SIZE_OF(Class, control)), \</span> +<a name="l00165"></a>00165 <span class="preprocessor"> PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEM, align }; \</span> +<a name="l00166"></a>00166 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00167"></a>00167 <span class="preprocessor"> }</span> +<a name="l00168"></a>00168 <span class="preprocessor"></span> +<a name="l00172"></a><a class="code" href="group__physics.html#g39043f3971c7c14f163a41f41982701f">00172</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_EXTRA_ITEMS(stream, Class, type, control, count, flags, align) \</span> +<a name="l00173"></a>00173 <span class="preprocessor"> { \</span> +<a name="l00174"></a>00174 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), PxU32(PX_SIZE_OF(Class, control)), \</span> +<a name="l00175"></a>00175 <span class="preprocessor"> PxU32(PX_OFFSET_OF_RT(Class, count)), PxU32(PX_SIZE_OF(Class, count)), \</span> +<a name="l00176"></a>00176 <span class="preprocessor"> PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEMS|flags, align }; \</span> +<a name="l00177"></a>00177 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00178"></a>00178 <span class="preprocessor"> }</span> +<a name="l00179"></a>00179 <span class="preprocessor"></span> +<a name="l00185"></a><a class="code" href="group__physics.html#g5605c240ca14c7fbfabf545edb73bcdc">00185</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL(stream, Class, type, control, controlMask ,count, flags, align) \</span> +<a name="l00186"></a>00186 <span class="preprocessor"> { \</span> +<a name="l00187"></a>00187 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), PxU32(PX_SIZE_OF(Class, control)), \</span> +<a name="l00188"></a>00188 <span class="preprocessor"> PxU32(PX_OFFSET_OF_RT(Class, count)), PxU32(PX_SIZE_OF(Class, count)), \</span> +<a name="l00189"></a>00189 <span class="preprocessor"> PxMetaDataFlag::eCONTROL_MASK|PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEMS|flags|(controlMask & PxMetaDataFlag::eCONTROL_MASK_RANGE) << 16, \</span> +<a name="l00190"></a>00190 <span class="preprocessor"> align}; \</span> +<a name="l00191"></a>00191 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00192"></a>00192 <span class="preprocessor"> }</span> +<a name="l00193"></a>00193 <span class="preprocessor"></span> +<a name="l00198"></a><a class="code" href="group__physics.html#ge42707bb37470210b586a341ff585b78">00198</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_EXTRA_ARRAY(stream, Class, type, dyn_count, align, flags) \</span> +<a name="l00199"></a>00199 <span class="preprocessor"> { \</span> +<a name="l00200"></a>00200 <span class="preprocessor"> PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, dyn_count)), PX_SIZE_OF(Class, dyn_count), align, 0, \</span> +<a name="l00201"></a>00201 <span class="preprocessor"> PxMetaDataFlag::eEXTRA_DATA|flags, align }; \</span> +<a name="l00202"></a>00202 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00203"></a>00203 <span class="preprocessor"> }</span> +<a name="l00204"></a>00204 <span class="preprocessor"></span> +<a name="l00208"></a><a class="code" href="group__physics.html#g03a3549588909e6ca0a491af76146757">00208</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_EXTRA_NAME(stream, Class, control, align) \</span> +<a name="l00209"></a>00209 <span class="preprocessor"> { \</span> +<a name="l00210"></a>00210 <span class="preprocessor"> PxMetaDataEntry tmp = { "char", "string", 0, 0, 0, 0, PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_NAME, align }; \</span> +<a name="l00211"></a>00211 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00212"></a>00212 <span class="preprocessor"> }</span> +<a name="l00213"></a>00213 <span class="preprocessor"></span> +<a name="l00217"></a><a class="code" href="group__physics.html#g8a5eb66875b992351ed7038b8001bbea">00217</a> <span class="preprocessor"> #define PX_DEF_BIN_METADATA_EXTRA_ALIGN(stream, Class, align) \</span> +<a name="l00218"></a>00218 <span class="preprocessor"> { \</span> +<a name="l00219"></a>00219 <span class="preprocessor"> PxMetaDataEntry tmp = { "PxU8", "Alignment", 0, 0, 0, 0, PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eALIGNMENT, align}; \</span> +<a name="l00220"></a>00220 <span class="preprocessor"> PX_STORE_METADATA(stream, tmp); \</span> +<a name="l00221"></a>00221 <span class="preprocessor"> }</span> +<a name="l00222"></a>00222 <span class="preprocessor"></span> +<a name="l00223"></a>00223 <span class="preprocessor">#if !PX_DOXYGEN</span> +<a name="l00224"></a>00224 <span class="preprocessor"></span>} <span class="comment">// namespace physx</span> +<a name="l00225"></a>00225 <span class="preprocessor">#endif</span> +<a name="l00226"></a>00226 <span class="preprocessor"></span> +<a name="l00228"></a>00228 <span class="preprocessor">#endif</span> +</pre></div></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> |