diff options
| author | Anton Novoselov <[email protected]> | 2017-08-14 16:41:28 +0300 |
|---|---|---|
| committer | Anton Novoselov <[email protected]> | 2017-08-14 16:41:28 +0300 |
| commit | 9a1c1d814f3fa0b54b49d90b43130c02bc280f44 (patch) | |
| tree | eae6ead883173c66619c30b6a1ed085f3cb70f4d | |
| parent | Updated to CL 22627414: (diff) | |
| download | blast-9a1c1d814f3fa0b54b49d90b43130c02bc280f44.tar.xz blast-9a1c1d814f3fa0b54b49d90b43130c02bc280f44.zip | |
Updated to CL 22661993:
* docs updates
* authoring fixes
* asset view in sample fix
* latest blast_tools_and_samples-windows.zip
193 files changed, 1994 insertions, 9285 deletions
diff --git a/blast_tools_and_samples-windows.zip b/blast_tools_and_samples-windows.zip Binary files differindex 5fcc24b..3a91ff9 100644 --- a/blast_tools_and_samples-windows.zip +++ b/blast_tools_and_samples-windows.zip diff --git a/compiler/cmake/windows/CMakeLists.txt b/compiler/cmake/windows/CMakeLists.txt index 5d3b72b..fb95ab6 100644 --- a/compiler/cmake/windows/CMakeLists.txt +++ b/compiler/cmake/windows/CMakeLists.txt @@ -28,10 +28,10 @@ ENDIF(CMAKE_CL_64) SET(BLASTALL_SLN_COMPILE_DEFS WIN32;WIN64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;) -SET(BLASTALL_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;NV_NVTX=1;) -SET(BLASTALL_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;NV_NVTX=1;) -SET(BLASTALL_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;NV_NVTX=1;) -SET(BLASTALL_SLN_RELEASE_COMPILE_DEFS NDEBUG;NV_NVTX=1;) +SET(BLASTALL_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;) +SET(BLASTALL_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;) +SET(BLASTALL_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;) +SET(BLASTALL_SLN_RELEASE_COMPILE_DEFS NDEBUG;) IF(CMAKE_CL_64) SET(LIBPATH_SUFFIX "x64") diff --git a/docs/_source/api_globals_users_guide.txt b/docs/_source/api_globals_users_guide.txt index fe6d59f..00b35ef 100644 --- a/docs/_source/api_globals_users_guide.txt +++ b/docs/_source/api_globals_users_guide.txt @@ -90,5 +90,11 @@ NvBlastProfilerSetCallback A NULL pointer may be passed in, disabling profiling. Profiler features are only active in checked, debug and profile builds. +The granularity of events reported can be selected with + +\code +NvBlastProfilerSetDetail +\endcode + <br> */ diff --git a/docs/_source/api_hl_users_guide.txt b/docs/_source/api_hl_users_guide.txt index c1504f5..ae8dd4a 100644 --- a/docs/_source/api_hl_users_guide.txt +++ b/docs/_source/api_hl_users_guide.txt @@ -269,7 +269,7 @@ by the group's actors. After all jobs have been run, the user must call TkGroup with families with actors in the group. A convenience function, TkGroup::process(), is provided which uses one worker to perform all jobs sequentially on the calling thread. This is useful shortcut to -get BlastTk up and running quickly. A multithreaded group processing implementation is given by Nv::Blast::ExtGroupTaskManagerImpl (in NvBlastExtPxTaskImpl.h). +get BlastTk up and running quickly. A multithreaded group processing implementation is given by Nv::Blast::ExtGroupTaskManager (in NvBlastExtPxTask.h). This resides in \ref pageextphysx, because it uses physx::PxTask. Actors resulting from the split of a "parent" actor will be placed automatically into the group that the parent belonged to. This is similar to the assigment of @@ -321,6 +321,21 @@ group2->release(); \endcode <br> +<b>Multithreaded processing</b> + +When distributing the jobs as mentioned above, every job must be processed exactly once (over all user tasks). + +The number of jobs processed per worker can range from a single job (resulting in a user task per job) to all jobs (like Nv::Blast::TkGroup::process() does). + +At any point in time, no more than the set workerCount amount of workers may have been acquired. Return the worker at the end of each task. + +\code +Nv::Blast::TkGroupWorker* worker = group->acquireWorker(); +// process some jobs +group->returnWorker(worker); +\endcode + +<br> \section damage_in_tk Applying Damage to Actors and Families Damage in NvBlastTk uses the same damage program scheme as the low-level SDK (see \ref splitting). One passes the program diff --git a/docs/_source/ext_physx.txt b/docs/_source/ext_physx.txt index ff998c2..7a3627c 100644 --- a/docs/_source/ext_physx.txt +++ b/docs/_source/ext_physx.txt @@ -1,14 +1,17 @@ /*! \page pageextphysx PhysX&tm; Extensions (NvBlastExtPhysX) NvBlastExtPhysX contains classes for easier use of Blast&tm; Toolkit with the PhysX&tm; SDK. -There are 3 of them: -- <b>ExtPxManager</b>: Manager to keep Blast&tm; actors in sync with PhysX&tm; actors. -- <b>ExtImpactDamageManager</b>: Manager to collect and apply impact damage caused by collision in PhysX&tm; scene. -- <b>ExtPxStressSolver</b>: Stress Solver to propagate stress through support graph and apply it as damage to Blast&tm; actors. +There are three of them: +- \ref ExtPxManager - Manager to keep Blast&tm; actors in sync with PhysX&tm; actors. +- \ref ExtImpactDamageManager - Manager to collect and apply impact damage caused by collision in PhysX&tm; scene. +- \ref ExtPxStressSolver - Stress Solver to propagate stress through support graph and apply it as damage to Blast&tm; actors. This library also contains an extension for synchronizing Blast&tm; state: -- <b>ExtSync</b> - Utility for writing Blast&tm; state to a buffer, to be read by a client. This may be used for networking, for example. +- \ref ExtSync - Utility for writing Blast&tm; state to a buffer, to be read by a client. This may be used for networking, for example. +It also provides classes for utilizing PhysX&tm; SDK Foundation capabilities: +- \ref ExtGroupTaskManager - Multithreaded TkGroup processing using PxTask. +- \ref ExtCustomProfiler - Serves Blast&tm; profiling zones to PxFoundation profiler (e.g. PVD) and platform specific profilers. <br> \section ExtPxManager @@ -133,7 +136,7 @@ sceneDesc.filterShader = ExtImpactDamageManager::FilterShader; \endcode <br> -\section extpxstresssolver ExtPxStressSolver +\section ExtPxStressSolver <b>Stress Solver</b> - this wrapper class uses \ref pageextstress to apply stress calculations to an ExtPxFamily. See \ref pageextstress for the details of the underlying stress solver. @@ -232,4 +235,82 @@ ExtPxManager is required only if sync buffer contains ExtSyncEventType::Physics <br> +\section ExtGroupTaskManager +This class provides a basic implementation for multithreaded TkGroup processing using PxTask and a PxTaskManager from PxFoundation. + +In the simplest use case, all worker threads provided by PxTaskManager are used to process the group. + +\code +// creating ExtGroupTaskManager from existing taskManager and tkGroup +ExtGroupTaskManager* gtm = ExtGroupTaskManager::create(*taskManager, tkGroup); + +while (running) +{ + // ... add TkActors to TkGroup and damage ... + + // start processing on all worker threads provided + gtm->process(); + + // ... do something else ... + + // wait for the group processing to finish + gtm->wait(); +} + +// after use, release the ExtGroupTaskManager +gtm->release(); +\endcode + +<br> + +Groups can be processed concurrently as well as follows. + +\code +// creating ExtGroupTaskManager from existing taskManager and groups + +ExtGroupTaskManager* gtm0 = ExtGroupTaskManager::create(*taskManager, tkGroup0); +ExtGroupTaskManager* gtm1 = ExtGroupTaskManager::create(*taskManager, tkGroup1); +\endcode + +TkActors are added to TkGroups and damaged as usual. + +The PxTaskManager used in this example provides four worker threads of which each ExtGroupTaskManager uses two for its group. + +\code +uint32_t started = 0; +if (gtm0->process(2) > 0) { started++; } +if (gtm1->process(2) > 0) { started++; } +\endcode + +Note that ExtGroupTaskManager::wait() never returns true if no processing has started, as reported by ExtGroupTaskManager::process(). +The illustrative busy loop is not recomended for actual use. + +\code +uint32_t completed = 0; +while (completed < started) +{ + if (gtm0->wait(false)) { completed++; } + if (gtm1->wait(false)) { completed++; } +} +\endcode + +<br> + +\section ExtCustomProfiler +This Nv::Blast::ProfileCallback implementation forwards Blast&tm; profile events to the PxProfilerCallback attached to PxFoundation, typically a PhysX&tm; Visual Debugger (PVD) instance. +To use it, simply attach one to Blast&tm;. + +\code +static Nv::Blast::ExtCustomProfiler gBlastProfiler; +NvBlastProfilerSetCallback(&gBlastProfiler); +\endcode + +For convenience, it also provides sending profile events to platform specific profilers. These are disabled by default. + +\code +gBlastProfiler.setPlatformEnabled(true); +\endcode + +<br> + */ diff --git a/docs/api_docs/files/_nv_blast_array_8h-source.html b/docs/api_docs/files/_nv_blast_array_8h-source.html deleted file mode 100644 index 6246bc7..0000000 --- a/docs/api_docs/files/_nv_blast_array_8h-source.html +++ /dev/null @@ -1,87 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastArray.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastArray.h</h1><a href="_nv_blast_array_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTARRAY_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTARRAY_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_allocator_8h.html">NvBlastAllocator.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include "PsInlineArray.h"</span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 -<a name="l00037"></a><a class="code" href="namespace_nv.html">00037</a> <span class="keyword">namespace </span>Nv -<a name="l00038"></a>00038 { -<a name="l00039"></a><a class="code" href="namespace_nv_1_1_blast.html">00039</a> <span class="keyword">namespace </span>Blast -<a name="l00040"></a>00040 { -<a name="l00041"></a>00041 -<a name="l00045"></a>00045 <span class="keyword">template</span> <<span class="keyword">class</span> T> -<a name="l00046"></a><a class="code" href="struct_nv_1_1_blast_1_1_array.html">00046</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_array.html">Array</a> -<a name="l00047"></a>00047 { -<a name="l00048"></a><a class="code" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">00048</a> <span class="keyword">typedef</span> physx::shdfnd::Array<T, Allocator> <a class="code" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">type</a>; -<a name="l00049"></a>00049 }; -<a name="l00050"></a>00050 -<a name="l00051"></a>00051 -<a name="l00057"></a>00057 <span class="keyword">template</span> <<span class="keyword">class</span> T, u<span class="keywordtype">int</span>32_t N> -<a name="l00058"></a><a class="code" href="struct_nv_1_1_blast_1_1_inline_array.html">00058</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_inline_array.html">InlineArray</a> -<a name="l00059"></a>00059 { -<a name="l00060"></a><a class="code" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">00060</a> <span class="keyword">typedef</span> physx::shdfnd::InlineArray<T, N, Allocator> <a class="code" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">type</a>; -<a name="l00061"></a>00061 }; -<a name="l00062"></a>00062 -<a name="l00063"></a>00063 } <span class="comment">// namespace Blast</span> -<a name="l00064"></a>00064 } <span class="comment">// namespace Nv</span> -<a name="l00065"></a>00065 -<a name="l00066"></a>00066 -<a name="l00067"></a>00067 <span class="preprocessor">#endif // #ifndef NVBLASTARRAY_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_array_8h.html b/docs/api_docs/files/_nv_blast_array_8h.html deleted file mode 100644 index 210487a..0000000 --- a/docs/api_docs/files/_nv_blast_array_8h.html +++ /dev/null @@ -1,46 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastArray.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastArray.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_allocator_8h-source.html">NvBlastAllocator.h</a>"</code><br> -<code>#include "PsInlineArray.h"</code><br> - -<p> -<a href="_nv_blast_array_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_array.html">Nv::Blast::Array< T ></a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html">Nv::Blast::InlineArray< T, N ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_assert_8h-source.html b/docs/api_docs/files/_nv_blast_assert_8h-source.html deleted file mode 100644 index 1edb4f8..0000000 --- a/docs/api_docs/files/_nv_blast_assert_8h-source.html +++ /dev/null @@ -1,109 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastAssert.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastAssert.h</h1><a href="_nv_blast_assert_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTASSERT_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTASSERT_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_preprocessor_8h.html">NvBlastPreprocessor.h</a>"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="preprocessor">#if !NV_ENABLE_ASSERTS</span> -<a name="l00037"></a><a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_ASSERT(exp) ((void)0)</span> -<a name="l00038"></a><a class="code" href="_nv_blast_assert_8h.html#4b7b9c0b35d81fc6b5a9ed1e3e02a335">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_ALWAYS_ASSERT_MESSAGE(message) ((void)0)</span> -<a name="l00039"></a><a class="code" href="_nv_blast_assert_8h.html#4bef80b3f6d110ade867285f8e3acc00">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_ASSERT_WITH_MESSAGE(condition, message) ((void)0)</span> -<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#else</span> -<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#if NV_VC</span> -<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_CODE_ANALYSIS_ASSUME(exp) \</span> -<a name="l00043"></a>00043 <span class="preprocessor"> __analysis_assume(!!(exp)) // This macro will be used to get rid of analysis warning messages if a NVBLAST_ASSERT is used</span> -<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="comment">// to "guard" illegal mem access, for example.</span> -<a name="l00045"></a>00045 <span class="preprocessor">#else</span> -<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_CODE_ANALYSIS_ASSUME(exp)</span> -<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_ASSERT(exp) \</span> -<a name="l00049"></a>00049 <span class="preprocessor">{ \</span> -<a name="l00050"></a>00050 <span class="preprocessor"> static bool _ignore = false; \</span> -<a name="l00051"></a>00051 <span class="preprocessor"> if (!(exp) && !_ignore) NvBlastAssertHandler(#exp, __FILE__, __LINE__, _ignore); \</span> -<a name="l00052"></a>00052 <span class="preprocessor"> NVBLAST_CODE_ANALYSIS_ASSUME(exp); \</span> -<a name="l00053"></a>00053 <span class="preprocessor">} ((void)0)</span> -<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_ALWAYS_ASSERT_MESSAGE(message) \</span> -<a name="l00055"></a>00055 <span class="preprocessor">{ \</span> -<a name="l00056"></a>00056 <span class="preprocessor"> static bool _ignore = false; \</span> -<a name="l00057"></a>00057 <span class="preprocessor"> if(!_ignore) \</span> -<a name="l00058"></a>00058 <span class="preprocessor"> { \</span> -<a name="l00059"></a>00059 <span class="preprocessor"> NvBlastAssertHandler(message, __FILE__, __LINE__, _ignore); \</span> -<a name="l00060"></a>00060 <span class="preprocessor"> } \</span> -<a name="l00061"></a>00061 <span class="preprocessor">} ((void)0)</span> -<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define NVBLAST_ASSERT_WITH_MESSAGE(exp, message) \</span> -<a name="l00063"></a>00063 <span class="preprocessor">{ \</span> -<a name="l00064"></a>00064 <span class="preprocessor"> static bool _ignore = false; \</span> -<a name="l00065"></a>00065 <span class="preprocessor"> if (!(exp) && !_ignore) NvBlastAssertHandler(message, __FILE__, __LINE__, _ignore); \</span> -<a name="l00066"></a>00066 <span class="preprocessor"> NVBLAST_CODE_ANALYSIS_ASSUME(exp); \</span> -<a name="l00067"></a>00067 <span class="preprocessor">} ((void)0)</span> -<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00069"></a>00069 <span class="preprocessor"></span> -<a name="l00070"></a><a class="code" href="_nv_blast_assert_8h.html#b1324c0bc11772792474d475d2fef7b2">00070</a> <span class="preprocessor">#define NVBLAST_ALWAYS_ASSERT() NVBLAST_ASSERT(0)</span> -<a name="l00071"></a>00071 <span class="preprocessor"></span> -<a name="l00072"></a>00072 -<a name="l00073"></a>00073 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> -<a name="l00074"></a>00074 { -<a name="l00075"></a>00075 -<a name="l00076"></a>00076 <a class="code" href="_nv_blast_preprocessor_8h.html#e5c980f1b9848025a2fefa05a9d3bce1">NVBLAST_API</a> <span class="keywordtype">void</span> <a class="code" href="_nv_blast_assert_8h.html#e2b4b5a38870c3570a79a7c7f23d5d5a">NvBlastAssertHandler</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* expr, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line, <span class="keywordtype">bool</span>& ignore); -<a name="l00077"></a>00077 -<a name="l00078"></a>00078 } <span class="comment">// extern "C"</span> -<a name="l00079"></a>00079 -<a name="l00080"></a>00080 -<a name="l00081"></a>00081 <span class="preprocessor">#endif // #ifndef NVBLASTASSERT_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_assert_8h.html b/docs/api_docs/files/_nv_blast_assert_8h.html deleted file mode 100644 index 6356fc0..0000000 --- a/docs/api_docs/files/_nv_blast_assert_8h.html +++ /dev/null @@ -1,173 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastAssert.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastAssert.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_preprocessor_8h-source.html">NvBlastPreprocessor.h</a>"</code><br> - -<p> -<a href="_nv_blast_assert_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_assert_8h.html#b1324c0bc11772792474d475d2fef7b2">NVBLAST_ALWAYS_ASSERT</a>() NVBLAST_ASSERT(0)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_assert_8h.html#4b7b9c0b35d81fc6b5a9ed1e3e02a335">NVBLAST_ALWAYS_ASSERT_MESSAGE</a>(message) ((void)0)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(exp) ((void)0)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_assert_8h.html#4bef80b3f6d110ade867285f8e3acc00">NVBLAST_ASSERT_WITH_MESSAGE</a>(condition, message) ((void)0)</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_assert_8h.html#e2b4b5a38870c3570a79a7c7f23d5d5a">NvBlastAssertHandler</a> (const char *expr, const char *file, int line, bool &ignore)</td></tr> - -</table> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="b1324c0bc11772792474d475d2fef7b2"></a><!-- doxytag: member="NvBlastAssert.h::NVBLAST_ALWAYS_ASSERT" ref="b1324c0bc11772792474d475d2fef7b2" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLAST_ALWAYS_ASSERT </td> - <td>(</td> - </td> - <td class="paramname"> </td> - <td> ) </td> - <td> NVBLAST_ASSERT(0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="4b7b9c0b35d81fc6b5a9ed1e3e02a335"></a><!-- doxytag: member="NvBlastAssert.h::NVBLAST_ALWAYS_ASSERT_MESSAGE" ref="4b7b9c0b35d81fc6b5a9ed1e3e02a335" args="(message)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLAST_ALWAYS_ASSERT_MESSAGE </td> - <td>(</td> - <td class="paramtype">message </td> - <td class="paramname"> </td> - <td> ) </td> - <td> ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2b179fca67cdb57b12b65e33fe3f6c93"></a><!-- doxytag: member="NvBlastAssert.h::NVBLAST_ASSERT" ref="2b179fca67cdb57b12b65e33fe3f6c93" args="(exp)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLAST_ASSERT </td> - <td>(</td> - <td class="paramtype">exp </td> - <td class="paramname"> </td> - <td> ) </td> - <td> ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="4bef80b3f6d110ade867285f8e3acc00"></a><!-- doxytag: member="NvBlastAssert.h::NVBLAST_ASSERT_WITH_MESSAGE" ref="4bef80b3f6d110ade867285f8e3acc00" args="(condition, message)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLAST_ASSERT_WITH_MESSAGE </td> - <td>(</td> - <td class="paramtype">condition, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">message </td> - <td class="paramname"> </td> - <td> ) </td> - <td> ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="e2b4b5a38870c3570a79a7c7f23d5d5a"></a><!-- doxytag: member="NvBlastAssert.h::NvBlastAssertHandler" ref="e2b4b5a38870c3570a79a7c7f23d5d5a" args="(const char *expr, const char *file, int line, bool &ignore)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void NvBlastAssertHandler </td> - <td>(</td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>expr</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>file</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>line</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">bool & </td> - <td class="paramname"> <em>ignore</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_atomic_8h-source.html b/docs/api_docs/files/_nv_blast_atomic_8h-source.html deleted file mode 100644 index bc9c5de..0000000 --- a/docs/api_docs/files/_nv_blast_atomic_8h-source.html +++ /dev/null @@ -1,78 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastAtomic.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastAtomic.h</h1><a href="_nv_blast_atomic_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTATOMIC_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTATOMIC_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_types_8h.html">NvBlastTypes.h</a>"</span> -<a name="l00033"></a>00033 -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 <span class="keyword">namespace </span>Nv -<a name="l00036"></a>00036 { -<a name="l00037"></a>00037 <span class="keyword">namespace </span>Blast -<a name="l00038"></a>00038 { -<a name="l00039"></a>00039 -<a name="l00040"></a>00040 <span class="comment">/* increment the specified location. Return the incremented value */</span> -<a name="l00041"></a>00041 int32_t <a class="code" href="namespace_nv_1_1_blast.html#02d7c995394a2e2c7f0b18ee051bec2f">atomicIncrement</a>(<span class="keyword">volatile</span> int32_t* val); -<a name="l00042"></a>00042 -<a name="l00043"></a>00043 -<a name="l00044"></a>00044 <span class="comment">/* decrement the specified location. Return the decremented value */</span> -<a name="l00045"></a>00045 int32_t <a class="code" href="namespace_nv_1_1_blast.html#a0a1acaf4abe11be6cfdcf14cecf4818">atomicDecrement</a>(<span class="keyword">volatile</span> int32_t* val); -<a name="l00046"></a>00046 -<a name="l00047"></a>00047 } <span class="comment">// namespace Blast</span> -<a name="l00048"></a>00048 } <span class="comment">// namespace Nv</span> -<a name="l00049"></a>00049 -<a name="l00050"></a>00050 <span class="preprocessor">#endif // #ifndef NVBLASTATOMIC_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_atomic_8h.html b/docs/api_docs/files/_nv_blast_atomic_8h.html deleted file mode 100644 index a881221..0000000 --- a/docs/api_docs/files/_nv_blast_atomic_8h.html +++ /dev/null @@ -1,45 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastAtomic.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastAtomic.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_types_8h-source.html">NvBlastTypes.h</a>"</code><br> - -<p> -<a href="_nv_blast_atomic_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#a0a1acaf4abe11be6cfdcf14cecf4818">Nv::Blast::atomicDecrement</a> (volatile int32_t *val)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#02d7c995394a2e2c7f0b18ee051bec2f">Nv::Blast::atomicIncrement</a> (volatile int32_t *val)</td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_d_link_8h-source.html b/docs/api_docs/files/_nv_blast_d_link_8h-source.html deleted file mode 100644 index 74270ed..0000000 --- a/docs/api_docs/files/_nv_blast_d_link_8h-source.html +++ /dev/null @@ -1,327 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastDLink.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastDLink.h</h1><a href="_nv_blast_d_link_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTDLINK_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTDLINK_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="_nv_blast_index_fns_8h.html">NvBlastIndexFns.h</a>"</span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 -<a name="l00037"></a>00037 <span class="keyword">namespace </span>Nv -<a name="l00038"></a>00038 { -<a name="l00039"></a>00039 <span class="keyword">namespace </span>Blast -<a name="l00040"></a>00040 { -<a name="l00041"></a>00041 -<a name="l00042"></a>00042 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00043"></a><a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">00043</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a> -<a name="l00044"></a>00044 { -<a name="l00045"></a><a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">00045</a> IndexType <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[2]; -<a name="l00046"></a>00046 }; -<a name="l00047"></a>00047 -<a name="l00048"></a>00048 -<a name="l00049"></a>00049 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00050"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html">00050</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html">IndexDList</a> -<a name="l00051"></a>00051 { -<a name="l00052"></a>00052 <span class="keyword">public</span>: -<a name="l00053"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#bc3c8aa8e9708bdc838bbd6345078329">00053</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#bc3c8aa8e9708bdc838bbd6345078329">initLinksSolitary</a>(<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkCount) -<a name="l00054"></a>00054 { -<a name="l00055"></a>00055 <span class="keywordflow">for</span> (IndexType i = 0; i < linkCount; ++i) -<a name="l00056"></a>00056 { -<a name="l00057"></a>00057 links[i].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0] = invalidIndex<IndexType>(); -<a name="l00058"></a>00058 links[i].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1] = invalidIndex<IndexType>(); -<a name="l00059"></a>00059 } -<a name="l00060"></a>00060 } -<a name="l00061"></a>00061 -<a name="l00062"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#9624cfa421fd7fecb67d78e143d47dca">00062</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#9624cfa421fd7fecb67d78e143d47dca">initLinksChain</a>(<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkCount) -<a name="l00063"></a>00063 { -<a name="l00064"></a>00064 <span class="keywordflow">if</span> (linkCount > 0) -<a name="l00065"></a>00065 { -<a name="l00066"></a>00066 links[0].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0] = invalidIndex<IndexType>(); -<a name="l00067"></a>00067 <span class="keywordflow">for</span> (IndexType i = 1; i < linkCount; ++i) -<a name="l00068"></a>00068 { -<a name="l00069"></a>00069 links[i - 1].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1] = i; -<a name="l00070"></a>00070 links[i].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0] = i - 1; -<a name="l00071"></a>00071 } -<a name="l00072"></a>00072 links[linkCount - 1].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1] = invalidIndex<IndexType>(); -<a name="l00073"></a>00073 } -<a name="l00074"></a>00074 } -<a name="l00075"></a>00075 -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#55124c5dd5109aa95d2b1751352b0c54">00076</a> IndexType <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#55124c5dd5109aa95d2b1751352b0c54">getAdj</a>(<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkIndex, <span class="keywordtype">int</span> which) -<a name="l00077"></a>00077 { -<a name="l00078"></a>00078 <span class="keywordflow">return</span> links[linkIndex].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[which & 1]; -<a name="l00079"></a>00079 } -<a name="l00080"></a>00080 -<a name="l00081"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#c4a779a50795386918e694c977b0a94c">00081</a> <span class="keywordtype">void</span> <span class="keyword">remove</span>(<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkIndex) -<a name="l00082"></a>00082 { -<a name="l00083"></a>00083 <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>& link = links[linkIndex]; -<a name="l00084"></a>00084 <span class="keyword">const</span> IndexType adj0 = link.<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0]; -<a name="l00085"></a>00085 <span class="keyword">const</span> IndexType adj1 = link.<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1]; -<a name="l00086"></a>00086 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(adj1)) -<a name="l00087"></a>00087 { -<a name="l00088"></a>00088 links[adj1].m_adj[0] = adj0; -<a name="l00089"></a>00089 link.<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1] = invalidIndex<IndexType>(); -<a name="l00090"></a>00090 } -<a name="l00091"></a>00091 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(adj0)) -<a name="l00092"></a>00092 { -<a name="l00093"></a>00093 links[adj0].m_adj[1] = adj1; -<a name="l00094"></a>00094 link.<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0] = invalidIndex<IndexType>(); -<a name="l00095"></a>00095 } -<a name="l00096"></a>00096 } -<a name="l00097"></a>00097 -<a name="l00098"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#2b0fb546e12c35ddbd515b4c17cf1c59">00098</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#2b0fb546e12c35ddbd515b4c17cf1c59">isSolitary</a>(<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkIndex) -<a name="l00099"></a>00099 { -<a name="l00100"></a>00100 <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>& link = links[linkIndex]; -<a name="l00101"></a>00101 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(link.<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0]) && <a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(link.<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1]); -<a name="l00102"></a>00102 } -<a name="l00103"></a>00103 -<a name="l00104"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#e08677ece60c50e0c17ceb8483cbb941">00104</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#e08677ece60c50e0c17ceb8483cbb941">insertListHead</a>(IndexType& listHead, <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkIndex) -<a name="l00105"></a>00105 { -<a name="l00106"></a>00106 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(linkIndex)); -<a name="l00107"></a>00107 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(listHead)) -<a name="l00108"></a>00108 { -<a name="l00109"></a>00109 links[listHead].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0] = linkIndex; -<a name="l00110"></a>00110 } -<a name="l00111"></a>00111 links[linkIndex].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1] = listHead; -<a name="l00112"></a>00112 listHead = linkIndex; -<a name="l00113"></a>00113 } -<a name="l00114"></a>00114 -<a name="l00115"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#4702080fa027fcd1a8dfabe0feceee47">00115</a> IndexType <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#4702080fa027fcd1a8dfabe0feceee47">removeListHead</a>(IndexType& listHead, <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links) -<a name="l00116"></a>00116 { -<a name="l00117"></a>00117 <span class="keyword">const</span> IndexType linkIndex = listHead; -<a name="l00118"></a>00118 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(linkIndex)) -<a name="l00119"></a>00119 { -<a name="l00120"></a>00120 listHead = links[linkIndex].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1]; -<a name="l00121"></a>00121 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(listHead)) -<a name="l00122"></a>00122 { -<a name="l00123"></a>00123 links[listHead].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[0] = invalidIndex<IndexType>(); -<a name="l00124"></a>00124 } -<a name="l00125"></a>00125 links[linkIndex].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1] = invalidIndex<IndexType>(); -<a name="l00126"></a>00126 } -<a name="l00127"></a>00127 <span class="keywordflow">return</span> linkIndex; -<a name="l00128"></a>00128 } -<a name="l00129"></a>00129 -<a name="l00130"></a><a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#f5338b775b990895b7e82ca827c8c0de">00130</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_index_d_list.html#f5338b775b990895b7e82ca827c8c0de">removeFromList</a>(IndexType& listHead, <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links, IndexType linkIndex) -<a name="l00131"></a>00131 { -<a name="l00132"></a>00132 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(linkIndex)); -<a name="l00133"></a>00133 <span class="keywordflow">if</span> (listHead == linkIndex) -<a name="l00134"></a>00134 { -<a name="l00135"></a>00135 listHead = links[linkIndex].<a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[1]; -<a name="l00136"></a>00136 } -<a name="l00137"></a>00137 <span class="keyword">remove</span>(links, linkIndex); -<a name="l00138"></a>00138 } -<a name="l00139"></a>00139 }; -<a name="l00140"></a>00140 -<a name="l00141"></a>00141 -<a name="l00142"></a><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">00142</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> -<a name="l00143"></a>00143 { -<a name="l00144"></a><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#550877c2672f537aab653df56259e408">00144</a> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#550877c2672f537aab653df56259e408">DLink</a>() : m_prev(nullptr), m_next(nullptr) {} -<a name="l00145"></a>00145 -<a name="l00146"></a><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#6153dfa5dbef280c4ed9b1d69a069d2b">00146</a> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#6153dfa5dbef280c4ed9b1d69a069d2b">getPrev</a>()<span class="keyword"> const</span> -<a name="l00147"></a>00147 <span class="keyword"> </span>{ -<a name="l00148"></a>00148 <span class="keywordflow">return</span> m_prev; -<a name="l00149"></a>00149 } -<a name="l00150"></a>00150 -<a name="l00151"></a><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#9fa38af21c0f0ebeec7d7191c2b32d4b">00151</a> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#9fa38af21c0f0ebeec7d7191c2b32d4b">getNext</a>()<span class="keyword"> const</span> -<a name="l00152"></a>00152 <span class="keyword"> </span>{ -<a name="l00153"></a>00153 <span class="keywordflow">return</span> m_next; -<a name="l00154"></a>00154 } -<a name="l00155"></a>00155 -<a name="l00156"></a>00156 <span class="keyword">private</span>: -<a name="l00157"></a>00157 <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* m_prev; -<a name="l00158"></a>00158 <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* m_next; -<a name="l00159"></a>00159 -<a name="l00160"></a><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#e5cffd78d183d0fa9be728d4c172c22f">00160</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_d_list.html">DList</a>; -<a name="l00161"></a>00161 }; -<a name="l00162"></a>00162 -<a name="l00163"></a>00163 -<a name="l00164"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html">00164</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_d_list.html">DList</a> -<a name="l00165"></a>00165 { -<a name="l00166"></a>00166 <span class="keyword">public</span>: -<a name="l00167"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#8f521717b64ae0b1f706f74995664745">00167</a> <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#8f521717b64ae0b1f706f74995664745">DList</a>() : m_head(nullptr), m_tail(nullptr) {} -<a name="l00168"></a>00168 -<a name="l00169"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">00169</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">isEmpty</a>()<span class="keyword"> const</span> -<a name="l00170"></a>00170 <span class="keyword"> </span>{ -<a name="l00171"></a>00171 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((m_head == <span class="keyword">nullptr</span>) == (m_tail == <span class="keyword">nullptr</span>)); -<a name="l00172"></a>00172 <span class="keywordflow">return</span> m_head == <span class="keyword">nullptr</span>; -<a name="l00173"></a>00173 } -<a name="l00174"></a>00174 -<a name="l00175"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">00175</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>& link)<span class="keyword"> const</span> -<a name="l00176"></a>00176 <span class="keyword"> </span>{ -<a name="l00177"></a>00177 <span class="keywordflow">return</span> link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a> == <span class="keyword">nullptr</span> && link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a> == <span class="keyword">nullptr</span> && m_head != &link; -<a name="l00178"></a>00178 } -<a name="l00179"></a>00179 -<a name="l00180"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#bdb5f4d00c1a0b036abdbbc744da2f25">00180</a> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#bdb5f4d00c1a0b036abdbbc744da2f25">getHead</a>()<span class="keyword"> const</span> -<a name="l00181"></a>00181 <span class="keyword"> </span>{ -<a name="l00182"></a>00182 <span class="keywordflow">return</span> m_head; -<a name="l00183"></a>00183 } -<a name="l00184"></a>00184 -<a name="l00185"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#63c0cd8950a28a80e80220037e908c3a">00185</a> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#63c0cd8950a28a80e80220037e908c3a">getTail</a>()<span class="keyword"> const</span> -<a name="l00186"></a>00186 <span class="keyword"> </span>{ -<a name="l00187"></a>00187 <span class="keywordflow">return</span> m_tail; -<a name="l00188"></a>00188 } -<a name="l00189"></a>00189 -<a name="l00190"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#bc2b63f21760aea5f27e3ced326c5c6a">00190</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#bc2b63f21760aea5f27e3ced326c5c6a">insertHead</a>(<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>& link) -<a name="l00191"></a>00191 { -<a name="l00192"></a>00192 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(<a class="code" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a>(link)); -<a name="l00193"></a>00193 <span class="keywordflow">if</span> (!<a class="code" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a>(link)) -<a name="l00194"></a>00194 { -<a name="l00195"></a>00195 <span class="keywordflow">return</span> <span class="keyword">false</span>; -<a name="l00196"></a>00196 } -<a name="l00197"></a>00197 -<a name="l00198"></a>00198 link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a> = m_head; -<a name="l00199"></a>00199 <span class="keywordflow">if</span> (m_head != <span class="keyword">nullptr</span>) -<a name="l00200"></a>00200 { -<a name="l00201"></a>00201 m_head-><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a> = &link; -<a name="l00202"></a>00202 } -<a name="l00203"></a>00203 m_head = &link; -<a name="l00204"></a>00204 <span class="keywordflow">if</span> (m_tail == <span class="keyword">nullptr</span>) -<a name="l00205"></a>00205 { -<a name="l00206"></a>00206 m_tail = &link; -<a name="l00207"></a>00207 } -<a name="l00208"></a>00208 -<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">true</span>; -<a name="l00210"></a>00210 } -<a name="l00211"></a>00211 -<a name="l00212"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#ed58b1884e669c36c0b5232fb59860de">00212</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_d_list.html#ed58b1884e669c36c0b5232fb59860de">insertTail</a>(<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>& link) -<a name="l00213"></a>00213 { -<a name="l00214"></a>00214 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(<a class="code" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a>(link)); -<a name="l00215"></a>00215 <span class="keywordflow">if</span> (!<a class="code" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a>(link)) -<a name="l00216"></a>00216 { -<a name="l00217"></a>00217 <span class="keywordflow">return</span> <span class="keyword">false</span>; -<a name="l00218"></a>00218 } -<a name="l00219"></a>00219 -<a name="l00220"></a>00220 link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a> = m_tail; -<a name="l00221"></a>00221 <span class="keywordflow">if</span> (m_tail != <span class="keyword">nullptr</span>) -<a name="l00222"></a>00222 { -<a name="l00223"></a>00223 m_tail-><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a> = &link; -<a name="l00224"></a>00224 } -<a name="l00225"></a>00225 m_tail = &link; -<a name="l00226"></a>00226 <span class="keywordflow">if</span> (m_head == <span class="keyword">nullptr</span>) -<a name="l00227"></a>00227 { -<a name="l00228"></a>00228 m_head = &link; -<a name="l00229"></a>00229 } -<a name="l00230"></a>00230 -<a name="l00231"></a>00231 <span class="keywordflow">return</span> <span class="keyword">true</span>; -<a name="l00232"></a>00232 } -<a name="l00233"></a>00233 -<a name="l00234"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list.html#f1fb041e0c0840e8fefbbca53dff18cb">00234</a> <span class="keywordtype">void</span> <span class="keyword">remove</span>(<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>& link) -<a name="l00235"></a>00235 { -<a name="l00236"></a>00236 <span class="keywordflow">if</span> (link.m_prev != <span class="keyword">nullptr</span>) -<a name="l00237"></a>00237 { -<a name="l00238"></a>00238 link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a>-><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a> = link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a>; -<a name="l00239"></a>00239 } -<a name="l00240"></a>00240 <span class="keywordflow">else</span> -<a name="l00241"></a>00241 <span class="keywordflow">if</span> (m_head == &link) -<a name="l00242"></a>00242 { -<a name="l00243"></a>00243 m_head = link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a>; -<a name="l00244"></a>00244 } -<a name="l00245"></a>00245 -<a name="l00246"></a>00246 <span class="keywordflow">if</span> (link.m_next != <span class="keyword">nullptr</span>) -<a name="l00247"></a>00247 { -<a name="l00248"></a>00248 link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a>-><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a> = link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a>; -<a name="l00249"></a>00249 } -<a name="l00250"></a>00250 <span class="keywordflow">else</span> -<a name="l00251"></a>00251 <span class="keywordflow">if</span> (m_tail == &link) -<a name="l00252"></a>00252 { -<a name="l00253"></a>00253 m_tail = link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a>; -<a name="l00254"></a>00254 } -<a name="l00255"></a>00255 -<a name="l00256"></a>00256 link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f274ff6b2451fb2224d9f0f4ce923141">m_next</a> = link.<a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#f3b606bcedc9ac94ad6b445564c88354">m_prev</a> = <span class="keyword">nullptr</span>; -<a name="l00257"></a>00257 } -<a name="l00258"></a>00258 -<a name="l00259"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">00259</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">It</a> -<a name="l00260"></a>00260 { -<a name="l00261"></a>00261 <span class="keyword">public</span>: -<a name="l00262"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c6c3e8622be97b012571c9c7041d24f16">00262</a> <span class="keyword">enum</span> <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Direction</a> { <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c6c3e8622be97b012571c9c7041d24f16">Reverse</a>, <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a">Forward</a> }; -<a name="l00263"></a>00263 -<a name="l00264"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#37ea866b3020f9cfd9e95d7943070c72">00264</a> <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#37ea866b3020f9cfd9e95d7943070c72">It</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_d_list.html">DList</a>& list, <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Direction</a> dir = <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a">Forward</a>) : m_curr(dir == <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a">Forward</a> ? list.<a class="code" href="class_nv_1_1_blast_1_1_d_list.html#bdb5f4d00c1a0b036abdbbc744da2f25">getHead</a>() : list.<a class="code" href="class_nv_1_1_blast_1_1_d_list.html#63c0cd8950a28a80e80220037e908c3a">getTail</a>()) {} -<a name="l00265"></a>00265 -<a name="l00267"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#04d998af611cce7c5c8826c28936821d">00267</a> <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#04d998af611cce7c5c8826c28936821d">operator bool</a>()<span class="keyword"> const</span> -<a name="l00268"></a>00268 <span class="keyword"> </span>{ -<a name="l00269"></a>00269 <span class="keywordflow">return</span> m_curr != <span class="keyword">nullptr</span>; -<a name="l00270"></a>00270 } -<a name="l00271"></a>00271 -<a name="l00273"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#6122541eababca1ccd3ff790382085a1">00273</a> <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#6122541eababca1ccd3ff790382085a1">operator const DLink*</a>()<span class="keyword"> const</span> -<a name="l00274"></a>00274 <span class="keyword"> </span>{ -<a name="l00275"></a>00275 <span class="keywordflow">return</span> m_curr; -<a name="l00276"></a>00276 } -<a name="l00277"></a>00277 -<a name="l00279"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#7092a46c0fa7fd95c4de1c771924b9f3">00279</a> <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#7092a46c0fa7fd95c4de1c771924b9f3">operator ++ </a>() -<a name="l00280"></a>00280 { -<a name="l00281"></a>00281 <span class="keywordflow">return</span> m_curr = m_curr-><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#9fa38af21c0f0ebeec7d7191c2b32d4b">getNext</a>(); -<a name="l00282"></a>00282 } -<a name="l00283"></a>00283 -<a name="l00285"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#c053296c087c5ef44191feb8b87c0485">00285</a> <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* <a class="code" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#c053296c087c5ef44191feb8b87c0485">operator -- </a>() -<a name="l00286"></a>00286 { -<a name="l00287"></a>00287 <span class="keywordflow">return</span> m_curr = m_curr-><a class="code" href="struct_nv_1_1_blast_1_1_d_link.html#6153dfa5dbef280c4ed9b1d69a069d2b">getPrev</a>(); -<a name="l00288"></a>00288 } -<a name="l00289"></a>00289 -<a name="l00290"></a>00290 <span class="keyword">private</span>: -<a name="l00291"></a>00291 <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* m_curr; -<a name="l00292"></a>00292 }; -<a name="l00293"></a>00293 -<a name="l00294"></a>00294 <span class="keyword">private</span>: -<a name="l00295"></a>00295 <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* m_head; -<a name="l00296"></a>00296 <a class="code" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* m_tail; -<a name="l00297"></a>00297 }; -<a name="l00298"></a>00298 -<a name="l00299"></a>00299 } <span class="comment">// end namespace Blast</span> -<a name="l00300"></a>00300 } <span class="comment">// end namespace Nv</span> -<a name="l00301"></a>00301 -<a name="l00302"></a>00302 -<a name="l00303"></a>00303 <span class="preprocessor">#endif // #ifndef NVBLASTDLINK_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_d_link_8h.html b/docs/api_docs/files/_nv_blast_d_link_8h.html deleted file mode 100644 index afd7e45..0000000 --- a/docs/api_docs/files/_nv_blast_d_link_8h.html +++ /dev/null @@ -1,52 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastDLink.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastDLink.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_assert_8h-source.html">NvBlastAssert.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_index_fns_8h-source.html">NvBlastIndexFns.h</a>"</code><br> - -<p> -<a href="_nv_blast_d_link_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">Nv::Blast::DLink</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">Nv::Blast::IndexDLink< IndexType ></a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html index d18d431..9c65ee8 100644 --- a/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html +++ b/docs/api_docs/files/_nv_blast_ext_authoring_types_8h-source.html @@ -98,8 +98,8 @@ <a name="l00086"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">00086</a> int32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">userData</a>; <a name="l00087"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df3a66bdd94f5cd516a4a5b15d23b6b3">00087</a> int32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df3a66bdd94f5cd516a4a5b15d23b6b3">materialId</a>; <a name="l00088"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">00088</a> int32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">smoothingGroup</a>; -<a name="l00089"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">00089</a> physx::PxVec3 <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">getNormal</a>() -<a name="l00090"></a>00090 { +<a name="l00089"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">00089</a> physx::PxVec3 <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">getNormal</a>()<span class="keyword"> const</span> +<a name="l00090"></a>00090 <span class="keyword"> </span>{ <a name="l00091"></a>00091 <span class="keywordflow">return</span> ((<a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#39a1ceee6d477adcae017ccce89e4907">b</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a> - <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a>).cross(<a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#cbec7104b98f9ab000d22e910d3b9def">c</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a> - <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a>)); <a name="l00092"></a>00092 } <a name="l00093"></a>00093 }; diff --git a/docs/api_docs/files/_nv_blast_ext_custom_profiler_8h-source.html b/docs/api_docs/files/_nv_blast_ext_custom_profiler_8h-source.html index 510c1e6..ea373a9 100644 --- a/docs/api_docs/files/_nv_blast_ext_custom_profiler_8h-source.html +++ b/docs/api_docs/files/_nv_blast_ext_custom_profiler_8h-source.html @@ -89,79 +89,83 @@ <a name="l00068"></a>00068 <span class="keyword">static</span> thread_local int32_t th_depth = 0; <a name="l00069"></a>00069 <span class="preprocessor">#endif</span> <a name="l00070"></a>00070 <span class="preprocessor"></span> -<a name="l00071"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">00071</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">ExtCustomProfiler</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_profiler_callback.html">ProfilerCallback</a> -<a name="l00072"></a>00072 { -<a name="l00073"></a>00073 <span class="keyword">public</span>: -<a name="l00074"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">00074</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">ExtCustomProfiler</a>() : m_platformEnabled(false) {} -<a name="l00075"></a>00075 -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">00076</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">zoneStart</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name)<span class="keyword"> override</span> -<a name="l00077"></a>00077 <span class="keyword"> </span>{ -<a name="l00078"></a>00078 -<a name="l00079"></a>00079 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> -<a name="l00080"></a>00080 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) -<a name="l00081"></a>00081 { -<a name="l00082"></a>00082 <span class="keywordtype">void</span>* data = PxGetProfilerCallback()->zoneStart(name, <span class="keyword">false</span>, 0xb1a57); +<a name="l00071"></a>00071 +<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">00076</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">ExtCustomProfiler</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_profiler_callback.html">ProfilerCallback</a> +<a name="l00077"></a>00077 { +<a name="l00078"></a>00078 <span class="keyword">public</span>: +<a name="l00082"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">00082</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">ExtCustomProfiler</a>() : m_platformEnabled(false) {} <a name="l00083"></a>00083 -<a name="l00084"></a>00084 <span class="keywordflow">if</span> (th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0) -<a name="l00085"></a>00085 { -<a name="l00086"></a>00086 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a> = name; -<a name="l00087"></a>00087 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a> = data; -<a name="l00088"></a>00088 th_depth++; -<a name="l00089"></a>00089 } -<a name="l00090"></a>00090 <span class="keywordflow">else</span> -<a name="l00091"></a>00091 { -<a name="l00092"></a>00092 assert(th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0); -<a name="l00093"></a>00093 } -<a name="l00094"></a>00094 } -<a name="l00095"></a>00095 <span class="preprocessor">#endif</span> -<a name="l00096"></a>00096 <span class="preprocessor"></span> -<a name="l00097"></a>00097 <span class="keywordflow">if</span> (m_platformEnabled) -<a name="l00098"></a>00098 { -<a name="l00099"></a>00099 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a73cff190baa0fe10aa4b5d21dd5a7ef">platformZoneStart</a>(name); -<a name="l00100"></a>00100 } -<a name="l00101"></a>00101 } -<a name="l00102"></a>00102 -<a name="l00103"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">00103</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">zoneEnd</a>()<span class="keyword"> override</span> -<a name="l00104"></a>00104 <span class="keyword"> </span>{ -<a name="l00105"></a>00105 -<a name="l00106"></a>00106 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> -<a name="l00107"></a>00107 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) -<a name="l00108"></a>00108 { -<a name="l00109"></a>00109 th_depth--; -<a name="l00110"></a>00110 -<a name="l00111"></a>00111 <span class="keywordflow">if</span> (th_depth >= 0) -<a name="l00112"></a>00112 { -<a name="l00113"></a>00113 <a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html">ExtProfileData</a>& pd = th_ProfileData[th_depth]; -<a name="l00114"></a>00114 PxGetProfilerCallback()->zoneEnd(pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a>, pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a>, <span class="keyword">false</span>, 0xb1a57); -<a name="l00115"></a>00115 } -<a name="l00116"></a>00116 <span class="keywordflow">else</span> -<a name="l00117"></a>00117 { -<a name="l00118"></a>00118 assert(th_depth >= 0); -<a name="l00119"></a>00119 } -<a name="l00120"></a>00120 } -<a name="l00121"></a>00121 <span class="preprocessor">#endif</span> -<a name="l00122"></a>00122 <span class="preprocessor"></span> -<a name="l00123"></a>00123 <span class="keywordflow">if</span> (m_platformEnabled) -<a name="l00124"></a>00124 { -<a name="l00125"></a>00125 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a1585207662452977fb8b6593e71f40c">platformZoneEnd</a>(); -<a name="l00126"></a>00126 } -<a name="l00127"></a>00127 } -<a name="l00128"></a>00128 -<a name="l00129"></a>00129 -<a name="l00130"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">00130</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">setPlatformEnabled</a>(<span class="keywordtype">bool</span> enabled) -<a name="l00131"></a>00131 { -<a name="l00132"></a>00132 m_platformEnabled = enabled; -<a name="l00133"></a>00133 } -<a name="l00134"></a>00134 -<a name="l00135"></a>00135 <span class="keyword">private</span>: -<a name="l00136"></a>00136 <span class="keywordtype">bool</span> m_platformEnabled; -<a name="l00137"></a>00137 }; -<a name="l00138"></a>00138 -<a name="l00139"></a>00139 } <span class="comment">// namespace Blast</span> -<a name="l00140"></a>00140 } <span class="comment">// namespace Nv</span> -<a name="l00141"></a>00141 +<a name="l00084"></a>00084 +<a name="l00086"></a>00086 +<a name="l00087"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">00087</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">zoneStart</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name)<span class="keyword"> override</span> +<a name="l00088"></a>00088 <span class="keyword"> </span>{ +<a name="l00089"></a>00089 +<a name="l00090"></a>00090 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> +<a name="l00091"></a>00091 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) +<a name="l00092"></a>00092 { +<a name="l00093"></a>00093 <span class="keywordtype">void</span>* data = PxGetProfilerCallback()->zoneStart(name, <span class="keyword">false</span>, 0xb1a57); +<a name="l00094"></a>00094 +<a name="l00095"></a>00095 <span class="keywordflow">if</span> (th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0) +<a name="l00096"></a>00096 { +<a name="l00097"></a>00097 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a> = name; +<a name="l00098"></a>00098 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a> = data; +<a name="l00099"></a>00099 th_depth++; +<a name="l00100"></a>00100 } +<a name="l00101"></a>00101 <span class="keywordflow">else</span> +<a name="l00102"></a>00102 { +<a name="l00103"></a>00103 assert(th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0); +<a name="l00104"></a>00104 } +<a name="l00105"></a>00105 } +<a name="l00106"></a>00106 <span class="preprocessor">#endif</span> +<a name="l00107"></a>00107 <span class="preprocessor"></span> +<a name="l00108"></a>00108 <span class="keywordflow">if</span> (m_platformEnabled) +<a name="l00109"></a>00109 { +<a name="l00110"></a>00110 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a73cff190baa0fe10aa4b5d21dd5a7ef">platformZoneStart</a>(name); +<a name="l00111"></a>00111 } +<a name="l00112"></a>00112 } +<a name="l00113"></a>00113 +<a name="l00114"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">00114</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">zoneEnd</a>()<span class="keyword"> override</span> +<a name="l00115"></a>00115 <span class="keyword"> </span>{ +<a name="l00116"></a>00116 +<a name="l00117"></a>00117 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> +<a name="l00118"></a>00118 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) +<a name="l00119"></a>00119 { +<a name="l00120"></a>00120 th_depth--; +<a name="l00121"></a>00121 +<a name="l00122"></a>00122 <span class="keywordflow">if</span> (th_depth >= 0) +<a name="l00123"></a>00123 { +<a name="l00124"></a>00124 <a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html">ExtProfileData</a>& pd = th_ProfileData[th_depth]; +<a name="l00125"></a>00125 PxGetProfilerCallback()->zoneEnd(pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a>, pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a>, <span class="keyword">false</span>, 0xb1a57); +<a name="l00126"></a>00126 } +<a name="l00127"></a>00127 <span class="keywordflow">else</span> +<a name="l00128"></a>00128 { +<a name="l00129"></a>00129 assert(th_depth >= 0); +<a name="l00130"></a>00130 } +<a name="l00131"></a>00131 } +<a name="l00132"></a>00132 <span class="preprocessor">#endif</span> +<a name="l00133"></a>00133 <span class="preprocessor"></span> +<a name="l00134"></a>00134 <span class="keywordflow">if</span> (m_platformEnabled) +<a name="l00135"></a>00135 { +<a name="l00136"></a>00136 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a1585207662452977fb8b6593e71f40c">platformZoneEnd</a>(); +<a name="l00137"></a>00137 } +<a name="l00138"></a>00138 } +<a name="l00139"></a>00139 +<a name="l00140"></a>00140 <a name="l00142"></a>00142 -<a name="l00143"></a>00143 <span class="preprocessor">#endif</span> +<a name="l00148"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">00148</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">setPlatformEnabled</a>(<span class="keywordtype">bool</span> enabled) +<a name="l00149"></a>00149 { +<a name="l00150"></a>00150 m_platformEnabled = enabled; +<a name="l00151"></a>00151 } +<a name="l00152"></a>00152 +<a name="l00153"></a>00153 <span class="keyword">private</span>: +<a name="l00154"></a>00154 <span class="keywordtype">bool</span> m_platformEnabled; +<a name="l00155"></a>00155 }; +<a name="l00156"></a>00156 +<a name="l00157"></a>00157 } <span class="comment">// namespace Blast</span> +<a name="l00158"></a>00158 } <span class="comment">// namespace Nv</span> +<a name="l00159"></a>00159 +<a name="l00160"></a>00160 +<a name="l00161"></a>00161 <span class="preprocessor">#endif // NVBLASTDEFAULTPROFILER_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/api_docs/files/_nv_blast_ext_px_task_8h-source.html b/docs/api_docs/files/_nv_blast_ext_px_task_8h-source.html index af50d2b..7e1de3d 100644 --- a/docs/api_docs/files/_nv_blast_ext_px_task_8h-source.html +++ b/docs/api_docs/files/_nv_blast_ext_px_task_8h-source.html @@ -76,23 +76,22 @@ <a name="l00058"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#756207678a22314a8a7a2232819d4e99">00058</a> <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#756207678a22314a8a7a2232819d4e99">~ExtGroupTaskManager</a>() {} <a name="l00059"></a>00059 <a name="l00060"></a>00060 <span class="keyword">public</span>: -<a name="l00061"></a>00061 <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* create(physx::PxTaskManager&); -<a name="l00062"></a>00062 <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* create(physx::PxTaskManager&, <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>&); -<a name="l00063"></a>00063 -<a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setGroup(<a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>*) = 0; -<a name="l00068"></a>00068 -<a name="l00080"></a>00080 <span class="keyword">virtual</span> uint32_t process(uint32_t workerCount = 0) = 0; -<a name="l00081"></a>00081 -<a name="l00085"></a>00085 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> wait(<span class="keywordtype">bool</span> block = <span class="keyword">true</span>) = 0; -<a name="l00086"></a>00086 -<a name="l00090"></a>00090 <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0; -<a name="l00091"></a>00091 }; -<a name="l00092"></a>00092 -<a name="l00093"></a>00093 -<a name="l00094"></a>00094 } <span class="comment">// namespace Blast</span> -<a name="l00095"></a>00095 } <span class="comment">// namespace Nv</span> -<a name="l00096"></a>00096 -<a name="l00097"></a>00097 <span class="preprocessor">#endif // NVBLASTEXTPXTASK_H</span> +<a name="l00064"></a>00064 <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* create(physx::PxTaskManager&, <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>* = <span class="keyword">nullptr</span>); +<a name="l00065"></a>00065 +<a name="l00069"></a>00069 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setGroup(<a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>*) = 0; +<a name="l00070"></a>00070 +<a name="l00084"></a>00084 <span class="keyword">virtual</span> uint32_t process(uint32_t workerCount = 0) = 0; +<a name="l00085"></a>00085 +<a name="l00094"></a>00094 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> wait(<span class="keywordtype">bool</span> block = <span class="keyword">true</span>) = 0; +<a name="l00095"></a>00095 +<a name="l00099"></a>00099 <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0; +<a name="l00100"></a>00100 }; +<a name="l00101"></a>00101 +<a name="l00102"></a>00102 +<a name="l00103"></a>00103 } <span class="comment">// namespace Blast</span> +<a name="l00104"></a>00104 } <span class="comment">// namespace Nv</span> +<a name="l00105"></a>00105 +<a name="l00106"></a>00106 <span class="preprocessor">#endif // NVBLASTEXTPXTASK_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/api_docs/files/_nv_blast_fixed_array_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_array_8h-source.html deleted file mode 100644 index 71d9db1..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_array_8h-source.html +++ /dev/null @@ -1,151 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedArray.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastFixedArray.h</h1><a href="_nv_blast_fixed_array_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTFIXEDARRAY_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTFIXEDARRAY_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>"</span> -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_memory_8h.html">NvBlastMemory.h</a>"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 <span class="keyword">namespace </span>Nv -<a name="l00036"></a>00036 { -<a name="l00037"></a>00037 <span class="keyword">namespace </span>Blast -<a name="l00038"></a>00038 { -<a name="l00039"></a>00039 -<a name="l00063"></a>00063 <span class="keyword">template</span> <<span class="keyword">class</span> T> -<a name="l00064"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html">00064</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html">FixedArray</a> -<a name="l00065"></a>00065 { -<a name="l00066"></a>00066 <span class="keyword">public</span>: -<a name="l00067"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">00067</a> <span class="keyword">explicit</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">FixedArray</a>() : m_size(0) -<a name="l00068"></a>00068 { -<a name="l00069"></a>00069 } -<a name="l00070"></a>00070 -<a name="l00071"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#f7b687252f5466a74006a27f2d3e7c54">00071</a> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#f7b687252f5466a74006a27f2d3e7c54">requiredMemorySize</a>(uint32_t capacity) -<a name="l00072"></a>00072 { -<a name="l00073"></a>00073 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(<span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html">FixedArray<T></a>)) + <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(capacity * <span class="keyword">sizeof</span>(T)); -<a name="l00074"></a>00074 } -<a name="l00075"></a>00075 -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">00076</a> NV_FORCE_INLINE T& <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">pushBack</a>(T& t) -<a name="l00077"></a>00077 { -<a name="l00078"></a>00078 <span class="keyword">new</span> (data() + m_size) T(t); -<a name="l00079"></a>00079 <span class="keywordflow">return</span> data()[m_size++]; -<a name="l00080"></a>00080 } -<a name="l00081"></a>00081 -<a name="l00082"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#150702629729a0e29f8daece3b4419f4">00082</a> T <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#150702629729a0e29f8daece3b4419f4">popBack</a>() -<a name="l00083"></a>00083 { -<a name="l00084"></a>00084 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(m_size); -<a name="l00085"></a>00085 T t = data()[m_size - 1]; -<a name="l00086"></a>00086 data()[--m_size].~T(); -<a name="l00087"></a>00087 <span class="keywordflow">return</span> t; -<a name="l00088"></a>00088 } -<a name="l00089"></a>00089 -<a name="l00090"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#3f2d0ca6c66c48c6c5ca8ed83dd4bf07">00090</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#3f2d0ca6c66c48c6c5ca8ed83dd4bf07">clear</a>() -<a name="l00091"></a>00091 { -<a name="l00092"></a>00092 <span class="keywordflow">for</span>(T* first = data(); first < data() + m_size; ++first) -<a name="l00093"></a>00093 first->~T(); -<a name="l00094"></a>00094 m_size = 0; -<a name="l00095"></a>00095 } -<a name="l00096"></a>00096 -<a name="l00097"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#a90b247578afa3796325c721eb1d5037">00097</a> NV_FORCE_INLINE <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#a90b247578afa3796325c721eb1d5037">forceSize_Unsafe</a>(uint32_t s) -<a name="l00098"></a>00098 { -<a name="l00099"></a>00099 m_size = s; -<a name="l00100"></a>00100 } -<a name="l00101"></a>00101 -<a name="l00102"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#32ca75ccb174f910006c25f4ce5bcd87">00102</a> NV_FORCE_INLINE T& <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#32ca75ccb174f910006c25f4ce5bcd87">operator[]</a>(uint32_t idx) -<a name="l00103"></a>00103 { -<a name="l00104"></a>00104 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(idx < m_size); -<a name="l00105"></a>00105 <span class="keywordflow">return</span> data()[idx]; -<a name="l00106"></a>00106 } -<a name="l00107"></a>00107 -<a name="l00108"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#cf1d67daacd6cd8ba966b7158776f938">00108</a> NV_FORCE_INLINE <span class="keyword">const</span> T& <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#32ca75ccb174f910006c25f4ce5bcd87">operator[]</a>(uint32_t idx)<span class="keyword"> const</span> -<a name="l00109"></a>00109 <span class="keyword"> </span>{ -<a name="l00110"></a>00110 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(idx < m_size); -<a name="l00111"></a>00111 <span class="keywordflow">return</span> data()[idx]; -<a name="l00112"></a>00112 } -<a name="l00113"></a>00113 -<a name="l00114"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#e932afd49acfc5f585a1238fd224931d">00114</a> NV_FORCE_INLINE T& <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#e932afd49acfc5f585a1238fd224931d">at</a>(uint32_t idx) -<a name="l00115"></a>00115 { -<a name="l00116"></a>00116 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(idx < m_size); -<a name="l00117"></a>00117 <span class="keywordflow">return</span> data()[idx]; -<a name="l00118"></a>00118 } -<a name="l00119"></a>00119 -<a name="l00120"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#3bcc2bdc3fcb35d947297c46217e8862">00120</a> NV_FORCE_INLINE <span class="keyword">const</span> T& <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#e932afd49acfc5f585a1238fd224931d">at</a>(uint32_t idx)<span class="keyword"> const</span> -<a name="l00121"></a>00121 <span class="keyword"> </span>{ -<a name="l00122"></a>00122 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(idx < m_size); -<a name="l00123"></a>00123 <span class="keywordflow">return</span> data()[idx]; -<a name="l00124"></a>00124 } -<a name="l00125"></a>00125 -<a name="l00126"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">00126</a> NV_FORCE_INLINE uint32_t <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">size</a>()<span class="keyword"> const</span> -<a name="l00127"></a>00127 <span class="keyword"> </span>{ -<a name="l00128"></a>00128 <span class="keywordflow">return</span> m_size; -<a name="l00129"></a>00129 } -<a name="l00130"></a>00130 -<a name="l00131"></a>00131 <span class="keyword">private</span>: -<a name="l00132"></a>00132 uint32_t m_size; -<a name="l00133"></a>00133 -<a name="l00134"></a>00134 NV_FORCE_INLINE T* data() -<a name="l00135"></a>00135 { -<a name="l00136"></a>00136 <span class="keywordflow">return</span> (T*)((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html">FixedArray<T></a>)); -<a name="l00137"></a>00137 } -<a name="l00138"></a>00138 -<a name="l00139"></a>00139 <span class="keyword">private</span>: -<a name="l00140"></a>00140 <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">FixedArray</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">FixedArray</a>& that); -<a name="l00141"></a>00141 }; -<a name="l00142"></a>00142 -<a name="l00143"></a>00143 } <span class="comment">// namespace Blast</span> -<a name="l00144"></a>00144 } <span class="comment">// namespace Nv</span> -<a name="l00145"></a>00145 -<a name="l00146"></a>00146 <span class="preprocessor">#endif // ifndef NVBLASTFIXEDARRAY_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_array_8h.html b/docs/api_docs/files/_nv_blast_fixed_array_8h.html deleted file mode 100644 index 970ce32..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_array_8h.html +++ /dev/null @@ -1,44 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedArray.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastFixedArray.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_assert_8h-source.html">NvBlastAssert.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_memory_8h-source.html">NvBlastMemory.h</a>"</code><br> - -<p> -<a href="_nv_blast_fixed_array_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html deleted file mode 100644 index 1fe65b0..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_bitmap_8h-source.html +++ /dev/null @@ -1,142 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedBitmap.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastFixedBitmap.h</h1><a href="_nv_blast_fixed_bitmap_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTFIXEDBITMAP_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTFIXEDBITMAP_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>"</span> -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_memory_8h.html">NvBlastMemory.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include <cstring></span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="keyword">namespace </span>Nv -<a name="l00037"></a>00037 { -<a name="l00038"></a>00038 <span class="keyword">namespace </span>Blast -<a name="l00039"></a>00039 { -<a name="l00040"></a>00040 -<a name="l00063"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">00063</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">FixedBitmap</a> -<a name="l00064"></a>00064 { -<a name="l00065"></a>00065 <span class="keyword">public</span>: -<a name="l00066"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">00066</a> <span class="keyword">explicit</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">FixedBitmap</a>(uint32_t bitsCount) -<a name="l00067"></a>00067 { -<a name="l00068"></a>00068 m_bitsCount = bitsCount; -<a name="l00069"></a>00069 } -<a name="l00070"></a>00070 -<a name="l00071"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">00071</a> <span class="keyword">static</span> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">getWordsCount</a>(uint32_t bitsCount) -<a name="l00072"></a>00072 { -<a name="l00073"></a>00073 <span class="keywordflow">return</span> (bitsCount + 31) >> 5; -<a name="l00074"></a>00074 } -<a name="l00075"></a>00075 -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2955e031c60852ec6dd72ca6f8e73eb7">00076</a> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2955e031c60852ec6dd72ca6f8e73eb7">requiredMemorySize</a>(uint32_t bitsCount) -<a name="l00077"></a>00077 { -<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(<span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">FixedBitmap</a>)) + <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">getWordsCount</a>(bitsCount) * <span class="keyword">sizeof</span>(uint32_t)); -<a name="l00079"></a>00079 } -<a name="l00080"></a>00080 -<a name="l00081"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2a7209fa614fc173bbd7a8a10c856dff">00081</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2a7209fa614fc173bbd7a8a10c856dff">clear</a>() -<a name="l00082"></a>00082 { -<a name="l00083"></a>00083 memset(data(), 0, <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">getWordsCount</a>(m_bitsCount) * <span class="keyword">sizeof</span>(uint32_t)); -<a name="l00084"></a>00084 } -<a name="l00085"></a>00085 -<a name="l00086"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#010fe2685615fdb1da4153c7212e2c37">00086</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#010fe2685615fdb1da4153c7212e2c37">fill</a>() -<a name="l00087"></a>00087 { -<a name="l00088"></a>00088 <span class="keyword">const</span> uint32_t wordCount = <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">getWordsCount</a>(m_bitsCount); -<a name="l00089"></a>00089 uint32_t* mem = data(); -<a name="l00090"></a>00090 memset(mem, 0xFF, wordCount * <span class="keyword">sizeof</span>(uint32_t)); -<a name="l00091"></a>00091 <span class="keyword">const</span> uint32_t bitsRemainder = m_bitsCount & 31; -<a name="l00092"></a>00092 <span class="keywordflow">if</span> (bitsRemainder > 0) -<a name="l00093"></a>00093 { -<a name="l00094"></a>00094 mem[wordCount - 1] &= ~(0xFFFFFFFF << bitsRemainder); -<a name="l00095"></a>00095 } -<a name="l00096"></a>00096 } -<a name="l00097"></a>00097 -<a name="l00098"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#6fb1a58795ac04248c7a082efa89c1e0">00098</a> <span class="keywordtype">int</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#6fb1a58795ac04248c7a082efa89c1e0">test</a>(uint32_t index)<span class="keyword"> const</span> -<a name="l00099"></a>00099 <span class="keyword"> </span>{ -<a name="l00100"></a>00100 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(index < m_bitsCount); -<a name="l00101"></a>00101 <span class="keywordflow">return</span> data()[index >> 5] & (1 << (index & 31)); -<a name="l00102"></a>00102 } -<a name="l00103"></a>00103 -<a name="l00104"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#a39e16f552918092f1e9fa289ddfb26c">00104</a> <span class="keywordtype">void</span> <span class="keyword">set</span>(uint32_t index) -<a name="l00105"></a>00105 { -<a name="l00106"></a>00106 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(index < m_bitsCount); -<a name="l00107"></a>00107 data()[index >> 5] |= 1 << (index & 31); -<a name="l00108"></a>00108 } -<a name="l00109"></a>00109 -<a name="l00110"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#ae323d2bddded4859cc3a0348bb72317">00110</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#ae323d2bddded4859cc3a0348bb72317">reset</a>(uint32_t index) -<a name="l00111"></a>00111 { -<a name="l00112"></a>00112 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(index < m_bitsCount); -<a name="l00113"></a>00113 data()[index >> 5] &= ~(1 << (index & 31)); -<a name="l00114"></a>00114 } -<a name="l00115"></a>00115 -<a name="l00116"></a>00116 <span class="keyword">private</span>: -<a name="l00117"></a>00117 uint32_t m_bitsCount; -<a name="l00118"></a>00118 -<a name="l00119"></a>00119 NV_FORCE_INLINE uint32_t* data() -<a name="l00120"></a>00120 { -<a name="l00121"></a>00121 <span class="keywordflow">return</span> (uint32_t*)((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">FixedBitmap</a>)); -<a name="l00122"></a>00122 } -<a name="l00123"></a>00123 -<a name="l00124"></a>00124 NV_FORCE_INLINE <span class="keyword">const</span> uint32_t* data()<span class="keyword"> const</span> -<a name="l00125"></a>00125 <span class="keyword"> </span>{ -<a name="l00126"></a>00126 <span class="keywordflow">return</span> (uint32_t*)((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">FixedBitmap</a>)); -<a name="l00127"></a>00127 } -<a name="l00128"></a>00128 -<a name="l00129"></a>00129 <span class="keyword">private</span>: -<a name="l00130"></a>00130 <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">FixedBitmap</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">FixedBitmap</a>& that); -<a name="l00131"></a>00131 }; -<a name="l00132"></a>00132 -<a name="l00133"></a>00133 } <span class="comment">// namespace Blast</span> -<a name="l00134"></a>00134 } <span class="comment">// namespace Nv</span> -<a name="l00135"></a>00135 -<a name="l00136"></a>00136 <span class="preprocessor">#endif // ifndef NVBLASTFIXEDBITMAP_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html b/docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html deleted file mode 100644 index 5d62737..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_bitmap_8h.html +++ /dev/null @@ -1,45 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedBitmap.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastFixedBitmap.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_assert_8h-source.html">NvBlastAssert.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_memory_8h-source.html">NvBlastMemory.h</a>"</code><br> -<code>#include <cstring></code><br> - -<p> -<a href="_nv_blast_fixed_bitmap_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html deleted file mode 100644 index c93b98a..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_bool_array_8h-source.html +++ /dev/null @@ -1,130 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedBoolArray.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastFixedBoolArray.h</h1><a href="_nv_blast_fixed_bool_array_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTFIXEDBOOLARRAY_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTFIXEDBOOLARRAY_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>"</span> -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_memory_8h.html">NvBlastMemory.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include <cstring></span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="keyword">namespace </span>Nv -<a name="l00037"></a>00037 { -<a name="l00038"></a>00038 <span class="keyword">namespace </span>Blast -<a name="l00039"></a>00039 { -<a name="l00040"></a>00040 -<a name="l00063"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">00063</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">FixedBoolArray</a> -<a name="l00064"></a>00064 { -<a name="l00065"></a>00065 <span class="keyword">public</span>: -<a name="l00066"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">00066</a> <span class="keyword">explicit</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">FixedBoolArray</a>(uint32_t size) -<a name="l00067"></a>00067 { -<a name="l00068"></a>00068 m_size = size; -<a name="l00069"></a>00069 } -<a name="l00070"></a>00070 -<a name="l00071"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#2e54d889866dc43d9e863d45e4450344">00071</a> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#2e54d889866dc43d9e863d45e4450344">requiredMemorySize</a>(uint32_t size) -<a name="l00072"></a>00072 { -<a name="l00073"></a>00073 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(<span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">FixedBoolArray</a>)) + <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(size); -<a name="l00074"></a>00074 } -<a name="l00075"></a>00075 -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ead1a010fb21c450ece0345ba36879fa">00076</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ead1a010fb21c450ece0345ba36879fa">clear</a>() -<a name="l00077"></a>00077 { -<a name="l00078"></a>00078 memset(data(), 0, m_size); -<a name="l00079"></a>00079 } -<a name="l00080"></a>00080 -<a name="l00081"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#3dd3e3b6dda80554dcc2137d9974751d">00081</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#3dd3e3b6dda80554dcc2137d9974751d">fill</a>() -<a name="l00082"></a>00082 { -<a name="l00083"></a>00083 memset(data(), 1, m_size); -<a name="l00084"></a>00084 } -<a name="l00085"></a>00085 -<a name="l00086"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#480da0f31c1db324ee085b2557f7161d">00086</a> <span class="keywordtype">int</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#480da0f31c1db324ee085b2557f7161d">test</a>(uint32_t index)<span class="keyword"> const</span> -<a name="l00087"></a>00087 <span class="keyword"> </span>{ -<a name="l00088"></a>00088 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(index < m_size); -<a name="l00089"></a>00089 <span class="keywordflow">return</span> data()[index]; -<a name="l00090"></a>00090 } -<a name="l00091"></a>00091 -<a name="l00092"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#8e1aeb344b1214ec88bf78f739b4a559">00092</a> <span class="keywordtype">void</span> <span class="keyword">set</span>(uint32_t index) -<a name="l00093"></a>00093 { -<a name="l00094"></a>00094 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(index < m_size); -<a name="l00095"></a>00095 data()[index] = 1; -<a name="l00096"></a>00096 } -<a name="l00097"></a>00097 -<a name="l00098"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#09c82c9bb97e55beb2ab376fcb0d63e2">00098</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#09c82c9bb97e55beb2ab376fcb0d63e2">reset</a>(uint32_t index) -<a name="l00099"></a>00099 { -<a name="l00100"></a>00100 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(index < m_size); -<a name="l00101"></a>00101 data()[index] = 0; -<a name="l00102"></a>00102 } -<a name="l00103"></a>00103 -<a name="l00104"></a>00104 <span class="keyword">private</span>: -<a name="l00105"></a>00105 uint32_t m_size; -<a name="l00106"></a>00106 -<a name="l00107"></a>00107 NV_FORCE_INLINE <span class="keywordtype">char</span>* data() -<a name="l00108"></a>00108 { -<a name="l00109"></a>00109 <span class="keywordflow">return</span> ((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">FixedBoolArray</a>)); -<a name="l00110"></a>00110 } -<a name="l00111"></a>00111 -<a name="l00112"></a>00112 NV_FORCE_INLINE <span class="keyword">const</span> <span class="keywordtype">char</span>* data()<span class="keyword"> const</span> -<a name="l00113"></a>00113 <span class="keyword"> </span>{ -<a name="l00114"></a>00114 <span class="keywordflow">return</span> ((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">FixedBoolArray</a>)); -<a name="l00115"></a>00115 } -<a name="l00116"></a>00116 -<a name="l00117"></a>00117 <span class="keyword">private</span>: -<a name="l00118"></a>00118 <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">FixedBoolArray</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">FixedBoolArray</a>& that); -<a name="l00119"></a>00119 }; -<a name="l00120"></a>00120 -<a name="l00121"></a>00121 } <span class="comment">// namespace Blast</span> -<a name="l00122"></a>00122 } <span class="comment">// namespace Nv</span> -<a name="l00123"></a>00123 -<a name="l00124"></a>00124 <span class="preprocessor">#endif // ifndef NVBLASTFIXEDBOOLARRAY_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html b/docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html deleted file mode 100644 index 687b843..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_bool_array_8h.html +++ /dev/null @@ -1,45 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedBoolArray.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastFixedBoolArray.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_assert_8h-source.html">NvBlastAssert.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_memory_8h-source.html">NvBlastMemory.h</a>"</code><br> -<code>#include <cstring></code><br> - -<p> -<a href="_nv_blast_fixed_bool_array_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html b/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html deleted file mode 100644 index 064762d..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h-source.html +++ /dev/null @@ -1,209 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedPriorityQueue.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastFixedPriorityQueue.h</h1><a href="_nv_blast_fixed_priority_queue_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTFIXEDPRIORITYQUEUE_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTFIXEDPRIORITYQUEUE_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>"</span> -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_memory_8h.html">NvBlastMemory.h</a>"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 <span class="keyword">namespace </span>Nv -<a name="l00036"></a>00036 { -<a name="l00037"></a>00037 -<a name="l00038"></a>00038 <span class="keyword">namespace </span>Blast -<a name="l00039"></a>00039 { -<a name="l00040"></a>00040 -<a name="l00062"></a>00062 <span class="keyword">template</span> <<span class="keyword">typename</span> A> -<a name="l00063"></a><a class="code" href="struct_nv_1_1_blast_1_1_less.html">00063</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_less.html">Less</a> -<a name="l00064"></a>00064 { -<a name="l00065"></a><a class="code" href="struct_nv_1_1_blast_1_1_less.html#582cf963f750631406af58b1e28b6d0e">00065</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_less.html#582cf963f750631406af58b1e28b6d0e">operator()</a>(<span class="keyword">const</span> A& a, <span class="keyword">const</span> A& b)<span class="keyword"> const</span> -<a name="l00066"></a>00066 <span class="keyword"> </span>{ -<a name="l00067"></a>00067 <span class="keywordflow">return</span> a < b; -<a name="l00068"></a>00068 } -<a name="l00069"></a>00069 }; -<a name="l00070"></a>00070 -<a name="l00071"></a>00071 -<a name="l00072"></a>00072 <span class="keyword">template</span><<span class="keyword">class</span> Element, <span class="keyword">class</span> Comparator = Less<Element> > -<a name="l00073"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">00073</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue</a> : <span class="keyword">protected</span> Comparator <span class="comment">// inherit so that stateless comparators take no space</span> -<a name="l00074"></a>00074 { -<a name="l00075"></a>00075 <span class="keyword">public</span>: -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#fac0be73b5f4e3018871c2bfdde6fb28">00076</a> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#fac0be73b5f4e3018871c2bfdde6fb28">FixedPriorityQueue</a>(<span class="keyword">const</span> Comparator& less = Comparator()) : Comparator(less), mHeapSize(0) -<a name="l00077"></a>00077 { -<a name="l00078"></a>00078 } -<a name="l00079"></a>00079 -<a name="l00080"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#98f870b4b97264985577689aee68bb59">00080</a> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#98f870b4b97264985577689aee68bb59">~FixedPriorityQueue</a>() -<a name="l00081"></a>00081 { -<a name="l00082"></a>00082 } -<a name="l00083"></a>00083 -<a name="l00084"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#bbab600f8c667462ee6454db90d1da38">00084</a> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#bbab600f8c667462ee6454db90d1da38">requiredMemorySize</a>(uint32_t capacity) -<a name="l00085"></a>00085 { -<a name="l00086"></a>00086 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(<span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue<Element, Comparator></a>)) + <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(capacity * <span class="keyword">sizeof</span>(Element)); -<a name="l00087"></a>00087 } -<a name="l00088"></a>00088 -<a name="l00090"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d9679f0ccba61335bbf26f7871b2018f">00090</a> <span class="keyword">const</span> Element <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d9679f0ccba61335bbf26f7871b2018f" title="Get the element with the highest priority.">top</a>()<span class="keyword"> const</span> -<a name="l00091"></a>00091 <span class="keyword"> </span>{ -<a name="l00092"></a>00092 <span class="keywordflow">return</span> data()[0]; -<a name="l00093"></a>00093 } -<a name="l00094"></a>00094 -<a name="l00096"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#9ba647089df9693a0a565dd8628cdefa">00096</a> Element <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d9679f0ccba61335bbf26f7871b2018f" title="Get the element with the highest priority.">top</a>() -<a name="l00097"></a>00097 { -<a name="l00098"></a>00098 <span class="keywordflow">return</span> data()[0]; -<a name="l00099"></a>00099 } -<a name="l00100"></a>00100 -<a name="l00102"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#5348990a3df348ad769d722f23b9ceb5">00102</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#5348990a3df348ad769d722f23b9ceb5" title="Check to whether the priority queue is empty.">empty</a>()<span class="keyword"> const</span> -<a name="l00103"></a>00103 <span class="keyword"> </span>{ -<a name="l00104"></a>00104 <span class="keywordflow">return</span> (mHeapSize == 0); -<a name="l00105"></a>00105 } -<a name="l00106"></a>00106 -<a name="l00108"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#7127664503056837ccaf338909e59652">00108</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#7127664503056837ccaf338909e59652" title="Empty the priority queue.">clear</a>() -<a name="l00109"></a>00109 { -<a name="l00110"></a>00110 mHeapSize = 0; -<a name="l00111"></a>00111 } -<a name="l00112"></a>00112 -<a name="l00114"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#ef62e4bf465c5a8e77a3a4937456f8d2">00114</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#ef62e4bf465c5a8e77a3a4937456f8d2" title="Insert a new element into the priority queue. Only valid when size() is less than...">push</a>(<span class="keyword">const</span> Element& value) -<a name="l00115"></a>00115 { -<a name="l00116"></a>00116 uint32_t newIndex; -<a name="l00117"></a>00117 uint32_t parentIndex = parent(mHeapSize); -<a name="l00118"></a>00118 -<a name="l00119"></a>00119 <span class="keywordflow">for</span> (newIndex = mHeapSize; newIndex > 0 && compare(value, data()[parentIndex]); newIndex = parentIndex, parentIndex= parent(newIndex)) -<a name="l00120"></a>00120 { -<a name="l00121"></a>00121 data()[ newIndex ] = data()[parentIndex]; -<a name="l00122"></a>00122 } -<a name="l00123"></a>00123 data()[newIndex] = value; -<a name="l00124"></a>00124 mHeapSize++; -<a name="l00125"></a>00125 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#3ce356e170ce6137c5e1a767658a6fc9" title="Make sure the priority queue sort all elements correctly.">valid</a>()); -<a name="l00126"></a>00126 } -<a name="l00127"></a>00127 -<a name="l00129"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#2a11aad2baa3b807fb420372914e9cd6">00129</a> Element <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#2a11aad2baa3b807fb420372914e9cd6" title="Delete the highest priority element. Only valid when non-empty.">pop</a>() -<a name="l00130"></a>00130 { -<a name="l00131"></a>00131 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(mHeapSize > 0); -<a name="l00132"></a>00132 uint32_t i, child; -<a name="l00133"></a>00133 <span class="comment">//try to avoid LHS</span> -<a name="l00134"></a>00134 uint32_t tempHs = mHeapSize-1; -<a name="l00135"></a>00135 mHeapSize = tempHs; -<a name="l00136"></a>00136 Element min = data()[0]; -<a name="l00137"></a>00137 Element last = data()[tempHs]; -<a name="l00138"></a>00138 -<a name="l00139"></a>00139 <span class="keywordflow">for</span> (i = 0; (child = left(i)) < tempHs; i = child) -<a name="l00140"></a>00140 { -<a name="l00141"></a>00141 <span class="comment">/* Find highest priority child */</span> -<a name="l00142"></a>00142 <span class="keyword">const</span> uint32_t rightChild = child + 1; -<a name="l00143"></a>00143 -<a name="l00144"></a>00144 child += ((rightChild < tempHs) & compare((data()[rightChild]), (data()[child]))) ? 1 : 0; -<a name="l00145"></a>00145 -<a name="l00146"></a>00146 <span class="keywordflow">if</span>(compare(last, data()[child])) -<a name="l00147"></a>00147 <span class="keywordflow">break</span>; -<a name="l00148"></a>00148 -<a name="l00149"></a>00149 data()[i] = data()[child]; -<a name="l00150"></a>00150 } -<a name="l00151"></a>00151 data()[ i ] = last; -<a name="l00152"></a>00152 -<a name="l00153"></a>00153 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#3ce356e170ce6137c5e1a767658a6fc9" title="Make sure the priority queue sort all elements correctly.">valid</a>()); -<a name="l00154"></a>00154 <span class="keywordflow">return</span> min; -<a name="l00155"></a>00155 } -<a name="l00156"></a>00156 -<a name="l00158"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#3ce356e170ce6137c5e1a767658a6fc9">00158</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#3ce356e170ce6137c5e1a767658a6fc9" title="Make sure the priority queue sort all elements correctly.">valid</a>()<span class="keyword"> const</span> -<a name="l00159"></a>00159 <span class="keyword"> </span>{ -<a name="l00160"></a>00160 <span class="keyword">const</span> Element& min = data()[0]; -<a name="l00161"></a>00161 <span class="keywordflow">for</span>(uint32_t i=1; i<mHeapSize; ++i) -<a name="l00162"></a>00162 { -<a name="l00163"></a>00163 <span class="keywordflow">if</span>(compare(data()[i], min)) -<a name="l00164"></a>00164 <span class="keywordflow">return</span> <span class="keyword">false</span>; -<a name="l00165"></a>00165 } -<a name="l00166"></a>00166 -<a name="l00167"></a>00167 <span class="keywordflow">return</span> <span class="keyword">true</span>; -<a name="l00168"></a>00168 } -<a name="l00169"></a>00169 -<a name="l00171"></a><a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">00171</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce" title="Return number of elements in the priority queue.">size</a>()<span class="keyword"> const</span> -<a name="l00172"></a>00172 <span class="keyword"> </span>{ -<a name="l00173"></a>00173 <span class="keywordflow">return</span> mHeapSize; -<a name="l00174"></a>00174 } -<a name="l00175"></a>00175 -<a name="l00176"></a>00176 <span class="keyword">private</span>: -<a name="l00177"></a>00177 uint32_t mHeapSize; -<a name="l00178"></a>00178 -<a name="l00179"></a>00179 NV_FORCE_INLINE Element* data() -<a name="l00180"></a>00180 { -<a name="l00181"></a>00181 <span class="keywordflow">return</span> (Element*)((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(<a class="code" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue<Element, Comparator></a>)); -<a name="l00182"></a>00182 } -<a name="l00183"></a>00183 -<a name="l00184"></a>00184 NV_FORCE_INLINE Element* data()<span class="keyword"> const</span> -<a name="l00185"></a>00185 <span class="keyword"> </span>{ -<a name="l00186"></a>00186 <span class="keywordflow">return</span> (Element*)((<span class="keywordtype">char</span>*)<span class="keyword">this</span> + <span class="keyword">sizeof</span>(FixedPriorityQueue<Element, Comparator>)); -<a name="l00187"></a>00187 } -<a name="l00188"></a>00188 -<a name="l00189"></a>00189 <span class="keywordtype">bool</span> compare(<span class="keyword">const</span> Element& a, <span class="keyword">const</span> Element& b)<span class="keyword"> const</span> -<a name="l00190"></a>00190 <span class="keyword"> </span>{ -<a name="l00191"></a>00191 <span class="keywordflow">return</span> Comparator::operator()(a,b); -<a name="l00192"></a>00192 } -<a name="l00193"></a>00193 -<a name="l00194"></a>00194 <span class="keyword">static</span> uint32_t left(uint32_t nodeIndex) -<a name="l00195"></a>00195 { -<a name="l00196"></a>00196 <span class="keywordflow">return</span> (nodeIndex << 1) + 1; -<a name="l00197"></a>00197 } -<a name="l00198"></a>00198 -<a name="l00199"></a>00199 <span class="keyword">static</span> uint32_t parent(uint32_t nodeIndex) -<a name="l00200"></a>00200 { -<a name="l00201"></a>00201 <span class="keywordflow">return</span> (nodeIndex - 1) >> 1; -<a name="l00202"></a>00202 } -<a name="l00203"></a>00203 -<a name="l00204"></a>00204 FixedPriorityQueue<Element, Comparator>& operator = (<span class="keyword">const</span> FixedPriorityQueue<Element, Comparator>); -<a name="l00205"></a>00205 }; -<a name="l00206"></a>00206 -<a name="l00207"></a>00207 } <span class="comment">// namespace Blast</span> -<a name="l00208"></a>00208 } <span class="comment">// namespace Nv</span> -<a name="l00209"></a>00209 -<a name="l00210"></a>00210 <span class="preprocessor">#endif // ifndef NVBLASTFIXEDPRIORITYQUEUE_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html b/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html deleted file mode 100644 index c463199..0000000 --- a/docs/api_docs/files/_nv_blast_fixed_priority_queue_8h.html +++ /dev/null @@ -1,46 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastFixedPriorityQueue.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastFixedPriorityQueue.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_assert_8h-source.html">NvBlastAssert.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_memory_8h-source.html">NvBlastMemory.h</a>"</code><br> - -<p> -<a href="_nv_blast_fixed_priority_queue_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_less.html">Nv::Blast::Less< A ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_geometry_8h-source.html b/docs/api_docs/files/_nv_blast_geometry_8h-source.html deleted file mode 100644 index d41795e..0000000 --- a/docs/api_docs/files/_nv_blast_geometry_8h-source.html +++ /dev/null @@ -1,228 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastGeometry.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastGeometry.h</h1><a href="_nv_blast_geometry_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTGEOMETRY_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTGEOMETRY_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_types_8h.html">NvBlastTypes.h</a>"</span> -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_math_8h.html">NvBlastMath.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>"</span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="preprocessor">#include <limits></span> -<a name="l00037"></a>00037 -<a name="l00038"></a>00038 -<a name="l00039"></a>00039 <span class="keyword">namespace </span>Nv { -<a name="l00040"></a>00040 <span class="keyword">namespace </span>Blast{ -<a name="l00041"></a>00041 -<a name="l00042"></a>00042 -<a name="l00062"></a><a class="code" href="namespace_nv_1_1_blast.html#174a03926806454cd726b130462606b0">00062</a> NV_FORCE_INLINE uint32_t <a class="code" href="namespace_nv_1_1_blast.html#174a03926806454cd726b130462606b0">findClosestNode</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> point[4], -<a name="l00063"></a>00063 <span class="keyword">const</span> uint32_t firstGraphNodeIndex, <span class="keyword">const</span> uint32_t* familyGraphNodeIndexLinks, -<a name="l00064"></a>00064 <span class="keyword">const</span> uint32_t* adjacencyPartition, <span class="keyword">const</span> uint32_t* adjacentNodeIndices, <span class="keyword">const</span> uint32_t* adjacentBondIndices, -<a name="l00065"></a>00065 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>* assetBonds, <span class="keyword">const</span> <span class="keywordtype">float</span>* bondHealths, -<a name="l00066"></a>00066 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>* assetChunks, <span class="keyword">const</span> <span class="keywordtype">float</span>* supportChunkHealths, <span class="keyword">const</span> uint32_t* chunkIndices) -<a name="l00067"></a>00067 { -<a name="l00068"></a>00068 <span class="comment">// firstGraphNodeIndex could still be the world chunk, however</span> -<a name="l00069"></a>00069 <span class="comment">// there should be no way a single-node actor that is just the world chunk exists.</span> -<a name="l00070"></a>00070 uint32_t nodeIndex = firstGraphNodeIndex; -<a name="l00071"></a>00071 <span class="comment">// Since there should always be a regular chunk in the graph, it is possible to initialize closestNode</span> -<a name="l00072"></a>00072 <span class="comment">// as world chunk index but it would always evaluate to some meaningful node index eventually.</span> -<a name="l00073"></a>00073 uint32_t closestNode = nodeIndex; -<a name="l00074"></a>00074 <span class="keywordtype">float</span> minDist = std::numeric_limits<float>().max(); -<a name="l00075"></a>00075 -<a name="l00076"></a>00076 <span class="comment">// find the closest healthy chunk in the graph by its centroid to point distance</span> -<a name="l00077"></a>00077 <span class="keywordflow">while</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">Nv::Blast::isInvalidIndex</a>(nodeIndex)) -<a name="l00078"></a>00078 { -<a name="l00079"></a>00079 <span class="keywordflow">if</span> (supportChunkHealths[nodeIndex] > 0.0f) -<a name="l00080"></a>00080 { -<a name="l00081"></a>00081 uint32_t chunkIndex = chunkIndices[nodeIndex]; -<a name="l00082"></a>00082 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunkIndex)) <span class="comment">// Invalid if this is the world chunk</span> -<a name="l00083"></a>00083 { -<a name="l00084"></a>00084 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>& chunk = assetChunks[chunkIndex]; -<a name="l00085"></a>00085 <span class="keyword">const</span> <span class="keywordtype">float</span>* centroid = chunk.<a class="code" href="struct_nv_blast_chunk.html#3c8c4522d0fdde5d38f59509aa2333d2">centroid</a>; -<a name="l00086"></a>00086 -<a name="l00087"></a>00087 <span class="keywordtype">float</span> d[3]; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">VecMath::sub</a>(point, centroid, d); -<a name="l00088"></a>00088 <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">dist</a> = <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">VecMath::dot</a>(d, d); -<a name="l00089"></a>00089 -<a name="l00090"></a>00090 <span class="keywordflow">if</span> (dist < minDist) -<a name="l00091"></a>00091 { -<a name="l00092"></a>00092 minDist = dist; -<a name="l00093"></a>00093 closestNode = nodeIndex; -<a name="l00094"></a>00094 } -<a name="l00095"></a>00095 } -<a name="l00096"></a>00096 } -<a name="l00097"></a>00097 nodeIndex = familyGraphNodeIndexLinks[nodeIndex]; -<a name="l00098"></a>00098 } -<a name="l00099"></a>00099 -<a name="l00100"></a>00100 <span class="comment">// as long as the world chunk is not input as a single-node graph actor</span> -<a name="l00101"></a>00101 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunkIndices[closestNode])); -<a name="l00102"></a>00102 -<a name="l00103"></a>00103 <span class="keywordtype">bool</span> iterateOnBonds = <span class="keyword">true</span>; -<a name="l00104"></a>00104 <span class="keywordflow">if</span> (iterateOnBonds) -<a name="l00105"></a>00105 { -<a name="l00106"></a>00106 <span class="comment">// improve geometric accuracy by looking on which side of the closest bond the point lies</span> -<a name="l00107"></a>00107 <span class="comment">// expects bond normals to point from the smaller to the larger node index</span> -<a name="l00108"></a>00108 -<a name="l00109"></a>00109 nodeIndex = closestNode; -<a name="l00110"></a>00110 minDist = std::numeric_limits<float>().max(); -<a name="l00111"></a>00111 -<a name="l00112"></a>00112 <span class="keyword">const</span> uint32_t startIndex = adjacencyPartition[nodeIndex]; -<a name="l00113"></a>00113 <span class="keyword">const</span> uint32_t stopIndex = adjacencyPartition[nodeIndex + 1]; -<a name="l00114"></a>00114 -<a name="l00115"></a>00115 <span class="keywordflow">for</span> (uint32_t adjacentIndex = startIndex; adjacentIndex < stopIndex; adjacentIndex++) -<a name="l00116"></a>00116 { -<a name="l00117"></a>00117 <span class="keyword">const</span> uint32_t neighbourIndex = adjacentNodeIndices[adjacentIndex]; -<a name="l00118"></a>00118 <span class="keyword">const</span> uint32_t neighbourChunk = chunkIndices[neighbourIndex]; -<a name="l00119"></a>00119 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(neighbourChunk)) <span class="comment">// Invalid if neighbor is the world chunk</span> -<a name="l00120"></a>00120 { -<a name="l00121"></a>00121 <span class="keyword">const</span> uint32_t bondIndex = adjacentBondIndices[adjacentIndex]; -<a name="l00122"></a>00122 <span class="comment">// do not follow broken bonds, since it means that neighbor is not actually connected in the graph</span> -<a name="l00123"></a>00123 <span class="keywordflow">if</span> (bondHealths[bondIndex] > 0.0f && supportChunkHealths[neighbourIndex] > 0.0f) -<a name="l00124"></a>00124 { -<a name="l00125"></a>00125 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& bond = assetBonds[bondIndex]; -<a name="l00126"></a>00126 -<a name="l00127"></a>00127 <span class="keyword">const</span> <span class="keywordtype">float</span>* centroid = bond.<a class="code" href="struct_nv_blast_bond.html#0b9fdf36eb1288c8d26d2549b68df5c6">centroid</a>; -<a name="l00128"></a>00128 <span class="keywordtype">float</span> d[3]; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">VecMath::sub</a>(point, centroid, d); -<a name="l00129"></a>00129 <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">dist</a> = <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">VecMath::dot</a>(d, d); -<a name="l00130"></a>00130 -<a name="l00131"></a>00131 <span class="keywordflow">if</span> (dist < minDist) -<a name="l00132"></a>00132 { -<a name="l00133"></a>00133 minDist = dist; -<a name="l00134"></a>00134 <span class="keywordtype">float</span> s = <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">VecMath::dot</a>(d, bond.<a class="code" href="struct_nv_blast_bond.html#3e8b8dd2ac2634098df7c1475ee6171d">normal</a>); -<a name="l00135"></a>00135 <span class="keywordflow">if</span> (nodeIndex < neighbourIndex) -<a name="l00136"></a>00136 { -<a name="l00137"></a>00137 closestNode = s < 0.0f ? nodeIndex : neighbourIndex; -<a name="l00138"></a>00138 } -<a name="l00139"></a>00139 <span class="keywordflow">else</span> -<a name="l00140"></a>00140 { -<a name="l00141"></a>00141 closestNode = s < 0.0f ? neighbourIndex : nodeIndex; -<a name="l00142"></a>00142 } -<a name="l00143"></a>00143 } -<a name="l00144"></a>00144 } -<a name="l00145"></a>00145 } -<a name="l00146"></a>00146 } -<a name="l00147"></a>00147 } -<a name="l00148"></a>00148 -<a name="l00149"></a>00149 <span class="keywordflow">return</span> closestNode; -<a name="l00150"></a>00150 } -<a name="l00151"></a>00151 -<a name="l00152"></a>00152 -<a name="l00171"></a><a class="code" href="namespace_nv_1_1_blast.html#0ce4dc5d3f1f248d05a6b699ccaa68b9">00171</a> NV_FORCE_INLINE uint32_t <a class="code" href="namespace_nv_1_1_blast.html#174a03926806454cd726b130462606b0">findClosestNode</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> point[4], -<a name="l00172"></a>00172 <span class="keyword">const</span> uint32_t firstGraphNodeIndex, <span class="keyword">const</span> uint32_t* familyGraphNodeIndexLinks, -<a name="l00173"></a>00173 <span class="keyword">const</span> uint32_t* adjacencyPartition, <span class="keyword">const</span> uint32_t* adjacentNodeIndices, <span class="keyword">const</span> uint32_t* adjacentBondIndices, -<a name="l00174"></a>00174 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>* bonds, <span class="keyword">const</span> <span class="keywordtype">float</span>* bondHealths, <span class="keyword">const</span> uint32_t* chunkIndices) -<a name="l00175"></a>00175 { -<a name="l00176"></a>00176 <span class="comment">// firstGraphNodeIndex could still be the world chunk, however</span> -<a name="l00177"></a>00177 <span class="comment">// there should be no way a single-node actor that is just the world chunk exists.</span> -<a name="l00178"></a>00178 uint32_t nodeIndex = firstGraphNodeIndex; -<a name="l00179"></a>00179 <span class="comment">// Since there should always be a regular chunk in the graph, it is possible to initialize closestNode</span> -<a name="l00180"></a>00180 <span class="comment">// as world chunk index but it would always evaluate to some meaningful node index eventually.</span> -<a name="l00181"></a>00181 uint32_t closestNode = nodeIndex; -<a name="l00182"></a>00182 <span class="keywordtype">float</span> minDist = std::numeric_limits<float>().max(); -<a name="l00183"></a>00183 -<a name="l00184"></a>00184 <span class="keywordflow">while</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">Nv::Blast::isInvalidIndex</a>(nodeIndex)) -<a name="l00185"></a>00185 { -<a name="l00186"></a>00186 <span class="keyword">const</span> uint32_t startIndex = adjacencyPartition[nodeIndex]; -<a name="l00187"></a>00187 <span class="keyword">const</span> uint32_t stopIndex = adjacencyPartition[nodeIndex + 1]; -<a name="l00188"></a>00188 -<a name="l00189"></a>00189 <span class="keywordflow">for</span> (uint32_t adjacentIndex = startIndex; adjacentIndex < stopIndex; adjacentIndex++) -<a name="l00190"></a>00190 { -<a name="l00191"></a>00191 <span class="keyword">const</span> uint32_t neighbourIndex = adjacentNodeIndices[adjacentIndex]; -<a name="l00192"></a>00192 <span class="keywordflow">if</span> (nodeIndex < neighbourIndex) -<a name="l00193"></a>00193 { -<a name="l00194"></a>00194 <span class="keyword">const</span> uint32_t bondIndex = adjacentBondIndices[adjacentIndex]; -<a name="l00195"></a>00195 <span class="keywordflow">if</span> (bondHealths[bondIndex] > 0.0f) -<a name="l00196"></a>00196 { -<a name="l00197"></a>00197 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& bond = bonds[bondIndex]; -<a name="l00198"></a>00198 -<a name="l00199"></a>00199 <span class="keyword">const</span> <span class="keywordtype">float</span>* centroid = bond.<a class="code" href="struct_nv_blast_bond.html#0b9fdf36eb1288c8d26d2549b68df5c6">centroid</a>; -<a name="l00200"></a>00200 <span class="keywordtype">float</span> d[3]; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">VecMath::sub</a>(point, centroid, d); -<a name="l00201"></a>00201 <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">dist</a> = <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">VecMath::dot</a>(d, d); -<a name="l00202"></a>00202 -<a name="l00203"></a>00203 <span class="keywordflow">if</span> (dist < minDist) -<a name="l00204"></a>00204 { -<a name="l00205"></a>00205 minDist = dist; -<a name="l00206"></a>00206 <span class="comment">// if any of the nodes is the world chunk, use the valid one instead</span> -<a name="l00207"></a>00207 <span class="keywordflow">if</span> (<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunkIndices[neighbourIndex])) -<a name="l00208"></a>00208 { -<a name="l00209"></a>00209 closestNode = nodeIndex; -<a name="l00210"></a>00210 } -<a name="l00211"></a>00211 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunkIndices[nodeIndex])) -<a name="l00212"></a>00212 { -<a name="l00213"></a>00213 closestNode = neighbourIndex; -<a name="l00214"></a>00214 } -<a name="l00215"></a>00215 <span class="keywordflow">else</span> -<a name="l00216"></a>00216 { -<a name="l00217"></a>00217 <span class="keywordtype">float</span> s = <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">VecMath::dot</a>(d, bond.<a class="code" href="struct_nv_blast_bond.html#3e8b8dd2ac2634098df7c1475ee6171d">normal</a>); -<a name="l00218"></a>00218 closestNode = s < 0 ? nodeIndex : neighbourIndex; -<a name="l00219"></a>00219 } -<a name="l00220"></a>00220 } -<a name="l00221"></a>00221 } -<a name="l00222"></a>00222 } -<a name="l00223"></a>00223 } -<a name="l00224"></a>00224 nodeIndex = familyGraphNodeIndexLinks[nodeIndex]; -<a name="l00225"></a>00225 } -<a name="l00226"></a>00226 -<a name="l00227"></a>00227 <span class="comment">// as long as the world chunk is not input as a single-node graph actor</span> -<a name="l00228"></a>00228 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunkIndices[closestNode])); -<a name="l00229"></a>00229 <span class="keywordflow">return</span> closestNode; -<a name="l00230"></a>00230 } -<a name="l00231"></a>00231 -<a name="l00232"></a>00232 -<a name="l00233"></a>00233 } <span class="comment">// namespace Blast</span> -<a name="l00234"></a>00234 } <span class="comment">// namespace Nv</span> -<a name="l00235"></a>00235 -<a name="l00236"></a>00236 -<a name="l00237"></a>00237 <span class="preprocessor">#endif // NVBLASTGEOMETRY_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_geometry_8h.html b/docs/api_docs/files/_nv_blast_geometry_8h.html deleted file mode 100644 index 0176bc2..0000000 --- a/docs/api_docs/files/_nv_blast_geometry_8h.html +++ /dev/null @@ -1,48 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastGeometry.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastGeometry.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_types_8h-source.html">NvBlastTypes.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_math_8h-source.html">NvBlastMath.h</a>"</code><br> -<code>#include "<a class="el" href="_nv_blast_assert_8h-source.html">NvBlastAssert.h</a>"</code><br> -<code>#include <limits></code><br> - -<p> -<a href="_nv_blast_geometry_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#0ce4dc5d3f1f248d05a6b699ccaa68b9">Nv::Blast::findClosestNode</a> (const float point[4], const uint32_t firstGraphNodeIndex, const uint32_t *familyGraphNodeIndexLinks, const uint32_t *adjacencyPartition, const uint32_t *adjacentNodeIndices, const uint32_t *adjacentBondIndices, const <a class="el" href="struct_nv_blast_bond.html">NvBlastBond</a> *bonds, const float *bondHealths, const uint32_t *chunkIndices)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#174a03926806454cd726b130462606b0">Nv::Blast::findClosestNode</a> (const float point[4], const uint32_t firstGraphNodeIndex, const uint32_t *familyGraphNodeIndexLinks, const uint32_t *adjacencyPartition, const uint32_t *adjacentNodeIndices, const uint32_t *adjacentBondIndices, const <a class="el" href="struct_nv_blast_bond.html">NvBlastBond</a> *assetBonds, const float *bondHealths, const <a class="el" href="struct_nv_blast_chunk.html">NvBlastChunk</a> *assetChunks, const float *supportChunkHealths, const uint32_t *chunkIndices)</td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_hash_map_8h-source.html b/docs/api_docs/files/_nv_blast_hash_map_8h-source.html deleted file mode 100644 index edae4e0..0000000 --- a/docs/api_docs/files/_nv_blast_hash_map_8h-source.html +++ /dev/null @@ -1,80 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastHashMap.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastHashMap.h</h1><a href="_nv_blast_hash_map_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTHASHMAP_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTHASHMAP_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_allocator_8h.html">NvBlastAllocator.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include "PsHashMap.h"</span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 -<a name="l00037"></a>00037 <span class="keyword">namespace </span>Nv -<a name="l00038"></a>00038 { -<a name="l00039"></a>00039 <span class="keyword">namespace </span>Blast -<a name="l00040"></a>00040 { -<a name="l00041"></a>00041 -<a name="l00045"></a>00045 <span class="keyword">template</span> <<span class="keyword">class</span> Key, <span class="keyword">class</span> Value, <span class="keyword">class</span> HashFn = physx::shdfnd::Hash<Key>> -<a name="l00046"></a><a class="code" href="struct_nv_1_1_blast_1_1_hash_map.html">00046</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_hash_map.html">HashMap</a> -<a name="l00047"></a>00047 { -<a name="l00048"></a><a class="code" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">00048</a> <span class="keyword">typedef</span> physx::shdfnd::HashMap<Key, Value, HashFn, Allocator> <a class="code" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">type</a>; -<a name="l00049"></a>00049 }; -<a name="l00050"></a>00050 -<a name="l00051"></a>00051 } <span class="comment">// namespace Blast</span> -<a name="l00052"></a>00052 } <span class="comment">// namespace Nv</span> -<a name="l00053"></a>00053 -<a name="l00054"></a>00054 -<a name="l00055"></a>00055 <span class="preprocessor">#endif // #ifndef NVBLASTHASHMAP_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_hash_map_8h.html b/docs/api_docs/files/_nv_blast_hash_map_8h.html deleted file mode 100644 index c54962c..0000000 --- a/docs/api_docs/files/_nv_blast_hash_map_8h.html +++ /dev/null @@ -1,44 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastHashMap.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastHashMap.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_allocator_8h-source.html">NvBlastAllocator.h</a>"</code><br> -<code>#include "PsHashMap.h"</code><br> - -<p> -<a href="_nv_blast_hash_map_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html">Nv::Blast::HashMap< Key, Value, HashFn ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_hash_set_8h-source.html b/docs/api_docs/files/_nv_blast_hash_set_8h-source.html deleted file mode 100644 index 343acc4..0000000 --- a/docs/api_docs/files/_nv_blast_hash_set_8h-source.html +++ /dev/null @@ -1,79 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastHashSet.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastHashSet.h</h1><a href="_nv_blast_hash_set_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTHASHSET_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTHASHSET_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_allocator_8h.html">NvBlastAllocator.h</a>"</span> -<a name="l00034"></a>00034 <span class="preprocessor">#include "PsHashSet.h"</span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="keyword">namespace </span>Nv -<a name="l00037"></a>00037 { -<a name="l00038"></a>00038 <span class="keyword">namespace </span>Blast -<a name="l00039"></a>00039 { -<a name="l00040"></a>00040 -<a name="l00044"></a>00044 <span class="keyword">template</span> <<span class="keyword">class</span> Key, <span class="keyword">class</span> HashFn = physx::shdfnd::Hash<Key>> -<a name="l00045"></a><a class="code" href="struct_nv_1_1_blast_1_1_hash_set.html">00045</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_hash_set.html">HashSet</a> -<a name="l00046"></a>00046 { -<a name="l00047"></a><a class="code" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">00047</a> <span class="keyword">typedef</span> physx::shdfnd::HashSet<Key, HashFn, Allocator> <a class="code" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">type</a>; -<a name="l00048"></a>00048 }; -<a name="l00049"></a>00049 -<a name="l00050"></a>00050 } <span class="comment">// namespace Blast</span> -<a name="l00051"></a>00051 } <span class="comment">// namespace Nv</span> -<a name="l00052"></a>00052 -<a name="l00053"></a>00053 -<a name="l00054"></a>00054 <span class="preprocessor">#endif // #ifndef NVBLASTHASHSET_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_hash_set_8h.html b/docs/api_docs/files/_nv_blast_hash_set_8h.html deleted file mode 100644 index f16cbb9..0000000 --- a/docs/api_docs/files/_nv_blast_hash_set_8h.html +++ /dev/null @@ -1,44 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastHashSet.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastHashSet.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_allocator_8h-source.html">NvBlastAllocator.h</a>"</code><br> -<code>#include "PsHashSet.h"</code><br> - -<p> -<a href="_nv_blast_hash_set_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html">Nv::Blast::HashSet< Key, HashFn ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_include_windows_8h-source.html b/docs/api_docs/files/_nv_blast_include_windows_8h-source.html deleted file mode 100644 index abdbf78..0000000 --- a/docs/api_docs/files/_nv_blast_include_windows_8h-source.html +++ /dev/null @@ -1,131 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastIncludeWindows.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastIncludeWindows.h</h1><a href="_nv_blast_include_windows_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTINCLUDEWINDOWS_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTINCLUDEWINDOWS_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#ifndef _WINDOWS_ // windows already included if this is defined</span> -<a name="l00033"></a>00033 <span class="preprocessor"></span> -<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="_nv_blast_preprocessor_8h.html">NvBlastPreprocessor.h</a>"</span> -<a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="preprocessor">#ifndef _WIN32</span> -<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#error "This file should only be included by Windows builds!!"</span> -<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00039"></a>00039 <span class="preprocessor"></span> -<a name="l00040"></a>00040 <span class="comment">// We only support >= Windows XP, and we need this for critical section and</span> -<a name="l00041"></a>00041 <span class="preprocessor">#if !NV_WINRT</span> -<a name="l00042"></a><a class="code" href="_nv_blast_include_windows_8h.html#c50762666aa00bd3a4308158510f1748">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define _WIN32_WINNT 0x0501</span> -<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#else</span> -<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#define _WIN32_WINNT 0x0602</span> -<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00046"></a>00046 <span class="preprocessor"></span> -<a name="l00047"></a>00047 <span class="comment">// turn off as much as we can for windows. All we really need is the thread functions(critical sections/Interlocked*</span> -<a name="l00048"></a>00048 <span class="comment">// etc)</span> -<a name="l00049"></a><a class="code" href="_nv_blast_include_windows_8h.html#8effd0655f96cc25e57c0b348669df7b">00049</a> <span class="preprocessor">#define NOGDICAPMASKS</span> -<a name="l00050"></a><a class="code" href="_nv_blast_include_windows_8h.html#c5ff788cb8638ce5daf99e586083eef2">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define NOVIRTUALKEYCODES</span> -<a name="l00051"></a><a class="code" href="_nv_blast_include_windows_8h.html#90d30d395de13a4f31a42b4066cfbb68">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define NOWINMESSAGES</span> -<a name="l00052"></a><a class="code" href="_nv_blast_include_windows_8h.html#22c56a31990574a86b40f60b6073cdba">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define NOWINSTYLES</span> -<a name="l00053"></a><a class="code" href="_nv_blast_include_windows_8h.html#ea709a8ba0a7d510cefcf625fdb3b4b1">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define NOSYSMETRICS</span> -<a name="l00054"></a><a class="code" href="_nv_blast_include_windows_8h.html#15dd7444df67d292b83dc869d6e4b417">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMENUS</span> -<a name="l00055"></a><a class="code" href="_nv_blast_include_windows_8h.html#8b8c544b2e9e3359de25f7d89f4f5de9">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define NOICONS</span> -<a name="l00056"></a><a class="code" href="_nv_blast_include_windows_8h.html#6f4a8b3fe02f55fd022b91b3a965e15c">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define NOKEYSTATES</span> -<a name="l00057"></a><a class="code" href="_nv_blast_include_windows_8h.html#271ce221dc9c5c8887d443008b3d718c">00057</a> <span class="preprocessor"></span><span class="preprocessor">#define NOSYSCOMMANDS</span> -<a name="l00058"></a><a class="code" href="_nv_blast_include_windows_8h.html#0293d1b2742d9c9ef401d75a55b81859">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define NORASTEROPS</span> -<a name="l00059"></a><a class="code" href="_nv_blast_include_windows_8h.html#b2dcc39e73a373330467f5f503c779d3">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define NOSHOWWINDOW</span> -<a name="l00060"></a><a class="code" href="_nv_blast_include_windows_8h.html#a59dc3d2c7dc2ec85638761aeb2d50f7">00060</a> <span class="preprocessor"></span><span class="preprocessor">#define NOATOM</span> -<a name="l00061"></a><a class="code" href="_nv_blast_include_windows_8h.html#2e4c78354db40d44bea894e472550c11">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define NOCLIPBOARD</span> -<a name="l00062"></a><a class="code" href="_nv_blast_include_windows_8h.html#d99d89815bdc61acfe8744c41c96e637">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define NOCOLOR</span> -<a name="l00063"></a><a class="code" href="_nv_blast_include_windows_8h.html#679a4dcdfeb97910576cff8452efb28e">00063</a> <span class="preprocessor"></span><span class="preprocessor">#define NOCTLMGR</span> -<a name="l00064"></a><a class="code" href="_nv_blast_include_windows_8h.html#5ceb8b3e84824f87cae315091546e67f">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define NODRAWTEXT</span> -<a name="l00065"></a><a class="code" href="_nv_blast_include_windows_8h.html#2bedaca1c6ca66de2397772910fbe140">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define NOGDI</span> -<a name="l00066"></a><a class="code" href="_nv_blast_include_windows_8h.html#8bd3112472ae1e33be8faf5294230948">00066</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMB</span> -<a name="l00067"></a><a class="code" href="_nv_blast_include_windows_8h.html#8b2f514658ba28ae0ea3b8b96edf520e">00067</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMEMMGR</span> -<a name="l00068"></a><a class="code" href="_nv_blast_include_windows_8h.html#37618c72c08b2464576612b2ac595b30">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMETAFILE</span> -<a name="l00069"></a><a class="code" href="_nv_blast_include_windows_8h.html#9f918755b601cf4bffca775992e6fb90">00069</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMINMAX</span> -<a name="l00070"></a><a class="code" href="_nv_blast_include_windows_8h.html#2d7186e4a6dfcc0011461ce1e8b70a05">00070</a> <span class="preprocessor"></span><span class="preprocessor">#define NOOPENFILE</span> -<a name="l00071"></a><a class="code" href="_nv_blast_include_windows_8h.html#06f62f70cab65b4c19972202f784e12d">00071</a> <span class="preprocessor"></span><span class="preprocessor">#define NOSCROLL</span> -<a name="l00072"></a><a class="code" href="_nv_blast_include_windows_8h.html#14ac98af6281e748377693d824e41ca9">00072</a> <span class="preprocessor"></span><span class="preprocessor">#define NOSERVICE</span> -<a name="l00073"></a><a class="code" href="_nv_blast_include_windows_8h.html#f40cddcc88a6ebeed4f75d4bbbed195e">00073</a> <span class="preprocessor"></span><span class="preprocessor">#define NOSOUND</span> -<a name="l00074"></a><a class="code" href="_nv_blast_include_windows_8h.html#7d6ea5ce712ed1d05533cf8ebf38d880">00074</a> <span class="preprocessor"></span><span class="preprocessor">#define NOTEXTMETRIC</span> -<a name="l00075"></a><a class="code" href="_nv_blast_include_windows_8h.html#ac388bb1bd11a9a15b594321658ae233">00075</a> <span class="preprocessor"></span><span class="preprocessor">#define NOWH</span> -<a name="l00076"></a><a class="code" href="_nv_blast_include_windows_8h.html#964a6e23899e4f0b1886d86b1981545d">00076</a> <span class="preprocessor"></span><span class="preprocessor">#define NOWINOFFSETS</span> -<a name="l00077"></a><a class="code" href="_nv_blast_include_windows_8h.html#2ee511fa2fd29a9a1f0efbcb2c364b8f">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define NOCOMM</span> -<a name="l00078"></a><a class="code" href="_nv_blast_include_windows_8h.html#0958eca070bb77eddff0a604acda46f2">00078</a> <span class="preprocessor"></span><span class="preprocessor">#define NOKANJI</span> -<a name="l00079"></a><a class="code" href="_nv_blast_include_windows_8h.html#34c6896a3b5f4079b3539fb8118be1d5">00079</a> <span class="preprocessor"></span><span class="preprocessor">#define NOHELP</span> -<a name="l00080"></a><a class="code" href="_nv_blast_include_windows_8h.html#f883320ccbc88fe5ff2d8733ec0a034f">00080</a> <span class="preprocessor"></span><span class="preprocessor">#define NOPROFILER</span> -<a name="l00081"></a><a class="code" href="_nv_blast_include_windows_8h.html#348ad07df4aceda9097d9497b78bccd9">00081</a> <span class="preprocessor"></span><span class="preprocessor">#define NODEFERWINDOWPOS</span> -<a name="l00082"></a><a class="code" href="_nv_blast_include_windows_8h.html#256fe1caeb996b1142c3eb51097fef0e">00082</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMCX</span> -<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#ifndef WIN32_LEAN_AND_MEAN</span> -<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define WIN32_LEAN_AND_MEAN</span> -<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#if !NV_WINRT</span> -<a name="l00087"></a><a class="code" href="_nv_blast_include_windows_8h.html#73886ff6a915a4a92e3ade13eba71f6d">00087</a> <span class="preprocessor"></span><span class="preprocessor">#define NOUSER</span> -<a name="l00088"></a><a class="code" href="_nv_blast_include_windows_8h.html#52be9abe7ca69b513aa7e975284d4f67">00088</a> <span class="preprocessor"></span><span class="preprocessor">#define NONLS</span> -<a name="l00089"></a><a class="code" href="_nv_blast_include_windows_8h.html#1f4e51b89381cd3aecebd55bd4d700b6">00089</a> <span class="preprocessor"></span><span class="preprocessor">#define NOMSG</span> -<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00091"></a>00091 <span class="preprocessor"></span> -<a name="l00092"></a>00092 <span class="preprocessor">#pragma warning(push)</span> -<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable : 4668) //'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives'</span> -<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#include <windows.h></span> -<a name="l00095"></a>00095 <span class="preprocessor">#pragma warning(pop)</span> -<a name="l00096"></a>00096 <span class="preprocessor"></span> -<a name="l00097"></a>00097 <span class="preprocessor">#if NV_SSE2</span> -<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#include <xmmintrin.h></span> -<a name="l00099"></a>00099 <span class="preprocessor">#endif</span> -<a name="l00100"></a>00100 <span class="preprocessor"></span> -<a name="l00101"></a>00101 <span class="preprocessor">#endif // #ifndef _WINDOWS_</span> -<a name="l00102"></a>00102 <span class="preprocessor"></span> -<a name="l00103"></a>00103 <span class="preprocessor">#endif // #ifndef NVBLASTINCLUDEWINDOWS_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_include_windows_8h.html b/docs/api_docs/files/_nv_blast_include_windows_8h.html deleted file mode 100644 index 5cefe11..0000000 --- a/docs/api_docs/files/_nv_blast_include_windows_8h.html +++ /dev/null @@ -1,684 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastIncludeWindows.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastIncludeWindows.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_preprocessor_8h-source.html">NvBlastPreprocessor.h</a>"</code><br> -<code>#include <windows.h></code><br> - -<p> -<a href="_nv_blast_include_windows_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#c50762666aa00bd3a4308158510f1748">_WIN32_WINNT</a> 0x0501</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#a59dc3d2c7dc2ec85638761aeb2d50f7">NOATOM</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#2e4c78354db40d44bea894e472550c11">NOCLIPBOARD</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#d99d89815bdc61acfe8744c41c96e637">NOCOLOR</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#2ee511fa2fd29a9a1f0efbcb2c364b8f">NOCOMM</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#679a4dcdfeb97910576cff8452efb28e">NOCTLMGR</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#348ad07df4aceda9097d9497b78bccd9">NODEFERWINDOWPOS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#5ceb8b3e84824f87cae315091546e67f">NODRAWTEXT</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#2bedaca1c6ca66de2397772910fbe140">NOGDI</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#8effd0655f96cc25e57c0b348669df7b">NOGDICAPMASKS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#34c6896a3b5f4079b3539fb8118be1d5">NOHELP</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#8b8c544b2e9e3359de25f7d89f4f5de9">NOICONS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#0958eca070bb77eddff0a604acda46f2">NOKANJI</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#6f4a8b3fe02f55fd022b91b3a965e15c">NOKEYSTATES</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#8bd3112472ae1e33be8faf5294230948">NOMB</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#256fe1caeb996b1142c3eb51097fef0e">NOMCX</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#8b2f514658ba28ae0ea3b8b96edf520e">NOMEMMGR</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#15dd7444df67d292b83dc869d6e4b417">NOMENUS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#37618c72c08b2464576612b2ac595b30">NOMETAFILE</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#9f918755b601cf4bffca775992e6fb90">NOMINMAX</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#1f4e51b89381cd3aecebd55bd4d700b6">NOMSG</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#52be9abe7ca69b513aa7e975284d4f67">NONLS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#2d7186e4a6dfcc0011461ce1e8b70a05">NOOPENFILE</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#f883320ccbc88fe5ff2d8733ec0a034f">NOPROFILER</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#0293d1b2742d9c9ef401d75a55b81859">NORASTEROPS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#06f62f70cab65b4c19972202f784e12d">NOSCROLL</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#14ac98af6281e748377693d824e41ca9">NOSERVICE</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#b2dcc39e73a373330467f5f503c779d3">NOSHOWWINDOW</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#f40cddcc88a6ebeed4f75d4bbbed195e">NOSOUND</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#271ce221dc9c5c8887d443008b3d718c">NOSYSCOMMANDS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#ea709a8ba0a7d510cefcf625fdb3b4b1">NOSYSMETRICS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#7d6ea5ce712ed1d05533cf8ebf38d880">NOTEXTMETRIC</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#73886ff6a915a4a92e3ade13eba71f6d">NOUSER</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#c5ff788cb8638ce5daf99e586083eef2">NOVIRTUALKEYCODES</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#ac388bb1bd11a9a15b594321658ae233">NOWH</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#90d30d395de13a4f31a42b4066cfbb68">NOWINMESSAGES</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#964a6e23899e4f0b1886d86b1981545d">NOWINOFFSETS</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_include_windows_8h.html#22c56a31990574a86b40f60b6073cdba">NOWINSTYLES</a></td></tr> - -</table> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="c50762666aa00bd3a4308158510f1748"></a><!-- doxytag: member="NvBlastIncludeWindows.h::_WIN32_WINNT" ref="c50762666aa00bd3a4308158510f1748" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define _WIN32_WINNT 0x0501 </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="a59dc3d2c7dc2ec85638761aeb2d50f7"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOATOM" ref="a59dc3d2c7dc2ec85638761aeb2d50f7" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOATOM </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2e4c78354db40d44bea894e472550c11"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOCLIPBOARD" ref="2e4c78354db40d44bea894e472550c11" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOCLIPBOARD </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="d99d89815bdc61acfe8744c41c96e637"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOCOLOR" ref="d99d89815bdc61acfe8744c41c96e637" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOCOLOR </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2ee511fa2fd29a9a1f0efbcb2c364b8f"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOCOMM" ref="2ee511fa2fd29a9a1f0efbcb2c364b8f" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOCOMM </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="679a4dcdfeb97910576cff8452efb28e"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOCTLMGR" ref="679a4dcdfeb97910576cff8452efb28e" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOCTLMGR </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="348ad07df4aceda9097d9497b78bccd9"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NODEFERWINDOWPOS" ref="348ad07df4aceda9097d9497b78bccd9" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NODEFERWINDOWPOS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="5ceb8b3e84824f87cae315091546e67f"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NODRAWTEXT" ref="5ceb8b3e84824f87cae315091546e67f" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NODRAWTEXT </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2bedaca1c6ca66de2397772910fbe140"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOGDI" ref="2bedaca1c6ca66de2397772910fbe140" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOGDI </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="8effd0655f96cc25e57c0b348669df7b"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOGDICAPMASKS" ref="8effd0655f96cc25e57c0b348669df7b" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOGDICAPMASKS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="34c6896a3b5f4079b3539fb8118be1d5"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOHELP" ref="34c6896a3b5f4079b3539fb8118be1d5" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOHELP </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="8b8c544b2e9e3359de25f7d89f4f5de9"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOICONS" ref="8b8c544b2e9e3359de25f7d89f4f5de9" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOICONS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="0958eca070bb77eddff0a604acda46f2"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOKANJI" ref="0958eca070bb77eddff0a604acda46f2" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOKANJI </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="6f4a8b3fe02f55fd022b91b3a965e15c"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOKEYSTATES" ref="6f4a8b3fe02f55fd022b91b3a965e15c" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOKEYSTATES </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="8bd3112472ae1e33be8faf5294230948"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMB" ref="8bd3112472ae1e33be8faf5294230948" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMB </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="256fe1caeb996b1142c3eb51097fef0e"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMCX" ref="256fe1caeb996b1142c3eb51097fef0e" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMCX </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="8b2f514658ba28ae0ea3b8b96edf520e"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMEMMGR" ref="8b2f514658ba28ae0ea3b8b96edf520e" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMEMMGR </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="15dd7444df67d292b83dc869d6e4b417"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMENUS" ref="15dd7444df67d292b83dc869d6e4b417" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMENUS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="37618c72c08b2464576612b2ac595b30"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMETAFILE" ref="37618c72c08b2464576612b2ac595b30" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMETAFILE </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="9f918755b601cf4bffca775992e6fb90"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMINMAX" ref="9f918755b601cf4bffca775992e6fb90" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMINMAX </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="1f4e51b89381cd3aecebd55bd4d700b6"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOMSG" ref="1f4e51b89381cd3aecebd55bd4d700b6" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOMSG </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="52be9abe7ca69b513aa7e975284d4f67"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NONLS" ref="52be9abe7ca69b513aa7e975284d4f67" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NONLS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2d7186e4a6dfcc0011461ce1e8b70a05"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOOPENFILE" ref="2d7186e4a6dfcc0011461ce1e8b70a05" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOOPENFILE </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="f883320ccbc88fe5ff2d8733ec0a034f"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOPROFILER" ref="f883320ccbc88fe5ff2d8733ec0a034f" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOPROFILER </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="0293d1b2742d9c9ef401d75a55b81859"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NORASTEROPS" ref="0293d1b2742d9c9ef401d75a55b81859" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NORASTEROPS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="06f62f70cab65b4c19972202f784e12d"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOSCROLL" ref="06f62f70cab65b4c19972202f784e12d" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOSCROLL </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="14ac98af6281e748377693d824e41ca9"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOSERVICE" ref="14ac98af6281e748377693d824e41ca9" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOSERVICE </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="b2dcc39e73a373330467f5f503c779d3"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOSHOWWINDOW" ref="b2dcc39e73a373330467f5f503c779d3" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOSHOWWINDOW </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="f40cddcc88a6ebeed4f75d4bbbed195e"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOSOUND" ref="f40cddcc88a6ebeed4f75d4bbbed195e" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOSOUND </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="271ce221dc9c5c8887d443008b3d718c"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOSYSCOMMANDS" ref="271ce221dc9c5c8887d443008b3d718c" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOSYSCOMMANDS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="ea709a8ba0a7d510cefcf625fdb3b4b1"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOSYSMETRICS" ref="ea709a8ba0a7d510cefcf625fdb3b4b1" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOSYSMETRICS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="7d6ea5ce712ed1d05533cf8ebf38d880"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOTEXTMETRIC" ref="7d6ea5ce712ed1d05533cf8ebf38d880" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOTEXTMETRIC </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="73886ff6a915a4a92e3ade13eba71f6d"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOUSER" ref="73886ff6a915a4a92e3ade13eba71f6d" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOUSER </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="c5ff788cb8638ce5daf99e586083eef2"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOVIRTUALKEYCODES" ref="c5ff788cb8638ce5daf99e586083eef2" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOVIRTUALKEYCODES </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="ac388bb1bd11a9a15b594321658ae233"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOWH" ref="ac388bb1bd11a9a15b594321658ae233" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOWH </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="90d30d395de13a4f31a42b4066cfbb68"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOWINMESSAGES" ref="90d30d395de13a4f31a42b4066cfbb68" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOWINMESSAGES </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="964a6e23899e4f0b1886d86b1981545d"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOWINOFFSETS" ref="964a6e23899e4f0b1886d86b1981545d" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOWINOFFSETS </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="22c56a31990574a86b40f60b6073cdba"></a><!-- doxytag: member="NvBlastIncludeWindows.h::NOWINSTYLES" ref="22c56a31990574a86b40f60b6073cdba" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NOWINSTYLES </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_index_fns_8h-source.html b/docs/api_docs/files/_nv_blast_index_fns_8h-source.html deleted file mode 100644 index 15d2d51..0000000 --- a/docs/api_docs/files/_nv_blast_index_fns_8h-source.html +++ /dev/null @@ -1,127 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastIndexFns.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastIndexFns.h</h1><a href="_nv_blast_index_fns_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-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTINDEXFNS_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTINDEXFNS_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_types_8h.html">NvBlastTypes.h</a>"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 <span class="preprocessor">#include <cstring></span> -<a name="l00036"></a>00036 -<a name="l00037"></a>00037 -<a name="l00038"></a>00038 <span class="keyword">namespace </span>Nv -<a name="l00039"></a>00039 { -<a name="l00040"></a>00040 <span class="keyword">namespace </span>Blast -<a name="l00041"></a>00041 { -<a name="l00042"></a>00042 -<a name="l00046"></a>00046 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00047"></a><a class="code" href="namespace_nv_1_1_blast.html#c1fa2bac8c635169faa133e5de246da9">00047</a> NV_INLINE T <a class="code" href="namespace_nv_1_1_blast.html#c1fa2bac8c635169faa133e5de246da9">invalidIndex</a>() -<a name="l00048"></a>00048 { -<a name="l00049"></a>00049 <span class="keywordflow">return</span> ~(T)0; -<a name="l00050"></a>00050 } -<a name="l00051"></a>00051 -<a name="l00052"></a>00052 -<a name="l00056"></a>00056 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00057"></a><a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">00057</a> NV_INLINE <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(T index) -<a name="l00058"></a>00058 { -<a name="l00059"></a>00059 <span class="keywordflow">return</span> index == invalidIndex<T>(); -<a name="l00060"></a>00060 } -<a name="l00061"></a>00061 -<a name="l00062"></a>00062 -<a name="l00095"></a>00095 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00096"></a><a class="code" href="namespace_nv_1_1_blast.html#97fb8332eab5d39661e80f1c4359ca28">00096</a> <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast.html#97fb8332eab5d39661e80f1c4359ca28">createIndexStartLookup</a>(T* lookup, T indexBase, T indexRange, T* indexSource, T indexCount, T indexByteStride) -<a name="l00097"></a>00097 { -<a name="l00098"></a>00098 ++indexBase; <span class="comment">// Ordering invalidIndex<T>() as lowest value</span> -<a name="l00099"></a>00099 T indexPos = 0; -<a name="l00100"></a>00100 <span class="keywordflow">for</span> (T i = 0; i <= indexRange; ++i) -<a name="l00101"></a>00101 { -<a name="l00102"></a>00102 <span class="keywordflow">for</span> (; indexPos < indexCount; ++indexPos, indexSource = (T*)((uintptr_t)indexSource + indexByteStride)) -<a name="l00103"></a>00103 { -<a name="l00104"></a>00104 <span class="keywordflow">if</span> (*indexSource + 1 >= i + indexBase) <span class="comment">// +1 to order invalidIndex<T>() as lowest value</span> -<a name="l00105"></a>00105 { -<a name="l00106"></a>00106 lookup[i] = indexPos; -<a name="l00107"></a>00107 <span class="keywordflow">break</span>; -<a name="l00108"></a>00108 } -<a name="l00109"></a>00109 } -<a name="l00110"></a>00110 <span class="keywordflow">if</span> (indexPos == indexCount) -<a name="l00111"></a>00111 { -<a name="l00112"></a>00112 lookup[i] = indexPos; -<a name="l00113"></a>00113 } -<a name="l00114"></a>00114 } -<a name="l00115"></a>00115 lookup[indexRange + 1] = indexCount; -<a name="l00116"></a>00116 } -<a name="l00117"></a>00117 -<a name="l00118"></a>00118 -<a name="l00127"></a>00127 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00128"></a><a class="code" href="namespace_nv_1_1_blast.html#b0cb52654c117f03fb31826ce2747bfa">00128</a> <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast.html#b0cb52654c117f03fb31826ce2747bfa">invertMap</a>(T* inverseMap, <span class="keyword">const</span> T* map, <span class="keyword">const</span> T size) -<a name="l00129"></a>00129 { -<a name="l00130"></a>00130 memset(inverseMap, invalidIndex<T>(), size*<span class="keyword">sizeof</span>(T)); -<a name="l00131"></a>00131 -<a name="l00132"></a>00132 <span class="keywordflow">for</span> (T i = 0; i < size; i++) -<a name="l00133"></a>00133 { -<a name="l00134"></a>00134 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(map[i])) -<a name="l00135"></a>00135 { -<a name="l00136"></a>00136 inverseMap[map[i]] = i; -<a name="l00137"></a>00137 } -<a name="l00138"></a>00138 } -<a name="l00139"></a>00139 } -<a name="l00140"></a>00140 -<a name="l00141"></a>00141 } <span class="comment">// end namespace Blast</span> -<a name="l00142"></a>00142 } <span class="comment">// end namespace Nv</span> -<a name="l00143"></a>00143 -<a name="l00144"></a>00144 -<a name="l00145"></a>00145 <span class="preprocessor">#endif // #ifndef NVBLASTINDEXFNS_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_index_fns_8h.html b/docs/api_docs/files/_nv_blast_index_fns_8h.html deleted file mode 100644 index 99e8845..0000000 --- a/docs/api_docs/files/_nv_blast_index_fns_8h.html +++ /dev/null @@ -1,54 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastIndexFns.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastIndexFns.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_types_8h-source.html">NvBlastTypes.h</a>"</code><br> -<code>#include <cstring></code><br> - -<p> -<a href="_nv_blast_index_fns_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></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="namespace_nv_1_1_blast.html#97fb8332eab5d39661e80f1c4359ca28">Nv::Blast::createIndexStartLookup</a> (T *lookup, T indexBase, T indexRange, T *indexSource, T indexCount, T indexByteStride)</td></tr> - -<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> -<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NV_INLINE T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#c1fa2bac8c635169faa133e5de246da9">Nv::Blast::invalidIndex</a> ()</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="namespace_nv_1_1_blast.html#b0cb52654c117f03fb31826ce2747bfa">Nv::Blast::invertMap</a> (T *inverseMap, const T *map, const T size)</td></tr> - -<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> -<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NV_INLINE bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">Nv::Blast::isInvalidIndex</a> (T index)</td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_iterator_base_8h-source.html b/docs/api_docs/files/_nv_blast_iterator_base_8h-source.html deleted file mode 100644 index 914f01a..0000000 --- a/docs/api_docs/files/_nv_blast_iterator_base_8h-source.html +++ /dev/null @@ -1,163 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastIteratorBase.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastIteratorBase.h</h1><a href="_nv_blast_iterator_base_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTITERATORBASE_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTITERATORBASE_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="_nv_blast_index_fns_8h.html">NvBlastIndexFns.h</a>"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 <span class="keyword">namespace </span>Nv -<a name="l00036"></a>00036 { -<a name="l00037"></a>00037 <span class="keyword">namespace </span>Blast -<a name="l00038"></a>00038 { -<a name="l00039"></a>00039 -<a name="l00044"></a>00044 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00045"></a><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html">00045</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a> -<a name="l00046"></a>00046 { -<a name="l00047"></a>00047 <span class="keyword">public</span>: -<a name="l00049"></a>00049 <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">IteratorBase</a>(T curr); -<a name="l00050"></a>00050 -<a name="l00052"></a>00052 operator bool() <span class="keyword">const</span>; -<a name="l00053"></a>00053 -<a name="l00055"></a>00055 operator T() <span class="keyword">const</span>; -<a name="l00056"></a>00056 -<a name="l00057"></a>00057 <span class="keyword">protected</span>: -<a name="l00058"></a><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">00058</a> T <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a>; -<a name="l00059"></a>00059 }; -<a name="l00060"></a>00060 -<a name="l00061"></a>00061 -<a name="l00063"></a>00063 -<a name="l00064"></a>00064 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00065"></a><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">00065</a> NV_INLINE <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">IteratorBase<T>::IteratorBase</a>(T curr) : m_curr(curr) -<a name="l00066"></a>00066 { -<a name="l00067"></a>00067 } -<a name="l00068"></a>00068 -<a name="l00069"></a>00069 -<a name="l00070"></a>00070 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00071"></a><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#f6daf5c94ead2b074bec7650f0235e8b">00071</a> NV_INLINE <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#f6daf5c94ead2b074bec7650f0235e8b">IteratorBase<T>::operator bool</a>()<span class="keyword"> const</span> -<a name="l00072"></a>00072 <span class="keyword"></span>{ -<a name="l00073"></a>00073 <span class="keywordflow">return</span> !isInvalidIndex<T>(<a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a>); -<a name="l00074"></a>00074 } -<a name="l00075"></a>00075 -<a name="l00076"></a>00076 -<a name="l00077"></a>00077 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00078"></a><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#75a83bbefad5418305d4e983189e0ba6">00078</a> NV_INLINE <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#75a83bbefad5418305d4e983189e0ba6">IteratorBase<T>::operator T</a>()<span class="keyword"> const</span> -<a name="l00079"></a>00079 <span class="keyword"></span>{ -<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a>; -<a name="l00081"></a>00081 } -<a name="l00082"></a>00082 -<a name="l00083"></a>00083 -<a name="l00087"></a>00087 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00088"></a><a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html">00088</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html">LListIt</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a><IndexType> -<a name="l00089"></a>00089 { -<a name="l00090"></a>00090 <span class="keyword">public</span>: -<a name="l00091"></a>00091 <a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#cf0e8a4a9231c9dacdc8e1a4d9c25e48">LListIt</a>(IndexType curr, IndexType* links); -<a name="l00092"></a>00092 -<a name="l00094"></a>00094 uint32_t <a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#3d9ae2531578e90373775d3f852efd07">operator ++ </a>(); -<a name="l00095"></a>00095 -<a name="l00096"></a>00096 <span class="keyword">protected</span>: -<a name="l00097"></a><a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#69636ed35620c0e9183cbf365672116d">00097</a> IndexType* <a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#69636ed35620c0e9183cbf365672116d">m_links</a>; -<a name="l00098"></a>00098 }; -<a name="l00099"></a>00099 -<a name="l00100"></a>00100 -<a name="l00102"></a>00102 -<a name="l00103"></a>00103 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00104"></a><a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#cf0e8a4a9231c9dacdc8e1a4d9c25e48">00104</a> NV_INLINE <a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#cf0e8a4a9231c9dacdc8e1a4d9c25e48">LListIt<IndexType>::LListIt</a>(IndexType curr, IndexType* links) : <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a><IndexType>(curr), m_links(links) -<a name="l00105"></a>00105 { -<a name="l00106"></a>00106 } -<a name="l00107"></a>00107 -<a name="l00108"></a>00108 -<a name="l00109"></a>00109 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00110"></a><a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#3d9ae2531578e90373775d3f852efd07">00110</a> NV_INLINE uint32_t <a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#3d9ae2531578e90373775d3f852efd07">LListIt<IndexType>::operator ++ </a>() -<a name="l00111"></a>00111 { -<a name="l00112"></a>00112 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((<span class="keywordtype">bool</span>)(*<span class="keyword">this</span>)); -<a name="l00113"></a>00113 <span class="keywordflow">return</span> (this-><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a> = <a class="code" href="class_nv_1_1_blast_1_1_l_list_it.html#69636ed35620c0e9183cbf365672116d">m_links</a>[this-><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a>]); -<a name="l00114"></a>00114 } -<a name="l00115"></a>00115 -<a name="l00116"></a>00116 -<a name="l00120"></a>00120 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00121"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html">00121</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html">DListIt</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a><IndexType> -<a name="l00122"></a>00122 { -<a name="l00123"></a>00123 <span class="keyword">public</span>: -<a name="l00124"></a>00124 <a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#6d587e353b6ae1e61c4654cdc770064a">DListIt</a>(IndexType curr, <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links); -<a name="l00125"></a>00125 -<a name="l00127"></a>00127 uint32_t <a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#455d7a1962fc054d4dea3203234eb677">operator ++ </a>(); -<a name="l00128"></a>00128 -<a name="l00129"></a>00129 <span class="keyword">protected</span>: -<a name="l00130"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#a453f366251c68ef44755eab19c47cd4">00130</a> <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* <a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#a453f366251c68ef44755eab19c47cd4">m_links</a>; -<a name="l00131"></a>00131 }; -<a name="l00132"></a>00132 -<a name="l00133"></a>00133 -<a name="l00135"></a>00135 -<a name="l00136"></a>00136 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00137"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#6d587e353b6ae1e61c4654cdc770064a">00137</a> NV_INLINE <a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#6d587e353b6ae1e61c4654cdc770064a">DListIt<IndexType>::DListIt</a>(IndexType curr, <a class="code" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink<IndexType></a>* links) : <a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a><IndexType>(curr), m_links(links) -<a name="l00138"></a>00138 { -<a name="l00139"></a>00139 } -<a name="l00140"></a>00140 -<a name="l00141"></a>00141 -<a name="l00142"></a>00142 <span class="keyword">template</span><<span class="keyword">typename</span> IndexType> -<a name="l00143"></a><a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#455d7a1962fc054d4dea3203234eb677">00143</a> NV_INLINE uint32_t <a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#455d7a1962fc054d4dea3203234eb677">DListIt<IndexType>::operator ++ </a>() -<a name="l00144"></a>00144 { -<a name="l00145"></a>00145 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((<span class="keywordtype">bool</span>)(*<span class="keyword">this</span>)); -<a name="l00146"></a>00146 <span class="keywordflow">return</span> (this-><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a> = <a class="code" href="class_nv_1_1_blast_1_1_d_list_it.html#a453f366251c68ef44755eab19c47cd4">m_links</a>[this-><a class="code" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a>].m_adj[1]); -<a name="l00147"></a>00147 } -<a name="l00148"></a>00148 -<a name="l00149"></a>00149 } <span class="comment">// end namespace Blast</span> -<a name="l00150"></a>00150 } <span class="comment">// end namespace Nv</span> -<a name="l00151"></a>00151 -<a name="l00152"></a>00152 -<a name="l00153"></a>00153 <span class="preprocessor">#endif // #ifndef NVBLASTITERATORBASE_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_iterator_base_8h.html b/docs/api_docs/files/_nv_blast_iterator_base_8h.html deleted file mode 100644 index 1e0654e..0000000 --- a/docs/api_docs/files/_nv_blast_iterator_base_8h.html +++ /dev/null @@ -1,47 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastIteratorBase.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastIteratorBase.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_index_fns_8h-source.html">NvBlastIndexFns.h</a>"</code><br> - -<p> -<a href="_nv_blast_iterator_base_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt< IndexType ></a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< T ></a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt< IndexType ></a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_math_8h-source.html b/docs/api_docs/files/_nv_blast_math_8h-source.html deleted file mode 100644 index e6ea4b6..0000000 --- a/docs/api_docs/files/_nv_blast_math_8h-source.html +++ /dev/null @@ -1,137 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastMath.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastMath.h</h1><a href="_nv_blast_math_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTMATH_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTMATH_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include <math.h></span> -<a name="l00033"></a>00033 -<a name="l00034"></a>00034 <span class="keyword">namespace </span>Nv -<a name="l00035"></a>00035 { -<a name="l00036"></a>00036 <span class="keyword">namespace </span>Blast -<a name="l00037"></a>00037 { -<a name="l00038"></a>00038 -<a name="l00039"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html">00039</a> <span class="keyword">namespace </span>VecMath -<a name="l00040"></a>00040 { -<a name="l00041"></a>00041 -<a name="l00042"></a>00042 -<a name="l00043"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#171cbcf9510fa3804c56ecfcf78da929">00043</a> NV_INLINE <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#171cbcf9510fa3804c56ecfcf78da929">div</a>(<span class="keywordtype">float</span> a[3], <span class="keywordtype">float</span> divisor) -<a name="l00044"></a>00044 { -<a name="l00045"></a>00045 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00046"></a>00046 a[i] /= divisor; -<a name="l00047"></a>00047 } -<a name="l00048"></a>00048 -<a name="l00049"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#258a9333f07d3c54170aa74b90366e73">00049</a> NV_INLINE <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#258a9333f07d3c54170aa74b90366e73">mul</a>(<span class="keywordtype">float</span> a[3], <span class="keywordtype">float</span> multiplier) -<a name="l00050"></a>00050 { -<a name="l00051"></a>00051 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00052"></a>00052 a[i] *= multiplier; -<a name="l00053"></a>00053 } -<a name="l00054"></a>00054 -<a name="l00055"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#40a71c61826702e77bc117fcc005ebf1">00055</a> NV_INLINE <span class="keywordtype">void</span> <span class="keyword">add</span>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3], <span class="keywordtype">float</span> b[3]) -<a name="l00056"></a>00056 { -<a name="l00057"></a>00057 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00058"></a>00058 b[i] = a[i] + b[i]; -<a name="l00059"></a>00059 } -<a name="l00060"></a>00060 -<a name="l00061"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#ff9758a004eaba1c34d93b67cc2372ca">00061</a> NV_INLINE <span class="keywordtype">void</span> <span class="keyword">add</span>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3], <span class="keyword">const</span> <span class="keywordtype">float</span> b[3], <span class="keywordtype">float</span> r[3]) -<a name="l00062"></a>00062 { -<a name="l00063"></a>00063 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00064"></a>00064 r[i] = a[i] + b[i]; -<a name="l00065"></a>00065 } -<a name="l00066"></a>00066 -<a name="l00067"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">00067</a> NV_INLINE <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">sub</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3], <span class="keyword">const</span> <span class="keywordtype">float</span> b[3], <span class="keywordtype">float</span> r[3]) -<a name="l00068"></a>00068 { -<a name="l00069"></a>00069 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00070"></a>00070 r[i] = a[i] - b[i]; -<a name="l00071"></a>00071 } -<a name="l00072"></a>00072 -<a name="l00073"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">00073</a> NV_INLINE <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">dot</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3], <span class="keyword">const</span> <span class="keywordtype">float</span> b[3]) -<a name="l00074"></a>00074 { -<a name="l00075"></a>00075 <span class="keywordtype">float</span> r = 0; -<a name="l00076"></a>00076 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00077"></a>00077 r += a[i] * b[i]; -<a name="l00078"></a>00078 <span class="keywordflow">return</span> r; -<a name="l00079"></a>00079 } -<a name="l00080"></a>00080 -<a name="l00081"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c15bbfd92f50bb69873a3e54281a42c">00081</a> NV_INLINE <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c15bbfd92f50bb69873a3e54281a42c">length</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3]) -<a name="l00082"></a>00082 { -<a name="l00083"></a>00083 <span class="keywordflow">return</span> sqrtf(<a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">dot</a>(a, a)); -<a name="l00084"></a>00084 } -<a name="l00085"></a>00085 -<a name="l00086"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">00086</a> NV_INLINE <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">dist</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3], <span class="keyword">const</span> <span class="keywordtype">float</span> b[3]) -<a name="l00087"></a>00087 { -<a name="l00088"></a>00088 <span class="keywordtype">float</span> v[3]; -<a name="l00089"></a>00089 <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">sub</a>(a, b, v); -<a name="l00090"></a>00090 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c15bbfd92f50bb69873a3e54281a42c">length</a>(v); -<a name="l00091"></a>00091 } -<a name="l00092"></a>00092 -<a name="l00093"></a><a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">00093</a> NV_INLINE <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">normal</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> a[3], <span class="keywordtype">float</span> r[3]) -<a name="l00094"></a>00094 { -<a name="l00095"></a>00095 <span class="keywordtype">float</span> d = <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c15bbfd92f50bb69873a3e54281a42c">length</a>(a); -<a name="l00096"></a>00096 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 3; i++) -<a name="l00097"></a>00097 r[i] = a[i] / d; -<a name="l00098"></a>00098 -<a name="l00099"></a>00099 <span class="keywordflow">return</span> d; -<a name="l00100"></a>00100 } -<a name="l00101"></a>00101 -<a name="l00102"></a>00102 -<a name="l00103"></a>00103 } <span class="comment">// namespace VecMath</span> -<a name="l00104"></a>00104 -<a name="l00105"></a>00105 } <span class="comment">// namespace Blast</span> -<a name="l00106"></a>00106 } <span class="comment">// namespace Nv</span> -<a name="l00107"></a>00107 -<a name="l00108"></a>00108 -<a name="l00109"></a>00109 <span class="preprocessor">#endif // #ifndef NVBLASTMATH_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_math_8h.html b/docs/api_docs/files/_nv_blast_math_8h.html deleted file mode 100644 index 8ebadec..0000000 --- a/docs/api_docs/files/_nv_blast_math_8h.html +++ /dev/null @@ -1,61 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastMath.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastMath.h File Reference</h1><code>#include <math.h></code><br> - -<p> -<a href="_nv_blast_math_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html">Nv::Blast::VecMath</a></td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#ff9758a004eaba1c34d93b67cc2372ca">Nv::Blast::VecMath::add</a> (const float a[3], const float b[3], float r[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#40a71c61826702e77bc117fcc005ebf1">Nv::Blast::VecMath::add</a> (const float a[3], float b[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">Nv::Blast::VecMath::dist</a> (const float a[3], const float b[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#171cbcf9510fa3804c56ecfcf78da929">Nv::Blast::VecMath::div</a> (float a[3], float divisor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">Nv::Blast::VecMath::dot</a> (const float a[3], const float b[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c15bbfd92f50bb69873a3e54281a42c">Nv::Blast::VecMath::length</a> (const float a[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#258a9333f07d3c54170aa74b90366e73">Nv::Blast::VecMath::mul</a> (float a[3], float multiplier)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">Nv::Blast::VecMath::normal</a> (const float a[3], float r[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">Nv::Blast::VecMath::sub</a> (const float a[3], const float b[3], float r[3])</td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_memory_8h-source.html b/docs/api_docs/files/_nv_blast_memory_8h-source.html deleted file mode 100644 index f8b408f..0000000 --- a/docs/api_docs/files/_nv_blast_memory_8h-source.html +++ /dev/null @@ -1,154 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastMemory.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastMemory.h</h1><a href="_nv_blast_memory_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTMEMORY_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTMEMORY_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include <math.h></span> -<a name="l00033"></a>00033 -<a name="l00034"></a>00034 <span class="keyword">namespace </span>Nv -<a name="l00035"></a>00035 { -<a name="l00036"></a>00036 <span class="keyword">namespace </span>Blast -<a name="l00037"></a>00037 { -<a name="l00038"></a>00038 -<a name="l00039"></a>00039 -<a name="l00045"></a>00045 <span class="keyword">template</span><<span class="keyword">typename</span> T> -<a name="l00046"></a><a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">00046</a> NV_INLINE T <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(T value) -<a name="l00047"></a>00047 { -<a name="l00048"></a>00048 <span class="keywordflow">return</span> (value + 0xF)&~(T)0xF; -<a name="l00049"></a>00049 } -<a name="l00050"></a>00050 -<a name="l00051"></a>00051 -<a name="l00054"></a>00054 <span class="keyword">template</span> <<span class="keyword">typename</span> T> -<a name="l00055"></a><a class="code" href="namespace_nv_1_1_blast.html#d1e732d6cd2e5f40a0187f05820e9e7e">00055</a> NV_INLINE T <a class="code" href="namespace_nv_1_1_blast.html#d1e732d6cd2e5f40a0187f05820e9e7e">pointerOffset</a>(<span class="keywordtype">void</span>* p, ptrdiff_t offset) -<a name="l00056"></a>00056 { -<a name="l00057"></a>00057 <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span>T<span class="keyword">></span>(<span class="keyword">reinterpret_cast<</span><span class="keywordtype">char</span>*<span class="keyword">></span>(p)+offset); -<a name="l00058"></a>00058 } -<a name="l00059"></a>00059 -<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> T> -<a name="l00061"></a><a class="code" href="namespace_nv_1_1_blast.html#4dec47108a96068464a694e46a0dc1a2">00061</a> NV_INLINE T <a class="code" href="namespace_nv_1_1_blast.html#d1e732d6cd2e5f40a0187f05820e9e7e">pointerOffset</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p, ptrdiff_t offset) -<a name="l00062"></a>00062 { -<a name="l00063"></a>00063 <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span>T<span class="keyword">></span>(<span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">></span>(p)+offset); -<a name="l00064"></a>00064 } -<a name="l00065"></a>00065 -<a name="l00066"></a>00066 NV_INLINE <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="namespace_nv_1_1_blast.html#d1e732d6cd2e5f40a0187f05820e9e7e">pointerOffset</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p, ptrdiff_t offset) -<a name="l00067"></a>00067 { -<a name="l00068"></a>00068 <span class="keywordflow">return</span> pointerOffset<const void*>(p, offset); -<a name="l00069"></a>00069 } -<a name="l00070"></a>00070 -<a name="l00071"></a>00071 NV_INLINE <span class="keywordtype">void</span>* <a class="code" href="namespace_nv_1_1_blast.html#d1e732d6cd2e5f40a0187f05820e9e7e">pointerOffset</a>(<span class="keywordtype">void</span>* p, ptrdiff_t offset) -<a name="l00072"></a>00072 { -<a name="l00073"></a>00073 <span class="keywordflow">return</span> pointerOffset<void*>(p, offset); -<a name="l00074"></a>00074 } -<a name="l00075"></a>00075 -<a name="l00076"></a>00076 } <span class="comment">// namespace Blast</span> -<a name="l00077"></a>00077 } <span class="comment">// namespace Nv</span> -<a name="l00078"></a>00078 -<a name="l00079"></a>00079 -<a name="l00081"></a><a class="code" href="_nv_blast_memory_8h.html#3421677e17b73e6e0b7e3471fe6ad542">00081</a> <span class="preprocessor">#define NvBlastBlockData(_dataType, _name, _accessor) \</span> -<a name="l00082"></a>00082 <span class="preprocessor">_dataType* _accessor() const \</span> -<a name="l00083"></a>00083 <span class="preprocessor">{ \</span> -<a name="l00084"></a>00084 <span class="preprocessor"> return (_dataType*)((uintptr_t)this + _name); \</span> -<a name="l00085"></a>00085 <span class="preprocessor">} \</span> -<a name="l00086"></a>00086 <span class="preprocessor">uint32_t _name</span> -<a name="l00087"></a>00087 <span class="preprocessor"></span> -<a name="l00088"></a>00088 -<a name="l00090"></a><a class="code" href="_nv_blast_memory_8h.html#44bc8a89246b1e7d824a4dd3a6e08edc">00090</a> <span class="preprocessor">#define NvBlastBlockArrayData(_dataType, _name, _accessor, _sizeExpr) \</span> -<a name="l00091"></a>00091 <span class="preprocessor">_dataType* _accessor() const \</span> -<a name="l00092"></a>00092 <span class="preprocessor">{ \</span> -<a name="l00093"></a>00093 <span class="preprocessor"> return (_dataType*)((uintptr_t)this + _name); \</span> -<a name="l00094"></a>00094 <span class="preprocessor">} \</span> -<a name="l00095"></a>00095 <span class="preprocessor">uint32_t _accessor##ArraySize() const \</span> -<a name="l00096"></a>00096 <span class="preprocessor">{ \</span> -<a name="l00097"></a>00097 <span class="preprocessor"> return _sizeExpr; \</span> -<a name="l00098"></a>00098 <span class="preprocessor">} \</span> -<a name="l00099"></a>00099 <span class="preprocessor">uint32_t _name</span> -<a name="l00100"></a>00100 <span class="preprocessor"></span> -<a name="l00101"></a>00101 -<a name="l00105"></a><a class="code" href="_nv_blast_memory_8h.html#6405c7730b3bae832e1883093fee3d5e">00105</a> <span class="preprocessor">#define NvBlastCreateOffsetStart(_baseOffset) \</span> -<a name="l00106"></a>00106 <span class="preprocessor">size_t _lastOffset = _baseOffset; \</span> -<a name="l00107"></a>00107 <span class="preprocessor">size_t _lastSize = 0</span> -<a name="l00108"></a>00108 <span class="preprocessor"></span> -<a name="l00110"></a><a class="code" href="_nv_blast_memory_8h.html#1a2910b0e69957e23c05e09a3ceb0436">00110</a> <span class="preprocessor">#define NvBlastCreateOffsetAlign16(_name, _size) \</span> -<a name="l00111"></a>00111 <span class="preprocessor">_name = align16(_lastOffset + _lastSize); \</span> -<a name="l00112"></a>00112 <span class="preprocessor">_lastOffset = _name; \</span> -<a name="l00113"></a>00113 <span class="preprocessor">_lastSize = _size</span> -<a name="l00114"></a>00114 <span class="preprocessor"></span> -<a name="l00116"></a><a class="code" href="_nv_blast_memory_8h.html#924f54aafb03fdbd5a49693119fa86c2">00116</a> <span class="preprocessor">#define NvBlastCreateOffsetEndAlign16() \</span> -<a name="l00117"></a>00117 <span class="preprocessor">align16(_lastOffset + _lastSize)</span> -<a name="l00118"></a>00118 <span class="preprocessor"></span> -<a name="l00119"></a>00119 -<a name="l00121"></a>00121 <span class="preprocessor">#if NV_WINDOWS_FAMILY</span> -<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#include <malloc.h></span> -<a name="l00123"></a>00123 <span class="preprocessor">#define NvBlastAlloca(x) _alloca(x)</span> -<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#elif NV_LINUX || NV_ANDROID</span> -<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#include <alloca.h></span> -<a name="l00126"></a>00126 <span class="preprocessor">#define NvBlastAlloca(x) alloca(x)</span> -<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#elif NV_APPLE_FAMILY</span> -<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#include <alloca.h></span> -<a name="l00129"></a>00129 <span class="preprocessor">#define NvBlastAlloca(x) alloca(x)</span> -<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#elif NV_PS4</span> -<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#include <memory.h></span> -<a name="l00132"></a>00132 <span class="preprocessor">#define NvBlastAlloca(x) alloca(x)</span> -<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#elif NV_XBOXONE</span> -<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#include <malloc.h></span> -<a name="l00135"></a>00135 <span class="preprocessor">#define NvBlastAlloca(x) alloca(x)</span> -<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00137"></a>00137 <span class="preprocessor"></span> -<a name="l00138"></a><a class="code" href="_nv_blast_memory_8h.html#b1f69315874a0e6acc5ab7f4f0f443ad">00138</a> <span class="preprocessor">#define NvBlastAllocaAligned16(x) (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)</span> -<a name="l00139"></a>00139 <span class="preprocessor"></span> -<a name="l00140"></a>00140 -<a name="l00141"></a>00141 <span class="preprocessor">#endif // #ifndef NVBLASTMEMORY_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_memory_8h.html b/docs/api_docs/files/_nv_blast_memory_8h.html deleted file mode 100644 index c2b5dd3..0000000 --- a/docs/api_docs/files/_nv_blast_memory_8h.html +++ /dev/null @@ -1,221 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastMemory.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastMemory.h File Reference</h1><code>#include <math.h></code><br> - -<p> -<a href="_nv_blast_memory_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_memory_8h.html#b1f69315874a0e6acc5ab7f4f0f443ad">NvBlastAllocaAligned16</a>(x) (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_memory_8h.html#44bc8a89246b1e7d824a4dd3a6e08edc">NvBlastBlockArrayData</a>(_dataType, _name, _accessor, _sizeExpr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_memory_8h.html#3421677e17b73e6e0b7e3471fe6ad542">NvBlastBlockData</a>(_dataType, _name, _accessor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_memory_8h.html#1a2910b0e69957e23c05e09a3ceb0436">NvBlastCreateOffsetAlign16</a>(_name, _size)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_memory_8h.html#924f54aafb03fdbd5a49693119fa86c2">NvBlastCreateOffsetEndAlign16</a>() align16(_lastOffset + _lastSize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_memory_8h.html#6405c7730b3bae832e1883093fee3d5e">NvBlastCreateOffsetStart</a>(_baseOffset)</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> -<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NV_INLINE T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">Nv::Blast::align16</a> (T value)</td></tr> - -<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> -<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NV_INLINE T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#4dec47108a96068464a694e46a0dc1a2">Nv::Blast::pointerOffset</a> (const void *p, ptrdiff_t offset)</td></tr> - -<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> -<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NV_INLINE T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#d1e732d6cd2e5f40a0187f05820e9e7e">Nv::Blast::pointerOffset</a> (void *p, ptrdiff_t offset)</td></tr> - -</table> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="b1f69315874a0e6acc5ab7f4f0f443ad"></a><!-- doxytag: member="NvBlastMemory.h::NvBlastAllocaAligned16" ref="b1f69315874a0e6acc5ab7f4f0f443ad" args="(x)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NvBlastAllocaAligned16 </td> - <td>(</td> - <td class="paramtype">x </td> - <td class="paramname"> </td> - <td> ) </td> - <td> (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Stack allocation -</div> -</div><p> -<a class="anchor" name="44bc8a89246b1e7d824a4dd3a6e08edc"></a><!-- doxytag: member="NvBlastMemory.h::NvBlastBlockArrayData" ref="44bc8a89246b1e7d824a4dd3a6e08edc" args="(_dataType, _name, _accessor, _sizeExpr)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NvBlastBlockArrayData </td> - <td>(</td> - <td class="paramtype">_dataType, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_name, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_accessor, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_sizeExpr </td> - <td class="paramname"> </td> - <td> ) </td> - <td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment">_dataType* _accessor() const \ -{ \ - <span class="keywordflow">return</span> (_dataType*)((uintptr_t)<span class="keyword">this</span> + _name); \ -} \ -uint32_t _accessor##ArraySize() const \ -{ \ - <span class="keywordflow">return</span> _sizeExpr; \ -} \ -uint32_t _name -</pre></div>Block data offset and accessor macro for an array (includes an _accessor#ArraySize() function which returns the last expression). -</div> -</div><p> -<a class="anchor" name="3421677e17b73e6e0b7e3471fe6ad542"></a><!-- doxytag: member="NvBlastMemory.h::NvBlastBlockData" ref="3421677e17b73e6e0b7e3471fe6ad542" args="(_dataType, _name, _accessor)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NvBlastBlockData </td> - <td>(</td> - <td class="paramtype">_dataType, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_name, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_accessor </td> - <td class="paramname"> </td> - <td> ) </td> - <td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment">_dataType* _accessor() const \ -{ \ - <span class="keywordflow">return</span> (_dataType*)((uintptr_t)<span class="keyword">this</span> + _name); \ -} \ -uint32_t _name -</pre></div>Block data offset and accessor macro. -</div> -</div><p> -<a class="anchor" name="1a2910b0e69957e23c05e09a3ceb0436"></a><!-- doxytag: member="NvBlastMemory.h::NvBlastCreateOffsetAlign16" ref="1a2910b0e69957e23c05e09a3ceb0436" args="(_name, _size)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NvBlastCreateOffsetAlign16 </td> - <td>(</td> - <td class="paramtype">_name, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_size </td> - <td class="paramname"> </td> - <td> ) </td> - <td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment">_name = <a class="code" href="namespace_nv_1_1_blast.html#c0c6da9c519d92d57c310200989092dc">align16</a>(_lastOffset + _lastSize); \ -_lastOffset = _name; \ -_lastSize = _size -</pre></div>Create the next offset generation with this. The value will be aligned to a 16-byte boundary. -</div> -</div><p> -<a class="anchor" name="924f54aafb03fdbd5a49693119fa86c2"></a><!-- doxytag: member="NvBlastMemory.h::NvBlastCreateOffsetEndAlign16" ref="924f54aafb03fdbd5a49693119fa86c2" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NvBlastCreateOffsetEndAlign16 </td> - <td>(</td> - </td> - <td class="paramname"> </td> - <td> ) </td> - <td> align16(_lastOffset + _lastSize)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -End offset generation with this. It evaluates to the (16-byte aligned) total size of the data block. -</div> -</div><p> -<a class="anchor" name="6405c7730b3bae832e1883093fee3d5e"></a><!-- doxytag: member="NvBlastMemory.h::NvBlastCreateOffsetStart" ref="6405c7730b3bae832e1883093fee3d5e" args="(_baseOffset)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NvBlastCreateOffsetStart </td> - <td>(</td> - <td class="paramtype">_baseOffset </td> - <td class="paramname"> </td> - <td> ) </td> - <td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordtype">size_t</span> _lastOffset = _baseOffset; \ -<span class="keywordtype">size_t</span> _lastSize = 0 -</pre></div>Block data offset generation macros. Start offset generation with this. -</div> -</div><p> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html b/docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html deleted file mode 100644 index ef208bb..0000000 --- a/docs/api_docs/files/_nv_blast_preprocessor_internal_8h-source.html +++ /dev/null @@ -1,87 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastPreprocessorInternal.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastPreprocessorInternal.h</h1><a href="_nv_blast_preprocessor_internal_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTPREPROCESSORINTERNAL_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTPREPROCESSORINTERNAL_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "NvPreprocessor.h"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 -<a name="l00039"></a><a class="code" href="_nv_blast_preprocessor_internal_8h.html#3dc70f5d8fc145cfbce26e8d3d31b1b4">00039</a> <span class="preprocessor">#define NVBLASTLL_LOG_ERROR(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)</span> -<a name="l00040"></a><a class="code" href="_nv_blast_preprocessor_internal_8h.html#028ad449128603044a76c8db870e52c6">00040</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTLL_LOG_WARNING(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)</span> -<a name="l00041"></a><a class="code" href="_nv_blast_preprocessor_internal_8h.html#a024c8130947e5bcd0418f7564c312b2">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTLL_LOG_INFO(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)</span> -<a name="l00042"></a><a class="code" href="_nv_blast_preprocessor_internal_8h.html#320ac0ab221d3132599e1d6f5b43ca42">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTLL_LOG_DEBUG(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)</span> -<a name="l00043"></a>00043 <span class="preprocessor"></span> -<a name="l00044"></a>00044 -<a name="l00046"></a><a class="code" href="_nv_blast_preprocessor_internal_8h.html#9c8d87fbc8fead08bdf59b3c68bcb173">00046</a> <span class="preprocessor">#define NVBLASTLL_CHECK_PARAMS (NV_DEBUG || NV_CHECKED)</span> -<a name="l00047"></a>00047 <span class="preprocessor"></span> -<a name="l00048"></a>00048 -<a name="l00049"></a>00049 <span class="preprocessor">#if NVBLASTLL_CHECK_PARAMS</span> -<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTLL_CHECK(_expr, _logFn, _msg, _onFail) \</span> -<a name="l00051"></a>00051 <span class="preprocessor"> { \</span> -<a name="l00052"></a>00052 <span class="preprocessor"> if(!(_expr)) \</span> -<a name="l00053"></a>00053 <span class="preprocessor"> { \</span> -<a name="l00054"></a>00054 <span class="preprocessor"> if (_logFn) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } \</span> -<a name="l00055"></a>00055 <span class="preprocessor"> { _onFail; }; \</span> -<a name="l00056"></a>00056 <span class="preprocessor"> } \</span> -<a name="l00057"></a>00057 <span class="preprocessor"> } </span> -<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#else</span> -<a name="l00059"></a><a class="code" href="_nv_blast_preprocessor_internal_8h.html#fcde65e0a048967e7acbc3d901f217cd">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTLL_CHECK(_expr, _logFn, _msg, _onFail) NV_UNUSED(_logFn)</span> -<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -<a name="l00061"></a>00061 <span class="preprocessor"></span> -<a name="l00062"></a>00062 -<a name="l00063"></a>00063 <span class="preprocessor">#endif // ifndef NVBLASTPREPROCESSORINTERNAL_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html b/docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html deleted file mode 100644 index 0bc462a..0000000 --- a/docs/api_docs/files/_nv_blast_preprocessor_internal_8h.html +++ /dev/null @@ -1,185 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastPreprocessorInternal.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastPreprocessorInternal.h File Reference</h1><code>#include "NvPreprocessor.h"</code><br> - -<p> -<a href="_nv_blast_preprocessor_internal_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_preprocessor_internal_8h.html#fcde65e0a048967e7acbc3d901f217cd">NVBLASTLL_CHECK</a>(_expr, _logFn, _msg, _onFail) NV_UNUSED(_logFn)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_preprocessor_internal_8h.html#9c8d87fbc8fead08bdf59b3c68bcb173">NVBLASTLL_CHECK_PARAMS</a> (NV_DEBUG || NV_CHECKED)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_preprocessor_internal_8h.html#320ac0ab221d3132599e1d6f5b43ca42">NVBLASTLL_LOG_DEBUG</a>(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_preprocessor_internal_8h.html#3dc70f5d8fc145cfbce26e8d3d31b1b4">NVBLASTLL_LOG_ERROR</a>(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_preprocessor_internal_8h.html#a024c8130947e5bcd0418f7564c312b2">NVBLASTLL_LOG_INFO</a>(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_preprocessor_internal_8h.html#028ad449128603044a76c8db870e52c6">NVBLASTLL_LOG_WARNING</a>(_logFn, _msg) if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)</td></tr> - -</table> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="fcde65e0a048967e7acbc3d901f217cd"></a><!-- doxytag: member="NvBlastPreprocessorInternal.h::NVBLASTLL_CHECK" ref="fcde65e0a048967e7acbc3d901f217cd" args="(_expr, _logFn, _msg, _onFail)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLASTLL_CHECK </td> - <td>(</td> - <td class="paramtype">_expr, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_logFn, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_msg, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_onFail </td> - <td class="paramname"> </td> - <td> ) </td> - <td> NV_UNUSED(_logFn)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="9c8d87fbc8fead08bdf59b3c68bcb173"></a><!-- doxytag: member="NvBlastPreprocessorInternal.h::NVBLASTLL_CHECK_PARAMS" ref="9c8d87fbc8fead08bdf59b3c68bcb173" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLASTLL_CHECK_PARAMS (NV_DEBUG || NV_CHECKED) </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Blast will check function parameters for debug and checked builds. -</div> -</div><p> -<a class="anchor" name="320ac0ab221d3132599e1d6f5b43ca42"></a><!-- doxytag: member="NvBlastPreprocessorInternal.h::NVBLASTLL_LOG_DEBUG" ref="320ac0ab221d3132599e1d6f5b43ca42" args="(_logFn, _msg)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLASTLL_LOG_DEBUG </td> - <td>(</td> - <td class="paramtype">_logFn, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_msg </td> - <td class="paramname"> </td> - <td> ) </td> - <td> if (_logFn != nullptr) { _logFn(NvBlastMessage::Debug, _msg, __FILE__, __LINE__); } ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="3dc70f5d8fc145cfbce26e8d3d31b1b4"></a><!-- doxytag: member="NvBlastPreprocessorInternal.h::NVBLASTLL_LOG_ERROR" ref="3dc70f5d8fc145cfbce26e8d3d31b1b4" args="(_logFn, _msg)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLASTLL_LOG_ERROR </td> - <td>(</td> - <td class="paramtype">_logFn, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_msg </td> - <td class="paramname"> </td> - <td> ) </td> - <td> if (_logFn != nullptr) { _logFn(NvBlastMessage::Error, _msg, __FILE__, __LINE__); } ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Macros for more convenient logging -</div> -</div><p> -<a class="anchor" name="a024c8130947e5bcd0418f7564c312b2"></a><!-- doxytag: member="NvBlastPreprocessorInternal.h::NVBLASTLL_LOG_INFO" ref="a024c8130947e5bcd0418f7564c312b2" args="(_logFn, _msg)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLASTLL_LOG_INFO </td> - <td>(</td> - <td class="paramtype">_logFn, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_msg </td> - <td class="paramname"> </td> - <td> ) </td> - <td> if (_logFn != nullptr) { _logFn(NvBlastMessage::Info, _msg, __FILE__, __LINE__); } ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="028ad449128603044a76c8db870e52c6"></a><!-- doxytag: member="NvBlastPreprocessorInternal.h::NVBLASTLL_LOG_WARNING" ref="028ad449128603044a76c8db870e52c6" args="(_logFn, _msg)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NVBLASTLL_LOG_WARNING </td> - <td>(</td> - <td class="paramtype">_logFn, <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">_msg </td> - <td class="paramname"> </td> - <td> ) </td> - <td> if (_logFn != nullptr) { _logFn(NvBlastMessage::Warning, _msg, __FILE__, __LINE__); } ((void)0)</td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_time_8h-source.html b/docs/api_docs/files/_nv_blast_time_8h-source.html deleted file mode 100644 index 029ad00..0000000 --- a/docs/api_docs/files/_nv_blast_time_8h-source.html +++ /dev/null @@ -1,148 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastTime.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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<h1>sdk/common/NvBlastTime.h</h1><a href="_nv_blast_time_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) 2016-2017 NVIDIA Corporation. All rights reserved.</span> -<a name="l00027"></a>00027 -<a name="l00028"></a>00028 -<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTTIME_H</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTTIME_H</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_types_8h.html">NvBlastTypes.h</a>"</span> -<a name="l00033"></a>00033 -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 <span class="keyword">namespace </span>Nv -<a name="l00036"></a>00036 { -<a name="l00037"></a>00037 <span class="keyword">namespace </span>Blast -<a name="l00038"></a>00038 { -<a name="l00039"></a>00039 -<a name="l00040"></a><a class="code" href="class_nv_1_1_blast_1_1_time.html">00040</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_time.html">Time</a> -<a name="l00041"></a>00041 { -<a name="l00042"></a>00042 <span class="keyword">public</span>: -<a name="l00043"></a><a class="code" href="class_nv_1_1_blast_1_1_time.html#101e7808be5a2daad0f2b0f9298dca2a">00043</a> <a class="code" href="class_nv_1_1_blast_1_1_time.html#101e7808be5a2daad0f2b0f9298dca2a">Time</a>() : m_lastTickCount(getTimeTicks()) {} -<a name="l00044"></a>00044 -<a name="l00045"></a><a class="code" href="class_nv_1_1_blast_1_1_time.html#4f077e2652ca099569600e76a12501b6">00045</a> int64_t <a class="code" href="class_nv_1_1_blast_1_1_time.html#4f077e2652ca099569600e76a12501b6">getElapsedTicks</a>() -<a name="l00046"></a>00046 { -<a name="l00047"></a>00047 <span class="keyword">const</span> int64_t lastTickCount = m_lastTickCount; -<a name="l00048"></a>00048 m_lastTickCount = getTimeTicks(); -<a name="l00049"></a>00049 <span class="keywordflow">return</span> m_lastTickCount - lastTickCount; -<a name="l00050"></a>00050 } -<a name="l00051"></a>00051 -<a name="l00052"></a><a class="code" href="class_nv_1_1_blast_1_1_time.html#a2aed7f3170539c828f37928b19ec7e1">00052</a> int64_t <a class="code" href="class_nv_1_1_blast_1_1_time.html#a2aed7f3170539c828f37928b19ec7e1">peekElapsedTicks</a>()<span class="keyword"> const</span> -<a name="l00053"></a>00053 <span class="keyword"> </span>{ -<a name="l00054"></a>00054 <span class="keywordflow">return</span> getTimeTicks() - m_lastTickCount; -<a name="l00055"></a>00055 } -<a name="l00056"></a>00056 -<a name="l00057"></a><a class="code" href="class_nv_1_1_blast_1_1_time.html#f0937e761f072b8ffc84e4e83c6abd6f">00057</a> int64_t <a class="code" href="class_nv_1_1_blast_1_1_time.html#f0937e761f072b8ffc84e4e83c6abd6f">getLastTickCount</a>()<span class="keyword"> const</span> -<a name="l00058"></a>00058 <span class="keyword"> </span>{ -<a name="l00059"></a>00059 <span class="keywordflow">return</span> m_lastTickCount; -<a name="l00060"></a>00060 } -<a name="l00061"></a>00061 -<a name="l00062"></a><a class="code" href="class_nv_1_1_blast_1_1_time.html#eced1fdeb83d4ce1ef759648577769d0">00062</a> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="class_nv_1_1_blast_1_1_time.html#eced1fdeb83d4ce1ef759648577769d0">seconds</a>(int64_t ticks) -<a name="l00063"></a>00063 { -<a name="l00064"></a>00064 <span class="keywordflow">return</span> s_secondsPerTick * ticks; -<a name="l00065"></a>00065 } -<a name="l00066"></a>00066 -<a name="l00067"></a>00067 <span class="keyword">private</span>: -<a name="l00068"></a>00068 int64_t getTimeTicks() <span class="keyword">const</span>; -<a name="l00069"></a>00069 <span class="keyword">static</span> <span class="keywordtype">double</span> getTickDuration(); -<a name="l00070"></a>00070 -<a name="l00071"></a>00071 int64_t m_lastTickCount; -<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s_secondsPerTick; -<a name="l00073"></a>00073 }; -<a name="l00074"></a>00074 -<a name="l00075"></a>00075 } <span class="comment">// namespace Blast</span> -<a name="l00076"></a>00076 } <span class="comment">// namespace Nv</span> -<a name="l00077"></a>00077 -<a name="l00078"></a>00078 -<a name="l00080"></a>00080 -<a name="l00081"></a>00081 <span class="preprocessor">#if NV_MICROSOFT_FAMILY</span> -<a name="l00082"></a>00082 <span class="preprocessor"></span> -<a name="l00083"></a>00083 <span class="preprocessor">#include "<a class="code" href="_nv_blast_include_windows_8h.html">NvBlastIncludeWindows.h</a>"</span> -<a name="l00084"></a>00084 -<a name="l00085"></a>00085 NV_INLINE int64_t Nv::Blast::Time::getTimeTicks()<span class="keyword"> const</span> -<a name="l00086"></a>00086 <span class="keyword"></span>{ -<a name="l00087"></a>00087 LARGE_INTEGER a; -<a name="l00088"></a>00088 QueryPerformanceCounter(&a); -<a name="l00089"></a>00089 <span class="keywordflow">return</span> a.QuadPart; -<a name="l00090"></a>00090 } -<a name="l00091"></a>00091 -<a name="l00092"></a>00092 NV_INLINE <span class="keywordtype">double</span> Nv::Blast::Time::getTickDuration() -<a name="l00093"></a>00093 { -<a name="l00094"></a>00094 LARGE_INTEGER a; -<a name="l00095"></a>00095 QueryPerformanceFrequency(&a); -<a name="l00096"></a>00096 <span class="keywordflow">return</span> 1.0 / (double)a.QuadPart; -<a name="l00097"></a>00097 } -<a name="l00098"></a>00098 -<a name="l00099"></a>00099 <span class="preprocessor">#elif NV_UNIX_FAMILY</span> -<a name="l00100"></a>00100 <span class="preprocessor"></span> -<a name="l00101"></a>00101 <span class="preprocessor">#include <time.h></span> -<a name="l00102"></a>00102 -<a name="l00103"></a>00103 NV_INLINE int64_t Nv::Blast::Time::getTimeTicks()<span class="keyword"> const</span> -<a name="l00104"></a>00104 <span class="keyword"></span>{ -<a name="l00105"></a>00105 <span class="keyword">struct </span>timespec mCurrTimeInt; -<a name="l00106"></a>00106 clock_gettime(CLOCK_REALTIME, &mCurrTimeInt); -<a name="l00107"></a>00107 <span class="keywordflow">return</span> (static_cast<int64_t>(mCurrTimeInt.tv_sec) * 1000000000) + (<span class="keyword">static_cast<</span>int64_t<span class="keyword">></span>(mCurrTimeInt.tv_nsec)); -<a name="l00108"></a>00108 } -<a name="l00109"></a>00109 -<a name="l00110"></a>00110 NV_INLINE <span class="keywordtype">double</span> Nv::Blast::Time::getTickDuration() -<a name="l00111"></a>00111 { -<a name="l00112"></a>00112 <span class="keywordflow">return</span> 1.e-9; -<a name="l00113"></a>00113 } -<a name="l00114"></a>00114 -<a name="l00115"></a>00115 <span class="preprocessor">#elif NV_PS4</span> -<a name="l00116"></a>00116 <span class="preprocessor"></span> -<a name="l00117"></a>00117 <span class="preprocessor">#include "ps4/NvBlastTimePS4.h"</span> -<a name="l00118"></a>00118 -<a name="l00119"></a>00119 <span class="preprocessor">#endif</span> -<a name="l00120"></a>00120 <span class="preprocessor"></span> -<a name="l00121"></a>00121 <span class="preprocessor">#endif // #ifndef NVBLASTTIME_H</span> -</pre></div></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_time_8h.html b/docs/api_docs/files/_nv_blast_time_8h.html deleted file mode 100644 index abfd677..0000000 --- a/docs/api_docs/files/_nv_blast_time_8h.html +++ /dev/null @@ -1,43 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: sdk/common/NvBlastTime.h File 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>sdk/common/NvBlastTime.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_types_8h-source.html">NvBlastTypes.h</a>"</code><br> - -<p> -<a href="_nv_blast_time_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a></td></tr> - -<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv.html">Nv</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html">Nv::Blast</a></td></tr> - -</table> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/_nv_blast_tk_group_8h-source.html b/docs/api_docs/files/_nv_blast_tk_group_8h-source.html index b0a414f..2d2a2a1 100644 --- a/docs/api_docs/files/_nv_blast_tk_group_8h-source.html +++ b/docs/api_docs/files/_nv_blast_tk_group_8h-source.html @@ -104,7 +104,7 @@ <a name="l00168"></a>00168 <a name="l00174"></a>00174 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#7fc6d691a59aa7b107adfaac6fe5fd65">returnWorker</a>(<a class="code" href="class_nv_1_1_blast_1_1_tk_group_worker.html">TkGroupWorker</a>*) = 0; <a name="l00175"></a>00175 -<a name="l00179"></a>00179 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>(); +<a name="l00179"></a>00179 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>(); <a name="l00180"></a>00180 <a name="l00187"></a>00187 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#dedce0f4d320f3c7f67d1c9c8ebac152">getStats</a>(<a class="code" href="struct_nv_1_1_blast_1_1_tk_group_stats.html">TkGroupStats</a>& stats) <span class="keyword">const</span> = 0; <a name="l00188"></a>00188 }; diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html deleted file mode 100644 index 8133eff..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list-members.html +++ /dev/null @@ -1,38 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::DList Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#8f521717b64ae0b1f706f74995664745">DList</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#bdb5f4d00c1a0b036abdbbc744da2f25">getHead</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#63c0cd8950a28a80e80220037e908c3a">getTail</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#bc2b63f21760aea5f27e3ced326c5c6a">insertHead</a>(DLink &link)</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#ed58b1884e669c36c0b5232fb59860de">insertTail</a>(DLink &link)</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">isEmpty</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a>(const DLink &link) const </td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#f1fb041e0c0840e8fefbbca53dff18cb">remove</a>(DLink &link)</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list.html">Nv::Blast::DList</a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html deleted file mode 100644 index 84834f7..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list.html +++ /dev/null @@ -1,218 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::DList 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_d_list.html">DList</a> - </div> -<div class="contents"> -<h1>Nv::Blast::DList Class Reference</h1><!-- doxytag: class="Nv::Blast::DList" --><code>#include <<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_d_list-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Classes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">It</a></td></tr> - -<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#8f521717b64ae0b1f706f74995664745">DList</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#bdb5f4d00c1a0b036abdbbc744da2f25">getHead</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#63c0cd8950a28a80e80220037e908c3a">getTail</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#bc2b63f21760aea5f27e3ced326c5c6a">insertHead</a> (<a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> &link)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#ed58b1884e669c36c0b5232fb59860de">insertTail</a> (<a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> &link)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">isEmpty</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#e1bd96c83408ecb47ff9d02972b745ae">isSolitary</a> (const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> &link) const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list.html#f1fb041e0c0840e8fefbbca53dff18cb">remove</a> (<a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> &link)</td></tr> - -</table> -<hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="8f521717b64ae0b1f706f74995664745"></a><!-- doxytag: member="Nv::Blast::DList::DList" ref="8f521717b64ae0b1f706f74995664745" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::DList::DList </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="bdb5f4d00c1a0b036abdbbc744da2f25"></a><!-- doxytag: member="Nv::Blast::DList::getHead" ref="bdb5f4d00c1a0b036abdbbc744da2f25" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* Nv::Blast::DList::getHead </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="63c0cd8950a28a80e80220037e908c3a"></a><!-- doxytag: member="Nv::Blast::DList::getTail" ref="63c0cd8950a28a80e80220037e908c3a" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* Nv::Blast::DList::getTail </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="bc2b63f21760aea5f27e3ced326c5c6a"></a><!-- doxytag: member="Nv::Blast::DList::insertHead" ref="bc2b63f21760aea5f27e3ced326c5c6a" args="(DLink &link)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">bool Nv::Blast::DList::insertHead </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> & </td> - <td class="paramname"> <em>link</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="ed58b1884e669c36c0b5232fb59860de"></a><!-- doxytag: member="Nv::Blast::DList::insertTail" ref="ed58b1884e669c36c0b5232fb59860de" args="(DLink &link)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">bool Nv::Blast::DList::insertTail </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> & </td> - <td class="paramname"> <em>link</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2242875a371ef6baf92c8a9bafbbf23b"></a><!-- doxytag: member="Nv::Blast::DList::isEmpty" ref="2242875a371ef6baf92c8a9bafbbf23b" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">bool Nv::Blast::DList::isEmpty </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="e1bd96c83408ecb47ff9d02972b745ae"></a><!-- doxytag: member="Nv::Blast::DList::isSolitary" ref="e1bd96c83408ecb47ff9d02972b745ae" args="(const DLink &link) const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">bool Nv::Blast::DList::isSolitary </td> - <td>(</td> - <td class="paramtype">const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> & </td> - <td class="paramname"> <em>link</em> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="f1fb041e0c0840e8fefbbca53dff18cb"></a><!-- doxytag: member="Nv::Blast::DList::remove" ref="f1fb041e0c0840e8fefbbca53dff18cb" args="(DLink &link)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::DList::remove </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> & </td> - <td class="paramname"> <em>link</em> </td> - <td> ) </td> - <td><code> [inline]</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>sdk/common/<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html deleted file mode 100644 index 4f20d93..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it-members.html +++ /dev/null @@ -1,38 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::DList::DList::It Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Direction</a> enum name</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a">Forward</a> enum value</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#37ea866b3020f9cfd9e95d7943070c72">It</a>(const DList &list, Direction dir=Forward)</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#04d998af611cce7c5c8826c28936821d">operator bool</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#6122541eababca1ccd3ff790382085a1">operator const DLink *</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#7092a46c0fa7fd95c4de1c771924b9f3">operator++</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#c053296c087c5ef44191feb8b87c0485">operator--</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c6c3e8622be97b012571c9c7041d24f16">Reverse</a> enum value</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">Nv::Blast::DList::DList::It</a></td><td></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html deleted file mode 100644 index f578f3e..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_1_1_it.html +++ /dev/null @@ -1,187 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::DList::DList::It 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_d_list.html">DList</a>::<a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html">It</a> - </div> -<div class="contents"> -<h1>Nv::Blast::DList::DList::It Class Reference</h1><!-- doxytag: class="Nv::Blast::DList::It" --><code>#include <<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_d_list_1_1_it-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 Types</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Direction</a> { <a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c6c3e8622be97b012571c9c7041d24f16">Reverse</a>, -<a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a">Forward</a> - }</td></tr> - -<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#37ea866b3020f9cfd9e95d7943070c72">It</a> (const <a class="el" href="class_nv_1_1_blast_1_1_d_list.html">DList</a> &list, <a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Direction</a> dir=Forward)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#04d998af611cce7c5c8826c28936821d">operator bool</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#6122541eababca1ccd3ff790382085a1">operator const DLink *</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#7092a46c0fa7fd95c4de1c771924b9f3">operator++</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#c053296c087c5ef44191feb8b87c0485">operator--</a> ()</td></tr> - -</table> -<hr><h2>Member Enumeration Documentation</h2> -<a class="anchor" name="d6a58c8c96853bac4d82880eade9e12c"></a><!-- doxytag: member="Nv::Blast::DList::It::Direction" ref="d6a58c8c96853bac4d82880eade9e12c" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">enum <a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Nv::Blast::DList::It::Direction</a> </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -<dl compact><dt><b>Enumerator: </b></dt><dd> -<table border="0" cellspacing="2" cellpadding="0"> -<tr><td valign="top"><em><a class="anchor" name="d6a58c8c96853bac4d82880eade9e12c6c3e8622be97b012571c9c7041d24f16"></a><!-- doxytag: member="Reverse" ref="d6a58c8c96853bac4d82880eade9e12c6c3e8622be97b012571c9c7041d24f16" args="" -->Reverse</em> </td><td> -</td></tr> -<tr><td valign="top"><em><a class="anchor" name="d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a"></a><!-- doxytag: member="Forward" ref="d6a58c8c96853bac4d82880eade9e12c8adc79a77f8ec2d5d011128741cfd96a" args="" -->Forward</em> </td><td> -</td></tr> -</table> -</dl> - -</div> -</div><p> -<hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="37ea866b3020f9cfd9e95d7943070c72"></a><!-- doxytag: member="Nv::Blast::DList::It::It" ref="37ea866b3020f9cfd9e95d7943070c72" args="(const DList &list, Direction dir=Forward)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::DList::DList::It::It </td> - <td>(</td> - <td class="paramtype">const <a class="el" href="class_nv_1_1_blast_1_1_d_list.html">DList</a> & </td> - <td class="paramname"> <em>list</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_d_list_1_1_it.html#d6a58c8c96853bac4d82880eade9e12c">Direction</a> </td> - <td class="paramname"> <em>dir</em> = <code>Forward</code></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="04d998af611cce7c5c8826c28936821d"></a><!-- doxytag: member="Nv::Blast::DList::It::operator bool" ref="04d998af611cce7c5c8826c28936821d" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::DList::DList::It::operator bool </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Validity of current value. -</div> -</div><p> -<a class="anchor" name="6122541eababca1ccd3ff790382085a1"></a><!-- doxytag: member="Nv::Blast::DList::It::operator const DLink *" ref="6122541eababca1ccd3ff790382085a1" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::DList::DList::It::operator const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Current value. -</div> -</div><p> -<a class="anchor" name="7092a46c0fa7fd95c4de1c771924b9f3"></a><!-- doxytag: member="Nv::Blast::DList::It::operator++" ref="7092a46c0fa7fd95c4de1c771924b9f3" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* Nv::Blast::DList::DList::It::operator++ </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Pre-increment. -</div> -</div><p> -<a class="anchor" name="c053296c087c5ef44191feb8b87c0485"></a><!-- doxytag: member="Nv::Blast::DList::It::operator--" ref="c053296c087c5ef44191feb8b87c0485" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">const <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* Nv::Blast::DList::DList::It::operator-- </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Pre-deccrement. -</div> -</div><p> -<hr>The documentation for this class was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html deleted file mode 100644 index 98ef921..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it-members.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::DListIt< IndexType > Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt< IndexType ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#6d587e353b6ae1e61c4654cdc770064a">DListIt</a>(IndexType curr, IndexDLink< IndexType > *links)</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">IteratorBase</a>(IndexTypecurr)</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a></td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td><code> [protected]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#a453f366251c68ef44755eab19c47cd4">m_links</a></td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt< IndexType ></a></td><td><code> [protected]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#f6daf5c94ead2b074bec7650f0235e8b">operator bool</a>() const</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#75a83bbefad5418305d4e983189e0ba6">operator IndexType</a>() const</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#455d7a1962fc054d4dea3203234eb677">operator++</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt< IndexType ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html deleted file mode 100644 index d1638a7..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.html +++ /dev/null @@ -1,133 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::DListIt< IndexType > Class Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">DListIt</a> - </div> -<div class="contents"> -<h1>Nv::Blast::DListIt< IndexType > Class Template Reference</h1><!-- doxytag: class="Nv::Blast::DListIt" --><!-- doxytag: inherits="IteratorBase< IndexType >" --><code>#include <<a class="el" href="_nv_blast_iterator_base_8h-source.html">NvBlastIteratorBase.h</a>></code> -<p> -<div class="dynheader"> -Inheritance diagram for Nv::Blast::DListIt< IndexType >:</div> -<div class="dynsection"> - -<p><center><img src="class_nv_1_1_blast_1_1_d_list_it.png" usemap="#Nv::Blast::DListIt< IndexType >_map" border="0" alt=""></center> -<map name="Nv::Blast::DListIt< IndexType >_map"> -<area href="class_nv_1_1_blast_1_1_iterator_base.html" alt="Nv::Blast::IteratorBase< IndexType >" shape="rect" coords="0,0,217,24"> -</map> -</div> - -<p> -<a href="class_nv_1_1_blast_1_1_d_list_it-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#6d587e353b6ae1e61c4654cdc770064a">DListIt</a> (IndexType curr, <a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#455d7a1962fc054d4dea3203234eb677">operator++</a> ()</td></tr> - -<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#a453f366251c68ef44755eab19c47cd4">m_links</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<typename IndexType><br> - class Nv::Blast::DListIt< IndexType ></h3> - -Common functionality and implementation for an IndexDList<IndexType> iterator <hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="6d587e353b6ae1e61c4654cdc770064a"></a><!-- doxytag: member="Nv::Blast::DListIt::DListIt" ref="6d587e353b6ae1e61c4654cdc770064a" args="(IndexType curr, IndexDLink< IndexType > *links)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE <a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt</a>< IndexType >::<a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">DListIt</a> </td> - <td>(</td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>curr</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="455d7a1962fc054d4dea3203234eb677"></a><!-- doxytag: member="Nv::Blast::DListIt::operator++" ref="455d7a1962fc054d4dea3203234eb677" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE uint32_t <a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt</a>< IndexType >::operator++ </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Pre-increment. Only use if valid() == true. -</div> -</div><p> -<hr><h2>Member Data Documentation</h2> -<a class="anchor" name="a453f366251c68ef44755eab19c47cd4"></a><!-- doxytag: member="Nv::Blast::DListIt::m_links" ref="a453f366251c68ef44755eab19c47cd4" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a><IndexType>* <a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html">Nv::Blast::DListIt</a>< IndexType >::<a class="el" href="class_nv_1_1_blast_1_1_d_list_it.html#a453f366251c68ef44755eab19c47cd4">m_links</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>sdk/common/<a class="el" href="_nv_blast_iterator_base_8h-source.html">NvBlastIteratorBase.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png Binary files differdeleted file mode 100644 index a8ffb07..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_d_list_it.png +++ /dev/null diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html index b387c55..21f42c3 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html @@ -47,7 +47,8 @@ Inheritance diagram for Nv::Blast::ExtCustomProfiler:</div> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">zoneStart</a> (const char *name) override</td></tr> </table> -<hr><h2>Constructor & Destructor Documentation</h2> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Implements <a class="el" href="class_nv_1_1_blast_1_1_profiler_callback.html">Nv::Blast::ProfilerCallback</a> to serve the physx::PxProfilerCallback set in PxFoundation for PhysX Visual Debugger support and platform specific profilers like NVIDIA(R) NSight(TM). <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="9e7434d8654794fc69d7f0b7afab22d6"></a><!-- doxytag: member="Nv::Blast::ExtCustomProfiler::ExtCustomProfiler" ref="9e7434d8654794fc69d7f0b7afab22d6" args="()" --> <div class="memitem"> <div class="memproto"> @@ -64,7 +65,7 @@ Inheritance diagram for Nv::Blast::ExtCustomProfiler:</div> <div class="memdoc"> <p> - +Construct an <a class="el" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">ExtCustomProfiler</a> with platform specific profiler signals disabled. </div> </div><p> <hr><h2>Member Function Documentation</h2> @@ -85,6 +86,12 @@ Inheritance diagram for Nv::Blast::ExtCustomProfiler:</div> <div class="memdoc"> <p> +Enable or disable platform specific profiler signals. Disabled by default.<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>enabled</em> </td><td>true enables, false disables platform profiler calls. </td></tr> + </table> +</dl> </div> </div><p> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html index 7085792..62433d3 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html @@ -21,8 +21,7 @@ <!-- Generated by Doxygen 1.5.8 --> <div class="contents"> <h1>Nv::Blast::ExtGroupTaskManager Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">create</a>(physx::PxTaskManager &)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">create</a>(physx::PxTaskManager &, TkGroup &)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">create</a>(physx::PxTaskManager &, TkGroup *=nullptr)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#19b9a2c48f9e29020becdaf5bc8372b2">process</a>(uint32_t workerCount=0)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#a5003be1e0f05f9edb287d553bc154fa">release</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1e553149082485157b6864e952703e11">setGroup</a>(TkGroup *)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [pure virtual]</code></td></tr> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html index 4db248f..65f1b72 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html @@ -38,9 +38,7 @@ <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1af315dfd26f9a9ad579960714266932">wait</a> (bool block=true)=0</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">create</a> (physx::PxTaskManager &, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> &)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">create</a> (physx::PxTaskManager &)</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">create</a> (physx::PxTaskManager &, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> *=nullptr)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#756207678a22314a8a7a2232819d4e99">~ExtGroupTaskManager</a> ()</td></tr> @@ -68,7 +66,7 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ </div> </div><p> <hr><h2>Member Function Documentation</h2> -<a class="anchor" name="ea17630331407ecd9d23315a3099c9ab"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::create" ref="ea17630331407ecd9d23315a3099c9ab" args="(physx::PxTaskManager &, TkGroup &)" --> +<a class="anchor" name="7fbbb098b47ed4e68bca0f610a8c3d1b"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::create" ref="7fbbb098b47ed4e68bca0f610a8c3d1b" args="(physx::PxTaskManager &, TkGroup *=nullptr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -81,8 +79,8 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> & </td> - <td class="paramname"></td><td> </td> + <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> * </td> + <td class="paramname"> = <code>nullptr</code></td><td> </td> </tr> <tr> <td></td> @@ -94,27 +92,7 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ <div class="memdoc"> <p> - -</div> -</div><p> -<a class="anchor" name="0b85f2ef6aaa09f5a227cc926d857cfd"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::create" ref="0b85f2ef6aaa09f5a227cc926d857cfd" args="(physx::PxTaskManager &)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* Nv::Blast::ExtGroupTaskManager::create </td> - <td>(</td> - <td class="paramtype">physx::PxTaskManager & </td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - +Construct using existing physx::PxTaskManager and <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>. The <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> can be set later with <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1e553149082485157b6864e952703e11">setGroup()</a>. </div> </div><p> <a class="anchor" name="19b9a2c48f9e29020becdaf5bc8372b2"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::process" ref="19b9a2c48f9e29020becdaf5bc8372b2" args="(uint32_t workerCount=0)=0" --> @@ -137,10 +115,10 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ Start processing the group. The parallelizing strategy is to have all worker tasks running concurrently. The number of started tasks may be smaller than the requested value, when the task manager's dispatcher thread count or the number of group jobs are smaller.<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>workerCount</em> </td><td>The number of worker tasks to start, 0 uses the dispatcher's worker thread count. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>workerCount</em> </td><td>The number of worker tasks to start, 0 uses the dispatcher's worker thread count.</td></tr> </table> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of worker tasks started. </dd></dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of worker tasks started. If 0, processing did not start and <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1af315dfd26f9a9ad579960714266932">wait()</a> will never return true. </dd></dl> </div> </div><p> @@ -180,7 +158,7 @@ Release this object. <div class="memdoc"> <p> -Change the group to process. Cannot be changed while the group being processed. +Set the group to process. Cannot be changed while a group being processed. </div> </div><p> <a class="anchor" name="1af315dfd26f9a9ad579960714266932"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::wait" ref="1af315dfd26f9a9ad579960714266932" args="(bool block=true)=0" --> @@ -200,7 +178,14 @@ Change the group to process. Cannot be changed while the group being processed. <div class="memdoc"> <p> -Wait for the group to end processing. +Wait for the group to end processing. When processing has finished, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#4d21bd8b0225ae57b81bb8fe09df39ff">TkGroup::endProcess</a> is executed.<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>block</em> </td><td>true: does not return until the group has been processed. false: return immediately if workers are still processing the group.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if group processing was completed (and the group was actually processing) </dd></dl> + </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html index 5b8758b..7f45f5f 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html @@ -403,7 +403,7 @@ NOTE: Returned <a class="el" href="struct_nv_1_1_blast_1_1_ext_stress_solver_1_1 <div class="memdoc"> <p> -Generate fracture commands for whole family. A bit faster way to get all fractured bonds then calling <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#d75b9476c3b6189d4d84d3b55016bdf7">generateFractureCommands()</a> for every actor.<p> +Generate fracture commands for whole family. A bit faster way to get all fractured bonds than calling <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#d75b9476c3b6189d4d84d3b55016bdf7">generateFractureCommands()</a> for every actor.<p> Calling this function if <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#9f74a5d7affbf89a5c05a1e2320cd60d">getOverstressedBondCount()</a> == 0 or actor has no bond doesn't make sense, bondFractureCount will be '0'.<p> IMPORTANT: <a class="el" href="struct_nv_blast_fracture_buffers.html#5768e2ed80216a98fbcaee56a6194837" title="memory to be filled by fracture functions">NvBlastFractureBuffers::bondFractures</a> will point to internal stress solver memory which will be valid till next call of any of <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#d75b9476c3b6189d4d84d3b55016bdf7">generateFractureCommands()</a> functions or stress solver <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#9f740702a06e3bd915218ec8aa8415d8">release()</a> call.<p> <dl compact><dt><b>Parameters:</b></dt><dd> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html deleted file mode 100644 index 1fb2799..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array-members.html +++ /dev/null @@ -1,41 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::FixedArray< T > Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#e932afd49acfc5f585a1238fd224931d">at</a>(uint32_t idx)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#3bcc2bdc3fcb35d947297c46217e8862">at</a>(uint32_t idx) const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#3f2d0ca6c66c48c6c5ca8ed83dd4bf07">clear</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">FixedArray</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline, explicit]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#a90b247578afa3796325c721eb1d5037">forceSize_Unsafe</a>(uint32_t s)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#32ca75ccb174f910006c25f4ce5bcd87">operator[]</a>(uint32_t idx)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#cf1d67daacd6cd8ba966b7158776f938">operator[]</a>(uint32_t idx) const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#150702629729a0e29f8daece3b4419f4">popBack</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">pushBack</a>(T &t)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#f7b687252f5466a74006a27f2d3e7c54">requiredMemorySize</a>(uint32_t capacity)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline, static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">size</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray< T ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html deleted file mode 100644 index 5f81dc1..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_array.html +++ /dev/null @@ -1,316 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::FixedArray< T > Class Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">FixedArray</a> - </div> -<div class="contents"> -<h1>Nv::Blast::FixedArray< T > Class Template Reference</h1><!-- doxytag: class="Nv::Blast::FixedArray" --><code>#include <<a class="el" href="_nv_blast_fixed_array_8h-source.html">NvBlastFixedArray.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_fixed_array-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">NV_FORCE_INLINE const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#3bcc2bdc3fcb35d947297c46217e8862">at</a> (uint32_t idx) const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE T & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#e932afd49acfc5f585a1238fd224931d">at</a> (uint32_t idx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#3f2d0ca6c66c48c6c5ca8ed83dd4bf07">clear</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">FixedArray</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#a90b247578afa3796325c721eb1d5037">forceSize_Unsafe</a> (uint32_t s)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#cf1d67daacd6cd8ba966b7158776f938">operator[]</a> (uint32_t idx) const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE T & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#32ca75ccb174f910006c25f4ce5bcd87">operator[]</a> (uint32_t idx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#150702629729a0e29f8daece3b4419f4">popBack</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE T & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">pushBack</a> (T &t)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">size</a> () const </td></tr> - -<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#f7b687252f5466a74006a27f2d3e7c54">requiredMemorySize</a> (uint32_t capacity)</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<class T><br> - class Nv::Blast::FixedArray< T ></h3> - -<a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">FixedArray</a> is a sequential container which is intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:<p> -some memory char ​*buf = new char[64 *​ 1024];<p> -placement new on this memory FixedArray<SomeClass>* arr = new (buf) <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#ab4aee079051ab98705ccbb4ed99d2f2">FixedArray<SomeClass>()</a>;<p> -you can get max requiredMemorySize by an array of 'capacity' elements count to use memory left buf = buf + FixedArray<SomeClass>::requiredMemorySize(capacity);<p> -buf:<p> -+------------------------------------------------------------+ | uint32_t | T[0] | T[1] | T[2] | ... | +------------------------------------------------------------+<p> -!!!TODO:<ul> -<li>check ctor/dtor of elements calls </li></ul> -<hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="ab4aee079051ab98705ccbb4ed99d2f2"></a><!-- doxytag: member="Nv::Blast::FixedArray::FixedArray" ref="ab4aee079051ab98705ccbb4ed99d2f2" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::<a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">FixedArray</a> </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline, explicit]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="3bcc2bdc3fcb35d947297c46217e8862"></a><!-- doxytag: member="Nv::Blast::FixedArray::at" ref="3bcc2bdc3fcb35d947297c46217e8862" args="(uint32_t idx) const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE const T& <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::at </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>idx</em> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="e932afd49acfc5f585a1238fd224931d"></a><!-- doxytag: member="Nv::Blast::FixedArray::at" ref="e932afd49acfc5f585a1238fd224931d" args="(uint32_t idx)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE T& <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::at </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>idx</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="3f2d0ca6c66c48c6c5ca8ed83dd4bf07"></a><!-- doxytag: member="Nv::Blast::FixedArray::clear" ref="3f2d0ca6c66c48c6c5ca8ed83dd4bf07" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::clear </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="a90b247578afa3796325c721eb1d5037"></a><!-- doxytag: member="Nv::Blast::FixedArray::forceSize_Unsafe" ref="a90b247578afa3796325c721eb1d5037" args="(uint32_t s)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE void <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::forceSize_Unsafe </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>s</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="cf1d67daacd6cd8ba966b7158776f938"></a><!-- doxytag: member="Nv::Blast::FixedArray::operator[]" ref="cf1d67daacd6cd8ba966b7158776f938" args="(uint32_t idx) const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE const T& <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::operator[] </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>idx</em> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="32ca75ccb174f910006c25f4ce5bcd87"></a><!-- doxytag: member="Nv::Blast::FixedArray::operator[]" ref="32ca75ccb174f910006c25f4ce5bcd87" args="(uint32_t idx)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE T& <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::operator[] </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>idx</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="150702629729a0e29f8daece3b4419f4"></a><!-- doxytag: member="Nv::Blast::FixedArray::popBack" ref="150702629729a0e29f8daece3b4419f4" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">T <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::popBack </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="34a4a29c8d47adec39ae2df663470643"></a><!-- doxytag: member="Nv::Blast::FixedArray::pushBack" ref="34a4a29c8d47adec39ae2df663470643" args="(T &t)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE T& <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::pushBack </td> - <td>(</td> - <td class="paramtype">T & </td> - <td class="paramname"> <em>t</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="f7b687252f5466a74006a27f2d3e7c54"></a><!-- doxytag: member="Nv::Blast::FixedArray::requiredMemorySize" ref="f7b687252f5466a74006a27f2d3e7c54" args="(uint32_t capacity)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">static size_t <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::requiredMemorySize </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>capacity</em> </td> - <td> ) </td> - <td><code> [inline, static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="7f8ec3992efac9574ec0ef1f930fd9e2"></a><!-- doxytag: member="Nv::Blast::FixedArray::size" ref="7f8ec3992efac9574ec0ef1f930fd9e2" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_FORCE_INLINE uint32_t <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html">Nv::Blast::FixedArray</a>< T >::size </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</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>sdk/common/<a class="el" href="_nv_blast_fixed_array_8h-source.html">NvBlastFixedArray.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html deleted file mode 100644 index d78e36c..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap-members.html +++ /dev/null @@ -1,38 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::FixedBitmap Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2a7209fa614fc173bbd7a8a10c856dff">clear</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#010fe2685615fdb1da4153c7212e2c37">fill</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">FixedBitmap</a>(uint32_t bitsCount)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline, explicit]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">getWordsCount</a>(uint32_t bitsCount)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline, static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2955e031c60852ec6dd72ca6f8e73eb7">requiredMemorySize</a>(uint32_t bitsCount)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline, static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#ae323d2bddded4859cc3a0348bb72317">reset</a>(uint32_t index)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#a39e16f552918092f1e9fa289ddfb26c">set</a>(uint32_t index)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#6fb1a58795ac04248c7a082efa89c1e0">test</a>(uint32_t index) const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">Nv::Blast::FixedBitmap</a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html deleted file mode 100644 index c2c6aff..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bitmap.html +++ /dev/null @@ -1,225 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::FixedBitmap 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">FixedBitmap</a> - </div> -<div class="contents"> -<h1>Nv::Blast::FixedBitmap Class Reference</h1><!-- doxytag: class="Nv::Blast::FixedBitmap" --><code>#include <<a class="el" href="_nv_blast_fixed_bitmap_8h-source.html">NvBlastFixedBitmap.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_fixed_bitmap-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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2a7209fa614fc173bbd7a8a10c856dff">clear</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#010fe2685615fdb1da4153c7212e2c37">fill</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#af7ed00d6ece4806ee5d3c6c3b3dee5f">FixedBitmap</a> (uint32_t bitsCount)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#ae323d2bddded4859cc3a0348bb72317">reset</a> (uint32_t index)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#a39e16f552918092f1e9fa289ddfb26c">set</a> (uint32_t index)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#6fb1a58795ac04248c7a082efa89c1e0">test</a> (uint32_t index) const </td></tr> - -<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#c537f9169713e8915d95b300ed690836">getWordsCount</a> (uint32_t bitsCount)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html#2955e031c60852ec6dd72ca6f8e73eb7">requiredMemorySize</a> (uint32_t bitsCount)</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<a class="el" href="class_nv_1_1_blast_1_1_fixed_bitmap.html">FixedBitmap</a> is a bitset (bitmap) of fixed side, it's intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:<p> -some memory char ​*buf = new char[64 *​ 1024];<p> -const uint32_t bitsCount = 100;<p> -placement new on this memory FixedBitmap* arr = new (buf) FixedBitmap(bitsCount);<p> -you can get max requiredMemorySize by an bitMap to use memory left buf = buf + FixedBitmap<SomeClass>::requiredMemorySize(bitsCount);<p> -buf:<p> -+------------------------------------------------------------+ | uint32_t | word0 | word1 | word2 | ... | +------------------------------------------------------------+ <hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="af7ed00d6ece4806ee5d3c6c3b3dee5f"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::FixedBitmap" ref="af7ed00d6ece4806ee5d3c6c3b3dee5f" args="(uint32_t bitsCount)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::FixedBitmap::FixedBitmap </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>bitsCount</em> </td> - <td> ) </td> - <td><code> [inline, explicit]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="2a7209fa614fc173bbd7a8a10c856dff"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::clear" ref="2a7209fa614fc173bbd7a8a10c856dff" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBitmap::clear </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="010fe2685615fdb1da4153c7212e2c37"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::fill" ref="010fe2685615fdb1da4153c7212e2c37" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBitmap::fill </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="c537f9169713e8915d95b300ed690836"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::getWordsCount" ref="c537f9169713e8915d95b300ed690836" args="(uint32_t bitsCount)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">static uint32_t Nv::Blast::FixedBitmap::getWordsCount </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>bitsCount</em> </td> - <td> ) </td> - <td><code> [inline, static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2955e031c60852ec6dd72ca6f8e73eb7"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::requiredMemorySize" ref="2955e031c60852ec6dd72ca6f8e73eb7" args="(uint32_t bitsCount)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">static size_t Nv::Blast::FixedBitmap::requiredMemorySize </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>bitsCount</em> </td> - <td> ) </td> - <td><code> [inline, static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="ae323d2bddded4859cc3a0348bb72317"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::reset" ref="ae323d2bddded4859cc3a0348bb72317" args="(uint32_t index)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBitmap::reset </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>index</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="a39e16f552918092f1e9fa289ddfb26c"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::set" ref="a39e16f552918092f1e9fa289ddfb26c" args="(uint32_t index)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBitmap::set </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>index</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="6fb1a58795ac04248c7a082efa89c1e0"></a><!-- doxytag: member="Nv::Blast::FixedBitmap::test" ref="6fb1a58795ac04248c7a082efa89c1e0" args="(uint32_t index) const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">int Nv::Blast::FixedBitmap::test </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>index</em> </td> - <td> ) </td> - <td> const<code> [inline]</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>sdk/common/<a class="el" href="_nv_blast_fixed_bitmap_8h-source.html">NvBlastFixedBitmap.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html deleted file mode 100644 index fc15335..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array-members.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::FixedBoolArray Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ead1a010fb21c450ece0345ba36879fa">clear</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#3dd3e3b6dda80554dcc2137d9974751d">fill</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">FixedBoolArray</a>(uint32_t size)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline, explicit]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#2e54d889866dc43d9e863d45e4450344">requiredMemorySize</a>(uint32_t size)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline, static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#09c82c9bb97e55beb2ab376fcb0d63e2">reset</a>(uint32_t index)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#8e1aeb344b1214ec88bf78f739b4a559">set</a>(uint32_t index)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#480da0f31c1db324ee085b2557f7161d">test</a>(uint32_t index) const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">Nv::Blast::FixedBoolArray</a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html deleted file mode 100644 index af0109f..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_bool_array.html +++ /dev/null @@ -1,203 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::FixedBoolArray 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">FixedBoolArray</a> - </div> -<div class="contents"> -<h1>Nv::Blast::FixedBoolArray Class Reference</h1><!-- doxytag: class="Nv::Blast::FixedBoolArray" --><code>#include <<a class="el" href="_nv_blast_fixed_bool_array_8h-source.html">NvBlastFixedBoolArray.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_fixed_bool_array-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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ead1a010fb21c450ece0345ba36879fa">clear</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#3dd3e3b6dda80554dcc2137d9974751d">fill</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#ec2fbcfaa2de45959831ebd39a7e6622">FixedBoolArray</a> (uint32_t size)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#09c82c9bb97e55beb2ab376fcb0d63e2">reset</a> (uint32_t index)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#8e1aeb344b1214ec88bf78f739b4a559">set</a> (uint32_t index)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#480da0f31c1db324ee085b2557f7161d">test</a> (uint32_t index) const </td></tr> - -<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html#2e54d889866dc43d9e863d45e4450344">requiredMemorySize</a> (uint32_t size)</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<a class="el" href="class_nv_1_1_blast_1_1_fixed_bool_array.html">FixedBoolArray</a> is an array of bools of fixed size, it's intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:<p> -some memory char ​*buf = new char[64 *​ 1024];<p> -const uint32_t size = 100;<p> -placement new on this memory FixedBoolArray* arr = new (buf) FixedBoolArray(size);<p> -you can get max requiredMemorySize by an bitMap to use memory left buf = buf + FixedBoolArray<SomeClass>::requiredMemorySize(size);<p> -buf:<p> -+------------------------------------------------------------+ | uint32_t | bool0 | bool1 | bool2 | ... | +------------------------------------------------------------+ <hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="ec2fbcfaa2de45959831ebd39a7e6622"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::FixedBoolArray" ref="ec2fbcfaa2de45959831ebd39a7e6622" args="(uint32_t size)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::FixedBoolArray::FixedBoolArray </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>size</em> </td> - <td> ) </td> - <td><code> [inline, explicit]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="ead1a010fb21c450ece0345ba36879fa"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::clear" ref="ead1a010fb21c450ece0345ba36879fa" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBoolArray::clear </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="3dd3e3b6dda80554dcc2137d9974751d"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::fill" ref="3dd3e3b6dda80554dcc2137d9974751d" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBoolArray::fill </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2e54d889866dc43d9e863d45e4450344"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::requiredMemorySize" ref="2e54d889866dc43d9e863d45e4450344" args="(uint32_t size)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">static size_t Nv::Blast::FixedBoolArray::requiredMemorySize </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>size</em> </td> - <td> ) </td> - <td><code> [inline, static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="09c82c9bb97e55beb2ab376fcb0d63e2"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::reset" ref="09c82c9bb97e55beb2ab376fcb0d63e2" args="(uint32_t index)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBoolArray::reset </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>index</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="8e1aeb344b1214ec88bf78f739b4a559"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::set" ref="8e1aeb344b1214ec88bf78f739b4a559" args="(uint32_t index)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void Nv::Blast::FixedBoolArray::set </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>index</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="480da0f31c1db324ee085b2557f7161d"></a><!-- doxytag: member="Nv::Blast::FixedBoolArray::test" ref="480da0f31c1db324ee085b2557f7161d" args="(uint32_t index) const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">int Nv::Blast::FixedBoolArray::test </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>index</em> </td> - <td> ) </td> - <td> const<code> [inline]</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>sdk/common/<a class="el" href="_nv_blast_fixed_bool_array_8h-source.html">NvBlastFixedBoolArray.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html deleted file mode 100644 index 761fc7c..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue-members.html +++ /dev/null @@ -1,41 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::FixedPriorityQueue< Element, Comparator > Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#7127664503056837ccaf338909e59652">clear</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#5348990a3df348ad769d722f23b9ceb5">empty</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#fac0be73b5f4e3018871c2bfdde6fb28">FixedPriorityQueue</a>(const Comparator &less=Comparator())</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#2a11aad2baa3b807fb420372914e9cd6">pop</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#ef62e4bf465c5a8e77a3a4937456f8d2">push</a>(const Element &value)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#bbab600f8c667462ee6454db90d1da38">requiredMemorySize</a>(uint32_t capacity)</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline, static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">size</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d9679f0ccba61335bbf26f7871b2018f">top</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#9ba647089df9693a0a565dd8628cdefa">top</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#3ce356e170ce6137c5e1a767658a6fc9">valid</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#98f870b4b97264985577689aee68bb59">~FixedPriorityQueue</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue< Element, Comparator ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html deleted file mode 100644 index d6b05cd..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fixed_priority_queue.html +++ /dev/null @@ -1,327 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::FixedPriorityQueue< Element, Comparator > Class Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue</a> - </div> -<div class="contents"> -<h1>Nv::Blast::FixedPriorityQueue< Element, Comparator > Class Template Reference</h1><!-- doxytag: class="Nv::Blast::FixedPriorityQueue" --><code>#include <<a class="el" href="_nv_blast_fixed_priority_queue_8h-source.html">NvBlastFixedPriorityQueue.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_fixed_priority_queue-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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#7127664503056837ccaf338909e59652">clear</a> ()</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Empty the priority queue. <a href="#7127664503056837ccaf338909e59652"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#5348990a3df348ad769d722f23b9ceb5">empty</a> () const </td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Check to whether the priority queue is empty. <a href="#5348990a3df348ad769d722f23b9ceb5"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#fac0be73b5f4e3018871c2bfdde6fb28">FixedPriorityQueue</a> (const Comparator &less=Comparator())</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">Element </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#2a11aad2baa3b807fb420372914e9cd6">pop</a> ()</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Delete the highest priority element. Only valid when non-empty. <a href="#2a11aad2baa3b807fb420372914e9cd6"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#ef62e4bf465c5a8e77a3a4937456f8d2">push</a> (const Element &value)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert a new element into the priority queue. Only valid when <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce" title="Return number of elements in the priority queue.">size()</a> is less than Capacity. <a href="#ef62e4bf465c5a8e77a3a4937456f8d2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">size</a> () const </td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Return number of elements in the priority queue. <a href="#d13461038e5995b58057a5c13dfbe8ce"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">Element </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#9ba647089df9693a0a565dd8628cdefa">top</a> ()</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the element with the highest priority. <a href="#9ba647089df9693a0a565dd8628cdefa"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const Element </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d9679f0ccba61335bbf26f7871b2018f">top</a> () const </td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the element with the highest priority. <a href="#d9679f0ccba61335bbf26f7871b2018f"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#3ce356e170ce6137c5e1a767658a6fc9">valid</a> () const </td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Make sure the priority queue sort all elements correctly. <a href="#3ce356e170ce6137c5e1a767658a6fc9"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#98f870b4b97264985577689aee68bb59">~FixedPriorityQueue</a> ()</td></tr> - -<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#bbab600f8c667462ee6454db90d1da38">requiredMemorySize</a> (uint32_t capacity)</td></tr> - -</table> -<h3>template<class Element, class Comparator = Less<Element>><br> - class Nv::Blast::FixedPriorityQueue< Element, Comparator ></h3> - -<hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="fac0be73b5f4e3018871c2bfdde6fb28"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::FixedPriorityQueue" ref="fac0be73b5f4e3018871c2bfdde6fb28" args="(const Comparator &less=Comparator())" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::<a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue</a> </td> - <td>(</td> - <td class="paramtype">const Comparator & </td> - <td class="paramname"> <em>less</em> = <code>Comparator()</code> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="98f870b4b97264985577689aee68bb59"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::~FixedPriorityQueue" ref="98f870b4b97264985577689aee68bb59" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::~<a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue</a> </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="7127664503056837ccaf338909e59652"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::clear" ref="7127664503056837ccaf338909e59652" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::clear </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Empty the priority queue. -<p> - -</div> -</div><p> -<a class="anchor" name="5348990a3df348ad769d722f23b9ceb5"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::empty" ref="5348990a3df348ad769d722f23b9ceb5" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">bool <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::empty </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Check to whether the priority queue is empty. -<p> - -</div> -</div><p> -<a class="anchor" name="2a11aad2baa3b807fb420372914e9cd6"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::pop" ref="2a11aad2baa3b807fb420372914e9cd6" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">Element <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::pop </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Delete the highest priority element. Only valid when non-empty. -<p> - -</div> -</div><p> -<a class="anchor" name="ef62e4bf465c5a8e77a3a4937456f8d2"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::push" ref="ef62e4bf465c5a8e77a3a4937456f8d2" args="(const Element &value)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::push </td> - <td>(</td> - <td class="paramtype">const Element & </td> - <td class="paramname"> <em>value</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Insert a new element into the priority queue. Only valid when <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce" title="Return number of elements in the priority queue.">size()</a> is less than Capacity. -<p> - -</div> -</div><p> -<a class="anchor" name="bbab600f8c667462ee6454db90d1da38"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::requiredMemorySize" ref="bbab600f8c667462ee6454db90d1da38" args="(uint32_t capacity)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">static size_t <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::requiredMemorySize </td> - <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>capacity</em> </td> - <td> ) </td> - <td><code> [inline, static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="d13461038e5995b58057a5c13dfbe8ce"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::size" ref="d13461038e5995b58057a5c13dfbe8ce" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">uint32_t <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::size </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Return number of elements in the priority queue. -<p> - -</div> -</div><p> -<a class="anchor" name="9ba647089df9693a0a565dd8628cdefa"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::top" ref="9ba647089df9693a0a565dd8628cdefa" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">Element <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::top </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Get the element with the highest priority. -<p> - -</div> -</div><p> -<a class="anchor" name="d9679f0ccba61335bbf26f7871b2018f"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::top" ref="d9679f0ccba61335bbf26f7871b2018f" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">const Element <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::top </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Get the element with the highest priority. -<p> - -</div> -</div><p> -<a class="anchor" name="3ce356e170ce6137c5e1a767658a6fc9"></a><!-- doxytag: member="Nv::Blast::FixedPriorityQueue::valid" ref="3ce356e170ce6137c5e1a767658a6fc9" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Element , class Comparator = Less<Element>> </div> - <table class="memname"> - <tr> - <td class="memname">bool <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">Nv::Blast::FixedPriorityQueue</a>< Element, Comparator >::valid </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Make sure the priority queue sort all elements correctly. -<p> - -</div> -</div><p> -<hr>The documentation for this class was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_fixed_priority_queue_8h-source.html">NvBlastFixedPriorityQueue.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html deleted file mode 100644 index 190cfad..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list-members.html +++ /dev/null @@ -1,38 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::IndexDList< IndexType > Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#55124c5dd5109aa95d2b1751352b0c54">getAdj</a>(IndexDLink< IndexType > *links, IndexType linkIndex, int which)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#9624cfa421fd7fecb67d78e143d47dca">initLinksChain</a>(IndexDLink< IndexType > *links, IndexType linkCount)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#bc3c8aa8e9708bdc838bbd6345078329">initLinksSolitary</a>(IndexDLink< IndexType > *links, IndexType linkCount)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#e08677ece60c50e0c17ceb8483cbb941">insertListHead</a>(IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#2b0fb546e12c35ddbd515b4c17cf1c59">isSolitary</a>(IndexDLink< IndexType > *links, IndexType linkIndex)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#c4a779a50795386918e694c977b0a94c">remove</a>(IndexDLink< IndexType > *links, IndexType linkIndex)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#f5338b775b990895b7e82ca827c8c0de">removeFromList</a>(IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#4702080fa027fcd1a8dfabe0feceee47">removeListHead</a>(IndexType &listHead, IndexDLink< IndexType > *links)</td><td><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList< IndexType ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html deleted file mode 100644 index 08e987c..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_index_d_list.html +++ /dev/null @@ -1,327 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::IndexDList< IndexType > Class Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">IndexDList</a> - </div> -<div class="contents"> -<h1>Nv::Blast::IndexDList< IndexType > Class Template Reference</h1><!-- doxytag: class="Nv::Blast::IndexDList" --><code>#include <<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_index_d_list-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">IndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#55124c5dd5109aa95d2b1751352b0c54">getAdj</a> (<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkIndex, int which)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#9624cfa421fd7fecb67d78e143d47dca">initLinksChain</a> (<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkCount)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#bc3c8aa8e9708bdc838bbd6345078329">initLinksSolitary</a> (<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkCount)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#e08677ece60c50e0c17ceb8483cbb941">insertListHead</a> (IndexType &listHead, <a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkIndex)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#2b0fb546e12c35ddbd515b4c17cf1c59">isSolitary</a> (<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkIndex)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#c4a779a50795386918e694c977b0a94c">remove</a> (<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkIndex)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#f5338b775b990895b7e82ca827c8c0de">removeFromList</a> (IndexType &listHead, <a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links, IndexType linkIndex)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">IndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html#4702080fa027fcd1a8dfabe0feceee47">removeListHead</a> (IndexType &listHead, <a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > *links)</td></tr> - -</table> -<h3>template<typename IndexType><br> - class Nv::Blast::IndexDList< IndexType ></h3> - -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="55124c5dd5109aa95d2b1751352b0c54"></a><!-- doxytag: member="Nv::Blast::IndexDList::getAdj" ref="55124c5dd5109aa95d2b1751352b0c54" args="(IndexDLink< IndexType > *links, IndexType linkIndex, int which)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">IndexType <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::getAdj </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkIndex</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>which</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="9624cfa421fd7fecb67d78e143d47dca"></a><!-- doxytag: member="Nv::Blast::IndexDList::initLinksChain" ref="9624cfa421fd7fecb67d78e143d47dca" args="(IndexDLink< IndexType > *links, IndexType linkCount)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::initLinksChain </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkCount</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="bc3c8aa8e9708bdc838bbd6345078329"></a><!-- doxytag: member="Nv::Blast::IndexDList::initLinksSolitary" ref="bc3c8aa8e9708bdc838bbd6345078329" args="(IndexDLink< IndexType > *links, IndexType linkCount)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::initLinksSolitary </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkCount</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="e08677ece60c50e0c17ceb8483cbb941"></a><!-- doxytag: member="Nv::Blast::IndexDList::insertListHead" ref="e08677ece60c50e0c17ceb8483cbb941" args="(IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::insertListHead </td> - <td>(</td> - <td class="paramtype">IndexType & </td> - <td class="paramname"> <em>listHead</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkIndex</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="2b0fb546e12c35ddbd515b4c17cf1c59"></a><!-- doxytag: member="Nv::Blast::IndexDList::isSolitary" ref="2b0fb546e12c35ddbd515b4c17cf1c59" args="(IndexDLink< IndexType > *links, IndexType linkIndex)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">bool <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::isSolitary </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkIndex</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="c4a779a50795386918e694c977b0a94c"></a><!-- doxytag: member="Nv::Blast::IndexDList::remove" ref="c4a779a50795386918e694c977b0a94c" args="(IndexDLink< IndexType > *links, IndexType linkIndex)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::remove </td> - <td>(</td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkIndex</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="f5338b775b990895b7e82ca827c8c0de"></a><!-- doxytag: member="Nv::Blast::IndexDList::removeFromList" ref="f5338b775b990895b7e82ca827c8c0de" args="(IndexType &listHead, IndexDLink< IndexType > *links, IndexType linkIndex)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">void <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::removeFromList </td> - <td>(</td> - <td class="paramtype">IndexType & </td> - <td class="paramname"> <em>listHead</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>linkIndex</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="4702080fa027fcd1a8dfabe0feceee47"></a><!-- doxytag: member="Nv::Blast::IndexDList::removeListHead" ref="4702080fa027fcd1a8dfabe0feceee47" args="(IndexType &listHead, IndexDLink< IndexType > *links)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">IndexType <a class="el" href="class_nv_1_1_blast_1_1_index_d_list.html">Nv::Blast::IndexDList</a>< IndexType >::removeListHead </td> - <td>(</td> - <td class="paramtype">IndexType & </td> - <td class="paramname"> <em>listHead</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a>< IndexType > * </td> - <td class="paramname"> <em>links</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</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>sdk/common/<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html deleted file mode 100644 index 08b8b8c..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base-members.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::IteratorBase< T > Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< T ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">IteratorBase</a>(T curr)</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a></td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< T ></a></td><td><code> [protected]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#f6daf5c94ead2b074bec7650f0235e8b">operator bool</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< T ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#75a83bbefad5418305d4e983189e0ba6">operator T</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< T ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html deleted file mode 100644 index 6dbe20b..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_iterator_base.html +++ /dev/null @@ -1,138 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::IteratorBase< T > Class Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a> - </div> -<div class="contents"> -<h1>Nv::Blast::IteratorBase< T > Class Template Reference</h1><!-- doxytag: class="Nv::Blast::IteratorBase" --><code>#include <<a class="el" href="_nv_blast_iterator_base_8h-source.html">NvBlastIteratorBase.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_iterator_base-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">IteratorBase</a> (T curr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#f6daf5c94ead2b074bec7650f0235e8b">operator bool</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#75a83bbefad5418305d4e983189e0ba6">operator T</a> () const </td></tr> - -<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<typename T><br> - class Nv::Blast::IteratorBase< T ></h3> - -Common functionality and implementation for iterators over an index, using <a class="el" href="namespace_nv_1_1_blast.html#c1fa2bac8c635169faa133e5de246da9">invalidIndex<T>()</a> to indicate termination. Derived class needs to implement increment operators. <hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="d9e9d786a928a75c203f9942748dd919"></a><!-- doxytag: member="Nv::Blast::IteratorBase::IteratorBase" ref="d9e9d786a928a75c203f9942748dd919" args="(T curr)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename T> </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE <a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase</a>< T >::<a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">IteratorBase</a> </td> - <td>(</td> - <td class="paramtype">T </td> - <td class="paramname"> <em>curr</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Constructor sets m_curr value -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="f6daf5c94ead2b074bec7650f0235e8b"></a><!-- doxytag: member="Nv::Blast::IteratorBase::operator bool" ref="f6daf5c94ead2b074bec7650f0235e8b" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE <a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase</a>< T >::operator bool </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Validity of current value. -</div> -</div><p> -<a class="anchor" name="75a83bbefad5418305d4e983189e0ba6"></a><!-- doxytag: member="Nv::Blast::IteratorBase::operator T" ref="75a83bbefad5418305d4e983189e0ba6" args="() const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename T > </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE <a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase</a>< T >::operator T </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Current value. -</div> -</div><p> -<hr><h2>Member Data Documentation</h2> -<a class="anchor" name="c78398c707b1b14795e9ba113ff6b432"></a><!-- doxytag: member="Nv::Blast::IteratorBase::m_curr" ref="c78398c707b1b14795e9ba113ff6b432" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename T> </div> - <table class="memname"> - <tr> - <td class="memname">T <a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase</a>< T >::<a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</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>sdk/common/<a class="el" href="_nv_blast_iterator_base_8h-source.html">NvBlastIteratorBase.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html deleted file mode 100644 index 1a2a160..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it-members.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::LListIt< IndexType > Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt< IndexType ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#d9e9d786a928a75c203f9942748dd919">IteratorBase</a>(IndexTypecurr)</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#cf0e8a4a9231c9dacdc8e1a4d9c25e48">LListIt</a>(IndexType curr, IndexType *links)</td><td><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt< IndexType ></a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#c78398c707b1b14795e9ba113ff6b432">m_curr</a></td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td><code> [protected]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#69636ed35620c0e9183cbf365672116d">m_links</a></td><td><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt< IndexType ></a></td><td><code> [protected]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#f6daf5c94ead2b074bec7650f0235e8b">operator bool</a>() const</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html#75a83bbefad5418305d4e983189e0ba6">operator IndexType</a>() const</td><td><a class="el" href="class_nv_1_1_blast_1_1_iterator_base.html">Nv::Blast::IteratorBase< IndexType ></a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#3d9ae2531578e90373775d3f852efd07">operator++</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt< IndexType ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html deleted file mode 100644 index cb3f3b8..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.html +++ /dev/null @@ -1,133 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::LListIt< IndexType > Class Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">LListIt</a> - </div> -<div class="contents"> -<h1>Nv::Blast::LListIt< IndexType > Class Template Reference</h1><!-- doxytag: class="Nv::Blast::LListIt" --><!-- doxytag: inherits="IteratorBase< IndexType >" --><code>#include <<a class="el" href="_nv_blast_iterator_base_8h-source.html">NvBlastIteratorBase.h</a>></code> -<p> -<div class="dynheader"> -Inheritance diagram for Nv::Blast::LListIt< IndexType >:</div> -<div class="dynsection"> - -<p><center><img src="class_nv_1_1_blast_1_1_l_list_it.png" usemap="#Nv::Blast::LListIt< IndexType >_map" border="0" alt=""></center> -<map name="Nv::Blast::LListIt< IndexType >_map"> -<area href="class_nv_1_1_blast_1_1_iterator_base.html" alt="Nv::Blast::IteratorBase< IndexType >" shape="rect" coords="0,0,217,24"> -</map> -</div> - -<p> -<a href="class_nv_1_1_blast_1_1_l_list_it-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#cf0e8a4a9231c9dacdc8e1a4d9c25e48">LListIt</a> (IndexType curr, IndexType *links)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#3d9ae2531578e90373775d3f852efd07">operator++</a> ()</td></tr> - -<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">IndexType * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#69636ed35620c0e9183cbf365672116d">m_links</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<typename IndexType><br> - class Nv::Blast::LListIt< IndexType ></h3> - -Common functionality and implementation for an indexed linked list iterator <hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="cf0e8a4a9231c9dacdc8e1a4d9c25e48"></a><!-- doxytag: member="Nv::Blast::LListIt::LListIt" ref="cf0e8a4a9231c9dacdc8e1a4d9c25e48" args="(IndexType curr, IndexType *links)" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE <a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt</a>< IndexType >::<a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">LListIt</a> </td> - <td>(</td> - <td class="paramtype">IndexType </td> - <td class="paramname"> <em>curr</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">IndexType * </td> - <td class="paramname"> <em>links</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="3d9ae2531578e90373775d3f852efd07"></a><!-- doxytag: member="Nv::Blast::LListIt::operator++" ref="3d9ae2531578e90373775d3f852efd07" args="()" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE uint32_t <a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt</a>< IndexType >::operator++ </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Pre-increment. Only use if valid() == true. -</div> -</div><p> -<hr><h2>Member Data Documentation</h2> -<a class="anchor" name="69636ed35620c0e9183cbf365672116d"></a><!-- doxytag: member="Nv::Blast::LListIt::m_links" ref="69636ed35620c0e9183cbf365672116d" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType > </div> - <table class="memname"> - <tr> - <td class="memname">IndexType* <a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt</a>< IndexType >::<a class="el" href="class_nv_1_1_blast_1_1_l_list_it.html#69636ed35620c0e9183cbf365672116d">m_links</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>sdk/common/<a class="el" href="_nv_blast_iterator_base_8h-source.html">NvBlastIteratorBase.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png b/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png Binary files differdeleted file mode 100644 index 3dc898f..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_l_list_it.png +++ /dev/null diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html deleted file mode 100644 index e80c458..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_time-members.html +++ /dev/null @@ -1,35 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::Time Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_time.html#4f077e2652ca099569600e76a12501b6">getElapsedTicks</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_time.html#f0937e761f072b8ffc84e4e83c6abd6f">getLastTickCount</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_time.html#a2aed7f3170539c828f37928b19ec7e1">peekElapsedTicks</a>() const </td><td><a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_time.html#eced1fdeb83d4ce1ef759648577769d0">seconds</a>(int64_t ticks)</td><td><a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a></td><td><code> [inline, static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_time.html#101e7808be5a2daad0f2b0f9298dca2a">Time</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_time.html">Nv::Blast::Time</a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_time.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_time.html deleted file mode 100644 index d26b527..0000000 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_time.html +++ /dev/null @@ -1,150 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::Time 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="class_nv_1_1_blast_1_1_time.html">Time</a> - </div> -<div class="contents"> -<h1>Nv::Blast::Time Class Reference</h1><!-- doxytag: class="Nv::Blast::Time" --><code>#include <<a class="el" href="_nv_blast_time_8h-source.html">NvBlastTime.h</a>></code> -<p> - -<p> -<a href="class_nv_1_1_blast_1_1_time-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">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_time.html#4f077e2652ca099569600e76a12501b6">getElapsedTicks</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_time.html#f0937e761f072b8ffc84e4e83c6abd6f">getLastTickCount</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_time.html#a2aed7f3170539c828f37928b19ec7e1">peekElapsedTicks</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_time.html#101e7808be5a2daad0f2b0f9298dca2a">Time</a> ()</td></tr> - -<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_time.html#eced1fdeb83d4ce1ef759648577769d0">seconds</a> (int64_t ticks)</td></tr> - -</table> -<hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="101e7808be5a2daad0f2b0f9298dca2a"></a><!-- doxytag: member="Nv::Blast::Time::Time" ref="101e7808be5a2daad0f2b0f9298dca2a" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::Time::Time </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="4f077e2652ca099569600e76a12501b6"></a><!-- doxytag: member="Nv::Blast::Time::getElapsedTicks" ref="4f077e2652ca099569600e76a12501b6" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">int64_t Nv::Blast::Time::getElapsedTicks </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="f0937e761f072b8ffc84e4e83c6abd6f"></a><!-- doxytag: member="Nv::Blast::Time::getLastTickCount" ref="f0937e761f072b8ffc84e4e83c6abd6f" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">int64_t Nv::Blast::Time::getLastTickCount </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="a2aed7f3170539c828f37928b19ec7e1"></a><!-- doxytag: member="Nv::Blast::Time::peekElapsedTicks" ref="a2aed7f3170539c828f37928b19ec7e1" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">int64_t Nv::Blast::Time::peekElapsedTicks </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="eced1fdeb83d4ce1ef759648577769d0"></a><!-- doxytag: member="Nv::Blast::Time::seconds" ref="eced1fdeb83d4ce1ef759648577769d0" args="(int64_t ticks)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">static double Nv::Blast::Time::seconds </td> - <td>(</td> - <td class="paramtype">int64_t </td> - <td class="paramname"> <em>ticks</em> </td> - <td> ) </td> - <td><code> [inline, static]</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>sdk/common/<a class="el" href="_nv_blast_time_8h-source.html">NvBlastTime.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html index 080b126..20af2a5 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_actor.html @@ -159,15 +159,15 @@ NOTE: Calls NvBlastActorApplyFracture internally. see NvBlastActorApplyFracture <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> Damage Desc will be stacked into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>. <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> will be passed into shader.<p> -This function overload explicitly sets a material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>, it must be valid until the group sync() call.<p> +This function overload explicitly sets a material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>, it must be valid until the group endProcess() call.<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>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>damageDesc</em> </td><td>Parameters to be put in <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>, have to be POD type (will be copied). </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>descSize</em> </td><td>Size of damageDesc in bytes. Required to copy and store Damage Desc. </td></tr> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>material</em> </td><td>Material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. Must be valid until the group sync() call. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>material</em> </td><td>Material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. Must be valid until the group endProcess() call. </td></tr> </table> </dl> @@ -206,7 +206,7 @@ This function overload explicitly sets a material to be passed into <a class="el <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> Damage Desc will be stacked into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a> will be passed into shader.<p> Material set on actor's family will be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> @@ -246,8 +246,8 @@ Material set on actor's family will be passed into <a class="el" href="struct_nv <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> -It's the user's responsibility to keep programParams pointer alive until the group sync() call.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> +It's the user's responsibility to keep programParams pointer alive until the group endProcess() call.<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>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html index 2b71cf8..4f30328 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_family.html @@ -321,7 +321,7 @@ Remove a TkEventReciever from this family's list of listeners.<p> <div class="memdoc"> <p> -Set the default material to be passed into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> when a <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> in this family is damaged. Must be valid till group sync() call.<p> +Set the default material to be passed into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> when a <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> in this family is damaged. Must be valid till group endProcess() call.<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>material</em> </td><td>The material to be the new default. </td></tr> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html index d6475d6..9069367 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html @@ -30,7 +30,7 @@ <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#dedce0f4d320f3c7f67d1c9c8ebac152">getStats</a>(TkGroupStats &stats) const =0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html#d156c3e85ee665c251e26ac86d3cf03b">getType</a>() const =0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html">Nv::Blast::TkIdentifiable</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#d8f946a317af8760c9f70f9455b1dd6e">getWorkerCount</a>() const =0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [pure virtual]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_object.html#848b4a7ade17edc49a071c472cbfad12">release</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_object.html">Nv::Blast::TkObject</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#7fc6d691a59aa7b107adfaac6fe5fd65">returnWorker</a>(TkGroupWorker *)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html#630e37302f7c8747373431d747415642">setID</a>(const NvBlastID &id)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html">Nv::Blast::TkIdentifiable</a></td><td><code> [pure virtual]</code></td></tr> diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html index be8b691..0c19d6c 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_tk_group.html @@ -53,7 +53,7 @@ Inheritance diagram for Nv::Blast::TkGroup:</div> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#d8f946a317af8760c9f70f9455b1dd6e">getWorkerCount</a> () const =0</td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a> ()</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#7fc6d691a59aa7b107adfaac6fe5fd65">returnWorker</a> (<a class="el" href="class_nv_1_1_blast_1_1_tk_group_worker.html">TkGroupWorker</a> *)=0</td></tr> @@ -256,7 +256,7 @@ For profile builds only, request stats of the last successful processing. Inacti <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td><code> [virtual]</code></td> + <td></td> </tr> </table> </div> diff --git a/docs/api_docs/files/functions_0x63.html b/docs/api_docs/files/functions_0x63.html index ed1f5f6..b7d8e3f 100644 --- a/docs/api_docs/files/functions_0x63.html +++ b/docs/api_docs/files/functions_0x63.html @@ -145,19 +145,19 @@ Here is a list of all class members with links to the classes they belong to: : <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a> , <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event_type.html#9a61dab2f51aecaea8bd63c62097a8458e821efbfc58abb1f947af0b5922f3b5">Nv::Blast::ExtSyncEventType</a> <li>create() -: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">Nv::Blast::ExtGroupTaskManager</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#6514c543e6df14d77ef660bafa8c4fb3">Nv::Blast::ExtPxAsset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#8918f4cd232d7844dee1a3a4d4d9d6ea">Nv::Blast::ExtPxAsset</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">Nv::Blast::ExtGroupTaskManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a> <li>createActor() : <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a> <li>createAsset() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#f1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a> +: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#9f9ae6a30e80b39d3fcbb14483c20646">Nv::Blast::TkFramework</a> <li>createBondBetweenMeshes() : <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#e2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a> <li>createChunkMesh() diff --git a/docs/api_docs/files/functions_0x67.html b/docs/api_docs/files/functions_0x67.html index f604172..0a513aa 100644 --- a/docs/api_docs/files/functions_0x67.html +++ b/docs/api_docs/files/functions_0x67.html @@ -220,7 +220,7 @@ Here is a list of all class members with links to the classes they belong to: <li>getName() : <a class="el" href="class_nv_1_1_blast_1_1_tk_type.html#f3d9ae44f5f8234e0ccf6027dcca40ab">Nv::Blast::TkType</a> <li>getNormal() -: <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">Nv::Blast::Triangle</a> +: <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">Nv::Blast::Triangle</a> <li>getNormalizedDamage() : <a class="el" href="struct_nv_blast_ext_material.html#7dfea97ed502a26acd63d1c3ed750557">NvBlastExtMaterial</a> <li>getNormalsArray() diff --git a/docs/api_docs/files/functions_func_0x63.html b/docs/api_docs/files/functions_func_0x63.html index 0c3b3d7..5938212 100644 --- a/docs/api_docs/files/functions_func_0x63.html +++ b/docs/api_docs/files/functions_func_0x63.html @@ -70,11 +70,11 @@ : <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#adc1efaf4d0f77ab8f092cd14fb82a00">Nv::Blast::TriangleIndexed</a> <li>create() : <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b2de9bf320ffa4c0a777d5c9e72d1803">Nv::Blast::ExtPxAsset</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">Nv::Blast::ExtGroupTaskManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a> <li>createActor() @@ -90,8 +90,8 @@ <li>createGroup() : <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a> <li>createJoint() -: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a> +: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a> </ul> </div> <!-- start footer part --> diff --git a/docs/api_docs/files/functions_func_0x67.html b/docs/api_docs/files/functions_func_0x67.html index 3dadafa..34f9494 100644 --- a/docs/api_docs/files/functions_func_0x67.html +++ b/docs/api_docs/files/functions_func_0x67.html @@ -209,7 +209,7 @@ <li>getName() : <a class="el" href="class_nv_1_1_blast_1_1_tk_type.html#f3d9ae44f5f8234e0ccf6027dcca40ab">Nv::Blast::TkType</a> <li>getNormal() -: <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">Nv::Blast::Triangle</a> +: <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">Nv::Blast::Triangle</a> <li>getNormalizedDamage() : <a class="el" href="struct_nv_blast_ext_material.html#7dfea97ed502a26acd63d1c3ed750557">NvBlastExtMaterial</a> <li>getNormalsArray() diff --git a/docs/api_docs/files/functions_rela.html b/docs/api_docs/files/functions_rela.html deleted file mode 100644 index 5081c85..0000000 --- a/docs/api_docs/files/functions_rela.html +++ /dev/null @@ -1,46 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Class Members - Related Functions</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="tabs"> - <ul> - <li><a href="functions.html"><span>All</span></a></li> - <li><a href="functions_func.html"><span>Functions</span></a></li> - <li><a href="functions_vars.html"><span>Variables</span></a></li> - <li><a href="functions_type.html"><span>Typedefs</span></a></li> - <li><a href="functions_enum.html"><span>Enumerations</span></a></li> - <li><a href="functions_eval.html"><span>Enumerator</span></a></li> - <li class="current"><a href="functions_rela.html"><span>Related Functions</span></a></li> - </ul> - </div> -<div class="contents"> - -<p> -<ul> -<li>DList -: <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#e5cffd78d183d0fa9be728d4c172c22f">Nv::Blast::DLink</a> -</ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/functions_type.html b/docs/api_docs/files/functions_type.html deleted file mode 100644 index 44a0f9e..0000000 --- a/docs/api_docs/files/functions_type.html +++ /dev/null @@ -1,49 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Class Members - Typedefs</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="tabs"> - <ul> - <li><a href="functions.html"><span>All</span></a></li> - <li><a href="functions_func.html"><span>Functions</span></a></li> - <li><a href="functions_vars.html"><span>Variables</span></a></li> - <li class="current"><a href="functions_type.html"><span>Typedefs</span></a></li> - <li><a href="functions_enum.html"><span>Enumerations</span></a></li> - <li><a href="functions_eval.html"><span>Enumerator</span></a></li> - <li><a href="functions_rela.html"><span>Related Functions</span></a></li> - </ul> - </div> -<div class="contents"> - -<p> -<ul> -<li>type -: <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array< T ></a> -, <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">Nv::Blast::HashSet< Key, HashFn ></a> -, <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap< Key, Value, HashFn ></a> -, <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray< T, N ></a> -</ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html b/docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html deleted file mode 100644 index 652dda6..0000000 --- a/docs/api_docs/files/namespace_nv_1_1_blast_1_1_vec_math.html +++ /dev/null @@ -1,318 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::VecMath Namespace 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html">VecMath</a> - </div> -<div class="contents"> -<h1>Nv::Blast::VecMath Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#ff9758a004eaba1c34d93b67cc2372ca">add</a> (const float a[3], const float b[3], float r[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#40a71c61826702e77bc117fcc005ebf1">add</a> (const float a[3], float b[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#977e74623adf1a08686f4dc5a6f241bc">dist</a> (const float a[3], const float b[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#171cbcf9510fa3804c56ecfcf78da929">div</a> (float a[3], float divisor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#91266f20b4a3e7658eedf69ec1f311f4">dot</a> (const float a[3], const float b[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c15bbfd92f50bb69873a3e54281a42c">length</a> (const float a[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#258a9333f07d3c54170aa74b90366e73">mul</a> (float a[3], float multiplier)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">normal</a> (const float a[3], float r[3])</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast_1_1_vec_math.html#1da912deb1046ef7afc447a170f9a1a4">sub</a> (const float a[3], const float b[3], float r[3])</td></tr> - -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="ff9758a004eaba1c34d93b67cc2372ca"></a><!-- doxytag: member="Nv::Blast::VecMath::add" ref="ff9758a004eaba1c34d93b67cc2372ca" args="(const float a[3], const float b[3], float r[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE void Nv::Blast::VecMath::add </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>b</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">float </td> - <td class="paramname"> <em>r</em>[3]</td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="40a71c61826702e77bc117fcc005ebf1"></a><!-- doxytag: member="Nv::Blast::VecMath::add" ref="40a71c61826702e77bc117fcc005ebf1" args="(const float a[3], float b[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE void Nv::Blast::VecMath::add </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">float </td> - <td class="paramname"> <em>b</em>[3]</td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="977e74623adf1a08686f4dc5a6f241bc"></a><!-- doxytag: member="Nv::Blast::VecMath::dist" ref="977e74623adf1a08686f4dc5a6f241bc" args="(const float a[3], const float b[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE float Nv::Blast::VecMath::dist </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>b</em>[3]</td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="171cbcf9510fa3804c56ecfcf78da929"></a><!-- doxytag: member="Nv::Blast::VecMath::div" ref="171cbcf9510fa3804c56ecfcf78da929" args="(float a[3], float divisor)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE void Nv::Blast::VecMath::div </td> - <td>(</td> - <td class="paramtype">float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">float </td> - <td class="paramname"> <em>divisor</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="91266f20b4a3e7658eedf69ec1f311f4"></a><!-- doxytag: member="Nv::Blast::VecMath::dot" ref="91266f20b4a3e7658eedf69ec1f311f4" args="(const float a[3], const float b[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE float Nv::Blast::VecMath::dot </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>b</em>[3]</td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="1c15bbfd92f50bb69873a3e54281a42c"></a><!-- doxytag: member="Nv::Blast::VecMath::length" ref="1c15bbfd92f50bb69873a3e54281a42c" args="(const float a[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE float Nv::Blast::VecMath::length </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3] </td> - <td> ) </td> - <td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="258a9333f07d3c54170aa74b90366e73"></a><!-- doxytag: member="Nv::Blast::VecMath::mul" ref="258a9333f07d3c54170aa74b90366e73" args="(float a[3], float multiplier)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE void Nv::Blast::VecMath::mul </td> - <td>(</td> - <td class="paramtype">float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">float </td> - <td class="paramname"> <em>multiplier</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="1c8d1bbcf531b04e6ff52f5357987794"></a><!-- doxytag: member="Nv::Blast::VecMath::normal" ref="1c8d1bbcf531b04e6ff52f5357987794" args="(const float a[3], float r[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE float Nv::Blast::VecMath::normal </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">float </td> - <td class="paramname"> <em>r</em>[3]</td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="1da912deb1046ef7afc447a170f9a1a4"></a><!-- doxytag: member="Nv::Blast::VecMath::sub" ref="1da912deb1046ef7afc447a170f9a1a4" args="(const float a[3], const float b[3], float r[3])" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">NV_INLINE void Nv::Blast::VecMath::sub </td> - <td>(</td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>a</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const float </td> - <td class="paramname"> <em>b</em>[3], </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">float </td> - <td class="paramname"> <em>r</em>[3]</td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/pageextphysx.html b/docs/api_docs/files/pageextphysx.html index 85ee427..d88f68d 100644 --- a/docs/api_docs/files/pageextphysx.html +++ b/docs/api_docs/files/pageextphysx.html @@ -20,11 +20,14 @@ </div> <!-- Generated by Doxygen 1.5.8 --> <div class="contents"> -<h1><a class="anchor" name="pageextphysx">PhysX™ Extensions (NvBlastExtPhysX) </a></h1>NvBlastExtPhysX contains classes for easier use of Blast™ Toolkit with the PhysX™ SDK. There are 3 of them:<ul> -<li><b>ExtPxManager</b>: Manager to keep Blast™ actors in sync with PhysX™ actors.</li><li><b>ExtImpactDamageManager</b>: Manager to collect and apply impact damage caused by collision in PhysX™ scene.</li><li><b>ExtPxStressSolver</b>: Stress Solver to propagate stress through support graph and apply it as damage to Blast™ actors.</li></ul> +<h1><a class="anchor" name="pageextphysx">PhysX™ Extensions (NvBlastExtPhysX) </a></h1>NvBlastExtPhysX contains classes for easier use of Blast™ Toolkit with the PhysX™ SDK. There are three of them:<ul> +<li><a class="el" href="pageextphysx.html#ExtPxManager">ExtPxManager</a> - Manager to keep Blast™ actors in sync with PhysX™ actors.</li><li><a class="el" href="pageextphysx.html#ExtImpactDamageManager">ExtImpactDamageManager</a> - Manager to collect and apply impact damage caused by collision in PhysX™ scene.</li><li><a class="el" href="pageextphysx.html#ExtPxStressSolver">ExtPxStressSolver</a> - Stress Solver to propagate stress through support graph and apply it as damage to Blast™ actors.</li></ul> <p> This library also contains an extension for synchronizing Blast™ state:<ul> -<li><b>ExtSync</b> - Utility for writing Blast™ state to a buffer, to be read by a client. This may be used for networking, for example.</li></ul> +<li><a class="el" href="pageextphysx.html#ExtSync">ExtSync</a> - Utility for writing Blast™ state to a buffer, to be read by a client. This may be used for networking, for example.</li></ul> +<p> +It also provides classes for utilizing PhysX™ SDK Foundation capabilities:<ul> +<li><a class="el" href="pageextphysx.html#ExtGroupTaskManager">ExtGroupTaskManager</a> - Multithreaded TkGroup processing using PxTask.</li><li><a class="el" href="pageextphysx.html#ExtCustomProfiler">ExtCustomProfiler</a> - Serves Blast™ profiling zones to PxFoundation profiler (e.g. PVD) and platform specific profilers.</li></ul> <p> <br> <h2><a class="anchor" name="ExtPxManager"> @@ -105,7 +108,7 @@ Call <em>applyDamage()</em> when you want the buffered damage to be applied:<p> sceneDesc.filterShader = ExtImpactDamageManager::FilterShader; </pre></div><p> <br> - <h2><a class="anchor" name="extpxstresssolver"> + <h2><a class="anchor" name="ExtPxStressSolver"> ExtPxStressSolver</a></h2> <b>Stress Solver</b> - this wrapper class uses <a class="el" href="pageextstress.html">Stress Solver Extension (NvBlastExtStress)</a> to apply stress calculations to an ExtPxFamily. See <a class="el" href="pageextstress.html">Stress Solver Extension (NvBlastExtStress)</a> for the details of the underlying stress solver.<h3><a class="anchor" name="pxstresssolverusage"> Usage</a></h3> @@ -165,6 +168,62 @@ On the client you can then apply this buffer:<p> </pre></div><p> ExtPxManager is required only if sync buffer contains ExtSyncEventType::Physics events.<p> <br> +<h2><a class="anchor" name="ExtGroupTaskManager"> +ExtGroupTaskManager</a></h2> +This class provides a basic implementation for multithreaded TkGroup processing using PxTask and a PxTaskManager from PxFoundation.<p> +In the simplest use case, all worker threads provided by PxTaskManager are used to process the group.<p> +<div class="fragment"><pre class="fragment"><span class="comment">// creating ExtGroupTaskManager from existing taskManager and tkGroup</span> +ExtGroupTaskManager* gtm = ExtGroupTaskManager::create(*taskManager, tkGroup); + +<span class="keywordflow">while</span> (running) +{ + <span class="comment">// ... add TkActors to TkGroup and damage ...</span> + + <span class="comment">// start processing on all worker threads provided</span> + gtm->process(); + + <span class="comment">// ... do something else ...</span> + + <span class="comment">// wait for the group processing to finish</span> + gtm->wait(); +} + +<span class="comment">// after use, release the ExtGroupTaskManager</span> +gtm->release(); +</pre></div><p> +<br> +<p> +Groups can be processed concurrently as well as follows.<p> +<div class="fragment"><pre class="fragment"><span class="comment">// creating ExtGroupTaskManager from existing taskManager and groups</span> + +ExtGroupTaskManager* gtm0 = ExtGroupTaskManager::create(*taskManager, tkGroup0); +ExtGroupTaskManager* gtm1 = ExtGroupTaskManager::create(*taskManager, tkGroup1); +</pre></div><p> +TkActors are added to TkGroups and damaged as usual.<p> +The PxTaskManager used in this example provides four worker threads of which each ExtGroupTaskManager uses two for its group.<p> +<div class="fragment"><pre class="fragment">uint32_t started = 0; +<span class="keywordflow">if</span> (gtm0->process(2) > 0) { started++; } +<span class="keywordflow">if</span> (gtm1->process(2) > 0) { started++; } +</pre></div><p> +Note that ExtGroupTaskManager::wait() never returns true if no processing has started, as reported by ExtGroupTaskManager::process(). The illustrative busy loop is not recomended for actual use.<p> +<div class="fragment"><pre class="fragment">uint32_t completed = 0; +<span class="keywordflow">while</span> (completed < started) +{ + <span class="keywordflow">if</span> (gtm0->wait(<span class="keyword">false</span>)) { completed++; } + <span class="keywordflow">if</span> (gtm1->wait(<span class="keyword">false</span>)) { completed++; } +} +</pre></div><p> +<br> +<h2><a class="anchor" name="ExtCustomProfiler"> +ExtCustomProfiler</a></h2> +This Nv::Blast::ProfileCallback implementation forwards Blast™ profile events to the PxProfilerCallback attached to PxFoundation, typically a PhysX™ Visual Debugger (PVD) instance. To use it, simply attach one to Blast™.<p> +<div class="fragment"><pre class="fragment"><span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">Nv::Blast::ExtCustomProfiler</a> gBlastProfiler; +<a class="code" href="_nv_blast_profiler_8h.html#fba345e0f5a9689ded425622ea9a659b">NvBlastProfilerSetCallback</a>(&gBlastProfiler); +</pre></div><p> +For convenience, it also provides sending profile events to platform specific profilers. These are disabled by default.<p> +<div class="fragment"><pre class="fragment">gBlastProfiler.<a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">setPlatformEnabled</a>(<span class="keyword">true</span>); +</pre></div><p> +<br> </div> <!-- start footer part --> <div class="footer"> diff --git a/docs/api_docs/files/pageextstress.html b/docs/api_docs/files/pageextstress.html index 5f2c878..a47a655 100644 --- a/docs/api_docs/files/pageextstress.html +++ b/docs/api_docs/files/pageextstress.html @@ -100,7 +100,7 @@ Example code from ExtPxStressSolverImpl:<p> } } </pre></div><p> -Have a look at <em>ExtPxStressSolver</em> implementation code, which is basically a high level wrapper on <em>NvBlastExtStress</em> to couple it with PhysX™ and <em>NvBlastExtPx</em> extension (see <a class="el" href="pageextphysx.html#extpxstresssolver">ExtPxStressSolver</a>).<p> +Have a look at <em>ExtPxStressSolver</em> implementation code, which is basically a high level wrapper on <em>NvBlastExtStress</em> to couple it with PhysX™ and <em>NvBlastExtPx</em> extension (see extpxstresssolver).<p> <br> </div> <!-- start footer part --> diff --git a/docs/api_docs/files/pageglobalsapi.html b/docs/api_docs/files/pageglobalsapi.html index 34cca9a..d36258f 100644 --- a/docs/api_docs/files/pageglobalsapi.html +++ b/docs/api_docs/files/pageglobalsapi.html @@ -69,6 +69,9 @@ and pass it to the globals library using<p> <div class="fragment"><pre class="fragment"><a class="code" href="_nv_blast_profiler_8h.html#fba345e0f5a9689ded425622ea9a659b">NvBlastProfilerSetCallback</a> </pre></div><p> A NULL pointer may be passed in, disabling profiling. Profiler features are only active in checked, debug and profile builds.<p> +The granularity of events reported can be selected with<p> +<div class="fragment"><pre class="fragment"><a class="code" href="_nv_blast_profiler_8h.html#13f57e40a8f414e4004336f0ed82c540">NvBlastProfilerSetDetail</a> +</pre></div><p> <br> </div> <!-- start footer part --> diff --git a/docs/api_docs/files/pagehlapi.html b/docs/api_docs/files/pagehlapi.html index ef9c0b1..4c1045f 100644 --- a/docs/api_docs/files/pagehlapi.html +++ b/docs/api_docs/files/pagehlapi.html @@ -150,7 +150,7 @@ For most applications, the user will need to create a listener object to pass to Groups</a></h2> One important feature of NvBlastTk is the ability to multitask damage processing. The mechanism by which the toolkit does this is the group object, TkGroup. Groups are created at the request of the user; the user may create as many groups as he or she likes. Actors may be added or removed from groups in any way the user wishes, with the only constraint being that a given actor may belong to no more than one group. A group is a processing object, much like a scene in a physics simulation. Indeed, a natural pattern would be to associate one group per physics scene, and synchronize the group processing with scene simulation. Another pattern would be to subdivide the world into neighborhoods, and associate each neighborhood with a group. A distributed game could take advantage of this structure to similarly distribute computation.<p> Group processing is performed by <em>workers</em>, which have a TkGroupWorker API exposed to the user. The number of workers may be set by the user, with the idea being that this should correspond to the number of threads available for group processing. Processing starts with a call to TkGroup::startProcess(). This creates a number of jobs which the user may assign to workers as they like, each worker potentially on its own thread. The jobs calculate the effects of all damage taken by the group's actors. After all jobs have been run, the user must call TkGroup::endProcess(). This will result in all events being fired off to listeners associated with families with actors in the group.<p> -A convenience function, TkGroup::process(), is provided which uses one worker to perform all jobs sequentially on the calling thread. This is useful shortcut to get BlastTk up and running quickly. A multithreaded group processing implementation is given by Nv::Blast::ExtGroupTaskManagerImpl (in NvBlastExtPxTaskImpl.h). This resides in <a class="el" href="pageextphysx.html">PhysX™ Extensions (NvBlastExtPhysX)</a>, because it uses physx::PxTask.<p> +A convenience function, TkGroup::process(), is provided which uses one worker to perform all jobs sequentially on the calling thread. This is useful shortcut to get BlastTk up and running quickly. A multithreaded group processing implementation is given by <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a> (in <a class="el" href="_nv_blast_ext_px_task_8h.html">NvBlastExtPxTask.h</a>). This resides in <a class="el" href="pageextphysx.html">PhysX™ Extensions (NvBlastExtPhysX)</a>, because it uses physx::PxTask.<p> Actors resulting from the split of a "parent" actor will be placed automatically into the group that the parent belonged to. This is similar to the assigment of families from a split, except that unlike families, the user then has the option to move the new actors to other groups, or no group at all.<p> Also similar to families, groups are not automatically released when the last actor is removed from it. Unlike families, when a group is released, the actors which belong to the group are <em>not</em> released. They will, however, be removed from the group before the release is complete.<p> A typical usage is outlined below. See <a class="el" href="pagehlapi.html#damage_in_tk">Applying Damage to Actors and Families</a> for methods of applying damage to actors.<p> @@ -193,6 +193,15 @@ group1->release(); group2->release(); </pre></div><p> <br> + <b>Multithreaded processing</b><p> +When distributing the jobs as mentioned above, every job must be processed exactly once (over all user tasks).<p> +The number of jobs processed per worker can range from a single job (resulting in a user task per job) to all jobs (like <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">Nv::Blast::TkGroup::process()</a> does).<p> +At any point in time, no more than the set workerCount amount of workers may have been acquired. Return the worker at the end of each task.<p> +<div class="fragment"><pre class="fragment"><a class="code" href="class_nv_1_1_blast_1_1_tk_group_worker.html">Nv::Blast::TkGroupWorker</a>* worker = group->acquireWorker(); +<span class="comment">// process some jobs</span> +group->returnWorker(worker); +</pre></div><p> +<br> <h2><a class="anchor" name="damage_in_tk"> Applying Damage to Actors and Families</a></h2> Damage in NvBlastTk uses the same damage program scheme as the low-level SDK (see <a class="el" href="pagellapi.html#splitting">Damage and Fracturing</a>). One passes the program (<a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>), damage descriptor (program-dependent), and material (also program-dependent) to a TkActor::damage function. Ultimately, the damage descriptor and material data are all parameters used by the damage program. The distinction is that the damage descriptor should describe properties of the thing doing the damage, while the material should describe properties of the actor (the thing being damaged). The interpretation of this data is entirely up to the program's functions, however.<p> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_array-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_array-members.html deleted file mode 100644 index b6d2594..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_array-members.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::Array< T > Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_array.html">Nv::Blast::Array< T ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">type</a> typedef</td><td><a class="el" href="struct_nv_1_1_blast_1_1_array.html">Nv::Blast::Array< T ></a></td><td></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_array.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_array.html deleted file mode 100644 index 90f0889..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_array.html +++ /dev/null @@ -1,66 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::Array< T > Struct Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_array.html">Array</a> - </div> -<div class="contents"> -<h1>Nv::Blast::Array< T > Struct Template Reference</h1><!-- doxytag: class="Nv::Blast::Array" --><code>#include <<a class="el" href="_nv_blast_array_8h-source.html">NvBlastArray.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_array-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 Types</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef physx::shdfnd::Array<br class="typebreak"> -< T, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">type</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<class T><br> - struct Nv::Blast::Array< T ></h3> - -Wrapped PxShared <a class="el" href="struct_nv_1_1_blast_1_1_array.html">Array</a> that uses NvBlastGlobals AllocatorCalllback. <hr><h2>Member Typedef Documentation</h2> -<a class="anchor" name="94fd490890f7c6e45784fd43eb14e260"></a><!-- doxytag: member="Nv::Blast::Array::type" ref="94fd490890f7c6e45784fd43eb14e260" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T > </div> - <table class="memname"> - <tr> - <td class="memname">typedef physx::shdfnd::Array<T, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a>> <a class="el" href="struct_nv_1_1_blast_1_1_array.html">Nv::Blast::Array</a>< T >::<a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">type</a> </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_array_8h-source.html">NvBlastArray.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html deleted file mode 100644 index 1bf5478..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link-members.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::DLink Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">Nv::Blast::DLink</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#550877c2672f537aab653df56259e408">DLink</a>()</td><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">Nv::Blast::DLink</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#e5cffd78d183d0fa9be728d4c172c22f">DList</a> class</td><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">Nv::Blast::DLink</a></td><td><code> [friend]</code></td></tr> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#9fa38af21c0f0ebeec7d7191c2b32d4b">getNext</a>() const </td><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">Nv::Blast::DLink</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#6153dfa5dbef280c4ed9b1d69a069d2b">getPrev</a>() const </td><td><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">Nv::Blast::DLink</a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html deleted file mode 100644 index 0ce732f..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_d_link.html +++ /dev/null @@ -1,125 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::DLink Struct 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> - </div> -<div class="contents"> -<h1>Nv::Blast::DLink Struct Reference</h1><!-- doxytag: class="Nv::Blast::DLink" --><code>#include <<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_d_link-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#550877c2672f537aab653df56259e408">DLink</a> ()</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#9fa38af21c0f0ebeec7d7191c2b32d4b">getNext</a> () const </td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#6153dfa5dbef280c4ed9b1d69a069d2b">getPrev</a> () const </td></tr> - -<tr><td colspan="2"><br><h2>Friends</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html#e5cffd78d183d0fa9be728d4c172c22f">DList</a></td></tr> - -</table> -<hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="550877c2672f537aab653df56259e408"></a><!-- doxytag: member="Nv::Blast::DLink::DLink" ref="550877c2672f537aab653df56259e408" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::DLink::DLink </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Member Function Documentation</h2> -<a class="anchor" name="9fa38af21c0f0ebeec7d7191c2b32d4b"></a><!-- doxytag: member="Nv::Blast::DLink::getNext" ref="9fa38af21c0f0ebeec7d7191c2b32d4b" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* Nv::Blast::DLink::getNext </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="6153dfa5dbef280c4ed9b1d69a069d2b"></a><!-- doxytag: member="Nv::Blast::DLink::getPrev" ref="6153dfa5dbef280c4ed9b1d69a069d2b" args="() const " --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="struct_nv_1_1_blast_1_1_d_link.html">DLink</a>* Nv::Blast::DLink::getPrev </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr><h2>Friends And Related Function Documentation</h2> -<a class="anchor" name="e5cffd78d183d0fa9be728d4c172c22f"></a><!-- doxytag: member="Nv::Blast::DLink::DList" ref="e5cffd78d183d0fa9be728d4c172c22f" args="" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">friend class <a class="el" href="class_nv_1_1_blast_1_1_d_list.html">DList</a><code> [friend]</code> </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html deleted file mode 100644 index d0c0d76..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_map-members.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::HashMap< Key, Value, HashFn > Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html">Nv::Blast::HashMap< Key, Value, HashFn ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">type</a> typedef</td><td><a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html">Nv::Blast::HashMap< Key, Value, HashFn ></a></td><td></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_map.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_map.html deleted file mode 100644 index e398eba..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_map.html +++ /dev/null @@ -1,67 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::HashMap< Key, Value, HashFn > Struct Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html">HashMap</a> - </div> -<div class="contents"> -<h1>Nv::Blast::HashMap< Key, Value, HashFn > Struct Template Reference</h1><!-- doxytag: class="Nv::Blast::HashMap" --><code>#include <<a class="el" href="_nv_blast_hash_map_8h-source.html">NvBlastHashMap.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_hash_map-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 Types</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef physx::shdfnd::HashMap<br class="typebreak"> -< Key, Value, HashFn, <br class="typebreak"> -<a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">type</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<class Key, class Value, class HashFn = physx::shdfnd::Hash<Key>><br> - struct Nv::Blast::HashMap< Key, Value, HashFn ></h3> - -Wrapped PxShared <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html">HashMap</a> that uses NvBlastGlobals AllocatorCalllback. <hr><h2>Member Typedef Documentation</h2> -<a class="anchor" name="959b6d3c31a9f21ed69f0cfcade20d3f"></a><!-- doxytag: member="Nv::Blast::HashMap::type" ref="959b6d3c31a9f21ed69f0cfcade20d3f" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Key , class Value , class HashFn = physx::shdfnd::Hash<Key>> </div> - <table class="memname"> - <tr> - <td class="memname">typedef physx::shdfnd::HashMap<Key, Value, HashFn, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a>> <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html">Nv::Blast::HashMap</a>< Key, Value, HashFn >::<a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">type</a> </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_hash_map_8h-source.html">NvBlastHashMap.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html deleted file mode 100644 index bcd5039..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_set-members.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::HashSet< Key, HashFn > Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html">Nv::Blast::HashSet< Key, HashFn ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">type</a> typedef</td><td><a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html">Nv::Blast::HashSet< Key, HashFn ></a></td><td></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_set.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_set.html deleted file mode 100644 index 7c7edb6..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_hash_set.html +++ /dev/null @@ -1,66 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::HashSet< Key, HashFn > Struct Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html">HashSet</a> - </div> -<div class="contents"> -<h1>Nv::Blast::HashSet< Key, HashFn > Struct Template Reference</h1><!-- doxytag: class="Nv::Blast::HashSet" --><code>#include <<a class="el" href="_nv_blast_hash_set_8h-source.html">NvBlastHashSet.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_hash_set-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 Types</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef physx::shdfnd::HashSet<br class="typebreak"> -< Key, HashFn, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">type</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<class Key, class HashFn = physx::shdfnd::Hash<Key>><br> - struct Nv::Blast::HashSet< Key, HashFn ></h3> - -Wrapped PxShared <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html">HashSet</a> that uses NvBlastGlobals AllocatorCalllback. <hr><h2>Member Typedef Documentation</h2> -<a class="anchor" name="bb3e1de36be2fb129233251f720c0d93"></a><!-- doxytag: member="Nv::Blast::HashSet::type" ref="bb3e1de36be2fb129233251f720c0d93" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class Key , class HashFn = physx::shdfnd::Hash<Key>> </div> - <table class="memname"> - <tr> - <td class="memname">typedef physx::shdfnd::HashSet<Key, HashFn, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a>> <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html">Nv::Blast::HashSet</a>< Key, HashFn >::<a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">type</a> </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_hash_set_8h-source.html">NvBlastHashSet.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html deleted file mode 100644 index b228a9e..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link-members.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::IndexDLink< IndexType > Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">Nv::Blast::IndexDLink< IndexType ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">Nv::Blast::IndexDLink< IndexType ></a></td><td></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html deleted file mode 100644 index 87c8b59..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_index_d_link.html +++ /dev/null @@ -1,64 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::IndexDLink< IndexType > Struct Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">IndexDLink</a> - </div> -<div class="contents"> -<h1>Nv::Blast::IndexDLink< IndexType > Struct Template Reference</h1><!-- doxytag: class="Nv::Blast::IndexDLink" --><code>#include <<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_index_d_link-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 Attributes</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">IndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a> [2]</td></tr> - -</table> -<h3>template<typename IndexType><br> - struct Nv::Blast::IndexDLink< IndexType ></h3> - -<hr><h2>Member Data Documentation</h2> -<a class="anchor" name="f3f0c6aa0eca4628cf6292a31b910ec2"></a><!-- doxytag: member="Nv::Blast::IndexDLink::m_adj" ref="f3f0c6aa0eca4628cf6292a31b910ec2" args="[2]" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename IndexType> </div> - <table class="memname"> - <tr> - <td class="memname">IndexType <a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html">Nv::Blast::IndexDLink</a>< IndexType >::<a class="el" href="struct_nv_1_1_blast_1_1_index_d_link.html#f3f0c6aa0eca4628cf6292a31b910ec2">m_adj</a>[2] </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_d_link_8h-source.html">NvBlastDLink.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html deleted file mode 100644 index fbe4eff..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_inline_array-members.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::InlineArray< T, N > Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html">Nv::Blast::InlineArray< T, N ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">type</a> typedef</td><td><a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html">Nv::Blast::InlineArray< T, N ></a></td><td></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_inline_array.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_inline_array.html deleted file mode 100644 index adc3280..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_inline_array.html +++ /dev/null @@ -1,68 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::InlineArray< T, N > Struct Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html">InlineArray</a> - </div> -<div class="contents"> -<h1>Nv::Blast::InlineArray< T, N > Struct Template Reference</h1><!-- doxytag: class="Nv::Blast::InlineArray" --><code>#include <<a class="el" href="_nv_blast_array_8h-source.html">NvBlastArray.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_inline_array-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 Types</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> -physx::shdfnd::InlineArray< T, <br class="typebreak"> -N, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">type</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<class T, uint32_t N><br> - struct Nv::Blast::InlineArray< T, N ></h3> - -Wrapped PxShared <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html">InlineArray</a> that uses NvBlastGlobals AllocatorCalllback.<p> -InlineArraya is array that pre-allocates for N elements. <hr><h2>Member Typedef Documentation</h2> -<a class="anchor" name="47c4d515e65129789d1b58bf02481057"></a><!-- doxytag: member="Nv::Blast::InlineArray::type" ref="47c4d515e65129789d1b58bf02481057" args="" --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<class T , uint32_t N> </div> - <table class="memname"> - <tr> - <td class="memname">typedef physx::shdfnd::InlineArray<T, N, <a class="el" href="class_nv_1_1_blast_1_1_allocator.html">Allocator</a>> <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html">Nv::Blast::InlineArray</a>< T, N >::<a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">type</a> </td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_array_8h-source.html">NvBlastArray.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html deleted file mode 100644 index 8e8d17f..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_less-members.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Member List</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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> -<div class="contents"> -<h1>Nv::Blast::Less< A > Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_less.html">Nv::Blast::Less< A ></a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_less.html#582cf963f750631406af58b1e28b6d0e">operator()</a>(const A &a, const A &b) const </td><td><a class="el" href="struct_nv_1_1_blast_1_1_less.html">Nv::Blast::Less< A ></a></td><td><code> [inline]</code></td></tr> -</table></div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html deleted file mode 100644 index 49ea921..0000000 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_less.html +++ /dev/null @@ -1,84 +0,0 @@ -<html> - <head> - <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Nv::Blast::Less< A > Struct Template 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="blast_logo.png"> - <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">Class List</a> - <a class="qindex" href="functions.html">Class Members</a> - </center> - <hr class="second"> - </div> -<!-- Generated by Doxygen 1.5.8 --> - <div class="navpath"><a class="el" href="namespace_nv.html">Nv</a>::<a class="el" href="namespace_nv_1_1_blast.html">Blast</a>::<a class="el" href="struct_nv_1_1_blast_1_1_less.html">Less</a> - </div> -<div class="contents"> -<h1>Nv::Blast::Less< A > Struct Template Reference</h1><!-- doxytag: class="Nv::Blast::Less" --><code>#include <<a class="el" href="_nv_blast_fixed_priority_queue_8h-source.html">NvBlastFixedPriorityQueue.h</a>></code> -<p> - -<p> -<a href="struct_nv_1_1_blast_1_1_less-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">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_less.html#582cf963f750631406af58b1e28b6d0e">operator()</a> (const A &a, const A &b) const </td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h3>template<typename A><br> - struct Nv::Blast::Less< A ></h3> - -<a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html">FixedPriorityQueue</a> is a priority queue container which is intended to be used with placement new on chunk of memory. It'll use following memory for data layout. As follows:<p> -some memory char ​*buf = new char[64 *​ 1024];<p> -placement new on this memory FixedPriorityQueue<SomeClass>* arr = new (buf) FixedPriorityQueue<SomeClass>();<p> -you can get max requiredMemorySize by an array of 'capacity' elements count to use memory left buf = buf + FixedPriorityQueue<SomeClass>::requiredMemorySize(capacity);<p> -buf:<p> -+------------------------------------------------------------+ | uint32_t | T[0] | T[1] | T[2] | ... | +------------------------------------------------------------+ <hr><h2>Member Function Documentation</h2> -<a class="anchor" name="582cf963f750631406af58b1e28b6d0e"></a><!-- doxytag: member="Nv::Blast::Less::operator()" ref="582cf963f750631406af58b1e28b6d0e" args="(const A &a, const A &b) const " --> -<div class="memitem"> -<div class="memproto"> -<div class="memtemplate"> -template<typename A > </div> - <table class="memname"> - <tr> - <td class="memname">bool <a class="el" href="struct_nv_1_1_blast_1_1_less.html">Nv::Blast::Less</a>< A >::operator() </td> - <td>(</td> - <td class="paramtype">const A & </td> - <td class="paramname"> <em>a</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const A & </td> - <td class="paramname"> <em>b</em></td><td> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td><td> const<code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>sdk/common/<a class="el" href="_nv_blast_fixed_priority_queue_8h-source.html">NvBlastFixedPriorityQueue.h</a></ul> -</div> -<!-- start footer part --> -<div class="footer"> -Copyright © 2015-2017 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> -</div> -</body> -</html> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html index a00bd61..1e4d737 100644 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html @@ -31,13 +31,13 @@ <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">physx::PxVec3 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#34dab72bc3d33c4927c00f870f93ae37">attachPositions</a> [2]</td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which ownes the chunks jointed by this joint. <a href="#34dab72bc3d33c4927c00f870f93ae37"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which owns the chunks jointed by this joint. <a href="#34dab72bc3d33c4927c00f870f93ae37"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#1b8542c85c4ce7cdedc03157b7c2427d">chunkIndices</a> [2]</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The chunk indices within the corresponding <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects joined by the joint. The indexed chunks will be support chunks. <a href="#1b8542c85c4ce7cdedc03157b7c2427d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#e6badf651ba000f9fe081a5ca096d6cc">families</a> [2]</td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containint the chunks joined by the joint. <a href="#e6badf651ba000f9fe081a5ca096d6cc"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containing the chunks joined by the joint. <a href="#e6badf651ba000f9fe081a5ca096d6cc"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Descriptor for joint creation. <hr><h2>Member Data Documentation</h2> @@ -53,7 +53,7 @@ Descriptor for joint creation. <hr><h2>Member Data Documentation</h2> <div class="memdoc"> <p> -The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which ownes the chunks jointed by this joint. +The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which owns the chunks jointed by this joint. <p> </div> @@ -87,7 +87,7 @@ The chunk indices within the corresponding <a class="el" href="class_nv_1_1_blas <div class="memdoc"> <p> -The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containint the chunks joined by the joint. +The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containing the chunks joined by the joint. <p> </div> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html index 46f222e..31be650 100644 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html @@ -24,7 +24,7 @@ <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#39a1ceee6d477adcae017ccce89e4907">b</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#cbec7104b98f9ab000d22e910d3b9def">c</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">getNormal</a>()</td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">getNormal</a>() const </td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td><code> [inline]</code></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#df3a66bdd94f5cd516a4a5b15d23b6b3">materialId</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">smoothingGroup</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e1a81abd0388b1c098b95b442b72650c">Triangle</a>()</td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td><code> [inline]</code></td></tr> diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html index eb1fba2..f21e29e 100644 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_triangle.html @@ -29,7 +29,7 @@ <a href="struct_nv_1_1_blast_1_1_triangle-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">physx::PxVec3 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">getNormal</a> ()</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">physx::PxVec3 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">getNormal</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#89b6fa3e18084a8e90d4a22177416217">Triangle</a> (<a class="el" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a>, <a class="el" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#39a1ceee6d477adcae017ccce89e4907">b</a>, <a class="el" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#cbec7104b98f9ab000d22e910d3b9def">c</a>)</td></tr> @@ -106,7 +106,7 @@ </div> </div><p> <hr><h2>Member Function Documentation</h2> -<a class="anchor" name="bfc80d334e4fc185e641a4538f414b78"></a><!-- doxytag: member="Nv::Blast::Triangle::getNormal" ref="bfc80d334e4fc185e641a4538f414b78" args="()" --> +<a class="anchor" name="e04d4b7cbe22490f02ed5018b5fe387f"></a><!-- doxytag: member="Nv::Blast::Triangle::getNormal" ref="e04d4b7cbe22490f02ed5018b5fe387f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -115,7 +115,7 @@ <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td><code> [inline]</code></td> + <td> const<code> [inline]</code></td> </tr> </table> </div> diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_types_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_types_8h-source.html index 626417a..942d086 100644 --- a/docs/source_docs/files/_nv_blast_ext_authoring_types_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_types_8h-source.html @@ -114,8 +114,8 @@ <a name="l00086"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">00086</a> int32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">userData</a>; <a name="l00087"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df3a66bdd94f5cd516a4a5b15d23b6b3">00087</a> int32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df3a66bdd94f5cd516a4a5b15d23b6b3">materialId</a>; <a name="l00088"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">00088</a> int32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">smoothingGroup</a>; -<a name="l00089"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">00089</a> physx::PxVec3 <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">getNormal</a>() -<a name="l00090"></a>00090 { +<a name="l00089"></a><a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">00089</a> physx::PxVec3 <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">getNormal</a>()<span class="keyword"> const</span> +<a name="l00090"></a>00090 <span class="keyword"> </span>{ <a name="l00091"></a>00091 <span class="keywordflow">return</span> ((<a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#39a1ceee6d477adcae017ccce89e4907">b</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a> - <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a>).cross(<a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#cbec7104b98f9ab000d22e910d3b9def">c</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a> - <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a>.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#55e4c4ebbb67781cf7ce78881ab62ccb">p</a>)); <a name="l00092"></a>00092 } <a name="l00093"></a>00093 }; diff --git a/docs/source_docs/files/_nv_blast_ext_custom_profiler_8h-source.html b/docs/source_docs/files/_nv_blast_ext_custom_profiler_8h-source.html index 3795286..0959cc3 100644 --- a/docs/source_docs/files/_nv_blast_ext_custom_profiler_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_custom_profiler_8h-source.html @@ -105,79 +105,83 @@ <a name="l00068"></a>00068 <span class="keyword">static</span> thread_local int32_t th_depth = 0; <a name="l00069"></a>00069 <span class="preprocessor">#endif</span> <a name="l00070"></a>00070 <span class="preprocessor"></span> -<a name="l00071"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">00071</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">ExtCustomProfiler</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_profiler_callback.html">ProfilerCallback</a> -<a name="l00072"></a>00072 { -<a name="l00073"></a>00073 <span class="keyword">public</span>: -<a name="l00074"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">00074</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">ExtCustomProfiler</a>() : m_platformEnabled(false) {} -<a name="l00075"></a>00075 -<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">00076</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">zoneStart</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name)<span class="keyword"> override</span> -<a name="l00077"></a>00077 <span class="keyword"> </span>{ -<a name="l00078"></a>00078 -<a name="l00079"></a>00079 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> -<a name="l00080"></a>00080 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) -<a name="l00081"></a>00081 { -<a name="l00082"></a>00082 <span class="keywordtype">void</span>* data = PxGetProfilerCallback()->zoneStart(name, <span class="keyword">false</span>, 0xb1a57); +<a name="l00071"></a>00071 +<a name="l00076"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">00076</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">ExtCustomProfiler</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_profiler_callback.html">ProfilerCallback</a> +<a name="l00077"></a>00077 { +<a name="l00078"></a>00078 <span class="keyword">public</span>: +<a name="l00082"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">00082</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">ExtCustomProfiler</a>() : m_platformEnabled(false) {} <a name="l00083"></a>00083 -<a name="l00084"></a>00084 <span class="keywordflow">if</span> (th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0) -<a name="l00085"></a>00085 { -<a name="l00086"></a>00086 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a> = name; -<a name="l00087"></a>00087 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a> = data; -<a name="l00088"></a>00088 th_depth++; -<a name="l00089"></a>00089 } -<a name="l00090"></a>00090 <span class="keywordflow">else</span> -<a name="l00091"></a>00091 { -<a name="l00092"></a>00092 assert(th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0); -<a name="l00093"></a>00093 } -<a name="l00094"></a>00094 } -<a name="l00095"></a>00095 <span class="preprocessor">#endif</span> -<a name="l00096"></a>00096 <span class="preprocessor"></span> -<a name="l00097"></a>00097 <span class="keywordflow">if</span> (m_platformEnabled) -<a name="l00098"></a>00098 { -<a name="l00099"></a>00099 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a73cff190baa0fe10aa4b5d21dd5a7ef">platformZoneStart</a>(name); -<a name="l00100"></a>00100 } -<a name="l00101"></a>00101 } -<a name="l00102"></a>00102 -<a name="l00103"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">00103</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">zoneEnd</a>()<span class="keyword"> override</span> -<a name="l00104"></a>00104 <span class="keyword"> </span>{ -<a name="l00105"></a>00105 -<a name="l00106"></a>00106 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> -<a name="l00107"></a>00107 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) -<a name="l00108"></a>00108 { -<a name="l00109"></a>00109 th_depth--; -<a name="l00110"></a>00110 -<a name="l00111"></a>00111 <span class="keywordflow">if</span> (th_depth >= 0) -<a name="l00112"></a>00112 { -<a name="l00113"></a>00113 <a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html">ExtProfileData</a>& pd = th_ProfileData[th_depth]; -<a name="l00114"></a>00114 PxGetProfilerCallback()->zoneEnd(pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a>, pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a>, <span class="keyword">false</span>, 0xb1a57); -<a name="l00115"></a>00115 } -<a name="l00116"></a>00116 <span class="keywordflow">else</span> -<a name="l00117"></a>00117 { -<a name="l00118"></a>00118 assert(th_depth >= 0); -<a name="l00119"></a>00119 } -<a name="l00120"></a>00120 } -<a name="l00121"></a>00121 <span class="preprocessor">#endif</span> -<a name="l00122"></a>00122 <span class="preprocessor"></span> -<a name="l00123"></a>00123 <span class="keywordflow">if</span> (m_platformEnabled) -<a name="l00124"></a>00124 { -<a name="l00125"></a>00125 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a1585207662452977fb8b6593e71f40c">platformZoneEnd</a>(); -<a name="l00126"></a>00126 } -<a name="l00127"></a>00127 } -<a name="l00128"></a>00128 -<a name="l00129"></a>00129 -<a name="l00130"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">00130</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">setPlatformEnabled</a>(<span class="keywordtype">bool</span> enabled) -<a name="l00131"></a>00131 { -<a name="l00132"></a>00132 m_platformEnabled = enabled; -<a name="l00133"></a>00133 } -<a name="l00134"></a>00134 -<a name="l00135"></a>00135 <span class="keyword">private</span>: -<a name="l00136"></a>00136 <span class="keywordtype">bool</span> m_platformEnabled; -<a name="l00137"></a>00137 }; -<a name="l00138"></a>00138 -<a name="l00139"></a>00139 } <span class="comment">// namespace Blast</span> -<a name="l00140"></a>00140 } <span class="comment">// namespace Nv</span> -<a name="l00141"></a>00141 +<a name="l00084"></a>00084 +<a name="l00086"></a>00086 +<a name="l00087"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">00087</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">zoneStart</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name)<span class="keyword"> override</span> +<a name="l00088"></a>00088 <span class="keyword"> </span>{ +<a name="l00089"></a>00089 +<a name="l00090"></a>00090 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> +<a name="l00091"></a>00091 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) +<a name="l00092"></a>00092 { +<a name="l00093"></a>00093 <span class="keywordtype">void</span>* data = PxGetProfilerCallback()->zoneStart(name, <span class="keyword">false</span>, 0xb1a57); +<a name="l00094"></a>00094 +<a name="l00095"></a>00095 <span class="keywordflow">if</span> (th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0) +<a name="l00096"></a>00096 { +<a name="l00097"></a>00097 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a> = name; +<a name="l00098"></a>00098 th_ProfileData[th_depth].<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a> = data; +<a name="l00099"></a>00099 th_depth++; +<a name="l00100"></a>00100 } +<a name="l00101"></a>00101 <span class="keywordflow">else</span> +<a name="l00102"></a>00102 { +<a name="l00103"></a>00103 assert(th_depth < PROFILER_MAX_NESTED_DEPTH && th_depth >= 0); +<a name="l00104"></a>00104 } +<a name="l00105"></a>00105 } +<a name="l00106"></a>00106 <span class="preprocessor">#endif</span> +<a name="l00107"></a>00107 <span class="preprocessor"></span> +<a name="l00108"></a>00108 <span class="keywordflow">if</span> (m_platformEnabled) +<a name="l00109"></a>00109 { +<a name="l00110"></a>00110 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a73cff190baa0fe10aa4b5d21dd5a7ef">platformZoneStart</a>(name); +<a name="l00111"></a>00111 } +<a name="l00112"></a>00112 } +<a name="l00113"></a>00113 +<a name="l00114"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">00114</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#be4743b5975ad80c6495167c7a47174b">zoneEnd</a>()<span class="keyword"> override</span> +<a name="l00115"></a>00115 <span class="keyword"> </span>{ +<a name="l00116"></a>00116 +<a name="l00117"></a>00117 <span class="preprocessor">#if SUPPORTS_THREAD_LOCAL</span> +<a name="l00118"></a>00118 <span class="preprocessor"></span> <span class="keywordflow">if</span> (PxGetProfilerCallback()) +<a name="l00119"></a>00119 { +<a name="l00120"></a>00120 th_depth--; +<a name="l00121"></a>00121 +<a name="l00122"></a>00122 <span class="keywordflow">if</span> (th_depth >= 0) +<a name="l00123"></a>00123 { +<a name="l00124"></a>00124 <a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html">ExtProfileData</a>& pd = th_ProfileData[th_depth]; +<a name="l00125"></a>00125 PxGetProfilerCallback()->zoneEnd(pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#ecbb14649bf0e4003eb2e906649ebb8d">data</a>, pd.<a class="code" href="struct_nv_1_1_blast_1_1_ext_profile_data.html#e45c1aef4a10db9a1c2433b210d5de83">name</a>, <span class="keyword">false</span>, 0xb1a57); +<a name="l00126"></a>00126 } +<a name="l00127"></a>00127 <span class="keywordflow">else</span> +<a name="l00128"></a>00128 { +<a name="l00129"></a>00129 assert(th_depth >= 0); +<a name="l00130"></a>00130 } +<a name="l00131"></a>00131 } +<a name="l00132"></a>00132 <span class="preprocessor">#endif</span> +<a name="l00133"></a>00133 <span class="preprocessor"></span> +<a name="l00134"></a>00134 <span class="keywordflow">if</span> (m_platformEnabled) +<a name="l00135"></a>00135 { +<a name="l00136"></a>00136 <a class="code" href="_nv_blast_ext_custom_profiler_8h.html#a1585207662452977fb8b6593e71f40c">platformZoneEnd</a>(); +<a name="l00137"></a>00137 } +<a name="l00138"></a>00138 } +<a name="l00139"></a>00139 +<a name="l00140"></a>00140 <a name="l00142"></a>00142 -<a name="l00143"></a>00143 <span class="preprocessor">#endif</span> +<a name="l00148"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">00148</a> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">setPlatformEnabled</a>(<span class="keywordtype">bool</span> enabled) +<a name="l00149"></a>00149 { +<a name="l00150"></a>00150 m_platformEnabled = enabled; +<a name="l00151"></a>00151 } +<a name="l00152"></a>00152 +<a name="l00153"></a>00153 <span class="keyword">private</span>: +<a name="l00154"></a>00154 <span class="keywordtype">bool</span> m_platformEnabled; +<a name="l00155"></a>00155 }; +<a name="l00156"></a>00156 +<a name="l00157"></a>00157 } <span class="comment">// namespace Blast</span> +<a name="l00158"></a>00158 } <span class="comment">// namespace Nv</span> +<a name="l00159"></a>00159 +<a name="l00160"></a>00160 +<a name="l00161"></a>00161 <span class="preprocessor">#endif // NVBLASTDEFAULTPROFILER_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html index be14031..142350d 100644 --- a/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_exporter_fbx_writer_8h-source.html @@ -140,12 +140,15 @@ <a name="l00126"></a>00126 <a name="l00127"></a>00127 <span class="keywordtype">void</span> addControlPoints(fbxsdk::FbxMesh* mesh, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_exporter_mesh_data.html">ExporterMeshData</a>& meshData); <a name="l00128"></a>00128 <span class="keywordtype">void</span> addBindPose(); -<a name="l00129"></a>00129 }; -<a name="l00130"></a>00130 -<a name="l00131"></a>00131 } -<a name="l00132"></a>00132 } +<a name="l00129"></a>00129 +<a name="l00130"></a>00130 <span class="keywordtype">void</span> generateSmoothingGroups(fbxsdk::FbxMesh* mesh, FbxSkin* skin); +<a name="l00131"></a>00131 <span class="keywordtype">void</span> removeDuplicateControlPoints(fbxsdk::FbxMesh* mesh, FbxSkin* skin); +<a name="l00132"></a>00132 }; <a name="l00133"></a>00133 -<a name="l00134"></a>00134 <span class="preprocessor">#endif // NVBLASTEXTEXPORTERFBXWRITER_H</span> +<a name="l00134"></a>00134 } +<a name="l00135"></a>00135 } +<a name="l00136"></a>00136 +<a name="l00137"></a>00137 <span class="preprocessor">#endif // NVBLASTEXTEXPORTERFBXWRITER_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html index da5e7c1..9cd6b2f 100644 --- a/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_px_task_8h-source.html @@ -92,23 +92,22 @@ <a name="l00058"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#756207678a22314a8a7a2232819d4e99">00058</a> <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#756207678a22314a8a7a2232819d4e99">~ExtGroupTaskManager</a>() {} <a name="l00059"></a>00059 <a name="l00060"></a>00060 <span class="keyword">public</span>: -<a name="l00061"></a>00061 <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* create(physx::PxTaskManager&); -<a name="l00062"></a>00062 <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* create(physx::PxTaskManager&, <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>&); -<a name="l00063"></a>00063 -<a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setGroup(<a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>*) = 0; -<a name="l00068"></a>00068 -<a name="l00080"></a>00080 <span class="keyword">virtual</span> uint32_t process(uint32_t workerCount = 0) = 0; -<a name="l00081"></a>00081 -<a name="l00085"></a>00085 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> wait(<span class="keywordtype">bool</span> block = <span class="keyword">true</span>) = 0; -<a name="l00086"></a>00086 -<a name="l00090"></a>00090 <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0; -<a name="l00091"></a>00091 }; -<a name="l00092"></a>00092 -<a name="l00093"></a>00093 -<a name="l00094"></a>00094 } <span class="comment">// namespace Blast</span> -<a name="l00095"></a>00095 } <span class="comment">// namespace Nv</span> -<a name="l00096"></a>00096 -<a name="l00097"></a>00097 <span class="preprocessor">#endif // NVBLASTEXTPXTASK_H</span> +<a name="l00064"></a>00064 <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* create(physx::PxTaskManager&, <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>* = <span class="keyword">nullptr</span>); +<a name="l00065"></a>00065 +<a name="l00069"></a>00069 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setGroup(<a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>*) = 0; +<a name="l00070"></a>00070 +<a name="l00084"></a>00084 <span class="keyword">virtual</span> uint32_t process(uint32_t workerCount = 0) = 0; +<a name="l00085"></a>00085 +<a name="l00094"></a>00094 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> wait(<span class="keywordtype">bool</span> block = <span class="keyword">true</span>) = 0; +<a name="l00095"></a>00095 +<a name="l00099"></a>00099 <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0; +<a name="l00100"></a>00100 }; +<a name="l00101"></a>00101 +<a name="l00102"></a>00102 +<a name="l00103"></a>00103 } <span class="comment">// namespace Blast</span> +<a name="l00104"></a>00104 } <span class="comment">// namespace Nv</span> +<a name="l00105"></a>00105 +<a name="l00106"></a>00106 <span class="preprocessor">#endif // NVBLASTEXTPXTASK_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html index 75c1172..737ee8a 100644 --- a/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_px_task_impl_8h-source.html @@ -195,31 +195,28 @@ <a name="l00185"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">00185</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">ExtGroupTaskManagerImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> <a name="l00186"></a>00186 { <a name="l00187"></a>00187 <span class="keyword">public</span>: -<a name="l00188"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">00188</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">ExtGroupTaskManagerImpl</a>(physx::PxTaskManager& taskManager) -<a name="l00189"></a>00189 : m_taskManager(taskManager), m_sync(0), m_group(nullptr) {} +<a name="l00188"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#4c4d9dbbcecc8aab60b52af563246ce6">00188</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#4c4d9dbbcecc8aab60b52af563246ce6">ExtGroupTaskManagerImpl</a>(physx::PxTaskManager& taskManager, <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>* group) +<a name="l00189"></a>00189 : m_taskManager(taskManager), m_sync(0), m_group(group) {} <a name="l00190"></a>00190 -<a name="l00191"></a><a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#fe35ab7ef43d29cc1fd65bcfb3dd6a74">00191</a> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">ExtGroupTaskManagerImpl</a>(physx::PxTaskManager& taskManager, <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>& group) -<a name="l00192"></a>00192 : m_taskManager(taskManager), m_sync(0), m_group(&group) {} -<a name="l00193"></a>00193 -<a name="l00194"></a>00194 <span class="comment">// public API</span> -<a name="l00195"></a>00195 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#2ea36f893e4c903a076901040780cc8b">setGroup</a>(<a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>*) <span class="keyword">override</span>; -<a name="l00196"></a>00196 <span class="keyword">virtual</span> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#66106800491cda7fd453dc48aa6960b4">process</a>(uint32_t) <span class="keyword">override</span>; -<a name="l00197"></a>00197 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#477c055ac9ba82bee0f30b249245640a">release</a>() <span class="keyword">override</span>; -<a name="l00198"></a>00198 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#1d52ce317cf1af16bfaba2e95795f54f">wait</a>(<span class="keywordtype">bool</span> block) <span class="keyword">override</span>; -<a name="l00199"></a>00199 -<a name="l00200"></a>00200 <span class="keyword">private</span>: -<a name="l00201"></a>00201 <span class="keyword">static</span> <span class="keyword">const</span> uint32_t TASKS_MAX_COUNT = 16; -<a name="l00202"></a>00202 physx::PxTaskManager& m_taskManager; -<a name="l00203"></a>00203 <a class="code" href="class_nv_1_1_blast_1_1_ext_atomic_counter.html">ExtAtomicCounter</a> m_counter; -<a name="l00204"></a>00204 <a class="code" href="class_nv_1_1_blast_1_1_ext_group_worker_task.html">ExtGroupWorkerTask</a> m_tasks[TASKS_MAX_COUNT]; -<a name="l00205"></a>00205 <a class="code" href="class_nv_1_1_blast_1_1_ext_task_sync.html">ExtTaskSync</a> m_sync; -<a name="l00206"></a>00206 <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>* m_group; -<a name="l00207"></a>00207 }; +<a name="l00191"></a>00191 <span class="comment">// ExtGroupTaskManager API</span> +<a name="l00192"></a>00192 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#2ea36f893e4c903a076901040780cc8b">setGroup</a>(<a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>*) <span class="keyword">override</span>; +<a name="l00193"></a>00193 <span class="keyword">virtual</span> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#66106800491cda7fd453dc48aa6960b4">process</a>(uint32_t) <span class="keyword">override</span>; +<a name="l00194"></a>00194 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#477c055ac9ba82bee0f30b249245640a">release</a>() <span class="keyword">override</span>; +<a name="l00195"></a>00195 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#1d52ce317cf1af16bfaba2e95795f54f">wait</a>(<span class="keywordtype">bool</span> block) <span class="keyword">override</span>; +<a name="l00196"></a>00196 +<a name="l00197"></a>00197 <span class="keyword">private</span>: +<a name="l00198"></a>00198 <span class="keyword">static</span> <span class="keyword">const</span> uint32_t TASKS_MAX_COUNT = 16; +<a name="l00199"></a>00199 physx::PxTaskManager& m_taskManager; +<a name="l00200"></a>00200 <a class="code" href="class_nv_1_1_blast_1_1_ext_atomic_counter.html">ExtAtomicCounter</a> m_counter; +<a name="l00201"></a>00201 <a class="code" href="class_nv_1_1_blast_1_1_ext_group_worker_task.html">ExtGroupWorkerTask</a> m_tasks[TASKS_MAX_COUNT]; +<a name="l00202"></a>00202 <a class="code" href="class_nv_1_1_blast_1_1_ext_task_sync.html">ExtTaskSync</a> m_sync; +<a name="l00203"></a>00203 <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>* m_group; +<a name="l00204"></a>00204 }; +<a name="l00205"></a>00205 +<a name="l00206"></a>00206 } <span class="comment">// namespace Blast</span> +<a name="l00207"></a>00207 } <span class="comment">// namespace Nv</span> <a name="l00208"></a>00208 -<a name="l00209"></a>00209 } <span class="comment">// namespace Blast</span> -<a name="l00210"></a>00210 } <span class="comment">// namespace Nv</span> -<a name="l00211"></a>00211 -<a name="l00212"></a>00212 <span class="preprocessor">#endif // NVBLASTEXTPXTASKIMPL_H</span> +<a name="l00209"></a>00209 <span class="preprocessor">#endif // NVBLASTEXTPXTASKIMPL_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/source_docs/files/_nv_blast_tk_group_8h-source.html b/docs/source_docs/files/_nv_blast_tk_group_8h-source.html index 46bf897..16eb8b4 100644 --- a/docs/source_docs/files/_nv_blast_tk_group_8h-source.html +++ b/docs/source_docs/files/_nv_blast_tk_group_8h-source.html @@ -120,7 +120,7 @@ <a name="l00168"></a>00168 <a name="l00174"></a>00174 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#7fc6d691a59aa7b107adfaac6fe5fd65">returnWorker</a>(<a class="code" href="class_nv_1_1_blast_1_1_tk_group_worker.html">TkGroupWorker</a>*) = 0; <a name="l00175"></a>00175 -<a name="l00179"></a>00179 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>(); +<a name="l00179"></a>00179 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>(); <a name="l00180"></a>00180 <a name="l00187"></a>00187 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_tk_group.html#dedce0f4d320f3c7f67d1c9c8ebac152">getStats</a>(<a class="code" href="struct_nv_1_1_blast_1_1_tk_group_stats.html">TkGroupStats</a>& stats) <span class="keyword">const</span> = 0; <a name="l00188"></a>00188 }; diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html index 3811f5a..d71146d 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_custom_profiler.html @@ -66,7 +66,8 @@ Inheritance diagram for Nv::Blast::ExtCustomProfiler:</div> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#78b9d61f6da77c27fe4436997363dfb1">zoneStart</a> (const char *name) override</td></tr> </table> -<hr><h2>Constructor & Destructor Documentation</h2> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Implements <a class="el" href="class_nv_1_1_blast_1_1_profiler_callback.html">Nv::Blast::ProfilerCallback</a> to serve the physx::PxProfilerCallback set in PxFoundation for PhysX Visual Debugger support and platform specific profilers like NVIDIA(R) NSight(TM). <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="9e7434d8654794fc69d7f0b7afab22d6"></a><!-- doxytag: member="Nv::Blast::ExtCustomProfiler::ExtCustomProfiler" ref="9e7434d8654794fc69d7f0b7afab22d6" args="()" --> <div class="memitem"> <div class="memproto"> @@ -83,7 +84,7 @@ Inheritance diagram for Nv::Blast::ExtCustomProfiler:</div> <div class="memdoc"> <p> - +Construct an <a class="el" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html">ExtCustomProfiler</a> with platform specific profiler signals disabled. </div> </div><p> <hr><h2>Member Function Documentation</h2> @@ -104,6 +105,12 @@ Inheritance diagram for Nv::Blast::ExtCustomProfiler:</div> <div class="memdoc"> <p> +Enable or disable platform specific profiler signals. Disabled by default.<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>enabled</em> </td><td>true enables, false disables platform profiler calls. </td></tr> + </table> +</dl> </div> </div><p> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html index 1f9ae1b..5ab7886 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager-members.html @@ -40,8 +40,7 @@ </div> <div class="contents"> <h1>Nv::Blast::ExtGroupTaskManager Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">create</a>(physx::PxTaskManager &)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">create</a>(physx::PxTaskManager &, TkGroup &)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">create</a>(physx::PxTaskManager &, TkGroup *=nullptr)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#19b9a2c48f9e29020becdaf5bc8372b2">process</a>(uint32_t workerCount=0)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#a5003be1e0f05f9edb287d553bc154fa">release</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1e553149082485157b6864e952703e11">setGroup</a>(TkGroup *)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [pure virtual]</code></td></tr> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html index 99e73e9..84c2181 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager.html @@ -66,9 +66,7 @@ Inheritance diagram for Nv::Blast::ExtGroupTaskManager:</div> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1af315dfd26f9a9ad579960714266932">wait</a> (bool block=true)=0</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">create</a> (physx::PxTaskManager &, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> &)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">create</a> (physx::PxTaskManager &)</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">create</a> (physx::PxTaskManager &, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> *=nullptr)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#756207678a22314a8a7a2232819d4e99">~ExtGroupTaskManager</a> ()</td></tr> @@ -96,7 +94,7 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ </div> </div><p> <hr><h2>Member Function Documentation</h2> -<a class="anchor" name="ea17630331407ecd9d23315a3099c9ab"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::create" ref="ea17630331407ecd9d23315a3099c9ab" args="(physx::PxTaskManager &, TkGroup &)" --> +<a class="anchor" name="7fbbb098b47ed4e68bca0f610a8c3d1b"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::create" ref="7fbbb098b47ed4e68bca0f610a8c3d1b" args="(physx::PxTaskManager &, TkGroup *=nullptr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -109,8 +107,8 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> & </td> - <td class="paramname"></td><td> </td> + <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> * </td> + <td class="paramname"> = <code>nullptr</code></td><td> </td> </tr> <tr> <td></td> @@ -122,27 +120,7 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ <div class="memdoc"> <p> - -</div> -</div><p> -<a class="anchor" name="0b85f2ef6aaa09f5a227cc926d857cfd"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::create" ref="0b85f2ef6aaa09f5a227cc926d857cfd" args="(physx::PxTaskManager &)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">static <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a>* Nv::Blast::ExtGroupTaskManager::create </td> - <td>(</td> - <td class="paramtype">physx::PxTaskManager & </td> - <td class="paramname"> </td> - <td> ) </td> - <td><code> [static]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - +Construct using existing physx::PxTaskManager and <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a>. The <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> can be set later with <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1e553149082485157b6864e952703e11">setGroup()</a>. </div> </div><p> <a class="anchor" name="19b9a2c48f9e29020becdaf5bc8372b2"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManager::process" ref="19b9a2c48f9e29020becdaf5bc8372b2" args="(uint32_t workerCount=0)=0" --> @@ -165,10 +143,10 @@ Uses a physx::PxTaskManager to process a <a class="el" href="class_nv_1_1_blast_ Start processing the group. The parallelizing strategy is to have all worker tasks running concurrently. The number of started tasks may be smaller than the requested value, when the task manager's dispatcher thread count or the number of group jobs are smaller.<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>workerCount</em> </td><td>The number of worker tasks to start, 0 uses the dispatcher's worker thread count. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>workerCount</em> </td><td>The number of worker tasks to start, 0 uses the dispatcher's worker thread count.</td></tr> </table> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of worker tasks started. </dd></dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of worker tasks started. If 0, processing did not start and <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1af315dfd26f9a9ad579960714266932">wait()</a> will never return true. </dd></dl> <p>Implemented in <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#66106800491cda7fd453dc48aa6960b4">Nv::Blast::ExtGroupTaskManagerImpl</a>.</p> @@ -212,7 +190,7 @@ Release this object. <div class="memdoc"> <p> -Change the group to process. Cannot be changed while the group being processed. +Set the group to process. Cannot be changed while a group being processed. <p>Implemented in <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#2ea36f893e4c903a076901040780cc8b">Nv::Blast::ExtGroupTaskManagerImpl</a>.</p> </div> @@ -234,7 +212,14 @@ Change the group to process. Cannot be changed while the group being processed. <div class="memdoc"> <p> -Wait for the group to end processing. +Wait for the group to end processing. When processing has finished, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#4d21bd8b0225ae57b81bb8fe09df39ff">TkGroup::endProcess</a> is executed.<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>block</em> </td><td>true: does not return until the group has been processed. false: return immediately if workers are still processing the group.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if group processing was completed (and the group was actually processing) </dd></dl> + <p>Implemented in <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#1d52ce317cf1af16bfaba2e95795f54f">Nv::Blast::ExtGroupTaskManagerImpl</a>.</p> </div> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl-members.html index c402126..16c3e57 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl-members.html @@ -40,10 +40,8 @@ </div> <div class="contents"> <h1>Nv::Blast::ExtGroupTaskManagerImpl Member List</h1>This is the complete list of members for <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a>, including all inherited members.<p><table> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">create</a>(physx::PxTaskManager &)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">create</a>(physx::PxTaskManager &, TkGroup &)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">ExtGroupTaskManagerImpl</a>(physx::PxTaskManager &taskManager)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a></td><td><code> [inline]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#fe35ab7ef43d29cc1fd65bcfb3dd6a74">ExtGroupTaskManagerImpl</a>(physx::PxTaskManager &taskManager, TkGroup &group)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">create</a>(physx::PxTaskManager &, TkGroup *=nullptr)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">Nv::Blast::ExtGroupTaskManager</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#4c4d9dbbcecc8aab60b52af563246ce6">ExtGroupTaskManagerImpl</a>(physx::PxTaskManager &taskManager, TkGroup *group)</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a></td><td><code> [inline]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#66106800491cda7fd453dc48aa6960b4">process</a>(uint32_t) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#477c055ac9ba82bee0f30b249245640a">release</a>() override</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#2ea36f893e4c903a076901040780cc8b">setGroup</a>(TkGroup *) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html">Nv::Blast::ExtGroupTaskManagerImpl</a></td><td><code> [virtual]</code></td></tr> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html index d8d53dc..9ece7f3 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html @@ -57,9 +57,7 @@ Inheritance diagram for Nv::Blast::ExtGroupTaskManagerImpl:</div> <a href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#fe35ab7ef43d29cc1fd65bcfb3dd6a74">ExtGroupTaskManagerImpl</a> (physx::PxTaskManager &taskManager, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> &group)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">ExtGroupTaskManagerImpl</a> (physx::PxTaskManager &taskManager)</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#4c4d9dbbcecc8aab60b52af563246ce6">ExtGroupTaskManagerImpl</a> (physx::PxTaskManager &taskManager, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> *group)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#66106800491cda7fd453dc48aa6960b4">process</a> (uint32_t) override</td></tr> @@ -72,27 +70,7 @@ Inheritance diagram for Nv::Blast::ExtGroupTaskManagerImpl:</div> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Implements <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html">ExtGroupTaskManager</a> <hr><h2>Constructor & Destructor Documentation</h2> -<a class="anchor" name="e2bd80379d9c152f9982f5ec80cebade"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManagerImpl::ExtGroupTaskManagerImpl" ref="e2bd80379d9c152f9982f5ec80cebade" args="(physx::PxTaskManager &taskManager)" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">Nv::Blast::ExtGroupTaskManagerImpl::ExtGroupTaskManagerImpl </td> - <td>(</td> - <td class="paramtype">physx::PxTaskManager & </td> - <td class="paramname"> <em>taskManager</em> </td> - <td> ) </td> - <td><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> - -</div> -</div><p> -<a class="anchor" name="fe35ab7ef43d29cc1fd65bcfb3dd6a74"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManagerImpl::ExtGroupTaskManagerImpl" ref="fe35ab7ef43d29cc1fd65bcfb3dd6a74" args="(physx::PxTaskManager &taskManager, TkGroup &group)" --> +<a class="anchor" name="4c4d9dbbcecc8aab60b52af563246ce6"></a><!-- doxytag: member="Nv::Blast::ExtGroupTaskManagerImpl::ExtGroupTaskManagerImpl" ref="4c4d9dbbcecc8aab60b52af563246ce6" args="(physx::PxTaskManager &taskManager, TkGroup *group)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -105,7 +83,7 @@ Implements <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.htm <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> & </td> + <td class="paramtype"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">TkGroup</a> * </td> <td class="paramname"> <em>group</em></td><td> </td> </tr> <tr> @@ -142,10 +120,10 @@ Implements <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.htm Start processing the group. The parallelizing strategy is to have all worker tasks running concurrently. The number of started tasks may be smaller than the requested value, when the task manager's dispatcher thread count or the number of group jobs are smaller.<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>workerCount</em> </td><td>The number of worker tasks to start, 0 uses the dispatcher's worker thread count. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>workerCount</em> </td><td>The number of worker tasks to start, 0 uses the dispatcher's worker thread count.</td></tr> </table> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of worker tasks started. </dd></dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of worker tasks started. If 0, processing did not start and <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#1d52ce317cf1af16bfaba2e95795f54f">wait()</a> will never return true. </dd></dl> <p>Implements <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#19b9a2c48f9e29020becdaf5bc8372b2">Nv::Blast::ExtGroupTaskManager</a>.</p> @@ -189,7 +167,7 @@ Release this object. <div class="memdoc"> <p> -Change the group to process. Cannot be changed while the group being processed. +Set the group to process. Cannot be changed while a group being processed. <p>Implements <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1e553149082485157b6864e952703e11">Nv::Blast::ExtGroupTaskManager</a>.</p> </div> @@ -211,7 +189,14 @@ Change the group to process. Cannot be changed while the group being processed. <div class="memdoc"> <p> -Wait for the group to end processing. +Wait for the group to end processing. When processing has finished, <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#4d21bd8b0225ae57b81bb8fe09df39ff">TkGroup::endProcess</a> is executed.<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>block</em> </td><td>true: does not return until the group has been processed. false: return immediately if workers are still processing the group.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if group processing was completed (and the group was actually processing) </dd></dl> + <p>Implements <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#1af315dfd26f9a9ad579960714266932">Nv::Blast::ExtGroupTaskManager</a>.</p> </div> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html index bc35a86..4f2c141 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_ext_stress_solver.html @@ -422,7 +422,7 @@ NOTE: Returned <a class="el" href="struct_nv_1_1_blast_1_1_ext_stress_solver_1_1 <div class="memdoc"> <p> -Generate fracture commands for whole family. A bit faster way to get all fractured bonds then calling <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#d75b9476c3b6189d4d84d3b55016bdf7">generateFractureCommands()</a> for every actor.<p> +Generate fracture commands for whole family. A bit faster way to get all fractured bonds than calling <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#d75b9476c3b6189d4d84d3b55016bdf7">generateFractureCommands()</a> for every actor.<p> Calling this function if <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#9f74a5d7affbf89a5c05a1e2320cd60d">getOverstressedBondCount()</a> == 0 or actor has no bond doesn't make sense, bondFractureCount will be '0'.<p> IMPORTANT: <a class="el" href="struct_nv_blast_fracture_buffers.html#5768e2ed80216a98fbcaee56a6194837" title="memory to be filled by fracture functions">NvBlastFractureBuffers::bondFractures</a> will point to internal stress solver memory which will be valid till next call of any of <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#d75b9476c3b6189d4d84d3b55016bdf7">generateFractureCommands()</a> functions or stress solver <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#9f740702a06e3bd915218ec8aa8415d8">release()</a> call.<p> <dl compact><dt><b>Parameters:</b></dt><dd> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html index b891957..ab16714 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor.html @@ -181,15 +181,15 @@ NOTE: Calls NvBlastActorApplyFracture internally. see NvBlastActorApplyFracture <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> Damage Desc will be stacked into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>. <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> will be passed into shader.<p> -This function overload explicitly sets a material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>, it must be valid until the group sync() call.<p> +This function overload explicitly sets a material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>, it must be valid until the group endProcess() call.<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>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>damageDesc</em> </td><td>Parameters to be put in <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>, have to be POD type (will be copied). </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>descSize</em> </td><td>Size of damageDesc in bytes. Required to copy and store Damage Desc. </td></tr> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>material</em> </td><td>Material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. Must be valid until the group sync() call. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>material</em> </td><td>Material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. Must be valid until the group endProcess() call. </td></tr> </table> </dl> @@ -230,7 +230,7 @@ This function overload explicitly sets a material to be passed into <a class="el <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> Damage Desc will be stacked into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a> will be passed into shader.<p> Material set on actor's family will be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> @@ -272,8 +272,8 @@ Material set on actor's family will be passed into <a class="el" href="struct_nv <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> -It's the user's responsibility to keep programParams pointer alive until the group sync() call.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> +It's the user's responsibility to keep programParams pointer alive until the group endProcess() call.<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>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html index 71d354d..334a83e 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_actor_impl.html @@ -288,15 +288,15 @@ Factory create method.<p> <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> Damage Desc will be stacked into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>. <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> will be passed into shader.<p> -This function overload explicitly sets a material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>, it must be valid until the group sync() call.<p> +This function overload explicitly sets a material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>, it must be valid until the group endProcess() call.<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>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>damageDesc</em> </td><td>Parameters to be put in <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>, have to be POD type (will be copied). </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>descSize</em> </td><td>Size of damageDesc in bytes. Required to copy and store Damage Desc. </td></tr> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>material</em> </td><td>Material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. Must be valid until the group sync() call. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>material</em> </td><td>Material to be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. Must be valid until the group endProcess() call. </td></tr> </table> </dl> @@ -337,7 +337,7 @@ This function overload explicitly sets a material to be passed into <a class="el <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> Damage Desc will be stacked into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>. <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a> will be passed into shader.<p> Material set on actor's family will be passed into <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> @@ -379,8 +379,8 @@ Material set on actor's family will be passed into <a class="el" href="struct_nv <p> Apply damage to this actor.<p> -Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state.<p> -It's the user's responsibility to keep programParams pointer alive until the group sync() call.<p> +Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.<p> +It's the user's responsibility to keep programParams pointer alive until the group endProcess() call.<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>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html index 1ffb9eb..0b3a3ee 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_family.html @@ -340,7 +340,7 @@ Remove a TkEventReciever from this family's list of listeners.<p> <div class="memdoc"> <p> -Set the default material to be passed into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> when a <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> in this family is damaged. Must be valid till group sync() call.<p> +Set the default material to be passed into <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> when a <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> in this family is damaged. Must be valid till group endProcess() call.<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>material</em> </td><td>The material to be the new default. </td></tr> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html index 3c793d2..48958a7 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group-members.html @@ -49,7 +49,7 @@ <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#dedce0f4d320f3c7f67d1c9c8ebac152">getStats</a>(TkGroupStats &stats) const =0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html#d156c3e85ee665c251e26ac86d3cf03b">getType</a>() const =0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html">Nv::Blast::TkIdentifiable</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#d8f946a317af8760c9f70f9455b1dd6e">getWorkerCount</a>() const =0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [pure virtual]</code></td></tr> - <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a>()</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_object.html#848b4a7ade17edc49a071c472cbfad12">release</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_object.html">Nv::Blast::TkObject</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#7fc6d691a59aa7b107adfaac6fe5fd65">returnWorker</a>(TkGroupWorker *)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html">Nv::Blast::TkGroup</a></td><td><code> [pure virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html#630e37302f7c8747373431d747415642">setID</a>(const NvBlastID &id)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html">Nv::Blast::TkIdentifiable</a></td><td><code> [pure virtual]</code></td></tr> diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html index 777cd91..e5a1035 100644 --- a/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html +++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_tk_group.html @@ -72,7 +72,7 @@ Inheritance diagram for Nv::Blast::TkGroup:</div> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#d8f946a317af8760c9f70f9455b1dd6e">getWorkerCount</a> () const =0</td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a> ()</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e207854ae3e30047c6347f9fd3e7a3b9">process</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#7fc6d691a59aa7b107adfaac6fe5fd65">returnWorker</a> (<a class="el" href="class_nv_1_1_blast_1_1_tk_group_worker.html">TkGroupWorker</a> *)=0</td></tr> @@ -275,7 +275,7 @@ For profile builds only, request stats of the last successful processing. Inacti <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td><code> [virtual]</code></td> + <td></td> </tr> </table> </div> diff --git a/docs/source_docs/files/functions_0x63.html b/docs/source_docs/files/functions_0x63.html index c24c857..5a548ae 100644 --- a/docs/source_docs/files/functions_0x63.html +++ b/docs/source_docs/files/functions_0x63.html @@ -193,47 +193,47 @@ Here is a list of all class members with links to the classes they belong to: , <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a> , <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df249675818d4ea3712ad725465a1e323a">Nv::Blast::ActorSerializationFormat</a> <li>create() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_actor_impl.html#a3d3393b56c95907eb4288f0ecb9beb1">Nv::Blast::TkActorImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#8918f4cd232d7844dee1a3a4d4d9d6ea">Nv::Blast::ExtPxAsset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">Nv::Blast::ExtGroupTaskManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#d6dc3a8db8057eee30b10dff9680595c">Nv::Blast::Asset</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_actor_impl.html#a3d3393b56c95907eb4288f0ecb9beb1">Nv::Blast::TkActorImpl</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a> , <a class="el" href="class_nv_1_1_blast_1_1_actor.html#307ec3c8c73cb706ec153bd63baee7c4">Nv::Blast::Actor</a> -, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#d6dc3a8db8057eee30b10dff9680595c">Nv::Blast::Asset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#ea17630331407ecd9d23315a3099c9ab">Nv::Blast::ExtGroupTaskManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a> <li>createActor() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#8abe98c41d659ecdeb70b722450b56be">Nv::Blast::TkFrameworkImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a> +: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#8abe98c41d659ecdeb70b722450b56be">Nv::Blast::TkFrameworkImpl</a> <li>createAsset() : <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#f1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a> -, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#e30026ed8aabfdba83d2180dabfae9eb">Nv::Blast::TkFrameworkImpl</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#d45cd110c344066b7bf50fd2743beb82">Nv::Blast::TkFrameworkImpl</a> , <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#9f9ae6a30e80b39d3fcbb14483c20646">Nv::Blast::TkFramework</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#e30026ed8aabfdba83d2180dabfae9eb">Nv::Blast::TkFrameworkImpl</a> <li>createBondBetweenMeshes() -: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#f3001b8eef097d8d250c844d23870f92">Nv::Blast::BlastBondGeneratorImpl</a> +: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#0a562f5a63aba0efbc7df017e77d5c8e">Nv::Blast::BlastBondGenerator</a> +, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#f59b9b5522cd675bd3b5fe18cd924e05">Nv::Blast::BlastBondGeneratorImpl</a> , <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#e2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a> <li>createChunkMesh() -: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a> -, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#7ffacc77ed102a8cd52c080055a08c3f">Nv::Blast::FractureToolImpl</a> +: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#7ffacc77ed102a8cd52c080055a08c3f">Nv::Blast::FractureToolImpl</a> +, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a> <li>createFamily() : <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a> , <a class="el" href="class_nv_1_1_blast_1_1final.html#55bc408e0ebd0ca9f6adf523ace899a0">Nv::Blast::final</a> <li>createGroup() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a> -, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#62cf99de17faea824364a987b165a1eb">Nv::Blast::TkFrameworkImpl</a> +: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#62cf99de17faea824364a987b165a1eb">Nv::Blast::TkFrameworkImpl</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a> <li>createJoint() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#a2c0a8e8db4ba338bc7c35db417ce122">Nv::Blast::TkFrameworkImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a> , <a class="el" href="class_nv_1_1_blast_1_1final.html#b14cdb62b9300cc88535adfce7d6945f">Nv::Blast::final</a> <li>createNewMesh() : <a class="el" href="class_nv_1_1_blast_1_1_boolean_evaluator.html#dcfc051a4533b68196b5a897c5f1befb">Nv::Blast::BooleanEvaluator</a> <li>createRequiredScratch() -: <a class="el" href="class_nv_1_1_blast_1_1_actor.html#3082322754cba457f678e567b288fe02">Nv::Blast::Actor</a> -, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#b7a7be3a23d3cebbf4be3ef8f1b442c6">Nv::Blast::Asset</a> +: <a class="el" href="class_nv_1_1_blast_1_1_asset.html#b7a7be3a23d3cebbf4be3ef8f1b442c6">Nv::Blast::Asset</a> +, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#3082322754cba457f678e567b288fe02">Nv::Blast::Actor</a> <li>Current : <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df26b64a066d09c0f4cdb95977f0f44ad4">Nv::Blast::ActorSerializationFormat</a> </ul> diff --git a/docs/source_docs/files/functions_0x65.html b/docs/source_docs/files/functions_0x65.html index 1b0cedb..476be8f 100644 --- a/docs/source_docs/files/functions_0x65.html +++ b/docs/source_docs/files/functions_0x65.html @@ -163,8 +163,8 @@ Here is a list of all class members with links to the classes they belong to: , <a class="el" href="struct_nv_1_1_blast_1_1_tk_fracture_events.html#b5036c0e7496371832a62bef3eac51db15720a970e169b8970bcf2861217b024">Nv::Blast::TkFractureEvents</a> , <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#4be7bec742526450323477ba9a7d4bb3fd38618f938db2a6b13fd498b586675c">Nv::Blast::TkJointUpdateEvent</a> <li>EXACT -: <a class="el" href="struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html#0d625b530a74994e1a7744c8331a6d593359358ed9808590d588e33d1c90201e">Nv::Blast::ApexImporter::ApexImporterConfig</a> -, <a class="el" href="struct_nv_1_1_blast_1_1_bond_generation_config.html#039dca7ff2ee57fcf96ce5aad570cf67494d2f564cd543f0cc61762451a6c745">Nv::Blast::BondGenerationConfig</a> +: <a class="el" href="struct_nv_1_1_blast_1_1_bond_generation_config.html#039dca7ff2ee57fcf96ce5aad570cf67494d2f564cd543f0cc61762451a6c745">Nv::Blast::BondGenerationConfig</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html#0d625b530a74994e1a7744c8331a6d593359358ed9808590d588e33d1c90201e">Nv::Blast::ApexImporter::ApexImporterConfig</a> <li>ExtAtomicCounter() : <a class="el" href="class_nv_1_1_blast_1_1_ext_atomic_counter.html#0345b40d395da4c81491e31c68bf798e">Nv::Blast::ExtAtomicCounter</a> <li>ExtCustomProfiler() @@ -176,7 +176,7 @@ Here is a list of all class members with links to the classes they belong to: <li>EXTERNAL_EDGE : <a class="el" href="class_nv_1_1_blast_1_1_mesh_noiser.html#31a25ebefe7e32bab14f61e2c3d0c33ccbaa70622052f2fb4963e1953a54523a">Nv::Blast::MeshNoiser</a> <li>ExtGroupTaskManagerImpl() -: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">Nv::Blast::ExtGroupTaskManagerImpl</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#4c4d9dbbcecc8aab60b52af563246ce6">Nv::Blast::ExtGroupTaskManagerImpl</a> <li>ExtGroupWorkerTask() : <a class="el" href="class_nv_1_1_blast_1_1_ext_group_worker_task.html#5e7ccffdbf66b0925ea341df3c41d9fe">Nv::Blast::ExtGroupWorkerTask</a> <li>ExtImpactSettings() @@ -190,20 +190,20 @@ Here is a list of all class members with links to the classes they belong to: <li>ExtKJPxOutputStream() : <a class="el" href="class_nv_1_1_blast_1_1_ext_k_j_px_output_stream.html#604f257e1ea92998074532a8cadd12fb">Nv::Blast::ExtKJPxOutputStream</a> <li>ExtOutputStream() -: <a class="el" href="class_nv_1_1_blast_1_1_ext_output_stream.html#113a37368a147ab6f4c2e7095c76270e">Nv::Blast::ExtOutputStream</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_output_stream.html#cc750bce7360ee45a0f273cfa0208b00">Nv::Blast::ExtOutputStream</a> <li>ExtPxActorImpl -: <a class="el" href="class_nv_1_1_blast_1_1final.html#2db29e31409324a620a30d7040ef732a">Nv::Blast::final</a> -<li>ExtPxAsset() -: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset.html#eab763aa6e731f23c21c9131968e45b7">Nv::Blast::Serialization::ExtPxAsset</a> -, <a class="el" href="class_nv_1_1_blast_1_1final.html#bc19d867601adaa427eda7fc34ed5e26">Nv::Blast::final</a> +: <a class="el" href="class_nv_1_1_blast_1_1final.html#0ca3de54fb5af8b338b5f701dc8d6595">Nv::Blast::final</a> +<li>ExtPxAsset +: <a class="el" href="class_nv_1_1_blast_1_1final.html#bc19d867601adaa427eda7fc34ed5e26">Nv::Blast::final</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset.html#eab763aa6e731f23c21c9131968e45b7">Nv::Blast::Serialization::ExtPxAsset</a> <li>ExtPxAssetImpl() -: <a class="el" href="class_nv_1_1_blast_1_1final.html#ad48eb7e3e1b898ec0fca814cca2a139">Nv::Blast::final</a> +: <a class="el" href="class_nv_1_1_blast_1_1final.html#19ede4b4bd2f4c0e2d5480f05ff7d7dc">Nv::Blast::final</a> <li>ExtPxChunk() : <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk.html#06058ce7efbe9e3848858b9b7fd9a730">Nv::Blast::Serialization::ExtPxChunk</a> -<li>ExtPxFamilyImpl() -: <a class="el" href="class_nv_1_1_blast_1_1final.html#738b1edc6c33636d43859410b077156f">Nv::Blast::final</a> -<li>ExtPxManagerImpl() -: <a class="el" href="class_nv_1_1_blast_1_1final.html#3d95484c32767c462e129690a95c002d">Nv::Blast::final</a> +<li>ExtPxFamilyImpl +: <a class="el" href="class_nv_1_1_blast_1_1final.html#9a22ae97f7cc3e1f3396efe3d597f0dc">Nv::Blast::final</a> +<li>ExtPxManagerImpl +: <a class="el" href="class_nv_1_1_blast_1_1final.html#01ea0c2730c4bedfacf00327930428ff">Nv::Blast::final</a> <li>ExtPxStressSolverImpl() : <a class="el" href="class_nv_1_1_blast_1_1final.html#89254733f53d00141569816ac6550f5c">Nv::Blast::final</a> <li>ExtPxSubchunk() diff --git a/docs/source_docs/files/functions_0x67.html b/docs/source_docs/files/functions_0x67.html index 83575bf..f152d5e 100644 --- a/docs/source_docs/files/functions_0x67.html +++ b/docs/source_docs/files/functions_0x67.html @@ -504,7 +504,7 @@ Here is a list of all class members with links to the classes they belong to: : <a class="el" href="struct_nv_1_1_blast_1_1_tr_prc_triangle.html#44a2d328c04bf682d631c74c117e966a">Nv::Blast::TrPrcTriangle</a> , <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_reader.html#01d953981e50271cb4e74134cc3846eb">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader</a> , <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#84c089dd077eda565a45fa80c5a8c9e0">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder</a> -, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">Nv::Blast::Triangle</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">Nv::Blast::Triangle</a> <li>getNormalizedDamage() : <a class="el" href="struct_nv_blast_ext_material.html#7dfea97ed502a26acd63d1c3ed750557">NvBlastExtMaterial</a> <li>getNormalsArray() diff --git a/docs/source_docs/files/functions_0x74.html b/docs/source_docs/files/functions_0x74.html index ac991ec..d70b74c 100644 --- a/docs/source_docs/files/functions_0x74.html +++ b/docs/source_docs/files/functions_0x74.html @@ -233,25 +233,25 @@ Here is a list of all class members with links to the classes they belong to: : <a class="el" href="struct_nv_1_1_blast_1_1_tr_prc_triangle2d.html#2f61c65d8cddf3c8054ab849bd43a495">Nv::Blast::TrPrcTriangle2d</a> <li>tryRead() : <a class="el" href="class_nv_1_1_blast_1_1_ext_input_stream.html#8fdb8bfaacf4f53355a180b1b9d1b234">Nv::Blast::ExtInputStream</a> +<li>Type +: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a> <li>type -: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#b2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a> +: <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array< T ></a> , <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#000709f52a7d7e2629aaa0114260dec5">Nv::Blast::TkEvent</a> <li>Type : <a class="el" href="struct_nv_blast_message.html#a131d1cdff39661ffe961fa4c24742ce">NvBlastMessage</a> <li>type -: <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array< T ></a> -, <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray< T, N ></a> +: <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap< Key, Value, HashFn ></a> <li>Type -: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a> +: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b9648">NvBlastDataBlock</a> <li>type -: <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap< Key, Value, HashFn ></a> +: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#b2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a> <li>Type -: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a> +: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a> <li>type : <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">Nv::Blast::HashSet< Key, HashFn ></a> -<li>Type -: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a> -, <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b9648">NvBlastDataBlock</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray< T, N ></a> <li>TypeCount : <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a36f1dbee3e8bc13b989992ae25cdf851">Nv::Blast::TkTypeIndex</a> , <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b8ddfbe9ceb31a245bd3c53bacd64353b">Nv::Blast::TkEvent</a> diff --git a/docs/source_docs/files/functions_func_0x63.html b/docs/source_docs/files/functions_func_0x63.html index 33645e7..1fc3045 100644 --- a/docs/source_docs/files/functions_func_0x63.html +++ b/docs/source_docs/files/functions_func_0x63.html @@ -109,45 +109,47 @@ <li>cooking() : <a class="el" href="class_nv_1_1_blast_1_1_apex_importer_1_1_apex_destruction.html#aee7e399931d172c6e64358765ad88d3">Nv::Blast::ApexImporter::ApexDestruction</a> <li>create() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_actor_impl.html#a3d3393b56c95907eb4288f0ecb9beb1">Nv::Blast::TkActorImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#d6dc3a8db8057eee30b10dff9680595c">Nv::Blast::Asset</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_actor_impl.html#a3d3393b56c95907eb4288f0ecb9beb1">Nv::Blast::TkActorImpl</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#0b85f2ef6aaa09f5a227cc926d857cfd">Nv::Blast::ExtGroupTaskManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a> , <a class="el" href="class_nv_1_1_blast_1_1_actor.html#307ec3c8c73cb706ec153bd63baee7c4">Nv::Blast::Actor</a> +, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#d6dc3a8db8057eee30b10dff9680595c">Nv::Blast::Asset</a> <li>createActor() : <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a> , <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#8abe98c41d659ecdeb70b722450b56be">Nv::Blast::TkFrameworkImpl</a> <li>createAsset() : <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#f1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a> , <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#d45cd110c344066b7bf50fd2743beb82">Nv::Blast::TkFrameworkImpl</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#9f9ae6a30e80b39d3fcbb14483c20646">Nv::Blast::TkFramework</a> <li>createBondBetweenMeshes() -: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#f3001b8eef097d8d250c844d23870f92">Nv::Blast::BlastBondGeneratorImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#0a562f5a63aba0efbc7df017e77d5c8e">Nv::Blast::BlastBondGenerator</a> +: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#0a562f5a63aba0efbc7df017e77d5c8e">Nv::Blast::BlastBondGenerator</a> , <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#f59b9b5522cd675bd3b5fe18cd924e05">Nv::Blast::BlastBondGeneratorImpl</a> +, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#e2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a> +, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#f3001b8eef097d8d250c844d23870f92">Nv::Blast::BlastBondGeneratorImpl</a> <li>createChunkMesh() -: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#7ffacc77ed102a8cd52c080055a08c3f">Nv::Blast::FractureToolImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a> +: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a> +, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#7ffacc77ed102a8cd52c080055a08c3f">Nv::Blast::FractureToolImpl</a> <li>createFamily() : <a class="el" href="class_nv_1_1_blast_1_1final.html#55bc408e0ebd0ca9f6adf523ace899a0">Nv::Blast::final</a> , <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a> <li>createGroup() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#62cf99de17faea824364a987b165a1eb">Nv::Blast::TkFrameworkImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a> +: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#62cf99de17faea824364a987b165a1eb">Nv::Blast::TkFrameworkImpl</a> <li>createJoint() -: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#a2c0a8e8db4ba338bc7c35db417ce122">Nv::Blast::TkFrameworkImpl</a> -, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a> -, <a class="el" href="class_nv_1_1_blast_1_1final.html#b14cdb62b9300cc88535adfce7d6945f">Nv::Blast::final</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a> +, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#a2c0a8e8db4ba338bc7c35db417ce122">Nv::Blast::TkFrameworkImpl</a> , <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a> +, <a class="el" href="class_nv_1_1_blast_1_1final.html#b14cdb62b9300cc88535adfce7d6945f">Nv::Blast::final</a> <li>createNewMesh() : <a class="el" href="class_nv_1_1_blast_1_1_boolean_evaluator.html#dcfc051a4533b68196b5a897c5f1befb">Nv::Blast::BooleanEvaluator</a> <li>createRequiredScratch() -: <a class="el" href="class_nv_1_1_blast_1_1_asset.html#b7a7be3a23d3cebbf4be3ef8f1b442c6">Nv::Blast::Asset</a> -, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#3082322754cba457f678e567b288fe02">Nv::Blast::Actor</a> +: <a class="el" href="class_nv_1_1_blast_1_1_actor.html#3082322754cba457f678e567b288fe02">Nv::Blast::Actor</a> +, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#b7a7be3a23d3cebbf4be3ef8f1b442c6">Nv::Blast::Asset</a> </ul> </div> <!-- start footer part --> diff --git a/docs/source_docs/files/functions_func_0x65.html b/docs/source_docs/files/functions_func_0x65.html index cbc8cca..61cc40f 100644 --- a/docs/source_docs/files/functions_func_0x65.html +++ b/docs/source_docs/files/functions_func_0x65.html @@ -108,7 +108,7 @@ <li>ExtCustomProfiler() : <a class="el" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#9e7434d8654794fc69d7f0b7afab22d6">Nv::Blast::ExtCustomProfiler</a> <li>ExtGroupTaskManagerImpl() -: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#e2bd80379d9c152f9982f5ec80cebade">Nv::Blast::ExtGroupTaskManagerImpl</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager_impl.html#4c4d9dbbcecc8aab60b52af563246ce6">Nv::Blast::ExtGroupTaskManagerImpl</a> <li>ExtGroupWorkerTask() : <a class="el" href="class_nv_1_1_blast_1_1_ext_group_worker_task.html#5e7ccffdbf66b0925ea341df3c41d9fe">Nv::Blast::ExtGroupWorkerTask</a> <li>ExtImpactSettings() @@ -122,13 +122,13 @@ <li>ExtKJPxOutputStream() : <a class="el" href="class_nv_1_1_blast_1_1_ext_k_j_px_output_stream.html#604f257e1ea92998074532a8cadd12fb">Nv::Blast::ExtKJPxOutputStream</a> <li>ExtOutputStream() -: <a class="el" href="class_nv_1_1_blast_1_1_ext_output_stream.html#cc750bce7360ee45a0f273cfa0208b00">Nv::Blast::ExtOutputStream</a> +: <a class="el" href="class_nv_1_1_blast_1_1_ext_output_stream.html#113a37368a147ab6f4c2e7095c76270e">Nv::Blast::ExtOutputStream</a> <li>ExtPxActorImpl() : <a class="el" href="class_nv_1_1_blast_1_1final.html#89470f7f2abd6c9067e682ebb68652f2">Nv::Blast::final</a> <li>ExtPxAsset() : <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset.html#eab763aa6e731f23c21c9131968e45b7">Nv::Blast::Serialization::ExtPxAsset</a> <li>ExtPxAssetImpl() -: <a class="el" href="class_nv_1_1_blast_1_1final.html#19ede4b4bd2f4c0e2d5480f05ff7d7dc">Nv::Blast::final</a> +: <a class="el" href="class_nv_1_1_blast_1_1final.html#ad48eb7e3e1b898ec0fca814cca2a139">Nv::Blast::final</a> <li>ExtPxChunk() : <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk.html#06058ce7efbe9e3848858b9b7fd9a730">Nv::Blast::Serialization::ExtPxChunk</a> <li>ExtPxFamilyImpl() diff --git a/docs/source_docs/files/functions_func_0x67.html b/docs/source_docs/files/functions_func_0x67.html index 318114c..da38cee 100644 --- a/docs/source_docs/files/functions_func_0x67.html +++ b/docs/source_docs/files/functions_func_0x67.html @@ -493,7 +493,7 @@ : <a class="el" href="struct_nv_1_1_blast_1_1_tr_prc_triangle.html#44a2d328c04bf682d631c74c117e966a">Nv::Blast::TrPrcTriangle</a> , <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_reader.html#01d953981e50271cb4e74134cc3846eb">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Reader</a> , <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#84c089dd077eda565a45fa80c5a8c9e0">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder</a> -, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">Nv::Blast::Triangle</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">Nv::Blast::Triangle</a> <li>getNormalizedDamage() : <a class="el" href="struct_nv_blast_ext_material.html#7dfea97ed502a26acd63d1c3ed750557">NvBlastExtMaterial</a> <li>getNormalsArray() diff --git a/docs/source_docs/files/functions_type.html b/docs/source_docs/files/functions_type.html index a70867e..df1847b 100644 --- a/docs/source_docs/files/functions_type.html +++ b/docs/source_docs/files/functions_type.html @@ -118,15 +118,15 @@ , <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block_1_1_reader.html#c864a42729c1c4953babb594c59e1c8e">Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Reader</a> </ul> <h3><a class="anchor" name="index_t">- t -</a></h3><ul> +<li>type +: <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array< T ></a> <li>Type -: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a> +: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a> +, <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a> <li>type : <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">Nv::Blast::HashSet< Key, HashFn ></a> , <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap< Key, Value, HashFn ></a> , <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray< T, N ></a> -, <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array< T ></a> -<li>Type -: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a> </ul> </div> <!-- start footer part --> diff --git a/docs/source_docs/files/namespace_nv_1_1_blast.html b/docs/source_docs/files/namespace_nv_1_1_blast.html index 44d530d..169f369 100644 --- a/docs/source_docs/files/namespace_nv_1_1_blast.html +++ b/docs/source_docs/files/namespace_nv_1_1_blast.html @@ -1972,7 +1972,7 @@ Remove the actor from this group if the actor actually belongs to it and the gro <dl class="return" compact><dt><b>Returns:</b></dt><dd>true if removing succeeded, false otherwise</dd></dl> Add the actor to this group's job queue. It is the caller's responsibility to add an actor only once. This condition is checked in debug builds.<p> Atomically check if this group is processing actors. <dl class="see" compact><dt><b>See also:</b></dt><dd>setProcessing()</dd></dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>true between process() and sync() calls, false otherwise</dd></dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true between startProcess() and endProcess() calls, false otherwise</dd></dl> Atomically set the processing state. This function checks for the current state before changing it. <dl class="see" compact><dt><b>See also:</b></dt><dd>isProcessing()</dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html index 46f2336..97be616 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_tk_joint_desc.html @@ -50,13 +50,13 @@ <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">physx::PxVec3 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#34dab72bc3d33c4927c00f870f93ae37">attachPositions</a> [2]</td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which ownes the chunks jointed by this joint. <a href="#34dab72bc3d33c4927c00f870f93ae37"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which owns the chunks jointed by this joint. <a href="#34dab72bc3d33c4927c00f870f93ae37"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#1b8542c85c4ce7cdedc03157b7c2427d">chunkIndices</a> [2]</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The chunk indices within the corresponding <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects joined by the joint. The indexed chunks will be support chunks. <a href="#1b8542c85c4ce7cdedc03157b7c2427d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#e6badf651ba000f9fe081a5ca096d6cc">families</a> [2]</td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containint the chunks joined by the joint. <a href="#e6badf651ba000f9fe081a5ca096d6cc"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containing the chunks joined by the joint. <a href="#e6badf651ba000f9fe081a5ca096d6cc"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Descriptor for joint creation. <hr><h2>Member Data Documentation</h2> @@ -72,7 +72,7 @@ Descriptor for joint creation. <hr><h2>Member Data Documentation</h2> <div class="memdoc"> <p> -The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which ownes the chunks jointed by this joint. +The position of the joint relative to each <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html">TkActor</a> which owns the chunks jointed by this joint. <p> </div> @@ -106,7 +106,7 @@ The chunk indices within the corresponding <a class="el" href="class_nv_1_1_blas <div class="memdoc"> <p> -The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containint the chunks joined by the joint. +The <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html">TkFamily</a> objects containing the chunks joined by the joint. <p> </div> diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html index 89664d4..6900319 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle-members.html @@ -43,7 +43,7 @@ <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#39a1ceee6d477adcae017ccce89e4907">b</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#cbec7104b98f9ab000d22e910d3b9def">c</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> - <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">getNormal</a>()</td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">getNormal</a>() const </td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td><code> [inline]</code></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#df3a66bdd94f5cd516a4a5b15d23b6b3">materialId</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">smoothingGroup</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e1a81abd0388b1c098b95b442b72650c">Triangle</a>()</td><td><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></td><td><code> [inline]</code></td></tr> diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle.html index e8a00f3..58c61ff 100644 --- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle.html +++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_triangle.html @@ -48,7 +48,7 @@ <a href="struct_nv_1_1_blast_1_1_triangle-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">physx::PxVec3 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#bfc80d334e4fc185e641a4538f414b78">getNormal</a> ()</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">physx::PxVec3 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#e04d4b7cbe22490f02ed5018b5fe387f">getNormal</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#89b6fa3e18084a8e90d4a22177416217">Triangle</a> (<a class="el" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#df09f79e35433791b1fa7e4840d3fb63">a</a>, <a class="el" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#39a1ceee6d477adcae017ccce89e4907">b</a>, <a class="el" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#cbec7104b98f9ab000d22e910d3b9def">c</a>)</td></tr> @@ -125,7 +125,7 @@ </div> </div><p> <hr><h2>Member Function Documentation</h2> -<a class="anchor" name="bfc80d334e4fc185e641a4538f414b78"></a><!-- doxytag: member="Nv::Blast::Triangle::getNormal" ref="bfc80d334e4fc185e641a4538f414b78" args="()" --> +<a class="anchor" name="e04d4b7cbe22490f02ed5018b5fe387f"></a><!-- doxytag: member="Nv::Blast::Triangle::getNormal" ref="e04d4b7cbe22490f02ed5018b5fe387f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -134,7 +134,7 @@ <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td><code> [inline]</code></td> + <td> const<code> [inline]</code></td> </tr> </table> </div> diff --git a/samples/SampleAssetViewer/Main.cpp b/samples/SampleAssetViewer/Main.cpp index 210bb83..155794a 100644 --- a/samples/SampleAssetViewer/Main.cpp +++ b/samples/SampleAssetViewer/Main.cpp @@ -141,6 +141,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi asset.transform.q = PxQuat(r.w, PxVec3(r.x, r.y, r.z).getNormalized()); asset.name = addAssetArg.getValue(); asset.id = asset.name; + asset.file = asset.name; config.additionalAssetList.models.push_back(asset); } diff --git a/samples/SampleBase/physx/PhysXController.cpp b/samples/SampleBase/physx/PhysXController.cpp index b473c8e..50502d4 100644 --- a/samples/SampleBase/physx/PhysXController.cpp +++ b/samples/SampleBase/physx/PhysXController.cpp @@ -66,7 +66,6 @@ const DirectX::XMFLOAT4 PLANE_COLOR(1.0f, 1.0f, 1.0f, 1.0f); const DirectX::XMFLOAT4 HOOK_LINE_COLOR(1.0f, 1.0f, 1.0f, 1.0f); const float DEFAULT_FIXED_TIMESTEP = 1.0f / 60.0f; -static Nv::Blast::ExtCustomProfiler gBlastProfiler; PhysXController::PhysXController(PxSimulationFilterShader filterShader) : m_filterShader(filterShader) @@ -115,6 +114,7 @@ void PhysXController::initPhysX() m_pvd = PxCreatePvd(*m_foundation); + static Nv::Blast::ExtCustomProfiler gBlastProfiler; NvBlastProfilerSetCallback(&gBlastProfiler); NvBlastProfilerSetDetail(Nv::Blast::ProfilerDetail::LOW); gBlastProfiler.setPlatformEnabled(false); diff --git a/samples/compiler/cmake/SampleBase.cmake b/samples/compiler/cmake/SampleBase.cmake index f627574..55ff982 100644 --- a/samples/compiler/cmake/SampleBase.cmake +++ b/samples/compiler/cmake/SampleBase.cmake @@ -25,6 +25,7 @@ FIND_PACKAGE(hbao_plus $ENV{PM_hbao_plus_VERSION} REQUIRED) FIND_PACKAGE(shadow_lib $ENV{PM_shadow_lib_VERSION} REQUIRED) FIND_PACKAGE(d3dcompiler $ENV{PM_d3dcompiler_VERSION} REQUIRED) FIND_PACKAGE(FBXSDK $ENV{PM_FBXSDK_VERSION} REQUIRED) +FIND_PACKAGE(nvToolsExt $ENV{PM_nvToolsExt_VERSION} REQUIRED) # Include here after the directories are defined so that the platform specific file can use the variables. include(${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/SampleBase.cmake) @@ -186,6 +187,8 @@ TARGET_INCLUDE_DIRECTORIES(SampleBase PRIVATE ${PHYSXSDK_INCLUDE_DIRS} PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} PRIVATE ${FBXSDK_INCLUDE_DIRS} + + PRIVATE $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_INCLUDE_DIRS}> ) TARGET_COMPILE_DEFINITIONS(SampleBase @@ -210,6 +213,7 @@ TARGET_LINK_LIBRARIES(SampleBase PUBLIC $<$<CONFIG:release>:${PXPVDSDK_LIB}> $<$<CONFIG:release>:${PXFOUNDATION_LIB}> $<$<CONFIG:release>:${PXTASK_LIB}> $<$<CONFIG:release>:${PSFASTXML_LIB}> $<$<CONFIG:release>:${PHYSX3COMMON_LIB}> PUBLIC ${HBAO_PLUS_LIB} ${SHADOW_LIB_LIB} ${DXUT_LIBRARIES} ${DIRECTXTEX_LIBRARIES} PUBLIC ${FBXSDK_LIBRARIES} + PUBLIC $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}> ) include(${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/SampleBase-AT.cmake OPTIONAL) diff --git a/samples/compiler/cmake/windows/CMakeLists.txt b/samples/compiler/cmake/windows/CMakeLists.txt index 6820dde..3d007ea 100644 --- a/samples/compiler/cmake/windows/CMakeLists.txt +++ b/samples/compiler/cmake/windows/CMakeLists.txt @@ -28,9 +28,9 @@ ENDIF(CMAKE_CL_64) SET(SAMPLES_SLN_COMPILE_DEFS _UNICODE;UNICODE;WIN32;WIN64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_RUNTIME_LIBRARY_MISMATCH;__GFSDK_DX11__;) #NvBlastExt doesn't have the _CONSOLE flag -SET(SAMPLES_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;) -SET(SAMPLES_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;) -SET(SAMPLES_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;) +SET(SAMPLES_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;NV_NVTX=1;) +SET(SAMPLES_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;NV_NVTX=1;) +SET(SAMPLES_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;NV_NVTX=1;) SET(SAMPLES_SLN_RELEASE_COMPILE_DEFS NDEBUG;) IF(CMAKE_CL_64) diff --git a/samples/compiler/cmake/windows/SampleAssetViewer.cmake b/samples/compiler/cmake/windows/SampleAssetViewer.cmake index 172b2ea..20b9f67 100644 --- a/samples/compiler/cmake/windows/SampleAssetViewer.cmake +++ b/samples/compiler/cmake/windows/SampleAssetViewer.cmake @@ -19,7 +19,3 @@ SET(SAMPLEASSETVIEWER_COMPILE_DEFS ) SET(SAMPLEASSETVIEWER_LINK_FLAGS "/SUBSYSTEM:WINDOWS") - - -#TARGET_LINK_LIBRARIES(NvBlast PUBLIC ${NVTOOLSEXT_LIBRARIES}) -#SET_TARGET_PROPERTIES(NvBlast PROPERTIES LINK_FLAGS "/MAP" ) diff --git a/sdk/compiler/cmake/windows/NvBlastTk.cmake b/sdk/compiler/cmake/windows/NvBlastTk.cmake index d12f78f..03854b9 100644 --- a/sdk/compiler/cmake/windows/NvBlastTk.cmake +++ b/sdk/compiler/cmake/windows/NvBlastTk.cmake @@ -2,14 +2,11 @@ # Build NvBlastTk Windows # -FIND_PACKAGE(nvToolsExt $ENV{PM_nvToolsExt_VERSION} REQUIRED) - SET(BLASTTK_PLATFORM_COMMON_FILES ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h ) SET(BLASTTK_PLATFORM_INCLUDES - PRIVATE $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_INCLUDE_DIRS}> ) SET(BLASTTK_COMPILE_DEFS @@ -24,4 +21,4 @@ SET(BLASTTK_COMPILE_DEFS SET(BLASTTK_LIBTYPE "SHARED") -SET(BLASTTK_PLATFORM_LINKED_LIBS Rpcrt4 $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}>) +SET(BLASTTK_PLATFORM_LINKED_LIBS Rpcrt4) diff --git a/sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h b/sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h index 0986cf4..3c0675c 100644 --- a/sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h +++ b/sdk/extensions/authoring/include/NvBlastExtAuthoringTypes.h @@ -86,7 +86,7 @@ struct Triangle int32_t userData; int32_t materialId; int32_t smoothingGroup; - physx::PxVec3 getNormal() + physx::PxVec3 getNormal() const { return ((b.p - a.p).cross(c.p - a.p)); } diff --git a/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.cpp b/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.cpp index 161ec5f..eda8f7c 100644 --- a/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.cpp +++ b/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.cpp @@ -30,6 +30,9 @@ #include <iostream> #include <sstream> #include <iomanip> +#include <map> +#include <algorithm> +#include <set> #include "NvBlastTypes.h" #include "NvBlastGlobals.h" #include "NvBlastTkFramework.h" @@ -212,13 +215,11 @@ bool FbxFileWriter::appendMesh(const AuthoringResult& aResult, const char* asset if (!smElement) { //If no smoothing groups, generate them - FbxGeometryConverter fbxConv(mesh->GetFbxManager()); - if (fbxConv.ComputeEdgeSmoothingFromNormals(mesh)) - { - fbxConv.ComputePolygonSmoothingFromEdgeSmoothing(mesh, 0); - } + generateSmoothingGroups(mesh, skin); } + removeDuplicateControlPoints(mesh, skin); + if (aResult.collisionHull != nullptr) { return appendCollisionMesh(chunkCount, aResult.collisionHullOffset, aResult.collisionHull, assetName); @@ -544,13 +545,11 @@ void FbxFileWriter::createChunkRecursiveNonSkinned(const std::string& meshName, if (!mesh->GetElementSmoothing()) { //If no smoothing groups, generate them - FbxGeometryConverter fbxConv(mesh->GetFbxManager()); - if (fbxConv.ComputeEdgeSmoothingFromNormals(mesh)) - { - fbxConv.ComputePolygonSmoothingFromEdgeSmoothing(mesh, 0); - } + generateSmoothingGroups(mesh, nullptr); } + removeDuplicateControlPoints(mesh, nullptr); + for (uint32_t i = chunk->firstChildIndex; i < chunk->childIndexStop; i++) { createChunkRecursiveNonSkinned(meshName, i, meshNode, materials, meshData); @@ -673,13 +672,12 @@ void FbxFileWriter::createChunkRecursiveNonSkinned(const std::string& meshName, if (!smElement) { //If no smoothing groups, generate them - FbxGeometryConverter fbxConv(mesh->GetFbxManager()); - if (fbxConv.ComputeEdgeSmoothingFromNormals(mesh)) - { - fbxConv.ComputePolygonSmoothingFromEdgeSmoothing(mesh, 0); - } + generateSmoothingGroups(mesh, nullptr); + } + removeDuplicateControlPoints(mesh, nullptr); + for (uint32_t i = chunk->firstChildIndex; i < chunk->childIndexStop; i++) { createChunkRecursiveNonSkinned(meshName, i, meshNode, materials, aResult); @@ -1079,13 +1077,11 @@ bool FbxFileWriter::appendMesh(const ExporterMeshData& meshData, const char* ass if (!mesh->GetElementSmoothing()) { //If no smoothing groups, generate them - FbxGeometryConverter fbxConv(mesh->GetFbxManager()); - if (fbxConv.ComputeEdgeSmoothingFromNormals(mesh)) - { - fbxConv.ComputePolygonSmoothingFromEdgeSmoothing(mesh, 0); - } + generateSmoothingGroups(mesh, skin); } + removeDuplicateControlPoints(mesh, skin); + if (meshData.hulls != nullptr) { return appendCollisionMesh(chunkCount, meshData.hullsOffsets, meshData.hulls, assetName); @@ -1093,3 +1089,338 @@ bool FbxFileWriter::appendMesh(const ExporterMeshData& meshData, const char* ass return true; } +void FbxFileWriter::generateSmoothingGroups(fbxsdk::FbxMesh* mesh, FbxSkin* skin) +{ + if (mesh->GetElementSmoothing(0) || !mesh->IsTriangleMesh()) + { + //they already exist or we can't make it + return; + } + + const FbxGeometryElementNormal* geNormal = mesh->GetElementNormal(); + if (!geNormal || geNormal->GetMappingMode() != FbxGeometryElement::eByPolygonVertex || geNormal->GetReferenceMode() != FbxGeometryElement::eDirect) + { + //We just set this up, but just incase + return; + } + + int clusterCount = 0; + std::vector<std::vector<int>> cpsPerCluster; + if (skin) + { + clusterCount = skin->GetClusterCount(); + cpsPerCluster.resize(clusterCount); + for (int c = 0; c < clusterCount; c++) + { + FbxCluster* cluster = skin->GetCluster(c); + int* clusterCPList = cluster->GetControlPointIndices(); + const int clusterCPListLength = cluster->GetControlPointIndicesCount(); + + cpsPerCluster[c].resize(clusterCPListLength); + memcpy(cpsPerCluster[c].data(), clusterCPList, sizeof(int) * clusterCPListLength); + std::sort(cpsPerCluster[c].begin(), cpsPerCluster[c].end()); + } + } + + auto smElement = mesh->CreateElementSmoothing(); + smElement->SetMappingMode(FbxGeometryElement::eByPolygon); + smElement->SetReferenceMode(FbxGeometryElement::eDirect); + + FbxVector4* cpList = mesh->GetControlPoints(); + const int cpCount = mesh->GetControlPointsCount(); + + const int triangleCount = mesh->GetPolygonCount(); + const int cornerCount = triangleCount * 3; + + int* polygonCPList = mesh->GetPolygonVertices(); + const auto& normalByCornerList = geNormal->GetDirectArray(); + + std::multimap<int, int> overlappingCorners; + //sort them by z for faster overlap checking + std::vector<std::pair<double, int>> cornerIndexesByZ(cornerCount); + for (int c = 0; c < cornerCount; c++) + { + cornerIndexesByZ[c] = std::pair<double, int>(cpList[polygonCPList[c]][2], c); + } + std::sort(cornerIndexesByZ.begin(), cornerIndexesByZ.end()); + + for (int i = 0; i < cornerCount; i++) + { + const int cornerA = cornerIndexesByZ[i].second; + const int cpiA = polygonCPList[cornerA]; + FbxVector4 cpA = cpList[cpiA]; + cpA[3] = 0; + + int clusterIndexA = -1; + for (int c = 0; c < clusterCount; c++) + { + if (std::binary_search(cpsPerCluster[c].begin(), cpsPerCluster[c].end(), cpiA)) + { + clusterIndexA = c; + break; + } + } + + for (int j = i + 1; j < cornerCount; j++) + { + if (std::abs(cornerIndexesByZ[j].first - cornerIndexesByZ[i].first) > FBXSDK_TOLERANCE) + { + break; // if the z's don't match other values don't matter + } + const int cornerB = cornerIndexesByZ[j].second; + const int cpiB = polygonCPList[cornerB]; + FbxVector4 cpB = cpList[cpiB]; + + cpB[3] = 0; + + //uses FBXSDK_TOLERANCE + if (cpA == cpB) + { + int clusterIndexB = -1; + for (int c = 0; c < clusterCount; c++) + { + if (std::binary_search(cpsPerCluster[c].begin(), cpsPerCluster[c].end(), cpiB)) + { + clusterIndexB = c; + break; + } + } + + if (clusterIndexA == clusterIndexB) + { + overlappingCorners.emplace(cornerA, cornerB); + overlappingCorners.emplace(cornerB, cornerA); + } + } + } + } + + auto& smoothingGroupByTri = smElement->GetDirectArray(); + for (int i = 0; i < triangleCount; i++) + { + smoothingGroupByTri.Add(0); + } + //first one + smoothingGroupByTri.SetAt(0, 1); + + for (int i = 1; i < triangleCount; i++) + { + int sharedMask = 0, unsharedMask = 0; + for (int c = 0; c < 3; c++) + { + int myCorner = i * 3 + c; + FbxVector4 myNormal = normalByCornerList.GetAt(myCorner); + myNormal.Normalize(); + myNormal[3] = 0; + + auto otherCornersRangeBegin = overlappingCorners.lower_bound(myCorner); + auto otherCornersRangeEnd = overlappingCorners.upper_bound(myCorner); + for (auto it = otherCornersRangeBegin; it != otherCornersRangeEnd; it++) + { + int otherCorner = it->second; + FbxVector4 otherNormal = normalByCornerList.GetAt(otherCorner); + otherNormal.Normalize(); + otherNormal[3] = 0; + if (otherNormal == myNormal) + { + sharedMask |= smoothingGroupByTri[otherCorner / 3]; + } + else + { + unsharedMask |= smoothingGroupByTri[otherCorner / 3]; + } + } + } + + //Easy case, no overlap + if ((sharedMask & unsharedMask) == 0 && sharedMask != 0) + { + smoothingGroupByTri.SetAt(i, sharedMask); + } + else + { + for (int sm = 0; sm < 32; sm++) + { + int val = 1 << sm; + if (((val & sharedMask) == sharedMask) && !(val & unsharedMask)) + { + smoothingGroupByTri.SetAt(i, val); + break; + } + } + } + } + +} + +namespace +{ + //These methods have different names for some reason + inline double* getControlPointBlendWeights(FbxSkin* skin) + { + return skin->GetControlPointBlendWeights(); + } + + inline double* getControlPointBlendWeights(FbxCluster* cluster) + { + return cluster->GetControlPointWeights(); + } + + template <typename T> + void remapCPsAndRemoveDuplicates(const int newCPCount, const std::vector<int>& oldToNewCPMapping, T* skinOrCluster) + { + //Need to avoid duplicate entires since UE doesn't seem to normalize this correctly + std::vector<bool> addedCP(newCPCount, false); + std::vector<std::pair<int, double>> newCPsAndWeights; + newCPsAndWeights.reserve(newCPCount); + + int* skinCPList = skinOrCluster->GetControlPointIndices(); + double* skinCPWeights = getControlPointBlendWeights(skinOrCluster); + const int skinCPListLength = skinOrCluster->GetControlPointIndicesCount(); + + for (int bw = 0; bw < skinCPListLength; bw++) + { + int newCPIdx = oldToNewCPMapping[skinCPList[bw]]; + if (!addedCP[newCPIdx]) + { + addedCP[newCPIdx] = true; + newCPsAndWeights.emplace_back(newCPIdx, skinCPWeights[bw]); + } + } + skinOrCluster->SetControlPointIWCount(newCPsAndWeights.size()); + skinCPList = skinOrCluster->GetControlPointIndices(); + skinCPWeights = getControlPointBlendWeights(skinOrCluster); + for (size_t bw = 0; bw < newCPsAndWeights.size(); bw++) + { + skinCPList[bw] = newCPsAndWeights[bw].first; + skinCPWeights[bw] = newCPsAndWeights[bw].second; + } + } +} + +//Do this otherwise Maya shows the mesh as faceted due to not being welded +void FbxFileWriter::removeDuplicateControlPoints(fbxsdk::FbxMesh* mesh, FbxSkin* skin) +{ + FbxVector4* cpList = mesh->GetControlPoints(); + const int cpCount = mesh->GetControlPointsCount(); + + std::vector<int> oldToNewCPMapping(cpCount, -1); + //sort them by z for faster overlap checking + std::vector<std::pair<double, int>> cpIndexesByZ(cpCount); + for (int cp = 0; cp < cpCount; cp++) + { + cpIndexesByZ[cp] = std::pair<double, int>(cpList[cp][2], cp); + } + std::sort(cpIndexesByZ.begin(), cpIndexesByZ.end()); + + int clusterCount = 0; + std::vector<std::vector<int>> cpsPerCluster; + if (skin) + { + clusterCount = skin->GetClusterCount(); + cpsPerCluster.resize(clusterCount); + for (int c = 0; c < clusterCount; c++) + { + FbxCluster* cluster = skin->GetCluster(c); + int* clusterCPList = cluster->GetControlPointIndices(); + const int clusterCPListLength = cluster->GetControlPointIndicesCount(); + + cpsPerCluster[c].resize(clusterCPListLength); + memcpy(cpsPerCluster[c].data(), clusterCPList, sizeof(int) * clusterCPListLength); + std::sort(cpsPerCluster[c].begin(), cpsPerCluster[c].end()); + } + } + + std::vector<FbxVector4> uniqueCPs; + uniqueCPs.reserve(cpCount); + + for (int i = 0; i < cpCount; i++) + { + const int cpiA = cpIndexesByZ[i].second; + FbxVector4 cpA = cpList[cpiA]; + if (!(oldToNewCPMapping[cpiA] < 0)) + { + //already culled this one + continue; + } + const int newIdx = int(uniqueCPs.size()); + oldToNewCPMapping[cpiA] = newIdx; + uniqueCPs.push_back(cpA); + + int clusterIndexA = -1; + for (int c = 0; c < clusterCount; c++) + { + if (std::binary_search(cpsPerCluster[c].begin(), cpsPerCluster[c].end(), cpiA)) + { + clusterIndexA = c; + break; + } + } + + for (int j = i + 1; j < cpCount; j++) + { + if (std::abs(cpIndexesByZ[j].first - cpIndexesByZ[i].first) > FBXSDK_TOLERANCE) + { + break; // if the z's don't match other values don't matter + } + + const int cpiB = cpIndexesByZ[j].second; + FbxVector4 cpB = cpList[cpiB]; + + //uses FBXSDK_TOLERANCE + if (cpA == cpB) + { + int clusterIndexB = -1; + for (int c = 0; c < clusterCount; c++) + { + if (std::binary_search(cpsPerCluster[c].begin(), cpsPerCluster[c].end(), cpiB)) + { + clusterIndexB = c; + break; + } + } + + //don't merge unless they share the same clusters + if (clusterIndexA == clusterIndexB) + { + oldToNewCPMapping[cpiB] = newIdx; + } + } + } + } + + const int originalCPCount = cpCount; + const int newCPCount = int(uniqueCPs.size()); + + if (newCPCount == cpCount) + { + //don't bother, it will just scramble it for no reason + return; + } + + mesh->InitControlPoints(newCPCount); + cpList = mesh->GetControlPoints(); + + for (int cp = 0; cp < newCPCount; cp++) + { + cpList[cp] = uniqueCPs[cp]; + } + + int* polygonCPList = mesh->GetPolygonVertices(); + const int polygonCPListLength = mesh->GetPolygonVertexCount(); + for (int pv = 0; pv < polygonCPListLength; pv++) + { + polygonCPList[pv] = oldToNewCPMapping[polygonCPList[pv]]; + } + + if (skin) + { + remapCPsAndRemoveDuplicates(newCPCount, oldToNewCPMapping, skin); + for (int c = 0; c < skin->GetClusterCount(); c++) + { + FbxCluster* cluster = skin->GetCluster(c); + remapCPsAndRemoveDuplicates(newCPCount, oldToNewCPMapping, cluster); + } + + } +}
\ No newline at end of file diff --git a/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h b/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h index 985b32c..f8490cb 100644 --- a/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h +++ b/sdk/extensions/exporter/source/NvBlastExtExporterFbxWriter.h @@ -126,6 +126,9 @@ private: void addControlPoints(fbxsdk::FbxMesh* mesh, const ExporterMeshData& meshData); void addBindPose(); + + void generateSmoothingGroups(fbxsdk::FbxMesh* mesh, FbxSkin* skin); + void removeDuplicateControlPoints(fbxsdk::FbxMesh* mesh, FbxSkin* skin); }; } diff --git a/sdk/extensions/physx/include/NvBlastExtCustomProfiler.h b/sdk/extensions/physx/include/NvBlastExtCustomProfiler.h index 4130964..e879d03 100644 --- a/sdk/extensions/physx/include/NvBlastExtCustomProfiler.h +++ b/sdk/extensions/physx/include/NvBlastExtCustomProfiler.h @@ -68,11 +68,22 @@ static thread_local ExtProfileData th_ProfileData[PROFILER_MAX_NESTED_DEPTH]; static thread_local int32_t th_depth = 0; #endif + +/** +Implements Nv::Blast::ProfilerCallback to serve the physx::PxProfilerCallback set in PxFoundation +for PhysX Visual Debugger support and platform specific profilers like NVIDIA(R) NSight(TM). +*/ class ExtCustomProfiler : public ProfilerCallback { public: + /** + Construct an ExtCustomProfiler with platform specific profiler signals disabled. + */ ExtCustomProfiler() : m_platformEnabled(false) {} + + ////// ProfilerCallback interface ////// + virtual void zoneStart(const char* name) override { @@ -127,6 +138,13 @@ public: } + ////// local interface ////// + + /** + Enable or disable platform specific profiler signals. Disabled by default. + + \param[in] enabled true enables, false disables platform profiler calls. + */ void setPlatformEnabled(bool enabled) { m_platformEnabled = enabled; @@ -140,4 +158,4 @@ private: } // namespace Nv -#endif +#endif // NVBLASTDEFAULTPROFILER_H diff --git a/sdk/extensions/physx/include/NvBlastExtPxTask.h b/sdk/extensions/physx/include/NvBlastExtPxTask.h index b692ce8..739828c 100644 --- a/sdk/extensions/physx/include/NvBlastExtPxTask.h +++ b/sdk/extensions/physx/include/NvBlastExtPxTask.h @@ -58,11 +58,13 @@ protected: virtual ~ExtGroupTaskManager() {} public: - static ExtGroupTaskManager* create(physx::PxTaskManager&); - static ExtGroupTaskManager* create(physx::PxTaskManager&, TkGroup&); + /** + Construct using existing physx::PxTaskManager and TkGroup. The TkGroup can be set later with setGroup(). + */ + static ExtGroupTaskManager* create(physx::PxTaskManager&, TkGroup* = nullptr); /** - Change the group to process. Cannot be changed while the group being processed. + Set the group to process. Cannot be changed while a group being processed. */ virtual void setGroup(TkGroup*) = 0; @@ -75,12 +77,19 @@ public: \param[in] workerCount The number of worker tasks to start, 0 uses the dispatcher's worker thread count. + \return The number of worker tasks started. + If 0, processing did not start and wait() will never return true. */ virtual uint32_t process(uint32_t workerCount = 0) = 0; /** - Wait for the group to end processing. + Wait for the group to end processing. When processing has finished, TkGroup::endProcess is executed. + + \param[in] block true: does not return until the group has been processed. + false: return immediately if workers are still processing the group. + + \return true if group processing was completed (and the group was actually processing) */ virtual bool wait(bool block = true) = 0; diff --git a/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.cpp b/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.cpp index 55a6eae..0b1c6e6 100644 --- a/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.cpp +++ b/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.cpp @@ -106,13 +106,7 @@ void ExtGroupTaskManagerImpl::setGroup(TkGroup* group) } -ExtGroupTaskManager* ExtGroupTaskManager::create(physx::PxTaskManager& taskManager) -{ - return NVBLAST_NEW(ExtGroupTaskManagerImpl) (taskManager); -} - - -ExtGroupTaskManager* ExtGroupTaskManager::create(physx::PxTaskManager& taskManager, TkGroup& group) +ExtGroupTaskManager* ExtGroupTaskManager::create(physx::PxTaskManager& taskManager, TkGroup* group) { return NVBLAST_NEW(ExtGroupTaskManagerImpl) (taskManager, group); } diff --git a/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h b/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h index f705e71..de4676e 100644 --- a/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h +++ b/sdk/extensions/physx/source/physics/NvBlastExtPxTaskImpl.h @@ -185,13 +185,10 @@ Implements ExtGroupTaskManager class ExtGroupTaskManagerImpl : public ExtGroupTaskManager { public: - ExtGroupTaskManagerImpl(physx::PxTaskManager& taskManager) - : m_taskManager(taskManager), m_sync(0), m_group(nullptr) {} + ExtGroupTaskManagerImpl(physx::PxTaskManager& taskManager, TkGroup* group) + : m_taskManager(taskManager), m_sync(0), m_group(group) {} - ExtGroupTaskManagerImpl(physx::PxTaskManager& taskManager, TkGroup& group) - : m_taskManager(taskManager), m_sync(0), m_group(&group) {} - - // public API + // ExtGroupTaskManager API virtual void setGroup(TkGroup*) override; virtual uint32_t process(uint32_t) override; virtual void release() override; @@ -209,4 +206,4 @@ private: } // namespace Blast } // namespace Nv -#endif // NVBLASTEXTPXTASKIMPL_H
\ No newline at end of file +#endif // NVBLASTEXTPXTASKIMPL_H diff --git a/sdk/extensions/stress/include/NvBlastExtStressSolver.h b/sdk/extensions/stress/include/NvBlastExtStressSolver.h index 471c35e..674a6d9 100644 --- a/sdk/extensions/stress/include/NvBlastExtStressSolver.h +++ b/sdk/extensions/stress/include/NvBlastExtStressSolver.h @@ -256,7 +256,7 @@ public: virtual void generateFractureCommands(const NvBlastActor& actor, NvBlastFractureBuffers& commands) = 0; /** - Generate fracture commands for whole family. A bit faster way to get all fractured bonds then calling generateFractureCommands() for every actor. + Generate fracture commands for whole family. A bit faster way to get all fractured bonds than calling generateFractureCommands() for every actor. Calling this function if getOverstressedBondCount() == 0 or actor has no bond doesn't make sense, bondFractureCount will be '0'. diff --git a/sdk/toolkit/include/NvBlastTkActor.h b/sdk/toolkit/include/NvBlastTkActor.h index 453e4c4..73e83cd 100644 --- a/sdk/toolkit/include/NvBlastTkActor.h +++ b/sdk/toolkit/include/NvBlastTkActor.h @@ -167,9 +167,9 @@ public: /** Apply damage to this actor. - Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state. + Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state. - It's the user's responsibility to keep programParams pointer alive until the group sync() call. + It's the user's responsibility to keep programParams pointer alive until the group endProcess() call. \param[in] program A NvBlastDamageProgram containing damage shaders. \param[in] programParams Parameters for the NvBlastDamageProgram. @@ -179,7 +179,7 @@ public: /** Apply damage to this actor. - Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state. + Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state. Damage Desc will be stacked into NvBlastProgramParams. NvBlastProgramParams will be passed into shader. @@ -194,16 +194,16 @@ public: /** Apply damage to this actor. - Actual damage processing is deferred till the group process() call. Sets actor in 'pending' state. + Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state. Damage Desc will be stacked into NvBlastDamageProgram. NvBlastDamageProgram will be passed into shader. - This function overload explicitly sets a material to be passed into NvBlastProgramParams, it must be valid until the group sync() call. + This function overload explicitly sets a material to be passed into NvBlastProgramParams, it must be valid until the group endProcess() call. \param[in] program A NvBlastDamageProgram containing damage shaders. \param[in] damageDesc Parameters to be put in NvBlastDamageProgram, have to be POD type (will be copied). \param[in] descSize Size of damageDesc in bytes. Required to copy and store Damage Desc. - \param[in] material Material to be passed into NvBlastProgramParams. Must be valid until the group sync() call. + \param[in] material Material to be passed into NvBlastProgramParams. Must be valid until the group endProcess() call. */ virtual void damage(const NvBlastDamageProgram& program, const void* damageDesc, uint32_t descSize, const void* material) = 0; diff --git a/sdk/toolkit/include/NvBlastTkFamily.h b/sdk/toolkit/include/NvBlastTkFamily.h index 119d308..02b91cb 100644 --- a/sdk/toolkit/include/NvBlastTkFamily.h +++ b/sdk/toolkit/include/NvBlastTkFamily.h @@ -128,7 +128,7 @@ public: virtual const void* getMaterial() const = 0; /** - Set the default material to be passed into NvBlastDamageProgram when a TkActor in this family is damaged. Must be valid till group sync() call. + Set the default material to be passed into NvBlastDamageProgram when a TkActor in this family is damaged. Must be valid till group endProcess() call. \param[in] material The material to be the new default. */ diff --git a/sdk/toolkit/include/NvBlastTkFramework.h b/sdk/toolkit/include/NvBlastTkFramework.h index 51ee743..e9601ff 100644 --- a/sdk/toolkit/include/NvBlastTkFramework.h +++ b/sdk/toolkit/include/NvBlastTkFramework.h @@ -129,9 +129,9 @@ Descriptor for joint creation. */ struct TkJointDesc { - TkFamily* families[2]; //!< The TkFamily objects containint the chunks joined by the joint + TkFamily* families[2]; //!< The TkFamily objects containing the chunks joined by the joint uint32_t chunkIndices[2]; //!< The chunk indices within the corresponding TkFamily objects joined by the joint. The indexed chunks will be support chunks. - physx::PxVec3 attachPositions[2]; //!< The position of the joint relative to each TkActor which ownes the chunks jointed by this joint + physx::PxVec3 attachPositions[2]; //!< The position of the joint relative to each TkActor which owns the chunks jointed by this joint }; diff --git a/sdk/toolkit/include/NvBlastTkGroup.h b/sdk/toolkit/include/NvBlastTkGroup.h index 2e5ee3e..c799485 100644 --- a/sdk/toolkit/include/NvBlastTkGroup.h +++ b/sdk/toolkit/include/NvBlastTkGroup.h @@ -176,7 +176,7 @@ public: /** Helper function to process the group synchronously on a single thread. */ - virtual void process(); + void process(); /** For profile builds only, request stats of the last successful processing. Inactive in other builds. diff --git a/sdk/toolkit/source/NvBlastTkGroupImpl.h b/sdk/toolkit/source/NvBlastTkGroupImpl.h index ea5b926..061802d 100644 --- a/sdk/toolkit/source/NvBlastTkGroupImpl.h +++ b/sdk/toolkit/source/NvBlastTkGroupImpl.h @@ -93,7 +93,7 @@ public: /** Atomically check if this group is processing actors. @see setProcessing() - \return true between process() and sync() calls, false otherwise + \return true between startProcess() and endProcess() calls, false otherwise */ bool isProcessing() const; diff --git a/sdk/toolkit/source/NvBlastTkTaskImpl.cpp b/sdk/toolkit/source/NvBlastTkTaskImpl.cpp index e08986a..bc825a7 100644 --- a/sdk/toolkit/source/NvBlastTkTaskImpl.cpp +++ b/sdk/toolkit/source/NvBlastTkTaskImpl.cpp @@ -154,7 +154,7 @@ void TkWorker::process(TkWorkerJob& j) { NvBlastTimers* timers = nullptr; - BLAST_PROFILE_SCOPE_M("TkActor"); + BLAST_PROFILE_SCOPE_M("TkActor"); TkActorImpl* tkActor = j.m_tkActor; const uint32_t tkActorIndex = tkActor->getIndex(); @@ -179,25 +179,25 @@ void TkWorker::process(TkWorkerJob& j) { NvBlastFractureBuffers commandBuffer = m_tempBuffer; - BLAST_PROFILE_ZONE_BEGIN("Material"); + BLAST_PROFILE_ZONE_BEGIN("Material"); damage.generateFracture(&commandBuffer, actorLL, timers); - BLAST_PROFILE_ZONE_END("Material"); + BLAST_PROFILE_ZONE_END("Material"); if (commandBuffer.chunkFractureCount > 0 || commandBuffer.bondFractureCount > 0) { - BLAST_PROFILE_SCOPE_M("Fill Command Events"); + BLAST_PROFILE_SCOPE_M("Fill Command Events"); reportFractureCommands(commandBuffer, m_bondBuffer, m_chunkBuffer, events, tkActor); } NvBlastFractureBuffers eventBuffer = m_tempBuffer; - BLAST_PROFILE_ZONE_BEGIN("Fracture"); + BLAST_PROFILE_ZONE_BEGIN("Fracture"); NvBlastActorApplyFracture(&eventBuffer, actorLL, &commandBuffer, logLL, timers); - BLAST_PROFILE_ZONE_END("Fracture"); + BLAST_PROFILE_ZONE_END("Fracture"); if (eventBuffer.chunkFractureCount > 0 || eventBuffer.bondFractureCount > 0) { - BLAST_PROFILE_SCOPE_M("Fill Fracture Events"); + BLAST_PROFILE_SCOPE_M("Fill Fracture Events"); tkActor->m_flags |= (TkActorFlag::DAMAGED); reportFractureEvents(eventBuffer, m_bondBuffer, m_chunkBuffer, events, tkActor); } @@ -210,13 +210,13 @@ void TkWorker::process(TkWorkerJob& j) NvBlastActorSplitEvent splitEvent = { nullptr, nullptr }; if (tkActor->isDamaged()) { - BLAST_PROFILE_ZONE_BEGIN("Split Memory"); + BLAST_PROFILE_ZONE_BEGIN("Split Memory"); uint32_t maxActorCount = NvBlastActorGetMaxActorCountForSplit(actorLL, logLL); splitEvent.newActors = mem->reserveNewActors(maxActorCount); - BLAST_PROFILE_ZONE_END("Split Memory"); - BLAST_PROFILE_ZONE_BEGIN("Split"); + BLAST_PROFILE_ZONE_END("Split Memory"); + BLAST_PROFILE_ZONE_BEGIN("Split"); j.m_newActorsCount = NvBlastActorSplit(&splitEvent, actorLL, maxActorCount, m_splitScratch, logLL, timers); - BLAST_PROFILE_ZONE_END("Split"); + BLAST_PROFILE_ZONE_END("Split"); tkActor->m_flags.clear(TkActorFlag::DAMAGED); } @@ -231,7 +231,7 @@ void TkWorker::process(TkWorkerJob& j) { NVBLAST_ASSERT(splitEvent.deletedActor == tkActor->getActorLL()); - BLAST_PROFILE_ZONE_BEGIN("memory new actors"); + BLAST_PROFILE_ZONE_BEGIN("memory new actors"); auto tkSplitEvent = events.allocData<TkSplitEvent>(); @@ -243,21 +243,21 @@ void TkWorker::process(TkWorkerJob& j) tkSplitEvent->parentData.index = tkActorIndex; family.removeActor(tkActor); - BLAST_PROFILE_ZONE_END("memory new actors"); + BLAST_PROFILE_ZONE_END("memory new actors"); - BLAST_PROFILE_ZONE_BEGIN("create new actors"); + BLAST_PROFILE_ZONE_BEGIN("create new actors"); for (uint32_t i = 0; i < j.m_newActorsCount; ++i) { TkActorImpl* newActor = family.addActor(splitEvent.newActors[i]); tkSplitEvent->children[i] = newActor; } j.m_newActors = reinterpret_cast<TkActorImpl**>(tkSplitEvent->children); - BLAST_PROFILE_ZONE_END("create new actors"); + BLAST_PROFILE_ZONE_END("create new actors"); - BLAST_PROFILE_ZONE_BEGIN("split event"); + BLAST_PROFILE_ZONE_BEGIN("split event"); events.addEvent(tkSplitEvent); - BLAST_PROFILE_ZONE_END("split event"); + BLAST_PROFILE_ZONE_END("split event"); } j.m_tkActor->m_flags.clear(TkActorFlag::PENDING); diff --git a/test/compiler/cmake/windows/BlastPerfTests.cmake b/test/compiler/cmake/windows/BlastPerfTests.cmake index fe1de27..0ef6083 100644 --- a/test/compiler/cmake/windows/BlastPerfTests.cmake +++ b/test/compiler/cmake/windows/BlastPerfTests.cmake @@ -8,7 +8,7 @@ SET(BLASTPERFTESTS_PLATFORM_COMMON_FILES ) SET(BLASTPERFTESTS_PLATFORM_INCLUDES - PRIVATE ${NVTOOLSEXT_INCLUDE_DIRS} + PRIVATE $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_INCLUDE_DIRS}> ) SET(BLASTPERFTESTS_COMPILE_DEFS @@ -21,11 +21,8 @@ SET(BLASTPERFTESTS_COMPILE_DEFS $<$<CONFIG:release>:${BLASTTESTS_SLN_RELEASE_COMPILE_DEFS}> ) -SET(BLASTPERFTESTS_PLATFORM_LINKED_LIBS - ${NVTOOLSEXT_LIB} +SET(BLASTPERFTESTS_PLATFORM_LINKED_LIBS + $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}> ) -SET(BLASTPERFTESTS_PLATFORM_LINKED_LIBS $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}>) - - diff --git a/test/compiler/cmake/windows/BlastUnitTests.cmake b/test/compiler/cmake/windows/BlastUnitTests.cmake index 9397652..1d20411 100644 --- a/test/compiler/cmake/windows/BlastUnitTests.cmake +++ b/test/compiler/cmake/windows/BlastUnitTests.cmake @@ -8,7 +8,7 @@ SET(BLASTUNITTESTS_PLATFORM_COMMON_FILES ) SET(BLASTUNITTESTS_PLATFORM_INCLUDES - PRIVATE ${NVTOOLSEXT_INCLUDE_DIRS} + PRIVATE $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_INCLUDE_DIRS}> ) SET(BLASTUNITTESTS_COMPILE_DEFS @@ -26,15 +26,12 @@ if(SERIALIZATION_INCLUDED) MESSAGE("Serialization included") SET(BLASTUNITTESTS_PLATFORM_LINKED_LIBS NvBlastExtSerialization - ${NVTOOLSEXT_LIB} + $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}> ) else() MESSAGE("Serialization NOT NOT NOT included") SET(BLASTUNITTESTS_PLATFORM_LINKED_LIBS - ${NVTOOLSEXT_LIB} + $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}> ) endif() - -#TARGET_LINK_LIBRARIES(NvBlast PUBLIC ${NVTOOLSEXT_LIBRARIES}) -#SET_TARGET_PROPERTIES(NvBlast PROPERTIES LINK_FLAGS "/MAP" ) diff --git a/test/compiler/cmake/windows/CMakeLists.txt b/test/compiler/cmake/windows/CMakeLists.txt index 635927b..0fcef3e 100644 --- a/test/compiler/cmake/windows/CMakeLists.txt +++ b/test/compiler/cmake/windows/CMakeLists.txt @@ -31,7 +31,7 @@ SET(BLASTTESTS_SLN_COMPILE_DEFS WIN32;WIN64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTD SET(BLASTTESTS_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;NV_NVTX=1;) SET(BLASTTESTS_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;NV_NVTX=1;) SET(BLASTTESTS_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;NV_NVTX=1;) -SET(BLASTTESTS_SLN_RELEASE_COMPILE_DEFS NDEBUG;NV_NVTX=1;) +SET(BLASTTESTS_SLN_RELEASE_COMPILE_DEFS NDEBUG;) IF(CMAKE_CL_64) SET(LIBPATH_SUFFIX "x64") diff --git a/test/src/unit/TkTests.cpp b/test/src/unit/TkTests.cpp index 19f582a..3df536a 100644 --- a/test/src/unit/TkTests.cpp +++ b/test/src/unit/TkTests.cpp @@ -359,8 +359,8 @@ TEST_F(TkTestStrict, ActorDamageMultiGroup) TkGroup* group1 = fwk->createGroup(gdesc); EXPECT_TRUE(group1 != nullptr); - ExtGroupTaskManager& gtm1 = *ExtGroupTaskManager::create(*m_taskman, *group1); - ExtGroupTaskManager& gtm0 = *ExtGroupTaskManager::create(*m_taskman, *group0); + ExtGroupTaskManager& gtm1 = *ExtGroupTaskManager::create(*m_taskman, group1); + ExtGroupTaskManager& gtm0 = *ExtGroupTaskManager::create(*m_taskman, group0); std::vector<TkFamily*> families(2); std::map<TkFamily*, ExpectedVisibleChunks> expectedVisibleChunks; diff --git a/tools/ArtistTools/source/BlastPlugin/BlastPlugin.cpp b/tools/ArtistTools/source/BlastPlugin/BlastPlugin.cpp index 4890dbf..b89bea2 100644 --- a/tools/ArtistTools/source/BlastPlugin/BlastPlugin.cpp +++ b/tools/ArtistTools/source/BlastPlugin/BlastPlugin.cpp @@ -854,6 +854,14 @@ bool BlastPlugin::SimpleScene_FitCamera(atcore_float3& center, atcore_float3& ex return true; } + +bool BlastPlugin::SimpleScene_ResetUpDir(bool zup) +{ + SampleManager* pSampleManager = SampleManager::ins(); + pSampleManager->ResetUpDir(zup); + return true; +} + bool BlastPlugin::SimpleScene_UpdateCamera() { SampleManager* pSampleManager = SampleManager::ins(); diff --git a/tools/ArtistTools/source/BlastPlugin/BlastPlugin.h b/tools/ArtistTools/source/BlastPlugin/BlastPlugin.h index 59fc49a..4bda771 100644 --- a/tools/ArtistTools/source/BlastPlugin/BlastPlugin.h +++ b/tools/ArtistTools/source/BlastPlugin/BlastPlugin.h @@ -87,6 +87,7 @@ public: virtual bool SimpleScene_Draw_DX12(); virtual bool SimpleScene_Draw_DX11(); virtual bool SimpleScene_FitCamera(atcore_float3& center, atcore_float3& extents); + virtual bool SimpleScene_ResetUpDir(bool zup); virtual bool SimpleScene_UpdateCamera(); virtual bool SimpleScene_DrawGround(); virtual bool SimpleScene_DrawWind(); diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.cpp index c39d927..7bb4f95 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.cpp @@ -36,10 +36,24 @@ #include "SampleManager.h" // Add By Lixu End - +std::set<int> ExistingAssetIds; BlastAsset::BlastAsset(Renderer& renderer) : m_renderer(renderer), m_bondHealthMax(1.0f), m_supportChunkHealthMax(1.0f) { + for (int id = 0; ; id++) + { + if (ExistingAssetIds.find(id) == ExistingAssetIds.end()) + { + ExistingAssetIds.emplace(id); + mUniqueId = id; + break; + } + } +} + +BlastAsset::~BlastAsset() +{ + ExistingAssetIds.erase(mUniqueId); } void BlastAsset::initialize() diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.h index 5502c5c..feec9e3 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastAsset.h @@ -65,7 +65,8 @@ public: //////// ctor //////// BlastAsset(Renderer& renderer); - virtual ~BlastAsset() {} + virtual ~BlastAsset(); + int mUniqueId; //////// desc //////// diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.cpp index 8df665e..950b217 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.cpp @@ -242,6 +242,20 @@ BlastFamily* BlastController::getFamilyByPxActor(const PxActor& actor) return nullptr; } +BlastFamily* BlastController::getFamilyById(int familyId) +{ + BlastFamily* pBlastFamily = nullptr; + for (BlastFamilyPtr p : m_families) + { + if (p->mUniqueId == familyId) + { + pBlastFamily = p; + break; + } + } + return pBlastFamily; +} + std::vector<PxActor*> BlastController::getActor(BlastAsset* asset, int chunkId) { std::vector<PxActor*> actors; diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.h index 5e4d269..7a6bcf0 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastController.h @@ -169,6 +169,8 @@ public: // only update unfractured mode mesh void updateModelMeshToProjectParam(const PxActor& actor); + + BlastFamily* getFamilyById(int familyId); // Add By Lixu End float getLastStressDelta() const; diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.cpp index b5afc82..dff2d20 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.cpp @@ -53,6 +53,7 @@ const float RIGIDBODY_DENSITY = 2000.0f; +std::set<int> ExistingFamilyIds; BlastFamily::BlastFamily(PhysXController& physXController, ExtPxManager& pxManager, const BlastAsset& blastAsset) : m_physXController(physXController) , m_pxManager(pxManager) @@ -64,6 +65,16 @@ BlastFamily::BlastFamily(PhysXController& physXController, ExtPxManager& pxManag { m_settings.stressSolverEnabled = false; m_settings.stressDamageEnabled = false; + + for (int id = 0; ; id++) + { + if (ExistingFamilyIds.find(id) == ExistingFamilyIds.end()) + { + ExistingFamilyIds.emplace(id); + mUniqueId = id; + break; + } + } } BlastFamily::~BlastFamily() @@ -76,6 +87,8 @@ BlastFamily::~BlastFamily() m_pxFamily->unsubscribe(m_listener); m_pxFamily->release(); + + ExistingFamilyIds.erase(mUniqueId); } void BlastFamily::initialize(const BlastAsset::ActorDesc& desc) @@ -572,6 +585,7 @@ private: bool BlastFamily::overlap(const PxGeometry& geometry, const PxTransform& pose, std::function<void(ExtPxActor*)> hitCall) { // Add By Lixu Begin + /* const ExtPxAsset* pExtPxAsset = m_blastAsset.getPxAsset(); const TkAsset& tkAsset = pExtPxAsset->getTkAsset(); uint32_t bondCount = tkAsset.getBondCount(); @@ -579,6 +593,7 @@ bool BlastFamily::overlap(const PxGeometry& geometry, const PxTransform& pose, s { return false; } + */ // Add By Lixu End std::set<ExtPxActor*> actorsToDamage; diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.h index 356e0c5..9978f20 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamily.h @@ -180,6 +180,7 @@ public: //////// dtor //////// virtual ~BlastFamily(); + int mUniqueId; protected: diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamilyModelSimple.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamilyModelSimple.cpp index 7d2cbe4..4ca8b87 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamilyModelSimple.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/blast/BlastFamilyModelSimple.cpp @@ -157,8 +157,10 @@ void scaleModel(BlastModel& model, PxMat44& scale) class SimpleRenderMesh : public IRenderMesh { public: - SimpleRenderMesh(const SimpleMesh* mesh) : m_mesh(mesh) + SimpleRenderMesh(const SimpleMesh* mesh, int renderableId) : m_mesh(mesh) { + mUniqueId = renderableId; + m_device = GetDeviceManager()->GetDevice(); m_inputDesc.push_back({ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }); @@ -242,7 +244,7 @@ public: { context.IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); - UINT strides[2] = { sizeof(SimpleMesh::Vertex), sizeof(uint32_t) }; + UINT strides[2] = { sizeof(SimpleMesh::Vertex), sizeof(float) }; UINT offsets[2] = { 0 }; ID3D11Buffer* buffers[2] = { m_vertexBuffer, m_healthBuffer }; context.IASetVertexBuffers(0, 2, buffers, strides, offsets); @@ -371,9 +373,12 @@ BlastFamilyModelSimple::BlastFamilyModelSimple(PhysXController& physXController, // Add By Lixu End renderMeshes.resize(meshes.size()); renderables.resize(meshes.size()); + + int renderableId = Renderable::getRenderableId(mUniqueId, chunkIndex); + for (uint32_t i = 0; i < meshes.size(); i++) { - renderMeshes[i] = new SimpleRenderMesh(&meshes[i].mesh); + renderMeshes[i] = new SimpleRenderMesh(&meshes[i].mesh, renderableId); uint32_t materialIndex = model.chunks[chunkIndex].meshes[i].materialIndex; @@ -788,7 +793,7 @@ void BlastFamilyModelSimple::setChunkSelected(uint32_t chunk, bool selected) std::vector<Renderable*>& renderables = m_chunks[chunk].renderables; for (Renderable* r : renderables) { - r->setSelected(select); + r->setSelected(selected); if (!selectionDepthTest && selected) { diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.cpp index 88af3a1..f26fdb3 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.cpp @@ -2686,6 +2686,11 @@ void SampleManager::UpdateCamera() m_renderer->UpdateCamera(); } +void SampleManager::ResetUpDir(bool zup) +{ + m_physXController->ResetUpDir(zup); +} + void SampleManager::_addAssetToProjectParam(BlastAsset* pBlastAsset) { BlastAssetModel* assetModel = dynamic_cast<BlastAssetModel*>(pBlastAsset); diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.h index c16fa25..8daceb4 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/core/SampleManager.h @@ -292,6 +292,7 @@ class SampleManager void refreshAsset(BlastAsset* pBlastAsset); void UpdateCamera(); + void ResetUpDir(bool zup); bool IsSimulating() { return m_simulating; } void EnableSimulating(bool bSimulating); diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.cpp index 1cf9e26..ba21a2e 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.cpp @@ -60,6 +60,7 @@ // Add By Lixu Begin #include "PxRigidActorExt.h" #include "SimpleScene.h" +#include "GlobalSettings.h" // Add By Lixu End #include <imgui.h> @@ -73,7 +74,6 @@ const DirectX::XMFLOAT4 PLANE_COLOR(1.0f, 1.0f, 1.0f, 1.0f); const DirectX::XMFLOAT4 HOOK_LINE_COLOR(1.0f, 1.0f, 1.0f, 1.0f); const float DEFAULT_FIXED_TIMESTEP = 1.0f / 60.0f; -static Nv::Blast::ExtCustomProfiler gBlastProfiler; PhysXController::PhysXController(PxSimulationFilterShader filterShader) : m_filterShader(filterShader) @@ -126,6 +126,7 @@ void PhysXController::initPhysX() m_pvd = PxCreatePvd(*m_foundation); + static Nv::Blast::ExtCustomProfiler gBlastProfiler; NvBlastProfilerSetCallback(&gBlastProfiler); NvBlastProfilerSetDetail(Nv::Blast::ProfilerDetail::LOW); gBlastProfiler.setPlatformEnabled(false); @@ -451,8 +452,8 @@ LRESULT PhysXController::MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPa if (m_draggingEnabled && (uMsg == WM_LBUTTONDOWN || uMsg == WM_MOUSEMOVE || uMsg == WM_LBUTTONUP)) { - float mouseX = (short)LOWORD(lParam) / getRenderer().getScreenWidth(); - float mouseY = (short)HIWORD(lParam) / getRenderer().getScreenHeight(); + float mouseX = (short)LOWORD(lParam); + float mouseY = (short)HIWORD(lParam); PxVec3 eyePos, pickDir; getEyePoseAndPickDir(mouseX, mouseY, eyePos, pickDir); @@ -590,7 +591,8 @@ void PhysXController::drawUI() /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Add By Lixu Begin -PhysXController::Actor* planeActor_Pri = nullptr; +// 0 means GROUND_YUP 1 means GROUND_ZUP +PhysXController::Actor* planeActor_Pri[2] = { nullptr, nullptr }; // Add By Lixu End void PhysXController::initPhysXPrimitives() @@ -609,8 +611,12 @@ void PhysXController::initPhysXPrimitives() plane->setColor(PLANE_COLOR); // Add By Lixu Begin - planeActor_Pri = plane; - planeActor_Pri->setHidden(true); + planeActor_Pri[0] = plane; + planeActor_Pri[0]->setHidden(true); + plane = spawnPhysXPrimitivePlane(PxPlane(PxVec3(0, 0, 1).getNormalized(), 0)); + plane->setColor(PLANE_COLOR); + planeActor_Pri[1] = plane; + planeActor_Pri[1]->setHidden(true); // Add By Lixu End } @@ -657,7 +663,7 @@ PhysXController::Actor* PhysXController::spawnPhysXPrimitiveBox(const PxTransfor PhysXController::Actor* PhysXController::spawnPhysXPrimitivePlane(const PxPlane& plane) { PxRigidStatic* actor = PxCreatePlane(*m_physics, plane, *m_defaultMaterial); - PhysXController::Actor* p = spawnPhysXPrimitive(actor, true, true); + PhysXController::Actor* p = spawnPhysXPrimitive(actor, false, true); return p; } @@ -852,8 +858,8 @@ PxVec3 PhysXController::getMeshScaleForShape(const PxShape* shape) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Utils /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -PxVec3 unproject(PxMat44& proj, PxMat44& view, float x, float y) +// work right +PxVec3 unprojectRH(PxMat44& proj, PxMat44& view, float x, float y) { PxVec4 screenPoint(x, y, 0, 1); PxVec4 viewPoint = PxVec4(x / proj[0][0], y / proj[1][1], 1, 1); @@ -863,9 +869,55 @@ PxVec3 unproject(PxMat44& proj, PxMat44& view, float x, float y) return PxVec3(nearPoint.x, nearPoint.y, nearPoint.z); } +// work wrong +PxVec3 unprojectRH2(PxMat44& proj, PxMat44& view, float x, float y) +{ + PxMat44 matProj = view * proj; + PxMat44 matInverse = matProj.inverseRT(); + + PxVec4 screenPoint(x, y, 0, 0); + PxVec4 pos = matInverse.transform(screenPoint); + return PxVec3(pos.x, pos.y, pos.z); +} + +// work right +PxVec3 unprojectLH(PxMat44& proj, PxMat44& view, float x, float y) +{ + DirectX::XMMATRIX proj1 = PxMat44ToXMMATRIX(proj); + DirectX::XMMATRIX view1 = PxMat44ToXMMATRIX(view); + DirectX::XMMATRIX invProjectionView = DirectX::XMMatrixInverse(&DirectX::XMMatrixDeterminant(view1 * proj1), (view1 * proj1)); + + DirectX::XMVECTOR mousePosition = DirectX::XMVectorSet(x, y, 0.0f, 0.0f); + DirectX::XMVECTOR mouseInWorldSpace = DirectX::XMVector3Transform(mousePosition, invProjectionView); + return PxVec3(DirectX::XMVectorGetX(mouseInWorldSpace), DirectX::XMVectorGetY(mouseInWorldSpace), DirectX::XMVectorGetZ(mouseInWorldSpace)); +} + +// work right +PxVec3 unprojectLH(DirectX::XMMATRIX& proj, DirectX::XMMATRIX& view, float x, float y) +{ + //DirectX::XMMATRIX invProjectionView = DirectX::XMMatrixInverse(&DirectX::XMMatrixDeterminant(view * proj), (view * proj)); + + //DirectX::XMVECTOR mousePosition = DirectX::XMVectorSet(x, y, 0.0f, 0.0f); + //DirectX::XMVECTOR mouseInWorldSpace = DirectX::XMVector3Transform(mousePosition, invProjectionView); + //return PxVec3(DirectX::XMVectorGetX(mouseInWorldSpace), DirectX::XMVectorGetY(mouseInWorldSpace), DirectX::XMVectorGetZ(mouseInWorldSpace)); + + + DirectX::XMMATRIX inView = DirectX::XMMatrixInverse(&DirectX::XMMatrixDeterminant(view), view); + + DirectX::XMVECTOR screenPoint = DirectX::XMVectorSet(x, y, 0, 1); + DirectX::XMVECTOR viewPoint = DirectX::XMVectorSet(x / DirectX::XMVectorGetX(proj.r[0]), y / DirectX::XMVectorGetY(proj.r[1]), 1, 1); + DirectX::XMVECTOR nearPoint = DirectX::XMVector3Transform(viewPoint, inView); + PxVec3 nearPnt = PxVec3(DirectX::XMVectorGetX(nearPoint), DirectX::XMVectorGetY(nearPoint), DirectX::XMVectorGetZ(nearPoint)); + if (DirectX::XMVectorGetW(nearPoint)) + nearPnt *= 1.0f / DirectX::XMVectorGetW(nearPoint); + return nearPnt; +} + +#include "SimpleScene.h" void PhysXController::getEyePoseAndPickDir(float mouseX, float mouseY, PxVec3& eyePos, PxVec3& pickDir) { +#if(0) // Add By Lixu Begin PxMat44 view, proj; SimpleScene* simpleScene = SimpleScene::Inst(); @@ -886,10 +938,46 @@ void PhysXController::getEyePoseAndPickDir(float mouseX, float mouseY, PxVec3& e PxMat44 eyeTransform = view.inverseRT(); eyePos = eyeTransform.getPosition(); - PxVec3 nearPos = unproject(proj, view, mouseX * 2 - 1, 1 - mouseY * 2); + PxVec3 nearPos = unprojectRH(proj, view, mouseX * 2 - 1, 1 - mouseY * 2); pickDir = nearPos - eyePos; -} +#endif + +#if(0) + if (SimpleScene::Inst()->m_pCamera->UseLHS()) + { + DirectX::XMMATRIX view = SimpleScene::Inst()->GetViewMatrix(); + DirectX::XMMATRIX proj = SimpleScene::Inst()->GetProjMatrix(); + + DirectX::XMMATRIX eyeTransform = DirectX::XMMatrixInverse(&DirectX::XMMatrixDeterminant(view), view); + eyePos = PxVec3(DirectX::XMVectorGetX(eyeTransform.r[3]), DirectX::XMVectorGetY(eyeTransform.r[3]), DirectX::XMVectorGetZ(eyeTransform.r[3])); + + PxVec3 nearPos = unprojectLH(proj, view, mouseX * 2 - 1, 1 - mouseY * 2); + + pickDir = nearPos - eyePos; + } + else + { + PxMat44 view = XMMATRIXToPxMat44(getRenderer().getCamera().GetViewMatrix()); + PxMat44 proj = XMMATRIXToPxMat44(getRenderer().getCamera().GetProjMatrix()); + + PxMat44 eyeTransform = view.inverseRT(); + eyePos = eyeTransform.getPosition(); + + PxVec3 nearPos = unprojectRH(proj, view, mouseX * 2 - 1, 1 - mouseY * 2); + + pickDir = nearPos - eyePos; + } +#endif + atcore_float3 eye = SimpleScene::Inst()->m_pCamera->GetEye(); + eyePos = PxVec3(eye.x, eye.y, eye.z); + + float x = 0, y = 0, z = 0; + SimpleScene::Inst()->m_pCamera->getWorldCoord(mouseX, mouseY, x, y, z); + + PxVec3 nearPos(x, y, z); + pickDir = nearPos - eyePos; +} /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -981,12 +1069,28 @@ void PhysXController::ClearOldCOllisions() bool PhysXController::isPlaneVisible() { - return !planeActor_Pri->isHidden(); + if (GlobalSettings::Inst().m_zup) + { + return !planeActor_Pri[1]->isHidden(); + } + else + { + return !planeActor_Pri[0]->isHidden(); + } } void PhysXController::setPlaneVisible(bool bVisible) { - planeActor_Pri->setHidden(!bVisible); + if (GlobalSettings::Inst().m_zup) + { + planeActor_Pri[0]->setHidden(true); + planeActor_Pri[1]->setHidden(!bVisible); + } + else + { + planeActor_Pri[0]->setHidden(!bVisible); + planeActor_Pri[1]->setHidden(true); + } } PxRigidDynamic* PhysXController::createEditPhysXActor(const std::vector<BlastModel::Chunk::Mesh>& meshes, const PxTransform& pos) @@ -1051,4 +1155,38 @@ PxRigidDynamic* PhysXController::createEditPhysXActor(const std::vector<BlastMod m_editPhysicsScene->addActor(*actor); return actor; } + +void PhysXController::setPaused(bool paused) +{ + m_paused = paused; + if (m_paused) + { + return; + } + + if (GlobalSettings::Inst().m_zup) + { + m_physicsScene->removeActor(*planeActor_Pri[0]->getActor()); + m_physicsScene->addActor(*planeActor_Pri[1]->getActor()); + } + else + { + m_physicsScene->removeActor(*planeActor_Pri[1]->getActor()); + m_physicsScene->addActor(*planeActor_Pri[0]->getActor()); + } +} + +void PhysXController::ResetUpDir(bool zup) +{ + setPaused(m_paused); + setPlaneVisible(isPlaneVisible()); + if (zup) + { + m_physicsScene->setGravity(PxVec3(0.0f, 0.0f, -9.81f)); + } + else + { + m_physicsScene->setGravity(PxVec3(0.0f, -9.81f, 0.0f)); + } +} // Add By Lixu End diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.h index fc59203..9394adb 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/physx/PhysXController.h @@ -148,10 +148,8 @@ class PhysXController : public ISampleController return m_paused; } - void setPaused(bool paused) - { - m_paused = paused; - } + void setPaused(bool paused); + void ResetUpDir(bool zup); void setDraggingEnabled(bool enabled); bool getDraggingEnabled() const { return m_draggingEnabled; } diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.cpp index d51101f..b72c3b0 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.cpp @@ -50,6 +50,33 @@ void Renderable::setMaterial(RenderMaterial& material) void Renderable::render(Renderer& renderer, bool depthStencilOnly) const { + if (renderer.bFetchSelection) + { + RenderMaterial::InstancePtr materialInstance = renderer.getSelectionRenderMaterialInstance(); + if (!materialInstance->isValid()) + { + PX_ALWAYS_ASSERT(); + return; + } + + materialInstance->bind(*renderer.m_context, 0); + + // setup object CB + { + D3D11_MAPPED_SUBRESOURCE mappedResource; + renderer.m_context->Map(renderer.m_objectCB, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); + Renderer::CBObject* objectBuffer = (Renderer::CBObject*)mappedResource.pData; + objectBuffer->worldMatrix = PxMat44ToXMMATRIX(getModelMatrix()); + // use selected to store mUniqueId + objectBuffer->selected = m_mesh.mUniqueId; + renderer.m_context->Unmap(renderer.m_objectCB, 0); + } + + m_mesh.render(*renderer.m_context); + + return; + } + if (!m_materialInstance->isValid()) { PX_ALWAYS_ASSERT(); diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.h index 2d2e37b..129b8f2 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderable.h @@ -50,6 +50,7 @@ public: virtual void render(ID3D11DeviceContext& context) const = 0; // Add By Lixu Begin virtual void setScale(PxMat44 scale, bool replace) {}; + int mUniqueId; // Add By Lixu End }; @@ -62,6 +63,18 @@ class Renderable public: //////// public API //////// + // suppose chunk count is less than 10000 + static int getRenderableId(int familyId, int chunkId) + { + int renderableId = familyId * 10000 + chunkId; + return renderableId; + } + static void getFamilyChunkId(int renderableId, int& familyId, int& chunkId) + { + familyId = renderableId / 10000; + chunkId = renderableId % 10000; + } + void setMaterial(RenderMaterial& material); PxMat44 getModelMatrix() const diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.cpp index 00b3256..05941df 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.cpp @@ -38,6 +38,7 @@ #include "GlobalSettings.h" #include "Light.h" #include "AppMainWindow.h" +#include "PxVec2.h" const float CAMERA_CLIP_NEAR = 1.0f; @@ -45,10 +46,17 @@ const float CAMERA_CLIP_FAR = 1000.00f; const float CLEAR_SCENE_COLOR[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; +const int RenderTarget_Size = 512; +const float SelectionTexture_InitData = -1; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Renderer /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +Renderer* g_Renderer = nullptr; +Renderer* Renderer::Inst() +{ + return g_Renderer; +} Renderer::Renderer() @@ -61,11 +69,20 @@ Renderer::Renderer() , m_DSTexture(nullptr) , m_DSView(nullptr) , m_DSTextureSRV(nullptr) +, m_selectionRenderTargetTexture(nullptr) +, m_selectionRenderTargetView(nullptr) +, m_selectionRenderTargetSRV(nullptr) +, m_selectionDepthStencilTexture(nullptr) +, m_selectionDepthStencilView(nullptr) +, m_selectionDepthStencilSRV(nullptr) +, m_selectionTextureForCPU(nullptr) , m_pointSampler(nullptr) , m_linearSampler(nullptr) , m_wireframeMode(false) , m_debugPrimitiveVB(nullptr) , m_debugPrimitiveVBVerticesCount(0) +, m_screenPrimitiveVB(nullptr) +, m_screenPrimitiveVBVerticesCount(0) , m_shadowEnabled(true) , m_HBAOEnabled(true) , m_visibleOpaqueRenderablesCount(0) @@ -83,6 +100,9 @@ Renderer::Renderer() m_RSState[1] = nullptr; toggleCameraSpeed(false); + + g_Renderer = this; + bFetchSelection = false; } Renderer::~Renderer() @@ -252,9 +272,17 @@ void Renderer::DeviceDestroyed() SAFE_RELEASE(m_pointSampler); SAFE_RELEASE(m_linearSampler); SAFE_RELEASE(m_debugPrimitiveVB); + SAFE_RELEASE(m_screenPrimitiveVB); SAFE_RELEASE(m_DSTexture); SAFE_RELEASE(m_DSView); SAFE_RELEASE(m_DSTextureSRV); + SAFE_RELEASE(m_selectionRenderTargetTexture); + SAFE_RELEASE(m_selectionRenderTargetView); + SAFE_RELEASE(m_selectionRenderTargetSRV); + SAFE_RELEASE(m_selectionDepthStencilTexture); + SAFE_RELEASE(m_selectionDepthStencilView); + SAFE_RELEASE(m_selectionDepthStencilSRV); + SAFE_RELEASE(m_selectionTextureForCPU); for (uint32_t i = 0; i < PrimitiveRenderMeshType::Count; i++) { @@ -281,11 +309,40 @@ void Renderer::onInitialize() m_debugPrimitiveRenderMaterialInstance = m_debugPrimitiveRenderMaterial->getMaterialInstance(layout, ARRAYSIZE(layout)); } + + // screen primitive render material and input layout + { + m_screenPrimitiveRenderMaterial = new RenderMaterial("", m_resourceManager, "screen_primitive_ex", ""); + + D3D11_INPUT_ELEMENT_DESC layout[] = { + { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 } + }; + + m_screenPrimitiveRenderMaterialInstance = m_screenPrimitiveRenderMaterial->getMaterialInstance(layout, ARRAYSIZE(layout)); + } + + // selection render material and input layout + { + m_selectionRenderMaterial = new RenderMaterial("idm", m_resourceManager, "model_simple_id_ex", ""); + + D3D11_INPUT_ELEMENT_DESC layout[] = { + { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "VERTEX_NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "FACE_NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 24, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "TANGENT", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 36, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 48, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "TEXCOORD", 1, DXGI_FORMAT_R32_FLOAT, 1, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 } + }; + + m_selectionRenderMaterialInstance = m_selectionRenderMaterial->getMaterialInstance(layout, ARRAYSIZE(layout)); + } } void Renderer::onTerminate() { SAFE_DELETE(m_debugPrimitiveRenderMaterial); + SAFE_DELETE(m_screenPrimitiveRenderMaterial); } void Renderer::BackBufferResized(ID3D11Device* /*device*/, const DXGI_SURFACE_DESC* sd) @@ -300,6 +357,109 @@ void Renderer::BackBufferResized(ID3D11Device* /*device*/, const DXGI_SURFACE_DE SAFE_RELEASE(m_DSTexture); SAFE_RELEASE(m_DSView); SAFE_RELEASE(m_DSTextureSRV); + SAFE_RELEASE(m_selectionRenderTargetTexture); + SAFE_RELEASE(m_selectionRenderTargetView); + SAFE_RELEASE(m_selectionRenderTargetSRV); + SAFE_RELEASE(m_selectionDepthStencilTexture); + SAFE_RELEASE(m_selectionDepthStencilView); + SAFE_RELEASE(m_selectionDepthStencilSRV); + SAFE_RELEASE(m_selectionTextureForCPU); + + // create m_selectionRenderTargetTexture + { + D3D11_TEXTURE2D_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.Width = RenderTarget_Size; + desc.Height = RenderTarget_Size; + desc.MipLevels = 1; + desc.ArraySize = 1; + desc.Format = DXGI_FORMAT_R32_FLOAT; // Use a typeless type here so that it can be both depth-stencil and shader resource. + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.BindFlags = D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE; + desc.CPUAccessFlags = 0; + desc.MiscFlags = 0; + V(m_device->CreateTexture2D(&desc, NULL, &m_selectionRenderTargetTexture)); + } + + // create m_selectionRenderTargetView + { + D3D11_RENDER_TARGET_VIEW_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; + desc.Format = DXGI_FORMAT_R32_FLOAT; // Make the view see this as D32_FLOAT instead of typeless + desc.Texture2D.MipSlice = 0; + V(m_device->CreateRenderTargetView(m_selectionRenderTargetTexture, &desc, &m_selectionRenderTargetView)); + } + + // create m_selectionRenderTargetSRV + { + D3D11_SHADER_RESOURCE_VIEW_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.Format = DXGI_FORMAT_R32_FLOAT; // Make the shaders see this as R32_FLOAT instead of typeless + desc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + desc.Texture2D.MipLevels = 1; + desc.Texture2D.MostDetailedMip = 0; + V(m_device->CreateShaderResourceView(m_selectionRenderTargetTexture, &desc, &m_selectionRenderTargetSRV)); + } + + // create m_selectionDepthStencilTexture + { + D3D11_TEXTURE2D_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.Width = RenderTarget_Size; + desc.Height = RenderTarget_Size; + desc.MipLevels = 1; + desc.ArraySize = 1; + desc.Format = DXGI_FORMAT_R32_TYPELESS; // Use a typeless type here so that it can be both depth-stencil and shader resource. + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.BindFlags = D3D11_BIND_DEPTH_STENCIL | D3D11_BIND_SHADER_RESOURCE; + desc.CPUAccessFlags = 0; + desc.MiscFlags = 0; + V(m_device->CreateTexture2D(&desc, NULL, &m_selectionDepthStencilTexture)); + } + + // create m_selectionDepthStencilView + { + D3D11_DEPTH_STENCIL_VIEW_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D; + desc.Format = DXGI_FORMAT_D32_FLOAT; // Make the view see this as D32_FLOAT instead of typeless + desc.Texture2D.MipSlice = 0; + V(m_device->CreateDepthStencilView(m_selectionDepthStencilTexture, &desc, &m_selectionDepthStencilView)); + } + + // create m_selectionDepthStencilSRV + { + D3D11_SHADER_RESOURCE_VIEW_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.Format = DXGI_FORMAT_R32_FLOAT; // Make the shaders see this as R32_FLOAT instead of typeless + desc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + desc.Texture2D.MipLevels = 1; + desc.Texture2D.MostDetailedMip = 0; + V(m_device->CreateShaderResourceView(m_selectionDepthStencilTexture, &desc, &m_selectionDepthStencilSRV)); + } + + // create m_selectionTextureForCPU + { + D3D11_TEXTURE2D_DESC desc; + ZeroMemory(&desc, sizeof(desc)); + desc.Width = RenderTarget_Size; + desc.Height = RenderTarget_Size; + desc.MipLevels = 1; + desc.ArraySize = 1; + desc.Format = DXGI_FORMAT_R32_FLOAT; // Use a typeless type here so that it can be both depth-stencil and shader resource. + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = D3D11_USAGE_STAGING; + desc.BindFlags = 0; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.MiscFlags = 0; + V(m_device->CreateTexture2D(&desc, NULL, &m_selectionTextureForCPU)); + } // create a new Depth-Stencil texture { @@ -528,7 +688,10 @@ void Renderer::Render(ID3D11Device* /*device*/, ID3D11DeviceContext* ctx, ID3D11 // draw overline if (globalSettings.m_showWireframe) { - ctx->RSSetState(m_RSState[1]); + if (globalSettings.m_renderStyle != MESH_RENDER_WIREFRAME) + { + ctx->RSSetState(m_RSState[1]); + } // update wireFrameOver { @@ -585,6 +748,11 @@ void Renderer::Render(ID3D11Device* /*device*/, ID3D11DeviceContext* ctx, ID3D11 render(m_queuedRenderBuffers.back()); m_queuedRenderBuffers.pop_back(); } + while (m_screenRenderBuffers.size() > 0) + { + render(m_screenRenderBuffers.back(), true); + m_screenRenderBuffers.pop_back(); + } // Transparency render ctx->OMSetRenderTargets(1, &pRTV, m_DSView); @@ -670,7 +838,7 @@ void Renderer::renderDepthOnly(DirectX::XMMATRIX* viewProjectionSubstitute) } } -void Renderer::render(const PxRenderBuffer* renderBuffer) +void Renderer::render(const PxRenderBuffer* renderBuffer, bool bScreen) { // points uint32_t pointsCount = renderBuffer->getNbPoints(); @@ -702,7 +870,7 @@ void Renderer::render(const PxRenderBuffer* renderBuffer) verts[i * 2 + 1].mColor = lines[i].color1; } - renderDebugPrimitive(verts, linesCount * 2, D3D11_PRIMITIVE_TOPOLOGY_LINELIST); + renderDebugPrimitive(verts, linesCount * 2, D3D11_PRIMITIVE_TOPOLOGY_LINELIST, bScreen); delete[] verts; } @@ -730,11 +898,18 @@ void Renderer::render(const PxRenderBuffer* renderBuffer) // .... } -void Renderer::renderDebugPrimitive(const Renderer::RenderDebugVertex *vertices, uint32_t verticesCount, D3D11_PRIMITIVE_TOPOLOGY topology) +void Renderer::renderDebugPrimitive(const Renderer::RenderDebugVertex *vertices, uint32_t verticesCount, D3D11_PRIMITIVE_TOPOLOGY topology, bool bScreen) { m_context->IASetPrimitiveTopology(topology); - m_debugPrimitiveRenderMaterialInstance->bind(*m_context, 0); + if (bScreen) + { + m_screenPrimitiveRenderMaterialInstance->bind(*m_context, 0); + } + else + { + m_debugPrimitiveRenderMaterialInstance->bind(*m_context, 0); + } D3D11_MAPPED_SUBRESOURCE mappedResource; m_context->Map(m_objectCB, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); @@ -882,4 +1057,189 @@ void Renderer::UpdateCamera() DirectX::XMVECTORF32 lookAtPt = { pCamera->_at.x, pCamera->_at.y, pCamera->_at.z, 0 }; m_camera.SetViewParams(eyePt, lookAtPt); m_camera.SetProjParams(pCamera->_fov, pCamera->_aspectRatio, pCamera->_znear, pCamera->_zfar); +} + +bool _pointInPolygon(std::vector<PxVec2>& screenPoints, PxVec2& test) +{ + int polySides = screenPoints.size(); + int i, j = polySides - 1; + bool oddNodes = false; + for (i = 0; i < polySides; i++) + { + if ((screenPoints[i].y < test.y && screenPoints[j].y >= test.y + || screenPoints[j].y <test.y && screenPoints[i].y >= test.y) + && (screenPoints[i].x <= test.x || screenPoints[j].x <= test.x)) + { + float temp = (test.y - screenPoints[i].y) / + (screenPoints[j].y - screenPoints[i].y) * + (screenPoints[j].x - screenPoints[i].x); + oddNodes ^= (screenPoints[i].x + temp < test.x); + } + j = i; + } + return oddNodes; +} + +void Renderer::fetchSelection(std::vector<PxVec2>& screenPoints, std::map<int, std::set<int>>& selection) +{ + PROFILER_SCOPED_FUNCTION(); + + selection.clear(); + + int pointSize = screenPoints.size(); + if (pointSize == 0) + { + return; + } + + GlobalSettings& globalSettings = GlobalSettings::Inst(); + if (!globalSettings.m_showGraphicsMesh) + return; + + ID3D11DeviceContext* ctx = m_context; + + // needed matrices + DirectX::XMMATRIX viewMatrix = SimpleScene::Inst()->GetViewMatrix(); + DirectX::XMMATRIX projMatrix = SimpleScene::Inst()->GetProjMatrix(); + DirectX::XMMATRIX projMatrixInv = DirectX::XMMatrixInverse(NULL, projMatrix); + DirectX::XMMATRIX viewProjMatrix = viewMatrix * projMatrix; + + // Fill Camera constant buffer + { + D3D11_MAPPED_SUBRESOURCE mappedResource; + ctx->Map(m_cameraCB, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); + CBCamera* cameraBuffer = (CBCamera*)mappedResource.pData; + cameraBuffer->viewProjection = viewProjMatrix; + ctx->Unmap(m_cameraCB, 0); + } + + int width = RenderTarget_Size; + int height = RenderTarget_Size; + float init_data = SelectionTexture_InitData; + int dataSize = width * height; + if (m_selectionTextureData.size() != dataSize) + { + m_selectionTextureData.resize(dataSize); + } + std::fill(m_selectionTextureData.begin(), m_selectionTextureData.end(), init_data); + + ctx->OMSetRenderTargets(1, &m_selectionRenderTargetView, m_selectionDepthStencilView); + float ClearColor[4] = { init_data, init_data, init_data, init_data }; + ctx->ClearRenderTargetView(m_selectionRenderTargetView, ClearColor); + ctx->ClearDepthStencilView(m_selectionDepthStencilView, D3D11_CLEAR_DEPTH, 1.0, 0); + D3D11_VIEWPORT vp = { 0.0f, 0.0f, (float)width, (float)height, 0.0f, 1.0f }; + ctx->RSSetViewports(1, &vp); + ctx->RSSetState(m_RSState[0]); + ctx->OMSetDepthStencilState(m_opaqueRenderDSState, 0xFF); + + // set constants buffers + setAllConstantBuffers(ctx); + + bFetchSelection = true; + + // Render renderables + for (auto it = m_renderables.begin(); it != m_renderables.end(); it++) + { + if (!(*it)->isHidden()) + { + (*it)->render(*this); + } + } + + bFetchSelection = false; + + { + ctx->CopyResource(m_selectionTextureForCPU, m_selectionRenderTargetTexture); + D3D11_MAPPED_SUBRESOURCE mapResource; + HRESULT hr = ctx->Map(m_selectionTextureForCPU, 0, D3D11_MAP_READ, NULL, &mapResource); + memcpy(m_selectionTextureData.data(), mapResource.pData, dataSize * sizeof(float)); + ctx->Unmap(m_selectionTextureForCPU, 0); + } + + std::set<int> vids; + if (pointSize == 1) + { + // point selection + int centerX = screenPoints[0].x * width; + int centerY = screenPoints[0].y * height; + + int ds = centerY * width + centerX; + int vid = m_selectionTextureData[ds]; + vids.emplace(vid); + } + else if (pointSize == 2) + { + // rect selection + PxVec2 lefttop = screenPoints[0]; + PxVec2 rightbottom = screenPoints[1]; + int startX = lefttop.x * width; + int startY = lefttop.y * height; + int endX = rightbottom.x * width; + int endY = rightbottom.y * height; + for (int h = startY; h <= endY; h++) + { + for (int w = startX; w <= endX; w++) + { + int ds = h * width + w; + int vid = m_selectionTextureData[ds]; + vids.emplace(vid); + } + } + } + else + { + // draw selection + PxVec2 pMin, pMax; + pMin = pMax = screenPoints[0]; + for (int ps = 1; ps < pointSize; ps++) + { + PxVec2& p = screenPoints[ps]; + if (p.x < pMin.x) + { + pMin.x = p.x; + } + if (p.y < pMin.y) + { + pMin.y = p.y; + } + if (p.x > pMax.x) + { + pMax.x = p.x; + } + if (p.y > pMax.y) + { + pMax.y = p.y; + } + } + int startX = pMin.x * width; + int startY = pMin.y * height; + int endX = pMax.x * width; + int endY = pMax.y * height; + for (int h = startY; h <= endY; h++) + { + for (int w = startX; w <= endX; w++) + { + PxVec2 test(1.0 * w / width, 1.0 * h / height); + bool valid = _pointInPolygon(screenPoints, test); + if (valid) + { + int ds = h * width + w; + int vid = m_selectionTextureData[ds]; + vids.emplace(vid); + } + } + } + } + + int familyId, chunkId; + for (int vid : vids) + { + if (vid < 0) + { + continue; + } + + Renderable::getFamilyChunkId(vid, familyId, chunkId); + selection[familyId].emplace(chunkId); + } }
\ No newline at end of file diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.h index 2142921..eeaf98c 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/renderer/Renderer.h @@ -70,7 +70,9 @@ class Renderer : public ISampleController Renderer(); ~Renderer(); - + static Renderer* Inst(); + bool bFetchSelection; + void fetchSelection(std::vector<PxVec2>& screenPoints, std::map<int, std::set<int>>& selection); //////// public API //////// void reloadShaders(); @@ -109,13 +111,21 @@ class Renderer : public ISampleController return m_screenHeight; } - void queueRenderBuffer(const PxRenderBuffer* buffer) + void queueRenderBuffer(const PxRenderBuffer* buffer, bool bScreen = false) { - m_queuedRenderBuffers.push_back(buffer); + if (bScreen) + { + m_screenRenderBuffers.push_back(buffer); + } + else + { + m_queuedRenderBuffers.push_back(buffer); + } } void clearQueue() { + m_screenRenderBuffers.clear(); m_queuedRenderBuffers.clear(); } @@ -139,6 +149,10 @@ class Renderer : public ISampleController return m_camera; } + RenderMaterial::InstancePtr getSelectionRenderMaterialInstance() + { + return m_selectionRenderMaterialInstance; + } //////// public 'internal' methods //////// @@ -169,9 +183,9 @@ class Renderer : public ISampleController uint32_t mColor; }; - void render(const PxRenderBuffer* renderBuffer); + void render(const PxRenderBuffer* renderBuffer, bool bScreen = false); void render(Renderable* renderable); - void renderDebugPrimitive(const RenderDebugVertex *vertices, uint32_t verticesCount, D3D11_PRIMITIVE_TOPOLOGY topology); + void renderDebugPrimitive(const RenderDebugVertex *vertices, uint32_t verticesCount, D3D11_PRIMITIVE_TOPOLOGY topology, bool bScreen = false); void initializeDefaultRSState(); void setAllConstantBuffers(ID3D11DeviceContext* ctx); void toggleCameraSpeed(bool overspeed); @@ -278,6 +292,25 @@ class Renderer : public ISampleController ID3D11Buffer* m_debugPrimitiveVB; uint32_t m_debugPrimitiveVBVerticesCount; std::vector<const PxRenderBuffer*> m_queuedRenderBuffers; + + // Screen Render + RenderMaterial* m_screenPrimitiveRenderMaterial; + RenderMaterial::InstancePtr m_screenPrimitiveRenderMaterialInstance; + ID3D11Buffer* m_screenPrimitiveVB; + uint32_t m_screenPrimitiveVBVerticesCount; + std::vector<const PxRenderBuffer*> m_screenRenderBuffers; + + // Selection Render Resource + RenderMaterial* m_selectionRenderMaterial; + RenderMaterial::InstancePtr m_selectionRenderMaterialInstance; + ID3D11Texture2D* m_selectionRenderTargetTexture; + ID3D11RenderTargetView* m_selectionRenderTargetView; + ID3D11ShaderResourceView* m_selectionRenderTargetSRV; + ID3D11Texture2D* m_selectionDepthStencilTexture; + ID3D11DepthStencilView* m_selectionDepthStencilView; + ID3D11ShaderResourceView* m_selectionDepthStencilSRV; + ID3D11Texture2D* m_selectionTextureForCPU; + std::vector<float> m_selectionTextureData; }; diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/DamageToolController.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/DamageToolController.cpp index 7f426bd..ecc3cb9 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/DamageToolController.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/DamageToolController.cpp @@ -406,12 +406,8 @@ LRESULT DamageToolController::MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA if (uMsg == WM_LBUTTONDOWN || uMsg == WM_MOUSEMOVE || uMsg == WM_LBUTTONUP) { - m_lastMousePos.x = (short)LOWORD(lParam) / getRenderer().getScreenWidth(); - if (!SimpleScene::Inst()->m_pCamera->_lhs) - { - m_lastMousePos.x = 1 - m_lastMousePos.x; - } - m_lastMousePos.y = (short)HIWORD(lParam) / getRenderer().getScreenHeight(); + m_lastMousePos.x = (float)LOWORD(lParam); + m_lastMousePos.y = (float)HIWORD(lParam); } if (uMsg == WM_LBUTTONDOWN || uMsg == WM_LBUTTONUP) diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/EditionToolController.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/EditionToolController.cpp index b2533a6..a3a6dd1 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/EditionToolController.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/EditionToolController.cpp @@ -82,8 +82,8 @@ LRESULT EditionToolController::MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPAR if (uMsg == WM_LBUTTONDOWN || uMsg == WM_MOUSEMOVE || uMsg == WM_LBUTTONUP) { - float mouseX = (short)LOWORD(lParam) / getRenderer().getScreenWidth(); - float mouseY = (short)HIWORD(lParam) / getRenderer().getScreenHeight(); + float mouseX = (float)LOWORD(lParam); + float mouseY = (float)HIWORD(lParam); bool press = uMsg == WM_LBUTTONDOWN; if (uMsg == WM_LBUTTONUP) diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/GizmoToolController.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/GizmoToolController.cpp index ea91766..5942b45 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/GizmoToolController.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/GizmoToolController.cpp @@ -552,12 +552,8 @@ LRESULT GizmoToolController::MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM if (uMsg == WM_LBUTTONDOWN || uMsg == WM_MOUSEMOVE || uMsg == WM_LBUTTONUP) { - float mouseX = (short)LOWORD(lParam) / getRenderer().getScreenWidth(); - if (!SimpleScene::Inst()->m_pCamera->_lhs) - { - mouseX = 1 - mouseX; - } - float mouseY = (short)HIWORD(lParam) / getRenderer().getScreenHeight(); + float mouseX = (float)LOWORD(lParam); + float mouseY = (float)HIWORD(lParam); PxVec3 eyePos, pickDir; getPhysXController().getEyePoseAndPickDir(mouseX, mouseY, eyePos, pickDir); diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.cpp b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.cpp index 458aec3..4232fe4 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.cpp +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.cpp @@ -58,7 +58,10 @@ using namespace physx; SelectionToolController::SelectionToolController() { m_bRectSelecting = false; + m_bDrawSelecting = false; m_bSelecting = false; + m_ScreenRenderBuffer.clear(); + m_DrawSelectScreenPos.clear(); BlastSceneTree::ins()->addObserver(this); } @@ -107,9 +110,9 @@ void SelectionToolController::Animate(double dt) { PROFILER_SCOPED_FUNCTION(); - if (m_bRectSelecting) - { - getRenderer().queueRenderBuffer(&m_RectRenderBuffer); + if (m_ScreenRenderBuffer.getNbLines() > 0) + { + getRenderer().queueRenderBuffer(&m_ScreenRenderBuffer, true); } } @@ -121,106 +124,75 @@ LRESULT SelectionToolController::MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LP if (uMsg == WM_LBUTTONDOWN || uMsg == WM_RBUTTONDOWN || uMsg == WM_MOUSEMOVE || uMsg == WM_LBUTTONUP || uMsg == WM_RBUTTONUP) { float mouseX = (short)LOWORD(lParam) / getRenderer().getScreenWidth(); - if (!SimpleScene::Inst()->m_pCamera->_lhs) - { - mouseX = 1 - mouseX; - } float mouseY = (short)HIWORD(lParam) / getRenderer().getScreenHeight(); - bool press = uMsg == WM_LBUTTONDOWN; if (uMsg == WM_LBUTTONDOWN || uMsg == WM_RBUTTONDOWN) { - PxVec3 eyePos, pickDir; - getPhysXController().getEyePoseAndPickDir(mouseX, mouseY, eyePos, pickDir); - - m_RectSelectScreenPos.x = mouseX; - m_RectSelectScreenPos.y = mouseY; - m_RectSelectSpaceDir = pickDir.getNormalized(); + m_ScreenRenderBuffer.clear(); - m_RectRenderBuffer.clear(); bool isCtrl = (GetAsyncKeyState(VK_CONTROL) && 0x8000); bool isAlt = (GetAsyncKeyState(VK_MENU) && 0x8000); bool isLight = (GetAsyncKeyState('L') && 0x8000); // ctrl+leftbutton is used for light changing // alt+leftbutton is used for camera rotate movement in AppMainWindow.cpp // so, we use rect select when ctrl and alt off - m_bRectSelecting = !(isAlt || isLight);// !(isCtrl || isAlt); - if (isAlt || isLight) + bool Selecting = !(isAlt || isLight);// !(isCtrl || isAlt); + + if (uMsg == WM_LBUTTONDOWN && !m_bDrawSelecting) { - m_RectRenderBuffer.clear(); + m_RectSelectScreenPos.x = mouseX; + m_RectSelectScreenPos.y = mouseY; + + m_bRectSelecting = Selecting; } - m_bSelecting = true; + else // uMsg == WM_RBUTTONDOWN + { + m_DrawSelectScreenPos.push_back(PxVec2(mouseX, mouseY)); + + m_bDrawSelecting = Selecting; + } + + m_bSelecting = m_bRectSelecting || m_bDrawSelecting; } else if (uMsg == WM_MOUSEMOVE) { if (m_bRectSelecting) { - PxVec3 eyePos, pickDir[3]; - getPhysXController().getEyePoseAndPickDir(mouseX, mouseY, eyePos, pickDir[0]); - getPhysXController().getEyePoseAndPickDir(m_RectSelectScreenPos.x, mouseY, eyePos, pickDir[1]); - getPhysXController().getEyePoseAndPickDir(mouseX, m_RectSelectScreenPos.y, eyePos, pickDir[2]); - pickDir[0] = pickDir[0].getNormalized(); - pickDir[1] = pickDir[1].getNormalized(); - pickDir[2] = pickDir[2].getNormalized(); - - PxVec3 lefttop, leftbottom, righttop, rightbottom; - - if (mouseX > m_RectSelectScreenPos.x) // right + float left, right, top, bottom; + left = right = mouseX; + top = bottom = mouseY; + if (mouseX > m_RectSelectScreenPos.x) { - if (mouseY > m_RectSelectScreenPos.y) // top - { - leftbottom = m_RectSelectSpaceDir; - righttop = pickDir[0]; - lefttop = pickDir[2]; - rightbottom = pickDir[1]; - } - else // bottom - { - leftbottom = pickDir[1]; - righttop = pickDir[2]; - lefttop = m_RectSelectSpaceDir; - rightbottom = pickDir[0]; - } + left = m_RectSelectScreenPos.x; } - else // left + else { - if (mouseY > m_RectSelectScreenPos.y) // top - { - leftbottom = pickDir[2]; - righttop = pickDir[1]; - lefttop = pickDir[0]; - rightbottom = m_RectSelectSpaceDir; - } - else // bottom - { - leftbottom = pickDir[0]; - righttop = m_RectSelectSpaceDir; - lefttop = pickDir[2]; - rightbottom = pickDir[1]; - } + right = m_RectSelectScreenPos.x; + } + if (mouseY > m_RectSelectScreenPos.y) + { + top = m_RectSelectScreenPos.y; + } + else + { + bottom = m_RectSelectScreenPos.y; } - float multiply = 10; // in order to draw line - lefttop = eyePos + lefttop * multiply; - righttop = eyePos + righttop * multiply; - leftbottom = eyePos + leftbottom * multiply; - rightbottom = eyePos + rightbottom * multiply; - - m_RectRenderBuffer.clear(); + m_ScreenRenderBuffer.clear(); + PxVec3 left_top(left, top, 0); + PxVec3 left_bottom(left, bottom, 0); + PxVec3 right_bottom(right, bottom, 0); + PxVec3 right_top(right, top, 0); DirectX::XMFLOAT4 LINE_COLOR(1.0f, 0.0f, 0.0f, 1.0f); - m_RectRenderBuffer.m_lines.push_back(PxDebugLine(lefttop, leftbottom, XMFLOAT4ToU32Color(LINE_COLOR))); - m_RectRenderBuffer.m_lines.push_back(PxDebugLine(lefttop, righttop, XMFLOAT4ToU32Color(LINE_COLOR))); - m_RectRenderBuffer.m_lines.push_back(PxDebugLine(righttop, rightbottom, XMFLOAT4ToU32Color(LINE_COLOR))); - m_RectRenderBuffer.m_lines.push_back(PxDebugLine(leftbottom, rightbottom, XMFLOAT4ToU32Color(LINE_COLOR))); + m_ScreenRenderBuffer.m_lines.push_back(PxDebugLine(left_top, left_bottom, XMFLOAT4ToU32Color(LINE_COLOR))); + m_ScreenRenderBuffer.m_lines.push_back(PxDebugLine(left_bottom, right_bottom, XMFLOAT4ToU32Color(LINE_COLOR))); + m_ScreenRenderBuffer.m_lines.push_back(PxDebugLine(right_bottom, right_top, XMFLOAT4ToU32Color(LINE_COLOR))); + m_ScreenRenderBuffer.m_lines.push_back(PxDebugLine(right_top, left_top, XMFLOAT4ToU32Color(LINE_COLOR))); } } - else if (uMsg == WM_LBUTTONUP || uMsg == WM_RBUTTONUP) + else if (uMsg == WM_LBUTTONUP) { - if (uMsg == WM_RBUTTONUP && m_actorsSelected.size() > 1) - { - return 1; - } bool isAlt = (GetAsyncKeyState(VK_MENU) && 0x8000); bool isLight = (GetAsyncKeyState('L') && 0x8000); if (m_bSelecting && !(isAlt || isLight)) @@ -241,102 +213,124 @@ LRESULT SelectionToolController::MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LP { selectMode = SM_SUB; } - int width = getRenderer().getScreenWidth(); - int height = getRenderer().getScreenHeight(); - int deltaX = (mouseX - m_RectSelectScreenPos.x) * width; - int deltaY = (mouseY - m_RectSelectScreenPos.y) * height; - float distance = deltaX * deltaX + deltaY * deltaY; - if (distance < 1) - { - m_bRectSelecting = false; - } + + Renderer* pRenderer = Renderer::Inst(); + std::vector<PxVec2> screenPoints; + std::map<int, std::set<int>> selection; + if (m_bRectSelecting) { - // rect select mode - PxVec3 eyePos, pickDir[3]; - getPhysXController().getEyePoseAndPickDir(mouseX, mouseY, eyePos, pickDir[0]); - getPhysXController().getEyePoseAndPickDir(m_RectSelectScreenPos.x, mouseY, eyePos, pickDir[1]); - getPhysXController().getEyePoseAndPickDir(mouseX, m_RectSelectScreenPos.y, eyePos, pickDir[2]); - pickDir[0] = pickDir[0].getNormalized(); - pickDir[1] = pickDir[1].getNormalized(); - pickDir[2] = pickDir[2].getNormalized(); - - PxVec3 lefttop, leftbottom, righttop, rightbottom; - - if (mouseX > m_RectSelectScreenPos.x) // right + int width = getRenderer().getScreenWidth(); + int height = getRenderer().getScreenHeight(); + int deltaX = (mouseX - m_RectSelectScreenPos.x) * width; + int deltaY = (mouseY - m_RectSelectScreenPos.y) * height; + float distance = deltaX * deltaX + deltaY * deltaY; + if (distance < 1) { - if (mouseY > m_RectSelectScreenPos.y) // top + // point select + screenPoints.push_back(m_RectSelectScreenPos); + } + else + { + // rect select + float left, right, top, bottom; + left = right = mouseX; + top = bottom = mouseY; + if (mouseX > m_RectSelectScreenPos.x) { - leftbottom = m_RectSelectSpaceDir; - righttop = pickDir[0]; - lefttop = pickDir[2]; - rightbottom = pickDir[1]; + left = m_RectSelectScreenPos.x; } - else // bottom + else { - leftbottom = pickDir[1]; - righttop = pickDir[2]; - lefttop = m_RectSelectSpaceDir; - rightbottom = pickDir[0]; + right = m_RectSelectScreenPos.x; } - } - else // left - { - if (mouseY > m_RectSelectScreenPos.y) // top + if (mouseY > m_RectSelectScreenPos.y) { - leftbottom = pickDir[2]; - righttop = pickDir[1]; - lefttop = pickDir[0]; - rightbottom = m_RectSelectSpaceDir; + top = m_RectSelectScreenPos.y; } - else // bottom + else { - leftbottom = pickDir[0]; - righttop = m_RectSelectSpaceDir; - lefttop = pickDir[2]; - rightbottom = pickDir[1]; + bottom = m_RectSelectScreenPos.y; } - } - rectSelect(eyePos, lefttop, leftbottom, righttop, rightbottom, selectMode); + screenPoints.push_back(PxVec2(left, top)); + screenPoints.push_back(PxVec2(right, bottom)); + } } - // point select mode - else + else if(m_bDrawSelecting) { - PxVec3 eyePos, pickDir; - getPhysXController().getEyePoseAndPickDir(mouseX, mouseY, eyePos, pickDir); - pickDir = pickDir.getNormalized(); - - PxRaycastBufferN<32> hits; - - GetPhysXScene().raycast(eyePos, pickDir, PX_MAX_F32, hits, PxHitFlag::eDEFAULT | PxHitFlag::eMESH_MULTIPLE); + // draw select + if (m_DrawSelectScreenPos.size() > 2) + { + screenPoints.swap(m_DrawSelectScreenPos); + } + } - PxU32 nbThouches = hits.getNbTouches(); - const PxRaycastHit* touches = hits.getTouches(); + pRenderer->fetchSelection(screenPoints, selection); - PxRigidActor* actor = NULL; - float fDistance = PX_MAX_F32; - for (PxU32 u = 0; u < nbThouches; ++u) - { - const PxRaycastHit& t = touches[u]; - if (t.shape && getBlastController().isActorVisible(*(t.actor))) + std::set<PxActor*> actors; + PxActor* pActor; + BlastController& blastController = getBlastController(); + for (std::pair<int, std::set<int>> familychunksId : selection) + { + BlastFamily* pBlastFamily = blastController.getFamilyById(familychunksId.first); + std::set<int>& chunkIds = familychunksId.second; + for (int chunkId : chunkIds) + { + pBlastFamily->getPxActorByChunkIndex(chunkId, &pActor); + if (pActor != nullptr) { - if (fDistance > t.distance) - { - fDistance = t.distance; - actor = t.actor; - } + actors.emplace(pActor); } } - - pointSelect(actor, selectMode); } + rangeSelect(actors, selectMode); } - m_RectRenderBuffer.clear(); + m_DrawSelectScreenPos.clear(); + m_ScreenRenderBuffer.clear(); m_bRectSelecting = false; + m_bDrawSelecting = false; m_bSelecting = false; } + else if (uMsg == WM_RBUTTONUP) + { + /* + if (m_actorsSelected.size() > 1) + { + return 1; + } + */ + if (m_bDrawSelecting) + { + m_ScreenRenderBuffer.clear(); + + DirectX::XMFLOAT4 LINE_COLOR(1.0f, 0.0f, 0.0f, 1.0f); + + int size = m_DrawSelectScreenPos.size() - 1; + if (size == 0) + { + return 1; + } + + PxVec3 from(0, 0, 0); + PxVec3 to(0, 0, 0); + for (int i = 0; i < size; i++) + { + from.x = m_DrawSelectScreenPos[i].x; + from.y = m_DrawSelectScreenPos[i].y; + to.x = m_DrawSelectScreenPos[i + 1].x; + to.y = m_DrawSelectScreenPos[i + 1].y; + m_ScreenRenderBuffer.m_lines.push_back( + PxDebugLine(from, to, XMFLOAT4ToU32Color(LINE_COLOR))); + } + // connect tail and head to close + from.x = m_DrawSelectScreenPos[0].x; + from.y = m_DrawSelectScreenPos[0].y; + m_ScreenRenderBuffer.m_lines.push_back( + PxDebugLine(to, from, XMFLOAT4ToU32Color(LINE_COLOR))); + } + } } return 1; @@ -348,100 +342,13 @@ void SelectionToolController::drawUI() void SelectionToolController::pointSelect(PxActor* actor, SelectMode selectMode) { - if (selectMode == SM_RESET) - { - clearSelect(); - - if (NULL != actor) - { - setActorSelected(*actor, true); - m_actorsSelected.emplace(actor); - } - } - else if (selectMode == SM_ADD) - { - if (NULL != actor) - { - setActorSelected(*actor, true); - m_actorsSelected.emplace(actor); - } - } - else if (selectMode == SM_SUB) - { - if (NULL != actor) - { - setActorSelected(*actor, false); - m_actorsSelected.erase(actor); - } - } - - BlastSceneTree::ins()->updateChunkItemSelection(); - trySelectAssetInstanceNode(m_actorsSelected); + std::set<PxActor*> actors; + actors.emplace(actor); + rangeSelect(actors, selectMode); } -#include "PxPhysics.h" -#include "cooking/PxCooking.h" - -class RectSelectionCallback : public PxOverlapCallback +void SelectionToolController::rangeSelect(std::set<PxActor*>& actorsToSelect, SelectMode selectMode) { -public: - RectSelectionCallback(std::set<PxActor*>& actorBuffer) - :m_actorBuffer(actorBuffer), PxOverlapCallback(m_hitBuffer, sizeof(m_hitBuffer) / sizeof(m_hitBuffer[0])) {} - - PxAgain processTouches(const PxOverlapHit* buffer, PxU32 nbHits) - { - for (PxU32 i = 0; i < nbHits; ++i) - { - PxRigidDynamic* rigidDynamic = buffer[i].actor->is<PxRigidDynamic>(); - if (rigidDynamic) - { - m_actorBuffer.insert(rigidDynamic); - } - } - return true; - } - -private: - std::set<PxActor*>& m_actorBuffer; - PxOverlapHit m_hitBuffer[1000]; -}; - -void SelectionToolController::rectSelect(PxVec3 eyePos, PxVec3 lefttop, PxVec3 leftbottom, PxVec3 righttop, PxVec3 rightbottom, SelectMode selectMode) -{ - std::set<PxActor*> actorsToSelect; - - float nearClip = 1; - PxVec3 nearlefttop = lefttop * nearClip; - PxVec3 nearrighttop = righttop * nearClip; - PxVec3 nearleftbottom = leftbottom * nearClip; - PxVec3 nearrightbottom = rightbottom * nearClip; - - float farClip = 1000; - PxVec3 farlefttop = lefttop * farClip; - PxVec3 farrighttop = righttop * farClip; - PxVec3 farleftbottom = leftbottom * farClip; - PxVec3 farrightbottom = rightbottom * farClip; - - PxVec3 vertices[8] = - { - nearlefttop, nearrighttop, nearleftbottom, nearrightbottom, - farlefttop, farrighttop, farleftbottom, farrightbottom - }; - PxConvexMeshDesc convexMeshDesc; - convexMeshDesc.points.count = 8; - convexMeshDesc.points.data = vertices; - convexMeshDesc.points.stride = sizeof(PxVec3); - convexMeshDesc.flags = PxConvexFlag::eCOMPUTE_CONVEX; - PxPhysics& physics = getManager()->getPhysXController().getPhysics(); - PxCooking& cooking = getManager()->getPhysXController().getCooking(); - PxConvexMesh* convexMesh = cooking.createConvexMesh(convexMeshDesc, physics.getPhysicsInsertionCallback()); - if (NULL != convexMesh) - { - RectSelectionCallback overlapCallback(actorsToSelect); - GetPhysXScene().overlap(PxConvexMeshGeometry(convexMesh), PxTransform(eyePos), overlapCallback); - convexMesh->release(); - } - if (selectMode == SM_RESET) { clearSelect(); diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h index 74220e7..d90ae36 100644 --- a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h @@ -70,7 +70,7 @@ public: virtual void dataSelected(std::vector<BlastNode*> selections); void pointSelect(PxActor* actor, SelectMode selectMode = SM_RESET); - void rectSelect(PxVec3 eyePos, PxVec3 lefttop, PxVec3 leftbottom, PxVec3 righttop, PxVec3 rightbottom, SelectMode selectMode = SM_RESET); + void rangeSelect(std::set<PxActor*>& actors, SelectMode selectMode = SM_RESET); void clearSelect(); void setTargetActor(PxActor* actor); @@ -108,10 +108,11 @@ private: //////// internal data //////// PxVec2 m_RectSelectScreenPos; - PxVec3 m_RectSelectSpaceDir; bool m_bRectSelecting; + std::vector<PxVec2> m_DrawSelectScreenPos; + bool m_bDrawSelecting; + DebugRenderBuffer m_ScreenRenderBuffer; bool m_bSelecting; - DebugRenderBuffer m_RectRenderBuffer; void setActorSelected(const PxActor& actor, bool selected); std::set<PxActor*> m_actorsSelected; diff --git a/tools/ArtistTools/source/BlastPlugin/Shaders/model_simple_id_ex.hlsl b/tools/ArtistTools/source/BlastPlugin/Shaders/model_simple_id_ex.hlsl new file mode 100644 index 0000000..2c5ec44 --- /dev/null +++ b/tools/ArtistTools/source/BlastPlugin/Shaders/model_simple_id_ex.hlsl @@ -0,0 +1,36 @@ +#include "common_buffers_ex.hlsl" + +struct VS_INPUT +{ + float3 position : POSITION0; + float3 normal : VERTEX_NORMAL; + float3 faceNormal : FACE_NORMAL; + float3 tangent : TANGENT; + float2 uv : TEXCOORD0; + float health : TEXCOORD1; +}; + +struct VS_OUTPUT +{ + float4 position : SV_POSITION; +}; + +struct PSOut +{ + float vertexid: SV_Target0; +}; + +VS_OUTPUT VS(VS_INPUT iV) +{ + VS_OUTPUT oV; + float4 worldSpacePos = mul(float4(iV.position, 1.0f), worldMatrix); + oV.position = mul(worldSpacePos, viewProjection); + return oV; +} + +PSOut PS(VS_OUTPUT oV) : SV_Target0 +{ + PSOut output; + output.vertexid = selected; + return output; +}
\ No newline at end of file diff --git a/tools/ArtistTools/source/BlastPlugin/Shaders/screen_primitive_ex.hlsl b/tools/ArtistTools/source/BlastPlugin/Shaders/screen_primitive_ex.hlsl new file mode 100644 index 0000000..3da7007 --- /dev/null +++ b/tools/ArtistTools/source/BlastPlugin/Shaders/screen_primitive_ex.hlsl @@ -0,0 +1,26 @@ +struct VS_INPUT +{ + float3 position : POSITION0; + float3 color : COLOR0; +}; + +struct VS_OUTPUT +{ + float4 position : SV_POSITION; + float3 color : COLOR0; +}; + +VS_OUTPUT VS(VS_INPUT iV) +{ + VS_OUTPUT oV; + + oV.position = float4(iV.position.x * 2.0 - 1.0, 1.0 - iV.position.y * 2.0, 0.0, 1.0); + oV.color = iV.color; + + return oV; +} + +float4 PS(VS_OUTPUT iV) : SV_Target0 +{ + return float4(iV.color, 1.0); +}
\ No newline at end of file diff --git a/tools/ArtistTools/source/BlastPlugin/Window/BlastToolBar.cpp b/tools/ArtistTools/source/BlastPlugin/Window/BlastToolBar.cpp index 3d48059..1eed17b 100644 --- a/tools/ArtistTools/source/BlastPlugin/Window/BlastToolBar.cpp +++ b/tools/ArtistTools/source/BlastPlugin/Window/BlastToolBar.cpp @@ -976,8 +976,16 @@ void BlastToolbar::on_btnDropObject_clicked() if (family) { physx::PxTransform t = family->getSettings().transform; - if(t.p.y < minHeight) - minHeight = t.p.y; + if (GlobalSettings::Inst().m_zup) + { + if (t.p.z < minHeight) + minHeight = t.p.z; + } + else + { + if (t.p.y < minHeight) + minHeight = t.p.y; + } } } } @@ -997,7 +1005,14 @@ void BlastToolbar::on_btnDropObject_clicked() if (family) { physx::PxTransform t = family->getSettings().transform; - t.p.y += fChange; + if (GlobalSettings::Inst().m_zup) + { + t.p.z += fChange; + } + else + { + t.p.y += fChange; + } family->initTransform(t); } } @@ -1016,7 +1031,14 @@ void BlastToolbar::on_btnDropObject_clicked() if (family) { physx::PxTransform t = family->getSettings().transform; - t.p.y -= fChange; + if (GlobalSettings::Inst().m_zup) + { + t.p.z -= fChange; + } + else + { + t.p.y -= fChange; + } family->initTransform(t); } } diff --git a/tools/ArtistTools/source/CoreLib/CoreLib.cpp b/tools/ArtistTools/source/CoreLib/CoreLib.cpp index 057439c..ceeae6c 100644 --- a/tools/ArtistTools/source/CoreLib/CoreLib.cpp +++ b/tools/ArtistTools/source/CoreLib/CoreLib.cpp @@ -1009,6 +1009,20 @@ bool CoreLib::SimpleScene_FitCamera(atcore_float3& center, atcore_float3& extent } return valid; } +bool CoreLib::SimpleScene_ResetUpDir(bool zup) +{ + bool valid = true; + std::map<QString, PluginInterface*>::iterator it; + for (it = m_PluginInterfaces.begin(); it != m_PluginInterfaces.end(); it++) + { + if (!(it->second)->SimpleScene_ResetUpDir(zup)) + { + valid = false; + break; + } + } + return valid; +} bool CoreLib::SimpleScene_UpdateCamera() { std::map<QString, PluginInterface*>::iterator it; diff --git a/tools/ArtistTools/source/CoreLib/CoreLib.h b/tools/ArtistTools/source/CoreLib/CoreLib.h index 385ac73..740a7d0 100644 --- a/tools/ArtistTools/source/CoreLib/CoreLib.h +++ b/tools/ArtistTools/source/CoreLib/CoreLib.h @@ -65,6 +65,7 @@ public: bool SimpleScene_Draw_DX12(); bool SimpleScene_Draw_DX11(); bool SimpleScene_FitCamera(atcore_float3& center, atcore_float3& extents); + bool SimpleScene_ResetUpDir(bool zup); bool SimpleScene_UpdateCamera(); bool SimpleScene_DrawGround(); bool SimpleScene_DrawWind(); diff --git a/tools/ArtistTools/source/CoreLib/PluginInterface.h b/tools/ArtistTools/source/CoreLib/PluginInterface.h index 0fc531c..a86bf4d 100644 --- a/tools/ArtistTools/source/CoreLib/PluginInterface.h +++ b/tools/ArtistTools/source/CoreLib/PluginInterface.h @@ -80,6 +80,7 @@ public: virtual bool SimpleScene_Draw_DX12() = 0; virtual bool SimpleScene_Draw_DX11() = 0; virtual bool SimpleScene_FitCamera(atcore_float3& center, atcore_float3& extents) = 0; + virtual bool SimpleScene_ResetUpDir(bool zup) = 0; virtual bool SimpleScene_UpdateCamera() = 0; virtual bool SimpleScene_LoadSceneFromFbx(const char* dir, const char* fbxName) = 0; virtual bool SimpleScene_LoadProject(const char* dir, const char* file) = 0; diff --git a/tools/ArtistTools/source/CoreLib/Scene/Camera.cpp b/tools/ArtistTools/source/CoreLib/Scene/Camera.cpp index 2dba89a..326f846 100644 --- a/tools/ArtistTools/source/CoreLib/Scene/Camera.cpp +++ b/tools/ArtistTools/source/CoreLib/Scene/Camera.cpp @@ -865,3 +865,27 @@ void Camera::getScreenCoord(float x, float y, float z, int &sx, int &sy) } +void Camera::getWorldCoord(int sx, int sy, float &x, float &y, float &z) +{ + atcore_float4x4 view = (atcore_float4x4&)GetViewMatrix(); + atcore_float4x4 projection = (atcore_float4x4&)GetProjectionMatrix(); + + float w = GetWidth(); + float h = GetHeight(); + + atcore_float4x4 viewProjection = view * projection; + atcore_float4x4 viewProjectionIV = gfsdk_inverse(viewProjection); + + float nx = 2.0f * (sx / w) - 1.0f; + float ny = 1.0f - 2.0f * (sy / h); + float nz = 0.0f; + + atcore_float4 screenPoint = { nx, ny, nz, 1.0f }; + atcore_float4 pos = gfsdk_transform(viewProjectionIV, screenPoint); + + pos.w = 1.0f / pos.w; + + x = pos.x * pos.w; + y = pos.y * pos.w; + z = pos.z * pos.w; +} diff --git a/tools/ArtistTools/source/CoreLib/Scene/Camera.h b/tools/ArtistTools/source/CoreLib/Scene/Camera.h index 23fb0c6..c04252a 100644 --- a/tools/ArtistTools/source/CoreLib/Scene/Camera.h +++ b/tools/ArtistTools/source/CoreLib/Scene/Camera.h @@ -48,6 +48,7 @@ public: void Pan(const atcore_float2& delta); void getScreenCoord(float x, float y, float z, int &sx, int &sy); + void getWorldCoord(int sx, int sy, float &x, float &y, float &z); float GetZNear() { return _znear; } float GetZFar() { return _zfar; } diff --git a/tools/ArtistTools/source/CoreLib/Scene/SimpleScene.cpp b/tools/ArtistTools/source/CoreLib/Scene/SimpleScene.cpp index ddbf517..dd89e4d 100644 --- a/tools/ArtistTools/source/CoreLib/Scene/SimpleScene.cpp +++ b/tools/ArtistTools/source/CoreLib/Scene/SimpleScene.cpp @@ -932,6 +932,8 @@ void SimpleScene::ResetUpDir(bool zup) GlobalSettings::Inst().m_zup = zup; + CoreLib::Inst()->SimpleScene_ResetUpDir(zup); + SetProjectModified(true); } diff --git a/tools/compiler/cmake/ApexImporter.cmake b/tools/compiler/cmake/ApexImporter.cmake index c33d8e6..cc5c463 100644 --- a/tools/compiler/cmake/ApexImporter.cmake +++ b/tools/compiler/cmake/ApexImporter.cmake @@ -66,7 +66,7 @@ SET_TARGET_PROPERTIES(ApexImporter PROPERTIES # Do final direct sets after the target has been defined TARGET_LINK_LIBRARIES(ApexImporter - PRIVATE NvBlast NvBlastExtPhysX NvBlastExtAuthoring NvBlastExtImport NvBlastExtExporter NvBlastExtSerialization NvBlastExtTkSerialization NvBlastExtPxSerialization Rpcrt4 $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}> + PRIVATE NvBlast NvBlastExtPhysX NvBlastExtAuthoring NvBlastExtImport NvBlastExtExporter NvBlastExtSerialization NvBlastExtTkSerialization NvBlastExtPxSerialization Rpcrt4 PRIVATE ${FBXSDK_LIBRARIES} ) diff --git a/tools/compiler/cmake/Windows/ApexImporter.cmake b/tools/compiler/cmake/Windows/ApexImporter.cmake index f6ad72b..6ed576d 100644 --- a/tools/compiler/cmake/Windows/ApexImporter.cmake +++ b/tools/compiler/cmake/Windows/ApexImporter.cmake @@ -18,5 +18,3 @@ SET(APEXIMPORTER_COMPILE_DEFS $<$<CONFIG:release>:${BLASTTOOLS_SLN_RELEASE_COMPILE_DEFS}> ) -#TARGET_LINK_LIBRARIES(NvBlast PUBLIC ${NVTOOLSEXT_LIBRARIES}) -#SET_TARGET_PROPERTIES(NvBlast PROPERTIES LINK_FLAGS "/MAP" ) diff --git a/tools/compiler/cmake/Windows/AuthoringTool.cmake b/tools/compiler/cmake/Windows/AuthoringTool.cmake index f981c1f..3dfc954 100644 --- a/tools/compiler/cmake/Windows/AuthoringTool.cmake +++ b/tools/compiler/cmake/Windows/AuthoringTool.cmake @@ -18,5 +18,3 @@ SET(AUTHORTINGTOOL_COMPILE_DEFS $<$<CONFIG:release>:${BLASTTOOLS_SLN_RELEASE_COMPILE_DEFS}> ) -#TARGET_LINK_LIBRARIES(NvBlast PUBLIC ${NVTOOLSEXT_LIBRARIES}) -#SET_TARGET_PROPERTIES(NvBlast PROPERTIES LINK_FLAGS "/MAP" ) diff --git a/tools/compiler/cmake/Windows/LegacyConverter.cmake b/tools/compiler/cmake/Windows/LegacyConverter.cmake index 1a99def..5653bb9 100644 --- a/tools/compiler/cmake/Windows/LegacyConverter.cmake +++ b/tools/compiler/cmake/Windows/LegacyConverter.cmake @@ -18,5 +18,3 @@ SET(LEGACYCONVERTER_COMPILE_DEFS $<$<CONFIG:release>:${BLASTTOOLS_SLN_RELEASE_COMPILE_DEFS}> ) -#TARGET_LINK_LIBRARIES(NvBlast PUBLIC ${NVTOOLSEXT_LIBRARIES}) -#SET_TARGET_PROPERTIES(NvBlast PROPERTIES LINK_FLAGS "/MAP" ) |