NvBlastExtAssetUtils.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed to you
2 // under a form of NVIDIA software license agreement provided separately to you.
3 //
4 // Notice
5 // NVIDIA Corporation and its licensors retain all intellectual property and
6 // proprietary rights in and to this software and related documentation and
7 // any modifications thereto. Any use, reproduction, disclosure, or
8 // distribution of this software and related documentation without an express
9 // license agreement from NVIDIA Corporation is strictly prohibited.
10 //
11 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
12 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
13 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
14 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
15 //
16 // Information and code furnished is believed to be accurate and reliable.
17 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
18 // information or for any infringement of patents or other rights of third parties that may
19 // result from its use. No license is granted by implication or otherwise under any patent
20 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
21 // This code supersedes and replaces all information previously supplied.
22 // NVIDIA Corporation products are not authorized for use as critical
23 // components in life support devices or systems without express written approval of
24 // NVIDIA Corporation.
25 //
26 // Copyright (c) 2016-2020 NVIDIA Corporation. All rights reserved.
27 
28 
29 #ifndef NVBLASTEXTASSETUTILS_H
30 #define NVBLASTEXTASSETUTILS_H
31 
32 
33 #include "NvBlastTypes.h"
34 #include "NvCTypes.h"
35 #include <stdint.h>
36 
37 
50 (
51  const NvBlastAsset* asset,
52  const uint32_t* worldBoundChunks,
53  uint32_t worldBoundChunkCount,
54  const NvcVec3* bondDirections,
55  const uint32_t* bondUserData
56 );
57 
58 
67 {
68  uint32_t componentIndices[2];
69 };
70 
71 
111 (
112  const NvBlastAsset** components,
113  const NvcVec3* scales,
114  const NvcQuat* rotations,
115  const NvcVec3* translations,
116  uint32_t componentCount,
117  const NvBlastExtAssetUtilsBondDesc* newBondDescs,
118  uint32_t newBondCount,
119  uint32_t* chunkIndexOffsets,
120  uint32_t* chunkReorderMap,
121  uint32_t chunkReorderMapSize
122 );
123 
124 
136 (
137  NvBlastAsset* asset,
138  const NvcVec3* scale,
139  const NvcQuat* rotation,
140  const NvcVec3* translation
141 );
142 
143 #endif // ifndef NVBLASTEXTASSETUTILS_H
NVBLAST_API NvBlastAsset * NvBlastExtAssetUtilsAddWorldBonds(const NvBlastAsset *asset, const uint32_t *worldBoundChunks, uint32_t worldBoundChunkCount, const NvcVec3 *bondDirections, const uint32_t *bondUserData)
uint32_t componentIndices[2]
The asset component for the corresponding chunkIndices[2] value.
Definition: NvBlastExtAssetUtils.h:68
NVBLAST_API NvBlastAssetDesc NvBlastExtAssetUtilsMergeAssets(const NvBlastAsset **components, const NvcVec3 *scales, const NvcQuat *rotations, const NvcVec3 *translations, uint32_t componentCount, const NvBlastExtAssetUtilsBondDesc *newBondDescs, uint32_t newBondCount, uint32_t *chunkIndexOffsets, uint32_t *chunkReorderMap, uint32_t chunkReorderMapSize)
Definition: NvBlastTypes.h:345
Definition: NvBlastTypes.h:322
#define NVBLAST_API
Definition: NvBlastPreprocessor.h:37
Definition: NvBlastExtAssetUtils.h:66
NVBLAST_API void NvBlastExtAssetTransformInPlace(NvBlastAsset *asset, const NvcVec3 *scale, const NvcQuat *rotation, const NvcVec3 *translation)
Definition: NvBlastTypes.h:286
Definition: NvCTypes.h:49
Definition: NvCTypes.h:61