Nv::Blast::ApexImporter::ApexImportTool Class Reference

#include <NvBlastExtApexImportTool.h>

List of all members.

Public Member Functions

 ApexImportTool ()
const ExtPxCollisionBuildergetCollisionBuilder () const
bool getCollisionGeometry (const NvParameterized::Interface *assetPrm, uint32_t chunkCount, std::vector< uint32_t > &chunkReorderInvMap, const std::vector< uint32_t > &apexChunkFlags, std::vector< ExtPxAssetDesc::ChunkDesc > &physicsChunks, std::vector< ExtPxAssetDesc::SubchunkDesc > &physicsSubchunks, std::vector< std::vector< CollisionHull * > > &hullsDesc)
physx::PxCooking * getCooking ()
physx::PxPhysics * getPxSdk ()
bool importApexAsset (std::vector< uint32_t > &chunkReorderInvMap, NvParameterized::Interface *assetNvIfc, std::vector< NvBlastChunkDesc > &chunkDescriptors, std::vector< NvBlastBondDesc > &bondDescriptors, std::vector< uint32_t > &flags, const ApexImporterConfig &config)
bool importApexAsset (std::vector< uint32_t > &chunkReorderInvMap, NvParameterized::Interface *assetNvIfc, std::vector< NvBlastChunkDesc > &chunkDescriptors, std::vector< NvBlastBondDesc > &bondDescriptors, std::vector< uint32_t > &flags)
bool importRendermesh (const std::vector< uint32_t > &chunkReorderInvMap, const NvParameterized::Interface *assetNvIfc, Nv::Blast::ExporterMeshData *outputData, const char *materialsDir)
bool isValid ()
bool loadAssetFromFile (nvidia::PxFileBuf *stream, NvParameterized::Serializer::DeserializedData &data)
bool saveAsset (const NvBlastAsset *asset, nvidia::PxFileBuf *stream)
 ~ApexImportTool ()

Protected Member Functions

 ApexImportTool (const ApexImportTool &)
ApexImportTooloperator= (const ApexImportTool &)

Protected Attributes

ExtPxCollisionBuilderm_collisionBuilder
physx::PxCooking * m_Cooking
physx::PxFoundation * m_Foundation
physx::PxPhysics * m_PhysxSDK


Detailed Description

ApexImportTool provides routines to create NvBlastAssets from APEX assets.

Constructor & Destructor Documentation

Nv::Blast::ApexImporter::ApexImportTool::ApexImportTool (  ) 

Nv::Blast::ApexImporter::ApexImportTool::~ApexImportTool (  ) 

Nv::Blast::ApexImporter::ApexImportTool::ApexImportTool ( const ApexImportTool  )  [protected]


Member Function Documentation

const ExtPxCollisionBuilder* Nv::Blast::ApexImporter::ApexImportTool::getCollisionBuilder (  )  const [inline]

bool Nv::Blast::ApexImporter::ApexImportTool::getCollisionGeometry ( const NvParameterized::Interface *  assetPrm,
uint32_t  chunkCount,
std::vector< uint32_t > &  chunkReorderInvMap,
const std::vector< uint32_t > &  apexChunkFlags,
std::vector< ExtPxAssetDesc::ChunkDesc > &  physicsChunks,
std::vector< ExtPxAssetDesc::SubchunkDesc > &  physicsSubchunks,
std::vector< std::vector< CollisionHull * > > &  hullsDesc 
)

Method creates collision geometry from user-supplied APEX Destructible asset.

Parameters:
[in] apexAsset Pointer on DestructibleAsset object for which collision geometry should be created.
[in] chunkCount Blast asset chunk count, should be equal to number of blast chunk descriptors which are gathered at ApexImportTool::importApexAsset(...)
[in] chunkReorderInvMap Chunk map from blast chunk to apex chunk filled in ApexImportTool::importApexAsset(...)
[in] apexChunkFlags Chunk flags array
[out] physicsChunks Chunk physics info output array
[out] physicsSubchunks Chunk collision geometry and transformation data output array
[out] hullsDescs Chunk collision geometry descriptors, can be used to save to some third party format
Returns:
If true - success, output arrays are filled.

physx::PxCooking* Nv::Blast::ApexImporter::ApexImportTool::getCooking (  )  [inline]

physx::PxPhysics* Nv::Blast::ApexImporter::ApexImportTool::getPxSdk (  )  [inline]

bool Nv::Blast::ApexImporter::ApexImportTool::importApexAsset ( std::vector< uint32_t > &  chunkReorderInvMap,
NvParameterized::Interface *  assetNvIfc,
std::vector< NvBlastChunkDesc > &  chunkDescriptors,
std::vector< NvBlastBondDesc > &  bondDescriptors,
std::vector< uint32_t > &  flags,
const ApexImporterConfig config 
)

Method builds NvBlastAsset form provided DestructibleAsset. DestructibleAsset must contain support graph! Parameteres of conversion could be provided with ApexImporterConfig.

Parameters:
[out] chunkReorderInvMap Chunk map from blast chunk to apex chunk to be filled.
[in] apexAsset Pointer on DestructibleAsset object which should be converted to NvBlastAsset
[out] chunkDescriptors Reference on chunk descriptors array to be filled.
[out] bondDescriptors Reference on bond descriptors array to be filled.
[out] flags Reference on chunk flags to be filled.
[in] config ApexImporterConfig object with conversion parameters, see above.
Returns:
If true, output arrays are filled.

bool Nv::Blast::ApexImporter::ApexImportTool::importApexAsset ( std::vector< uint32_t > &  chunkReorderInvMap,
NvParameterized::Interface *  assetNvIfc,
std::vector< NvBlastChunkDesc > &  chunkDescriptors,
std::vector< NvBlastBondDesc > &  bondDescriptors,
std::vector< uint32_t > &  flags 
)

Method builds NvBlastAsset form provided DestructibleAsset. DestructibleAsset must contain support graph!

Parameters:
[out] chunkReorderInvMap Chunk map from blast chunk to apex chunk to be filled.
[in] apexAsset Pointer on DestructibleAsset object which should be converted to NvBlastAsset
[out] chunkDescriptors Reference on chunk descriptors array to be filled.
[out] bondDescriptors Reference on bond descriptors array to be filled.
[out] flags Reference on chunk flags to be filled.
Returns:
If true, output arrays are filled.

bool Nv::Blast::ApexImporter::ApexImportTool::importRendermesh ( const std::vector< uint32_t > &  chunkReorderInvMap,
const NvParameterized::Interface *  assetNvIfc,
Nv::Blast::ExporterMeshData outputData,
const char *  materialsDir 
)

Method builds NvBlastAsset form provided DestructibleAsset. DestructibleAsset must contain support graph!

bool Nv::Blast::ApexImporter::ApexImportTool::isValid (  ) 

bool Nv::Blast::ApexImporter::ApexImportTool::loadAssetFromFile ( nvidia::PxFileBuf *  stream,
NvParameterized::Serializer::DeserializedData &  data 
)

Method loads APEX Destruction asset from file

Parameters:
[in] stream Pointer on PxFileBuf stream with Apex Destruction asset
Returns:
If not 0, pointer on DestructibleAsset object is returned.

ApexImportTool& Nv::Blast::ApexImporter::ApexImportTool::operator= ( const ApexImportTool  )  [protected]

bool Nv::Blast::ApexImporter::ApexImportTool::saveAsset ( const NvBlastAsset asset,
nvidia::PxFileBuf *  stream 
)

Method serializes user-supplied NvBlastAsset object to user-supplied PxFileBuf stream.

Parameters:
[in] asset Pointer on NvBlastAsset object which should be serialized
[in] stream Pointer on PxFileBuf object in which NvBlastAsset should be serialized.
Returns:
If true, NvBlastAsset object serialized successfully.


Member Data Documentation


The documentation for this class was generated from the following file: