BaseParticleRenderer Class Reference

Pure virtual particle renderer base class. More...

Inheritance diagram for BaseParticleRenderer:
ReferenceCount MemoryBase GeomParticleRenderer LineParticleRenderer PointParticleRenderer SparkleParticleRenderer SpriteParticleRenderer SpriteParticleRendererExt

Public Types

enum  ParticleRendererAlphaMode {
  PR_ALPHA_NONE = 0, PR_ALPHA_OUT = 1, PR_ALPHA_IN = 2, PR_ALPHA_IN_OUT = 3,
  PR_ALPHA_USER = 4, PR_NOT_INITIALIZED_YET = 5
}
 
enum  ParticleRendererBlendMethod { PP_NO_BLEND = 0, PP_BLEND_LINEAR = 1, PP_BLEND_CUBIC = 2 }
 

Public Member Functions

BaseParticleRenderer::ParticleRendererAlphaMode getAlphaMode ()
 
bool getIgnoreScale ()
 Returns the "ignore scale" flag. See set_ignore_scale(). More...
 
GeomNode getRenderNode ()
 Query the geomnode pointer. More...
 
NodePath getRenderNodePath ()
 Query the geomnode pointer. More...
 
PNStdfloat getUserAlpha ()
 gets alpha for "user" alpha mode More...
 
 output (Ostream out)
 Write a string representation of this instance to <out>. More...
 
 setAlphaMode (BaseParticleRenderer::ParticleRendererAlphaMode am)
 
 setColorBlendMode (ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa, ColorBlendAttrib::Operand ob)
 sets the ColorBlendAttrib on the _render_node More...
 
 setIgnoreScale (bool ignore_scale)
 Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph. More...
 
 setUserAlpha (PNStdfloat ua)
 sets alpha for "user" alpha mode More...
 
 write (Ostream out, int indent)
 Write a string representation of this instance to <out>. More...
 
- Public Member Functions inherited from ReferenceCount
int getRefCount ()
 Returns the current reference count. More...
 
 ref ()
 Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise. More...
 
bool unref ()
 Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete(). More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 

Detailed Description

Pure virtual particle renderer base class.

Member Enumeration Documentation

Enumerator
PR_ALPHA_NONE 
PR_ALPHA_OUT 
PR_ALPHA_IN 
PR_ALPHA_IN_OUT 
PR_ALPHA_USER 
PR_NOT_INITIALIZED_YET 
Enumerator
PP_NO_BLEND 
PP_BLEND_LINEAR 
PP_BLEND_CUBIC 

Member Function Documentation

bool getIgnoreScale ( )

Returns the "ignore scale" flag. See set_ignore_scale().

GeomNode getRenderNode ( )

Query the geomnode pointer.

NodePath getRenderNodePath ( )

Query the geomnode pointer.

PNStdfloat getUserAlpha ( )

gets alpha for "user" alpha mode

output ( Ostream  out)

Write a string representation of this instance to <out>.

sets the ColorBlendAttrib on the _render_node

setIgnoreScale ( bool  ignore_scale)

Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.

This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha ( PNStdfloat  ua)

sets alpha for "user" alpha mode

write ( Ostream  out,
int  indent 
)

Write a string representation of this instance to <out>.