PxOmniPvd

Defined in include/omnipvd/PxOmniPvd.h

Classes

class PxOmniPvd

Public Functions

inline virtual ~PxOmniPvd()
virtual OmniPvdWriter *getWriter() = 0

Get the OmniPvd writer.

Gets an instance of the OmniPvd writer. The writer access will not be thread safe since the OmniPVD API is not thread safe itself. Writing concurrently and simultaneously using the OmniPVD API is undefined.

For thread safe exlcusive access use the mechanism acquireExclusiveWriterAccess/releaseExclusiveWriterAccess.

Returns

OmniPvdWriter instance on succes, NULL otherwise.

virtual OmniPvdWriter *acquireExclusiveWriterAccess() = 0

Acquires an exclusive writer access.

This call blocks until exclusive access to the writer can be acquired. Once access has been granted, it is guaranteed that no other caller can access the writer through this method until releaseExclusiveWriterAccess() has been called.

This allows to safely write PVD data in environments with concurrent processing workflows.

Returns

OmniPvdWriter instance on succes, NULL otherwise.

virtual void releaseExclusiveWriterAccess() = 0

Releases the exclusive writer access.

Releases the access to the writer that was previously acquired using acquireExclusiveWriterAccess.

virtual OmniPvdFileWriteStream *getFileWriteStream() = 0

Gets an instance to the OmniPvd file write stream.

Returns

OmniPvdFileWriteStream instance on succes, NULL otherwise.

virtual bool startSampling() = 0

Starts the OmniPvd sampling.

Returns

True if sampling started correctly, false if not.

virtual void release() = 0

Releases the PxOmniPvd object.

class ScopedExclusiveWriter

Public Functions

inline ScopedExclusiveWriter(PxOmniPvd *omniPvd)
inline ~ScopedExclusiveWriter()
inline OmniPvdWriter *operator->()
inline OmniPvdWriter *getWriter()