15 #ifndef SPARKLEPARTICLERENDERER_H 16 #define SPARKLEPARTICLERENDERER_H 18 #include "baseParticle.h" 19 #include "baseParticleRenderer.h" 20 #include "pointerTo.h" 21 #include "pointerToArray.h" 23 #include "geomVertexData.h" 24 #include "geomLines.h" 25 #include "pStatCollector.h" 27 enum SparkleParticleLifeScale {
38 enum SparkleParticleLifeScale {
47 PN_stdfloat birth_radius,
48 PN_stdfloat death_radius,
49 SparkleParticleLifeScale life_scale,
50 ParticleRendererAlphaMode alpha_mode);
58 INLINE
void set_center_color(
const LColor& c);
59 INLINE
void set_edge_color(
const LColor& c);
60 INLINE
void set_birth_radius(PN_stdfloat radius);
61 INLINE
void set_death_radius(PN_stdfloat radius);
62 INLINE
void set_life_scale(SparkleParticleLifeScale);
64 INLINE
const LColor& get_center_color()
const;
65 INLINE
const LColor& get_edge_color()
const;
66 INLINE PN_stdfloat get_birth_radius()
const;
67 INLINE PN_stdfloat get_death_radius()
const;
68 INLINE SparkleParticleLifeScale get_life_scale()
const;
70 virtual void output(ostream &out)
const;
71 virtual void write(ostream &out,
int indent_level = 0)
const;
77 PN_stdfloat _birth_radius;
78 PN_stdfloat _death_radius;
80 PT(
Geom) _line_primitive;
86 SparkleParticleLifeScale _life_scale;
92 virtual void birth_particle(
int index);
93 virtual void kill_particle(
int index);
94 virtual void init_geoms();
97 virtual void resize_pool(
int new_size);
102 #include "sparkleParticleRenderer.I" 104 #endif // SPARKLEPARTICLERENDERER_H A body on which physics will be applied.
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is our own Panda specialization on the default STL vector.
A lightweight class that represents a single element that may be timed and/or counted via stats...
Pure virtual particle renderer base class.
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
A container for geometry primitives.
Defines a series of disconnected line segments.
This is the base class for all three-component vectors and points.
An individual, physically-modelable particle abstract base class.
virtual void output(ostream &out) const
Write a string representation of this instance to <out>.
virtual void write(ostream &out, int indent=0) const
Write a string representation of this instance to <out>.