PPL Logo

LV3D_Universe Class Reference

This is the class that represents the entire viewable domain. More...

#include <lv3d0.h>

Inheritance diagram for LV3D_Universe:

Inheritance graph
[legend]
Collaboration diagram for LV3D_Universe:

Collaboration graph
[legend]

Public Member Functions

 LV3D_Universe ()
 LV3D_Universe (CkMigrateMessage *m)
virtual ~LV3D_Universe ()
virtual void pup (PUP::er &p)
 Pup routine is called on both client (for unpacking) and server (for packing, and for checkpointing).
 PUPable_decl (LV3D_Universe)
 All subclasses must be PUP::able, so they can be sent to the client properly.
virtual void setupClient (oglOptions &i)
 Set up this client.
virtual void setupGL (void)
 Post-OpenGL initialization.
virtual oglController * makeController (void)
 Return the client GUI controller.
virtual void viewResponse (CkView *v)
 Add this view to the universe.
virtual void render (const CkViewpoint &vp)
 Draw the world to this camera using OpenGL calls.

Protected Member Functions

CkViewlookup (const CkViewableID &src)
 Return the last known view for this viewableID.

Private Attributes

LV3D_Universe_Tableobject_table
 Stores cached CkView's on the client side.

Detailed Description

This is the class that represents the entire viewable domain.

It performs all necessary drawing every frame. This class is sent from the server to the client in response to a "setup" message.

Definition at line 31 of file lv3d0.h.


Constructor & Destructor Documentation

LV3D_Universe::LV3D_Universe (  )  [inline]

Definition at line 34 of file lv3d0.h.

LV3D_Universe::LV3D_Universe ( CkMigrateMessage m  )  [inline]

Definition at line 36 of file lv3d0.h.

LV3D_Universe::~LV3D_Universe (  )  [virtual]

Definition at line 40 of file lv3d0.C.

References object_table.


Member Function Documentation

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

Pup routine is called on both client (for unpacking) and server (for packing, and for checkpointing).

Reimplemented from PUP::able.

Definition at line 43 of file lv3d0.C.

References object_table, and PUP::able::pup().

Here is the call graph for this function:

LV3D_Universe::PUPable_decl ( LV3D_Universe   ) 

All subclasses must be PUP::able, so they can be sent to the client properly.

void LV3D_Universe::setupClient ( oglOptions &  i  )  [virtual]

Set up this client.

Should set any needed drawing options. Default does nothing, which gives you no lighting, no depth, with alpha, and clear blue background color.

Should set any needed drawing options. Default does nothing, which gives you no lighting, no depth, with alpha, and clear blue background color.

Definition at line 54 of file lv3d0.C.

void LV3D_Universe::setupGL ( void   )  [virtual]

Post-OpenGL initialization.

Definition at line 58 of file lv3d0.C.

oglController * LV3D_Universe::makeController ( void   )  [virtual]

Return the client GUI controller.

Default is a trackball, centered on the middle of the unit cube.

Default is a trackball, centered on the middle of the unit cube.

Definition at line 64 of file lv3d0.C.

void LV3D_Universe::viewResponse ( CkView v  )  [virtual]

Add this view to the universe.

This is called once per incoming network view on the client. This call transfers ownership of the view. The default implementation stores the view in the table below.

This is called once per incoming network view on the client. This call transfers ownership of the view.

Definition at line 74 of file lv3d0.C.

References LV3D_Universe_Table::add(), and object_table.

Here is the call graph for this function:

void LV3D_Universe::render ( const CkViewpoint vp  )  [virtual]

Draw the world to this camera using OpenGL calls.

This routine is called once per frame on the client. The default implementation just draws all known views.

This routine is called once per frame on the client.

Definition at line 94 of file lv3d0.C.

References object_table, and LV3D_Universe_Table::render().

Here is the call graph for this function:

CkView * LV3D_Universe::lookup ( const CkViewableID src  )  [protected]

Return the last known view for this viewableID.

Returns NULL if no view is available.

Definition at line 83 of file lv3d0.C.

References LV3D_Universe_Table::lookup(), and object_table.

Here is the call graph for this function:


Field Documentation

Stores cached CkView's on the client side.

Definition at line 92 of file lv3d0.h.

Referenced by lookup(), pup(), render(), viewResponse(), and ~LV3D_Universe().


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

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