APEX Framework: nvidia::apex::ApexSDK Class Reference

From NVIDIA APEX

nvidia::apex::ApexSDK Class Reference

The ApexSDK abstraction. Manages scenes and modules. More...

#include <ApexSDK.h>

Inheritance diagram for nvidia::apex::ApexSDK:
nvidia::apex::ApexInterface nvidia::apex::RWLockable

List of all members.

Public Member Functions

virtual Scene * createScene (const SceneDesc &)=0
 Create an APEX Scene.
virtual void releaseScene (Scene *)=0
 Release an APEX Scene.
virtual AssetPreviewScene * createAssetPreviewScene ()=0
 Create an APEX Asset Preview Scene.
virtual void releaseAssetPreviewScene (AssetPreviewScene *nxScene)=0
 Release an APEX Asset Preview Scene.
virtual Module * createModule (const char *name, ApexCreateError *err=NULL)=0
 Create/Load a module.
virtual const PhysXObjectDesc * getPhysXObjectInfo (const PxActor *actor) const =0
 Return an object describing how APEX is using the PhysX Actor.
virtual const PhysXObjectDesc * getPhysXObjectInfo (const PxShape *shape) const =0
 Return an object describing how APEX is using the PhysX Shape.
virtual const PhysXObjectDesc * getPhysXObjectInfo (const PxJoint *joint) const =0
 Return an object describing how APEX is using the PhysX Joint.
virtual const PhysXObjectDesc * getPhysXObjectInfo (const PxCloth *cloth) const =0
 Return an object describing how APEX is using the PhysX Cloth.
virtual PxCooking * getCookingInterface ()=0
 Returns the cooking interface.
virtual PX_DEPRECATED
PxErrorCallback * 
getOutputStream ()=0
 Return the user error callback.
virtual PxErrorCallback * getErrorCallback () const =0
 Return the user error callback.
virtual PxAllocatorCallback * getAllocator () const =0
 Return the user allocator callback.
virtual ResourceProvider * getNamedResourceProvider ()=0
 Return the named resource provider.
virtual PxFileBuf * createStream (const char *filename, PxFileBuf::OpenMode mode)=0
 Return an APEX PxFileBuf instance. For use by APEX tools and samples, not by APEX internally. Internally, APEX will use an PxFileBuf directly provided by the user.
virtual PxFileBuf * createMemoryReadStream (const void *mem, uint32_t len)=0
 Return a PxFileBuf which reads from a buffer in memory.
virtual PxFileBuf * createMemoryWriteStream (uint32_t alignment=0)=0
 Return a PxFileBuf which writes to memory.
virtual const void * getMemoryWriteBuffer (PxFileBuf &stream, uint32_t &len)=0
 Return the address and length of the contents of a memory write buffer stream.
virtual void releaseMemoryReadStream (PxFileBuf &stream)=0
 Release a previously created PxFileBuf used as a read stream.
virtual void releaseMemoryWriteStream (PxFileBuf &stream)=0
 Release a previously created PxFileBuf used as a write stream.
virtual PxPhysics * getPhysXSDK ()=0
 Return the PhysX SDK.
virtual uint32_t getNbModules ()=0
 Return the number of modules.
virtual Module ** getModules ()=0
 Return an array of module pointers.
virtual void releaseModule (Module *module)=0
 Release a previously loaded module.
virtual RenderDebugInterface * createApexRenderDebug (RENDER_DEBUG::RenderDebugInterface *iface, bool useRemoteDebugVisualization=false)=0
 Creates an ApexDebugRender interface.
virtual void releaseApexRenderDebug (RenderDebugInterface &debug)=0
 Releases an ApexDebugRender interface.
virtual SphereShape * createApexSphereShape ()=0
 Creates an ApexSphereShape interface.
virtual CapsuleShape * createApexCapsuleShape ()=0
 Creates an ApexCapsuleShape interface.
virtual BoxShape * createApexBoxShape ()=0
 Creates an ApexBoxShape interface.
virtual HalfSpaceShape * createApexHalfSpaceShape ()=0
 Creates an ApexHalfSpaceShape interface.
virtual void releaseApexShape (Shape &shape)=0
 Release an Shape interface.
virtual uint32_t forceLoadAssets ()=0
 Return the number of assets force loaded by all of the existing APEX modules.
virtual bool getAuthorableObjectNames (const char **authTypeNames, uint32_t &outCount, uint32_t inCount)=0
 Get a list of the APEX authorable types.
virtual ::NvParameterized::Traits * getParameterizedTraits ()=0
 Get the a pointer to APEX's instance of the NvParameterized::Traits class.
virtual Asset * createAsset (AssetAuthoring &, const char *name)=0
 Creates an APEX asset from an AssetAuthoring object.
virtual Asset * createAsset (::NvParameterized::Interface *, const char *name)=0
 Creates an APEX asset from a parameterized object.
virtual void releaseAsset (Asset &)=0
 Release an APEX asset.
virtual AssetAuthoring * createAssetAuthoring (const char *authorTypeName)=0
 Creates an APEX asset authoring object.
virtual AssetAuthoring * createAssetAuthoring (const char *authorTypeName, const char *name)=0
 Create an APEX asset authoring object with a name.
virtual AssetAuthoring * createAssetAuthoring (::NvParameterized::Interface *, const char *name)=0
 Create an APEX asset authoring object from a parameterized object.
virtual void releaseAssetAuthoring (AssetAuthoring &)=0
 Releases an APEX asset authoring object.
virtual ApexSDKCachedData & getCachedData () const =0
 Returns the scene data cache for actors in the scene.
virtual
::NvParameterized::Serializer * 
createSerializer (::NvParameterized::Serializer::SerializeType type)=0
 Create a Serialization object.
virtual
::NvParameterized::Serializer * 
createSerializer (::NvParameterized::Serializer::SerializeType type,::NvParameterized::Traits *traits)=0
 Create a Serialization object from custom traits.
virtual
::NvParameterized::Serializer::SerializeType 
getSerializeType (const void *data, uint32_t dlen)=0
 Figure out whether a given chunk of data was xml or binary serialized. To properly detect XML formats, 32 bytes of data are scanned, so dlen should be at least 32 bytes.
virtual
::NvParameterized::Serializer::SerializeType 
getSerializeType (PxFileBuf &stream)=0
 Figure out whether a given chunk of data was xml or binary serialized.
virtual
NvParameterized::Serializer::ErrorType 
getSerializePlatform (PxFileBuf &stream, NvParameterized::SerializePlatform &platform)=0
 Find native platform for a given chunk of data.
virtual
NvParameterized::Serializer::ErrorType 
getSerializePlatform (const void *data, uint32_t dlen, NvParameterized::SerializePlatform &platform)=0
 Find native platform for a given chunk of data.
virtual void getCurrentPlatform (NvParameterized::SerializePlatform &platform) const =0
 Get current (native) platform.
virtual bool getPlatformFromString (const char *name, NvParameterized::SerializePlatform &platform) const =0
 Get platform from human-readable name.
virtual const char * getPlatformName (const NvParameterized::SerializePlatform &platform) const =0
 Get canonical name for platform.
virtual
::NvParameterized::Interface * 
getDebugColorParams () const =0
 Gets NvParameterized debug rendering color parameters. Modiying NvParameterized debug colors automatically updates color table in debug renderer.
virtual const char * getWireframeMaterial ()=0
 Gets a string for the material to use when rendering wireframe data.
virtual const char * getSolidShadedMaterial ()=0
 Gets a string for the material to use when rendering solid shaded (per vertex color) lit triangles.
virtual void setEnableApexStats (bool enableApexStats)=0
 Enable or disable the APEX module-specific stat collection (some modules can be time consuming)
virtual void setEnableConcurrencyCheck (bool enableConcurrencyChecks)=0
 Enable or disable the APEX concurrent access check.
virtual bool isConcurrencyCheckEnabled ()=0
 Returns current setting for APEX concurrent access check.

Detailed Description

The ApexSDK abstraction. Manages scenes and modules.


Member Function Documentation

virtual Asset* nvidia::apex::ApexSDK::createAsset ( ::NvParameterized::Interface *  ,
const char *  name 
) [pure virtual]

Creates an APEX asset from a parameterized object.

Note:
The NvParameterized::Interface object's ownership passes to the asset, if a copy is needed, use the NvParameterized::Interface::copy() method
virtual bool nvidia::apex::ApexSDK::getAuthorableObjectNames ( const char **  authTypeNames,
uint32_t &  outCount,
uint32_t  inCount 
) [pure virtual]

Get a list of the APEX authorable types.

The memory for the strings returned is owned by the APEX SDK and should only be read, not written or freed. Returns false if 'inCount' is not large enough to contain all of the names.

virtual PX_DEPRECATED PxErrorCallback* nvidia::apex::ApexSDK::getOutputStream ( ) [pure virtual]

Return the user error callback.

Deprecated:
Use getErrorCallback() instead.
virtual const PhysXObjectDesc* nvidia::apex::ApexSDK::getPhysXObjectInfo ( const PxJoint *  joint) const [pure virtual]

Return an object describing how APEX is using the PhysX Joint.

Returns:
NULL if PhysX Joint is not owned by APEX.
virtual const PhysXObjectDesc* nvidia::apex::ApexSDK::getPhysXObjectInfo ( const PxCloth *  cloth) const [pure virtual]

Return an object describing how APEX is using the PhysX Cloth.

Returns:
NULL if PhysX Cloth is not owned by APEX.
virtual const PhysXObjectDesc* nvidia::apex::ApexSDK::getPhysXObjectInfo ( const PxActor *  actor) const [pure virtual]

Return an object describing how APEX is using the PhysX Actor.

Returns:
NULL if PhysX Actor is not owned by APEX.
virtual const PhysXObjectDesc* nvidia::apex::ApexSDK::getPhysXObjectInfo ( const PxShape *  shape) const [pure virtual]

Return an object describing how APEX is using the PhysX Shape.

Returns:
NULL if PhysX Shape is not owned by APEX.
virtual bool nvidia::apex::ApexSDK::getPlatformFromString ( const char *  name,
NvParameterized::SerializePlatform &  platform 
) const [pure virtual]

Get platform from human-readable name.

Parameters:
[in]nameplatform name
[out]platformPlatform corresponding to name
Returns:
Success

Name format: compiler + compiler version (if needed) + architecture. Supported names: VcWin32, VcWin64, VcXboxOne, GccPs4, AndroidARM, GccLinux32, GccLinux64, GccOsX32, Pib.

virtual NvParameterized::Serializer::ErrorType nvidia::apex::ApexSDK::getSerializePlatform ( const void *  data,
uint32_t  dlen,
NvParameterized::SerializePlatform &  platform 
) [pure virtual]

Find native platform for a given chunk of data.

Note:
To properly detect platform 64 bytes of data are scanned, so dlen should be at least 64 bytes

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

Generated on Fri Dec 15 2017 13:58:37

Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.