PPL Logo

CkView Class Reference

A CkView is a texture image that can stand in for a CkViewable. More...

#include <ckviewable.h>

Inheritance diagram for CkView:

Inheritance graph
[legend]
Collaboration diagram for CkView:

Collaboration graph
[legend]

Public Member Functions

const CkViewableIDgetViewable (void) const
 PUPable_abstract (CkView)
 CkView subclasses are PUP::able's.
virtual void pup (PUP::er &p)
 PUP this CkView and its image or geometry data.
virtual void render (double alpha, CkView *old)=0
 Render our image to the current OpenGL context.

Data Fields

CkViewableID id
 This is the viewable we describe.
unsigned int prio
 This is our approximate network priority.
int pixels
 The number of pixels we represent.

Detailed Description

A CkView is a texture image that can stand in for a CkViewable.

Subclasses contain some texture representation (e.g., one RGBA texture). This class is sent from the server, which generates CkViews, to the client, which displays them. CkViews travel around in the parallel machine inside liveViz3dViewMsg objects.

CkView's are reference counted-- use ref() and unref() to save copying, and always allocate them with a plain "new".

Definition at line 96 of file ckviewable.h.


Member Function Documentation

const CkViewableID& CkView::getViewable ( void   )  const [inline]

Definition at line 101 of file ckviewable.h.

References id.

CkView::PUPable_abstract ( CkView   ) 

CkView subclasses are PUP::able's.

This means they should have a migration constructor, working pup routine, and appropriate PUPable declarations. (CLIENT AND SERVER).

virtual void CkView::pup ( PUP::er p  )  [virtual]

PUP this CkView and its image or geometry data.

(CLIENT AND SERVER).

Reimplemented from PUP::able.

Reimplemented in CkQuadView.

virtual void CkView::render ( double  alpha,
CkView old 
) [pure virtual]

Render our image to the current OpenGL context.

Use "alpha" fraction of your own pixels; "1-alpha" fraction of the "old" pixels. "old" may be NULL.

(CLIENT ONLY) So the server can link without OpenGL, all OpenGL calls made by this routine should be protected by an ifdef CMK_LIVEVIZ3D_CLIENT

Implemented in CkQuadView.

Referenced by LV3D_Universe_Table::render().

Here is the caller graph for this function:


Field Documentation

This is the viewable we describe.

This field is set by LiveViz3dArray, not CkViewable.

Definition at line 100 of file ckviewable.h.

Referenced by getViewable(), LV3D0_ViewMsg::new_(), and impl_LV3D_Array::render().

unsigned int CkView::prio

This is our approximate network priority.

Lower numbers mean higher priority. Prio==0 is highest. This field is set by LiveViz3dArray, not CkViewable.

Definition at line 106 of file ckviewable.h.

Referenced by LV3D0_ViewMsg::new_(), and impl_LV3D_Array::render().

The number of pixels we represent.

Definition at line 109 of file ckviewable.h.

Referenced by LV3D0_Deposit(), and LV3D0_ViewMsg::new_().


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

Generated on Mon Sep 21 08:21:43 2020 for Charm++ by  doxygen 1.5.5