RavEngine
Loading...
Searching...
No Matches
physx::pvdsdk::PvdImpl Class Reference

#include <PxPvdImpl.h>

Inheritance diagram for physx::pvdsdk::PvdImpl:
[legend]
Collaboration diagram for physx::pvdsdk::PvdImpl:
[legend]

Public Member Functions

void release ()
 Releases the pvd instance.
 
bool connect (PxPvdTransport &transport, PxPvdInstrumentationFlags flags)
 
void disconnect ()
 
bool isConnected (bool useCachedStatus=true)
 
void flush ()
 
PxPvdTransport * getTransport ()
 
PxPvdInstrumentationFlags getInstrumentationFlags ()
 
void addClient (PvdClient *client)
 
void removeClient (PvdClient *client)
 
PvdOMMetaDataProvider & getMetaDataProvider ()
 
bool registerObject (const void *inItem)
 
bool unRegisterObject (const void *inItem)
 
void onAllocation (size_t size, const char *typeName, const char *filename, int line, void *allocatedMemory)
 callback when memory is allocated.
 
void onDeallocation (void *addr)
 callback when memory is deallocated.
 
uint64_t getNextStreamId ()
 
virtual void * zoneStart (const char *eventName, bool detached, uint64_t contextId)
 Mark the beginning of a nested profile block.
 
virtual void zoneEnd (void *profilerData, const char *eventName, bool detached, uint64_t contextId)
 Mark the end of a nested profile block.
 
- Public Member Functions inherited from physx::PxUserAllocated
PX_INLINE void * operator new (size_t, void *address)
 
PX_INLINE void operator delete (void *, void *)
 
template<typename Alloc >
PX_INLINE void * operator new (size_t size, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new (size_t size, size_t, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new[] (size_t size, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new[] (size_t size, size_t, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void operator delete (void *ptr, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void operator delete[] (void *ptr, Alloc alloc, const char *fileName, int line)
 
PX_INLINE void operator delete (void *ptr)
 
PX_INLINE void operator delete[] (void *ptr)
 

Static Public Member Functions

static bool initialize ()
 
static PvdImpl * getInstance ()
 

Detailed Description

PvdImpl is the realization of PxPvd. It implements the interface methods and provides richer functionality for advanced users or internal clients (such as PhysX or APEX), including handler notification for clients.

Member Function Documentation

◆ addClient()

void physx::pvdsdk::PvdImpl::addClient ( PvdClient *  client)
virtual

Implements physx::pvdsdk::PsPvd.

◆ connect()

bool physx::pvdsdk::PvdImpl::connect ( PxPvdTransport &  transport,
PxPvdInstrumentationFlags  flags 
)
virtual

Connects the SDK to the PhysX Visual Debugger application.

Parameters
transporttransport for pvd captured data.
flagsFlags to set. return True if success

Implements physx::PxPvd.

◆ disconnect()

void physx::pvdsdk::PvdImpl::disconnect ( )
virtual

Disconnects the SDK from the PhysX Visual Debugger application. If we are still connected, this will kill the entire debugger connection.

Implements physx::PxPvd.

◆ flush()

void physx::pvdsdk::PvdImpl::flush ( )
virtual

Implements physx::pvdsdk::PsPvd.

◆ getInstrumentationFlags()

PxPvdInstrumentationFlags physx::pvdsdk::PvdImpl::getInstrumentationFlags ( )
virtual

Retrieves the PVD flags. See PxPvdInstrumentationFlags.

Implements physx::PxPvd.

◆ getMetaDataProvider()

PvdOMMetaDataProvider & physx::pvdsdk::PvdImpl::getMetaDataProvider ( )
virtual

Implements physx::pvdsdk::PsPvd.

◆ getNextStreamId()

uint64_t physx::pvdsdk::PvdImpl::getNextStreamId ( )
virtual

Implements physx::pvdsdk::PsPvd.

◆ getTransport()

PxPvdTransport * physx::pvdsdk::PvdImpl::getTransport ( )
virtual

returns the PVD data transport returns NULL if no transport is present.

Implements physx::PxPvd.

◆ isConnected()

bool physx::pvdsdk::PvdImpl::isConnected ( bool  useCachedStatus = true)
virtual
Return if connection to PVD is created.
Parameters
useCachedStatus1> When useCachedStaus is false, isConnected() checks the lowlevel network status. This can be slow because it needs to lock the lowlevel network stream. If isConnected() is called frequently, the expense of locking can be significant. 2> When useCachedStatus is true, isConnected() checks the highlevel cached status with atomic access. It is faster than locking, but the status may be different from the lowlevel network with latency of up to one frame. The reason for this is that the cached status is changed inside socket listener, which is not called immediately when the lowlevel connection status changes.

Implements physx::PxPvd.

◆ onAllocation()

void physx::pvdsdk::PvdImpl::onAllocation ( size_t  size,
const char *  typeName,
const char *  filename,
int  line,
void *  allocatedMemory 
)
virtual

callback when memory is allocated.

Parameters
sizeSize of the allocation in bytes.
typeNameType this data is being allocated for.
filenameFile the allocation came from.
linethe allocation came from.
allocatedMemorymemory that will be returned from the allocation.

Implements physx::pvdsdk::PsPvd.

◆ onDeallocation()

void physx::pvdsdk::PvdImpl::onDeallocation ( void *  allocatedMemory)
virtual

callback when memory is deallocated.

Parameters
allocatedMemorymemory just before allocation.

Implements physx::pvdsdk::PsPvd.

◆ registerObject()

bool physx::pvdsdk::PvdImpl::registerObject ( const void *  inItem)
virtual

Implements physx::pvdsdk::PsPvd.

◆ release()

void physx::pvdsdk::PvdImpl::release ( )
virtual

Releases the pvd instance.

Implements physx::PxPvd.

◆ removeClient()

void physx::pvdsdk::PvdImpl::removeClient ( PvdClient *  client)
virtual

Implements physx::pvdsdk::PsPvd.

◆ unRegisterObject()

bool physx::pvdsdk::PvdImpl::unRegisterObject ( const void *  inItem)
virtual

Implements physx::pvdsdk::PsPvd.

◆ zoneEnd()

void physx::pvdsdk::PvdImpl::zoneEnd ( void *  profilerData,
const char *  eventName,
bool  detached,
uint64_t  contextId 
)
virtual

Mark the end of a nested profile block.

Parameters
[in]profilerDataThe data returned by the corresponding zoneStart call (or NULL if not available)
[in]eventNameThe name of the zone ending, must match the corresponding name passed with 'zoneStart'. Must be a persistent const char *.
[in]detachedTrue for cross thread events. Should match the value passed to zoneStart.
[in]contextIdThe context of this zone. Should match the value passed to zoneStart.
Note
eventName plus contextId can be used to uniquely match up start and end of a zone.

Implements physx::PxProfilerCallback.

◆ zoneStart()

void * physx::pvdsdk::PvdImpl::zoneStart ( const char *  eventName,
bool  detached,
uint64_t  contextId 
)
virtual

Mark the beginning of a nested profile block.

Parameters
[in]eventNameEvent name. Must be a persistent const char *
[in]detachedTrue for cross thread events
[in]contextIdthe context id of this zone. Zones with the same id belong to the same group. 0 is used for no specific group.
Returns
Returns implementation-specific profiler data for this event

Implements physx::PxProfilerCallback.


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