SENSEI
A frame work for generic in situ analytics
sensei::OSPRayAnalysisAdaptor Class Reference

An analysis adaptor for OSPRay based rendering pipelines. More...

#include <OSPRayAnalysisAdaptor.h>

Inheritance diagram for sensei::OSPRayAnalysisAdaptor:
[legend]
Collaboration diagram for sensei::OSPRayAnalysisAdaptor:
[legend]

Classes

struct  Camera
 OSPRay specific camera data. More...
 

Public Member Functions

 senseiTypeMacro (OSPRayAnalysisAdaptor, AnalysisAdaptor)
 
int Initialize ()
 Initialize OSPRay library. More...
 
bool Execute (sensei::DataAdaptor *, sensei::DataAdaptor **) override
 Invokes in situ processing, data movement or I/O. More...
 
int Finalize () override
 Shut down and clean up OSPRay. More...
 
virtual void SetRenderAs (const char *_arg)
 one of "SPHERES", "UGRID", "SGRID" More...
 
virtual void SetMeshName (const char *_arg)
 
virtual void SetAssociation (const char *_arg)
 point or cell data More...
 
virtual void SetArrayName (const char *_arg)
 data array name More...
 
virtual void SetDirectory (const char *_arg)
 
virtual void SetFileName (const char *_arg)
 
virtual void SetWidth (int _arg)
 
virtual void SetHeight (int _arg)
 
void SetUseD3 (bool _arg)
 
void SetColormap (const std::vector< float > &colors, const std::vector< float > &opacities)
 
void SetColormapRange (float v1, float v2)
 
void SetParticleRadius (float radius)
 
void SetParticleColor (float color[3])
 
void SetBackgroundColor (float color[4])
 
void SetCamera (OSPRayAnalysisAdaptor::Camera camera)
 
- Public Member Functions inherited from sensei::AnalysisAdaptor
 senseiBaseTypeMacro (AnalysisAdaptor, svtkObjectBase)
 
void PrintSelf (ostream &os, svtkIndent indent) override
 Prints the current state of the adaptor. More...
 
virtual int SetCommunicator (MPI_Comm comm)
 Set the MPI communicator to be used by the adaptor. More...
 
MPI_Comm GetCommunicator ()
 returns the MPI communicator to be used for all communication More...
 
virtual void SetVerbose (int val)
 Set the level of verbosity of console output. More...
 
virtual int GetVerbose ()
 Get the level of verbosity of console output. More...
 
virtual void SetAsynchronous (int val)
 When set the analysis should buffer the simulation data and run in the background returning to the simulation immediately. More...
 
virtual int GetAsynchronous ()
 Get asynchronous mode. More...
 
virtual void SetDeviceId (int val)
 Set the device that the analysis should run on. More...
 
virtual int GetDeviceId ()
 Get the device that the analysis should run on. More...
 
virtual void SetDevicesToUse (int val)
 Set the number of devices to use per node. More...
 
virtual int GetDevicesToUse ()
 Get the number of devices to use per node. More...
 
virtual void SetDeviceStart (int val)
 Set the first on node device to use in automatic device selection. More...
 
virtual int GetDeviceStart ()
 Get the first device to use. More...
 
virtual void SetDeviceStride (int val)
 Set the number of devices to skip in automatic device selection. More...
 
virtual int GetDeviceStride ()
 Get the number of devices to skip. More...
 

Static Public Member Functions

static OSPRayAnalysisAdaptorNew ()
 

Additional Inherited Members

- Public Types inherited from sensei::AnalysisAdaptor
enum  { DEVICE_HOST =-1, DEVICE_AUTO =-2 }
 values controling device selection More...
 
- Protected Member Functions inherited from sensei::AnalysisAdaptor
 AnalysisAdaptor (const AnalysisAdaptor &)=delete
 
void operator= (const AnalysisAdaptor &)=delete
 
- Protected Attributes inherited from sensei::AnalysisAdaptor
MPI_Comm Comm
 
int Verbose
 
int DeviceId
 
int DevicesPerNode
 
int DevicesToUse
 
int DeviceStart
 
int DeviceStride
 
int Asynchronous
 

Detailed Description

An analysis adaptor for OSPRay based rendering pipelines.

Member Function Documentation

◆ Execute()

bool sensei::OSPRayAnalysisAdaptor::Execute ( sensei::DataAdaptor dataIn,
sensei::DataAdaptor **  dataOut 
)
overridevirtual

Invokes in situ processing, data movement or I/O.

The simulation will call this method when data is ready to be processed. Callers will pass a simulation specific sensei::DataAdaptor that can be used to fetch the needed simulation data for processing. Callers pass a non-null address to a pointer to a sensei::DataAdaptor to signal that output is desired if it is available. In that case a newly allocated data adaptor instance is returned in the pointer. This data adaptor can be used to fetch the output. The caller trakes ownership of the returned data adaptor instance and must call Delete on it when finished. Callers that do not want the output data should pass nullptr to signal that it is not needed.

Parameters
[in]dataInthe simulation provided data adaptor used to fetch data for processing
[out]dataOutthe address of a pointer to a data adaptor that could be used to fetch data from the analysis. This should be null if the caller does not want to access the output data. If it is not null and if the implementation can provide output a data, a data adaptor is allocated and returned via this pointer. In that case the caller can use the adaptor to fetch the data. The caller takes ownership of the returned data adaptor and must call Delete on it when finished.
Returns
false if an error has occurred. Typically this means that in situ processing is not possible due to misconfiguration or communication error. In that case callers should abort so as not to waste compute resources.

Implements sensei::AnalysisAdaptor.

◆ Finalize()

int sensei::OSPRayAnalysisAdaptor::Finalize ( )
overridevirtual

Shut down and clean up OSPRay.

Reimplemented from sensei::AnalysisAdaptor.

◆ Initialize()

int sensei::OSPRayAnalysisAdaptor::Initialize ( )

Initialize OSPRay library.

◆ SetArrayName()

virtual void sensei::OSPRayAnalysisAdaptor::SetArrayName ( const char *  _arg)
inlinevirtual

data array name

◆ SetAssociation()

virtual void sensei::OSPRayAnalysisAdaptor::SetAssociation ( const char *  _arg)
inlinevirtual

point or cell data

◆ SetRenderAs()

virtual void sensei::OSPRayAnalysisAdaptor::SetRenderAs ( const char *  _arg)
virtual

one of "SPHERES", "UGRID", "SGRID"


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