View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

Classes | Public Member Functions | Public Attributes | List of all members
vistle::ParallelRemoteRenderManager Class Reference

#include <renderer/parrendmgr.h>

Collaboration diagram for vistle::ParallelRemoteRenderManager:
Collaboration graph
[legend]

Classes

struct  DisplayTile
 serializable description of one IceT tile - usable by boost::mpi More...
 
struct  GlobalState
 state shared among all views More...
 
struct  IceTData
 per view IceT state More...
 
struct  PerViewState
 

Public Member Functions

 ParallelRemoteRenderManager (Renderer *module, IceTDrawCallback drawCallback)
 
 ~ParallelRemoteRenderManager ()
 
PortoutputPort () const
 
void connectionAdded (const Port *to)
 
void connectionRemoved (const Port *to)
 
bool handleMessage (const message::Message *message, const MessagePayload &payload)
 
bool handleParam (const Parameter *p)
 
bool prepareFrame (size_t numTimesteps)
 
int timestep () const
 
size_t numViews () const
 
void setCurrentView (size_t i)
 
void compositeCurrentView (const unsigned char *rgba, const float *depth, const int viewport[4], int timestep, bool lastView)
 
void finishCurrentView (const IceTImage &img, int timestep)
 
void finishCurrentView (const IceTImage &img, int timestep, bool lastView)
 
bool finishFrame (int timestep)
 
vistle::Matrix4 getModelViewMat (size_t viewIdx) const
 
vistle::Matrix4 getProjMat (size_t viewIdx) const
 
const PerViewStateviewData (size_t viewIdx) const
 
unsigned char * rgba (size_t viewIdx)
 
float * depth (size_t viewIdx)
 
void updateRect (size_t viewIdx, const IceTInt *viewport)
 
void setModified ()
 
bool sceneChanged () const
 
bool isVariantVisible (const std::string &variant) const
 
void setLocalBounds (const Vector3 &min, const Vector3 &max)
 
int rootRank () const
 
void addObject (std::shared_ptr< RenderObject > ro)
 
void removeObject (std::shared_ptr< RenderObject > ro)
 
bool checkIceTError (const char *msg) const
 
void updateVariants ()
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef void(* IceTDrawCallback )(const IceTDouble *proj, const IceTDouble *mv, const IceTFloat *bg, const IceTInt *viewport, IceTImage image)
 
Renderer * m_module
 
IceTDrawCallback m_drawCallback
 
int m_displayRank
 
RhrController m_rhrControl
 
IntParameter * m_continuousRendering
 
FloatParameter * m_delay
 
double m_delaySec
 
IntParameter * m_colorRank
 
Vector4 m_defaultColor
 
Vector3 localBoundMin
 
Vector3 localBoundMax
 
size_t m_updateCount = -1
 
int m_updateBounds
 
int m_updateVariants
 
int m_updateScene
 
int m_doRender
 
size_t m_lightsUpdateCount
 
struct GlobalState m_state
 
std::vector< PerViewState, Eigen::aligned_allocator< PerViewState > > m_viewData
 
std::vector< std::vector< unsigned char > > m_rgba
 
std::vector< std::vector< float > > m_depth
 
int m_currentView
 holds no. of view currently being rendered - not a problem as IceT is not reentrant anyway More...
 
bool m_frameComplete
 track whether frame has been flushed to clients More...
 
std::vector< IceTDatam_icet
 
RhrServer::VariantVisibilityMap m_clientVariants
 
Renderer::VariantMap m_localVariants
 

Constructor & Destructor Documentation

◆ ParallelRemoteRenderManager()

vistle::ParallelRemoteRenderManager::ParallelRemoteRenderManager ( Renderer *  module,
IceTDrawCallback  drawCallback 
)

◆ ~ParallelRemoteRenderManager()

vistle::ParallelRemoteRenderManager::~ParallelRemoteRenderManager ( )

Member Function Documentation

◆ addObject()

void vistle::ParallelRemoteRenderManager::addObject ( std::shared_ptr< RenderObject ro)

◆ checkIceTError()

bool vistle::ParallelRemoteRenderManager::checkIceTError ( const char *  msg) const

◆ compositeCurrentView()

void vistle::ParallelRemoteRenderManager::compositeCurrentView ( const unsigned char *  rgba,
const float *  depth,
const int  viewport[4],
int  timestep,
bool  lastView 
)

◆ connectionAdded()

void vistle::ParallelRemoteRenderManager::connectionAdded ( const Port to)

◆ connectionRemoved()

void vistle::ParallelRemoteRenderManager::connectionRemoved ( const Port to)

◆ depth()

float * vistle::ParallelRemoteRenderManager::depth ( size_t  viewIdx)

◆ finishCurrentView() [1/2]

void vistle::ParallelRemoteRenderManager::finishCurrentView ( const IceTImage &  img,
int  timestep 
)

◆ finishCurrentView() [2/2]

void vistle::ParallelRemoteRenderManager::finishCurrentView ( const IceTImage &  img,
int  timestep,
bool  lastView 
)

◆ finishFrame()

bool vistle::ParallelRemoteRenderManager::finishFrame ( int  timestep)

◆ getModelViewMat()

vistle::Matrix4 vistle::ParallelRemoteRenderManager::getModelViewMat ( size_t  viewIdx) const

◆ getProjMat()

vistle::Matrix4 vistle::ParallelRemoteRenderManager::getProjMat ( size_t  viewIdx) const

◆ handleMessage()

bool vistle::ParallelRemoteRenderManager::handleMessage ( const message::Message message,
const MessagePayload payload 
)

◆ handleParam()

bool vistle::ParallelRemoteRenderManager::handleParam ( const Parameter p)

◆ isVariantVisible()

bool vistle::ParallelRemoteRenderManager::isVariantVisible ( const std::string &  variant) const

◆ numViews()

size_t vistle::ParallelRemoteRenderManager::numViews ( ) const

◆ outputPort()

Port * vistle::ParallelRemoteRenderManager::outputPort ( ) const

◆ prepareFrame()

bool vistle::ParallelRemoteRenderManager::prepareFrame ( size_t  numTimesteps)

◆ removeObject()

void vistle::ParallelRemoteRenderManager::removeObject ( std::shared_ptr< RenderObject ro)

◆ rgba()

unsigned char * vistle::ParallelRemoteRenderManager::rgba ( size_t  viewIdx)

◆ rootRank()

int vistle::ParallelRemoteRenderManager::rootRank ( ) const
inline

◆ sceneChanged()

bool vistle::ParallelRemoteRenderManager::sceneChanged ( ) const

◆ setCurrentView()

void vistle::ParallelRemoteRenderManager::setCurrentView ( size_t  i)

◆ setLocalBounds()

void vistle::ParallelRemoteRenderManager::setLocalBounds ( const Vector3 min,
const Vector3 max 
)

◆ setModified()

void vistle::ParallelRemoteRenderManager::setModified ( )

◆ timestep()

int vistle::ParallelRemoteRenderManager::timestep ( ) const

◆ updateRect()

void vistle::ParallelRemoteRenderManager::updateRect ( size_t  viewIdx,
const IceTInt *  viewport 
)

◆ updateVariants()

void vistle::ParallelRemoteRenderManager::updateVariants ( )

◆ viewData()

const PerViewState & vistle::ParallelRemoteRenderManager::viewData ( size_t  viewIdx) const

Member Data Documentation

◆ IceTDrawCallback

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef void(* vistle::ParallelRemoteRenderManager::IceTDrawCallback) (const IceTDouble *proj, const IceTDouble *mv, const IceTFloat *bg, const IceTInt *viewport, IceTImage image)

◆ localBoundMax

Vector3 vistle::ParallelRemoteRenderManager::localBoundMax

◆ localBoundMin

Vector3 vistle::ParallelRemoteRenderManager::localBoundMin

◆ m_clientVariants

RhrServer::VariantVisibilityMap vistle::ParallelRemoteRenderManager::m_clientVariants

◆ m_colorRank

IntParameter* vistle::ParallelRemoteRenderManager::m_colorRank

◆ m_continuousRendering

IntParameter* vistle::ParallelRemoteRenderManager::m_continuousRendering

◆ m_currentView

int vistle::ParallelRemoteRenderManager::m_currentView

holds no. of view currently being rendered - not a problem as IceT is not reentrant anyway

◆ m_defaultColor

Vector4 vistle::ParallelRemoteRenderManager::m_defaultColor

◆ m_delay

FloatParameter* vistle::ParallelRemoteRenderManager::m_delay

◆ m_delaySec

double vistle::ParallelRemoteRenderManager::m_delaySec

◆ m_depth

std::vector<std::vector<float> > vistle::ParallelRemoteRenderManager::m_depth

◆ m_displayRank

int vistle::ParallelRemoteRenderManager::m_displayRank

◆ m_doRender

int vistle::ParallelRemoteRenderManager::m_doRender

◆ m_drawCallback

IceTDrawCallback vistle::ParallelRemoteRenderManager::m_drawCallback

◆ m_frameComplete

bool vistle::ParallelRemoteRenderManager::m_frameComplete

track whether frame has been flushed to clients

◆ m_icet

std::vector<IceTData> vistle::ParallelRemoteRenderManager::m_icet

◆ m_lightsUpdateCount

size_t vistle::ParallelRemoteRenderManager::m_lightsUpdateCount

◆ m_localVariants

Renderer::VariantMap vistle::ParallelRemoteRenderManager::m_localVariants

◆ m_module

Renderer* vistle::ParallelRemoteRenderManager::m_module

◆ m_rgba

std::vector<std::vector<unsigned char> > vistle::ParallelRemoteRenderManager::m_rgba

◆ m_rhrControl

RhrController vistle::ParallelRemoteRenderManager::m_rhrControl

◆ m_state

struct GlobalState vistle::ParallelRemoteRenderManager::m_state

◆ m_updateBounds

int vistle::ParallelRemoteRenderManager::m_updateBounds

◆ m_updateCount

size_t vistle::ParallelRemoteRenderManager::m_updateCount = -1

◆ m_updateScene

int vistle::ParallelRemoteRenderManager::m_updateScene

◆ m_updateVariants

int vistle::ParallelRemoteRenderManager::m_updateVariants

◆ m_viewData

std::vector<PerViewState, Eigen::aligned_allocator<PerViewState> > vistle::ParallelRemoteRenderManager::m_viewData

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