#include <ckviewable.h>
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 CkView * | renderView (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 ¢er_) |
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 |
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.
CkInterestViewable::CkInterestViewable | ( | ) | [inline] |
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] |
virtual bool CkInterestViewable::shouldRender | ( | const CkViewpoint & | univ2screen, | |
const CkView & | oldView | |||
) | [virtual] |
virtual CkView* CkInterestViewable::renderView | ( | const CkViewpoint & | univ2screen | ) | [virtual] |
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] |
CkInterestSet CkInterestViewable::interest [private] |
CkVector3d CkInterestViewable::center [private] |
Our 3D "center point", through which our impostor plane must pass.
Definition at line 394 of file ckviewable.h.
Referenced by setCenter().
CkVector3d CkInterestViewable::boundCenter [private] |
Definition at line 395 of file ckviewable.h.
double CkInterestViewable::boundRadius [private] |
Definition at line 395 of file ckviewable.h.