TargetRendererImpl Class Reference

#include <TargetRendererImpl.h>

Inheritance diagram for TargetRendererImpl:

TargetRenderer TargetRendererImplTank TargetRendererImplTarget

List of all members.

Public Types

enum  HighlightType { eNoHighlight, ePlayerHighlight, eOtherHighlight }

Public Member Functions

 TargetRendererImpl (Target *target)
virtual ~TargetRendererImpl ()
virtual void drawParticle (float distance)=0
virtual void simulate (float frameTime)=0
virtual void moved ()
void setMakeParticle ()
void createParticle ()

Static Public Member Functions

static void setHighlightType (HighlightType type)

Protected Member Functions

void drawShield (float shieldHit, float totalTime)
void drawParachute ()
bool getVisible ()
float getTargetSize ()
float getTargetFade (float distance, float size)
void storeTarget2DPos ()
void setMovedPatch (TargetVisibilityPatch *newPatch)

Protected Attributes

bool tree_
bool matrixCached_
Matrix16 cachedMatrix_
Targettarget_
TargetVisibilityPatchcurrentVisibilityPatch_
int patchEpoc_
bool particleMade_
double posX_
double posY_
double posZ_

Static Protected Attributes

static HighlightType highlightType_


Detailed Description

Definition at line 30 of file TargetRendererImpl.h.


Member Enumeration Documentation

enum TargetRendererImpl::HighlightType

Enumerator:
eNoHighlight 
ePlayerHighlight 
eOtherHighlight 

Definition at line 45 of file TargetRendererImpl.h.


Constructor & Destructor Documentation

TargetRendererImpl::TargetRendererImpl ( Target target  ) 

Definition at line 46 of file TargetRendererImpl.cpp.

TargetRendererImpl::~TargetRendererImpl (  )  [virtual]

Definition at line 55 of file TargetRendererImpl.cpp.

References setMovedPatch().


Member Function Documentation

virtual void TargetRendererImpl::drawParticle ( float  distance  )  [pure virtual]

Implemented in TargetRendererImplTank, and TargetRendererImplTarget.

Referenced by TargetParticleRenderer::renderParticle().

virtual void TargetRendererImpl::simulate ( float  frameTime  )  [pure virtual]

Implemented in TargetRendererImplTank, and TargetRendererImplTarget.

Referenced by RenderTargets::Renderer3D::simulate().

void TargetRendererImpl::moved (  )  [virtual]

Implements TargetRenderer.

Definition at line 60 of file TargetRendererImpl.cpp.

References Target::getAlive(), Target::getLife(), TargetLife::getTargetPosition(), VisibilityPatchGrid::getTargetVisibilityPatch(), VisibilityPatchGrid::instance(), matrixCached_, setMovedPatch(), and target_.

void TargetRendererImpl::setMakeParticle (  )  [inline]

Definition at line 42 of file TargetRendererImpl.h.

References particleMade_.

Referenced by TargetParticleRenderer::recycleParticle().

static void TargetRendererImpl::setHighlightType ( HighlightType  type  )  [inline, static]

Definition at line 51 of file TargetRendererImpl.h.

References highlightType_.

Referenced by TutorialDialog::processEvents().

void TargetRendererImpl::createParticle (  ) 

Definition at line 389 of file TargetRendererImpl.cpp.

References TargetShield::getCurrentShield(), TargetState::getFalling(), TargetParticleRenderer::getInstance(), Vector::getNullVector(), ScorchedClient::getParticleEngine(), Target::getPlayerId(), Target::getShield(), Target::getTargetState(), ScorchedClient::instance(), Target::isTarget(), Particle::life_, particleMade_, Particle::renderer_, Particle::setParticle(), target_, tree_, and Particle::userData_.

Referenced by TargetRendererImplTarget::render(), and TargetRendererImplTank::render().

void TargetRendererImpl::drawShield ( float  shieldHit,
float  totalTime 
) [protected]

Definition at line 131 of file TargetRendererImpl.cpp.

References fixed::asFloat(), GLState::BLEND_ON, GLTexture::create(), GLTexture::draw(), Hemisphere::draw(), GLCameraFrustum::drawBilboard(), Accessory::getAction(), ShieldRound::getActualRadius(), Shield::getColor(), TargetShield::getCurrentShield(), S3D::getDataFile(), getFastCos(), getFastSin(), TargetLife::getFloatPosition(), ShieldRound::getGlow(), ShieldRound::getHalfShield(), Target::getLife(), Shield::getRound(), Target::getShield(), Shield::getShieldType(), ShieldSquare::getSize(), GL_COMPILE, GL_FALSE, GL_ONE, GL_ONE_MINUS_SRC_ALPHA, GL_QUAD_STRIP, GL_QUADS, GL_SRC_ALPHA, GL_TRUE, glBegin(), glBlendFunc(), glCallList(), glColor4f(), glDepthMask(), glEnd(), glEndList(), glGenLists(), glNewList(), glPopMatrix(), glPushMatrix(), glRotatef(), glScalef(), glTexCoord2f(), glTranslatef(), glVertex3f(), GLCameraFrustum::instance(), ImageFactory::loadImageHandle(), PI, Shield::ShieldTypeRoundMag, target_, and GLState::TEXTURE_ON.

Referenced by TargetRendererImplTarget::drawParticle(), and TargetRendererImplTank::drawParticle().

void TargetRendererImpl::drawParachute (  )  [protected]

Definition at line 345 of file TargetRendererImpl.cpp.

References TargetState::getFalling(), TargetLife::getFloatPosition(), Target::getLife(), TankFalling::getParachute(), Target::getTargetState(), GL_COMPILE, GL_LINES, GL_TRIANGLE_FAN, glBegin(), glCallList(), glColor3f(), glEnd(), glEndList(), glGenLists(), glNewList(), glPopMatrix(), glPushMatrix(), glTranslatef(), glVertex3f(), listNo, target_, and GLState::TEXTURE_OFF.

Referenced by TargetRendererImplTarget::drawParticle(), and TargetRendererImplTank::drawParticle().

bool TargetRendererImpl::getVisible (  )  [protected]

Definition at line 123 of file TargetRendererImpl.cpp.

References currentVisibilityPatch_, Target::getAlive(), TargetVisibilityPatch::getVisible(), and target_.

Referenced by TargetRendererImplTarget::drawParticle(), and TargetRendererImplTank::drawParticle().

float TargetRendererImpl::getTargetSize (  )  [protected]

Definition at line 435 of file TargetRendererImpl.cpp.

References fixed::asFloat(), TargetLife::getFloatBoundingSize(), Target::getLife(), Target::getShield(), TargetShield::getShieldBoundingSize(), MAX, and target_.

Referenced by TargetRendererImplTarget::render(), and TargetRendererImplTank::render().

float TargetRendererImpl::getTargetFade ( float  distance,
float  size 
) [protected]

Definition at line 444 of file TargetRendererImpl.cpp.

References OptionsDisplay::getDrawCullingDistance(), OptionsDisplay::getDrawFadeStartDistance(), and OptionsDisplay::instance().

Referenced by TargetRendererImplTarget::render(), and TargetRendererImplTank::render().

void TargetRendererImpl::storeTarget2DPos (  )  [protected]

Definition at line 459 of file TargetRendererImpl.cpp.

References Vector::dotP(), GLCamera::getCurrentCamera(), GLCamera::getCurrentPos(), TargetLife::getFloatCenterPosition(), GLViewPort::getHeight(), Target::getLife(), GLCamera::getLookAt(), Target::getTargetName(), GLViewPort::getWidth(), GL_MODELVIEW_MATRIX, GL_PROJECTION_MATRIX, GL_VIEWPORT, glGetDoublev(), glGetIntegerv(), posX_, posY_, posZ_, and target_.

Referenced by TargetRendererImplTarget::render(), and TargetRendererImplTank::render().

void TargetRendererImpl::setMovedPatch ( TargetVisibilityPatch newPatch  )  [protected]

Definition at line 75 of file TargetRendererImpl.cpp.

References TargetVisibilityPatch::addLargeTarget(), TargetVisibilityPatch::addTarget(), TargetVisibilityPatch::addTooltip(), TargetVisibilityPatch::addTree(), currentVisibilityPatch_, VisibilityPatchGrid::getEpocNumber(), TargetLife::getFloatBoundingSize(), Target::getLife(), Target::getTargetName(), VisibilityPatchGrid::instance(), patchEpoc_, TargetVisibilityPatch::removeLargeTarget(), TargetVisibilityPatch::removeTarget(), TargetVisibilityPatch::removeTooltip(), TargetVisibilityPatch::removeTree(), target_, and tree_.

Referenced by moved(), and ~TargetRendererImpl().


Member Data Documentation

TargetRendererImpl::HighlightType TargetRendererImpl::highlightType_ [static, protected]

Initial value:

Definition at line 55 of file TargetRendererImpl.h.

Referenced by TargetRendererImplTank::render2D(), and setHighlightType().

bool TargetRendererImpl::tree_ [protected]

Definition at line 56 of file TargetRendererImpl.h.

Referenced by createParticle(), TargetRendererImplTarget::render(), setMovedPatch(), and TargetRendererImplTarget::TargetRendererImplTarget().

bool TargetRendererImpl::matrixCached_ [protected]

Definition at line 56 of file TargetRendererImpl.h.

Referenced by moved(), and TargetRendererImplTarget::render().

Matrix16 TargetRendererImpl::cachedMatrix_ [protected]

Definition at line 57 of file TargetRendererImpl.h.

Referenced by TargetRendererImplTarget::render().

Target* TargetRendererImpl::target_ [protected]

Reimplemented in TargetRendererImplTarget.

Definition at line 58 of file TargetRendererImpl.h.

Referenced by createParticle(), drawParachute(), drawShield(), getTargetSize(), getVisible(), moved(), setMovedPatch(), and storeTarget2DPos().

TargetVisibilityPatch* TargetRendererImpl::currentVisibilityPatch_ [protected]

Definition at line 59 of file TargetRendererImpl.h.

Referenced by getVisible(), and setMovedPatch().

int TargetRendererImpl::patchEpoc_ [protected]

Definition at line 60 of file TargetRendererImpl.h.

Referenced by setMovedPatch().

bool TargetRendererImpl::particleMade_ [protected]

Definition at line 61 of file TargetRendererImpl.h.

Referenced by createParticle(), and setMakeParticle().

double TargetRendererImpl::posX_ [protected]

Definition at line 74 of file TargetRendererImpl.h.

Referenced by TargetRendererImplTarget::render2D(), TargetRendererImplTank::render2D(), and storeTarget2DPos().

double TargetRendererImpl::posY_ [protected]

Definition at line 74 of file TargetRendererImpl.h.

Referenced by TargetRendererImplTarget::render2D(), TargetRendererImplTank::render2D(), and storeTarget2DPos().

double TargetRendererImpl::posZ_ [protected]

Definition at line 74 of file TargetRendererImpl.h.

Referenced by TargetRendererImplTank::render2D(), and storeTarget2DPos().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:07 2009 for Scorched3D by  doxygen 1.5.3