Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

BaseParticleRenderer Class Reference

#include <baseParticleRenderer.h>

Inheritance diagram for BaseParticleRenderer:

ReferenceCount GeomParticleRenderer LineParticleRenderer PointParticleRenderer SparkleParticleRenderer SpriteParticleRenderer List of all members.

Public Member Functions

virtual BaseParticleRenderer * make_copy (void)=0

Protected Member Functions

 BaseParticleRenderer (ParticleRendererAlphaMode alpha_decay=PR_ALPHA_NONE)
 BaseParticleRenderer (const BaseParticleRenderer &copy)
void update_alpha_mode (ParticleRendererAlphaMode am)
void enable_alpha (void)
void disable_alpha (void)
INLINE float get_cur_alpha (BaseParticle *bp)
virtual void resize_pool (int new_size)=0
 CPT (RenderState) _render_state

Protected Attributes

ParticleRendererAlphaMode _alpha_mode

Private Types

enum  ParticleRendererBlendMethod { PP_NO_BLEND, PP_BLEND_LINEAR, PP_BLEND_CUBIC }

Private Member Functions

 PT (GeomNode) _render_node
virtual void birth_particle (int index)=0
virtual void kill_particle (int index)=0
virtual void init_geoms (void)=0
virtual void render (pvector< PT(PhysicsObject) > &po_vector, int ttl_particles)=0
virtual ~BaseParticleRenderer (void)
INLINE GeomNodeget_render_node (void) const
INLINE void set_alpha_mode (ParticleRendererAlphaMode am)
INLINE ParticleRendererAlphaMode get_alpha_mode (void) const
INLINE void set_user_alpha (float ua)
INLINE float get_user_alpha (void) const

Private Attributes

float _user_alpha
PUBLISHED __pad0__: enum ParticleRendererAlphaMode { PR_ALPHA_NONE
PUBLISHED PR_ALPHA_OUT
PUBLISHED PR_ALPHA_IN
PUBLISHED PR_ALPHA_USER
PUBLISHED PR_NOT_INITIALIZED_YET

Friends

class ParticleSystem

Member Enumeration Documentation

enum BaseParticleRenderer::ParticleRendererBlendMethod [private]
 

Enumeration values:
PP_NO_BLEND 
PP_BLEND_LINEAR 
PP_BLEND_CUBIC 

Definition at line 67 of file baseParticleRenderer.h.


Constructor & Destructor Documentation

BaseParticleRenderer::~BaseParticleRenderer void   )  [private, virtual]
 

Definition at line 60 of file baseParticleRenderer.cxx.

BaseParticleRenderer::BaseParticleRenderer ParticleRendererAlphaMode  alpha_decay = PR_ALPHA_NONE  )  [protected]
 

Definition at line 30 of file baseParticleRenderer.cxx.

References _user_alpha, and update_alpha_mode().

BaseParticleRenderer::BaseParticleRenderer const BaseParticleRenderer &  copy  )  [protected]
 

Definition at line 45 of file baseParticleRenderer.cxx.

References _user_alpha, and update_alpha_mode().


Member Function Documentation

virtual void BaseParticleRenderer::birth_particle int  index  )  [private, pure virtual]
 

Implemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

BaseParticleRenderer::CPT RenderState   )  [protected]
 

void BaseParticleRenderer::disable_alpha void   )  [protected]
 

Definition at line 80 of file baseParticleRenderer.cxx.

References RenderAttrib::M_none.

Referenced by update_alpha_mode().

void BaseParticleRenderer::enable_alpha void   )  [protected]
 

Definition at line 70 of file baseParticleRenderer.cxx.

References TransparencyAttrib::M_alpha.

Referenced by update_alpha_mode().

INLINE ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode void   )  const [private]
 

Referenced by SpriteParticleRenderer::render().

INLINE float BaseParticleRenderer::get_cur_alpha BaseParticle bp  )  [protected]
 

INLINE GeomNode* BaseParticleRenderer::get_render_node void   )  const [private]
 

Referenced by GeomParticleRenderer::birth_particle(), SpriteParticleRenderer::init_geoms(), SparkleParticleRenderer::init_geoms(), PointParticleRenderer::init_geoms(), LineParticleRenderer::init_geoms(), GeomParticleRenderer::kill_nodes(), GeomParticleRenderer::kill_particle(), SpriteParticleRenderer::render(), SparkleParticleRenderer::render(), PointParticleRenderer::render(), and LineParticleRenderer::render().

INLINE float BaseParticleRenderer::get_user_alpha void   )  const [private]
 

Referenced by PointParticleRenderer::create_color(), SpriteParticleRenderer::render(), SparkleParticleRenderer::render(), LineParticleRenderer::render(), and GeomParticleRenderer::render().

virtual void BaseParticleRenderer::init_geoms void   )  [private, pure virtual]
 

Implemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

virtual void BaseParticleRenderer::kill_particle int  index  )  [private, pure virtual]
 

Implemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

virtual BaseParticleRenderer* BaseParticleRenderer::make_copy void   )  [pure virtual]
 

Implemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

BaseParticleRenderer::PT GeomNode   )  [private]
 

virtual void BaseParticleRenderer::render pvector< PT(PhysicsObject) > &  po_vector,
int  ttl_particles
[private, pure virtual]
 

Implemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

virtual void BaseParticleRenderer::resize_pool int  new_size  )  [protected, pure virtual]
 

Implemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

INLINE void BaseParticleRenderer::set_alpha_mode ParticleRendererAlphaMode  am  )  [private]
 

INLINE void BaseParticleRenderer::set_user_alpha float  ua  )  [private]
 

void BaseParticleRenderer::update_alpha_mode ParticleRendererAlphaMode  am  )  [protected]
 

Definition at line 90 of file baseParticleRenderer.cxx.

References _alpha_mode, disable_alpha(), and enable_alpha().

Referenced by BaseParticleRenderer().


Friends And Related Function Documentation

friend class ParticleSystem [friend]
 

Definition at line 103 of file baseParticleRenderer.h.


Member Data Documentation

PUBLISHED BaseParticleRenderer::__pad0__ [private]
 

Reimplemented from ReferenceCount.

Reimplemented in GeomParticleRenderer, LineParticleRenderer, PointParticleRenderer, SparkleParticleRenderer, and SpriteParticleRenderer.

Definition at line 60 of file baseParticleRenderer.h.

ParticleRendererAlphaMode BaseParticleRenderer::_alpha_mode [protected]
 

Definition at line 84 of file baseParticleRenderer.h.

Referenced by PointParticleRenderer::create_color(), SparkleParticleRenderer::render(), LineParticleRenderer::render(), GeomParticleRenderer::render(), and update_alpha_mode().

float BaseParticleRenderer::_user_alpha [private]
 

Definition at line 41 of file baseParticleRenderer.h.

Referenced by BaseParticleRenderer().

PUBLISHED BaseParticleRenderer::PR_ALPHA_IN [private]
 

Definition at line 60 of file baseParticleRenderer.h.

PUBLISHED BaseParticleRenderer::PR_ALPHA_OUT [private]
 

Definition at line 60 of file baseParticleRenderer.h.

PUBLISHED BaseParticleRenderer::PR_ALPHA_USER [private]
 

Definition at line 60 of file baseParticleRenderer.h.

Referenced by event_add_particles().

PUBLISHED BaseParticleRenderer::PR_NOT_INITIALIZED_YET [private]
 

Definition at line 60 of file baseParticleRenderer.h.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:22 2003 for Panda by doxygen1.3