PPL Logo

CkInterestViewable Class Reference

A CkInterestViewable is a viewable whose reprojection (view coherence) is characterized by a set of "interest points". More...

#include <ckviewable.h>

Inheritance diagram for CkInterestViewable:

Inheritance graph
[legend]
Collaboration diagram for CkInterestViewable:

Collaboration graph
[legend]

Public Member Functions

 CkInterestViewable ()
 Be sure to set interest points from your constructor.
virtual bool shouldRender (const CkViewpoint &univ2screen, const CkView &oldView)
 Default implementation checks the rms reprojection error.
virtual CkViewrenderView (const CkViewpoint &univ2screen)
 Uses newViewpoint and renderImage to build a new CkInterestView.
virtual bool newViewpoint (const CkViewpoint &univ2screen, CkViewpoint &univ2texture)
 Create a new texture viewpoint (univ2texture) for this new universe viewpoint (univ2screen).
virtual void renderImage (const CkViewpoint &vp, CkImage &dest)=0
 Subclass-overridden routine: Render yourself into this new, *garbage-filled* ARGB image.
virtual double getSize (const CkViewpoint &univ2screen)
 Returns size of bounding sphere.

Protected Member Functions

void setUnivPoints (const CkInterestSet &univPoints_)
 Subclasses MUST call this from their constructors or pup routines.
void setCenter (const CkVector3d &center_)

Private Attributes

CkInterestSet interest
 Our 3D interest points.
CkVector3d center
 Our 3D "center point", through which our impostor plane must pass.
CkVector3d boundCenter
double boundRadius

Detailed Description

A CkInterestViewable is a viewable whose reprojection (view coherence) is characterized by a set of "interest points".

The interest points are used to determine which view to use, and when views are out-of-date.

Definition at line 392 of file ckviewable.h.


Constructor & Destructor Documentation

CkInterestViewable::CkInterestViewable (  )  [inline]

Be sure to set interest points from your constructor.

Definition at line 402 of file ckviewable.h.


Member Function Documentation

void CkInterestViewable::setUnivPoints ( const CkInterestSet univPoints_  )  [protected]

Subclasses MUST call this from their constructors or pup routines.

void CkInterestViewable::setCenter ( const CkVector3d center_  )  [inline, protected]

Definition at line 399 of file ckviewable.h.

References center.

virtual bool CkInterestViewable::shouldRender ( const CkViewpoint univ2screen,
const CkView oldView 
) [virtual]

Default implementation checks the rms reprojection error.

Implements CkViewable.

virtual CkView* CkInterestViewable::renderView ( const CkViewpoint univ2screen  )  [virtual]

Uses newViewpoint and renderImage to build a new CkInterestView.

Implements CkViewable.

virtual bool CkInterestViewable::newViewpoint ( const CkViewpoint univ2screen,
CkViewpoint univ2texture 
) [virtual]

Create a new texture viewpoint (univ2texture) for this new universe viewpoint (univ2screen).

Default implementation just windows the universe viewpoint to fit the new texture. Returns false if no viewpoint is possible or appropriate.

virtual void CkInterestViewable::renderImage ( const CkViewpoint vp,
CkImage &  dest 
) [pure virtual]

Subclass-overridden routine: Render yourself into this new, *garbage-filled* ARGB image.

To change the image format, call dest.setLayout.

virtual double CkInterestViewable::getSize ( const CkViewpoint univ2screen  )  [virtual]

Returns size of bounding sphere.

Reimplemented from CkViewable.


Field Documentation

Our 3D interest points.

Definition at line 393 of file ckviewable.h.

Our 3D "center point", through which our impostor plane must pass.

Definition at line 394 of file ckviewable.h.

Referenced by setCenter().

Definition at line 395 of file ckviewable.h.

Definition at line 395 of file ckviewable.h.


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

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