15 #ifndef POINTPARTICLERENDERER_H
16 #define POINTPARTICLERENDERER_H
18 #include "baseParticleRenderer.h"
19 #include "baseParticle.h"
20 #include "renderModeAttrib.h"
21 #include "pointerTo.h"
22 #include "pointerToArray.h"
25 #include "geomVertexData.h"
26 #include "geomPoints.h"
27 #include "pStatCollector.h"
38 enum PointParticleBlendType {
46 PN_stdfloat point_size = 1.0f,
47 PointParticleBlendType bt = PP_ONE_COLOR,
48 ParticleRendererBlendMethod bm = PP_NO_BLEND,
58 INLINE
void set_point_size(PN_stdfloat point_size);
59 INLINE
void set_start_color(
const LColor& sc);
60 INLINE
void set_end_color(
const LColor& ec);
61 INLINE
void set_blend_type(PointParticleBlendType bt);
62 INLINE
void set_blend_method(ParticleRendererBlendMethod bm);
64 INLINE PN_stdfloat get_point_size()
const;
65 INLINE
const LColor& get_start_color()
const;
66 INLINE
const LColor& get_end_color()
const;
67 INLINE PointParticleBlendType get_blend_type()
const;
68 INLINE ParticleRendererBlendMethod get_blend_method()
const;
70 virtual void output(ostream &out)
const;
71 virtual void write(ostream &out,
int indent_level = 0)
const;
76 PN_stdfloat _point_size;
79 PT(
Geom) _point_primitive;
85 PointParticleBlendType _blend_type;
86 ParticleRendererBlendMethod _blend_method;
93 virtual void birth_particle(
int index);
94 virtual void kill_particle(
int index);
95 virtual void init_geoms();
98 virtual void resize_pool(
int new_size);
103 #include "pointParticleRenderer.I"
105 #endif // POINTPARTICLERENDERER_H
This is the base class for a number of render attributes (other than transform) that may be set on sc...
Defines a series of disconnected points.
virtual void output(ostream &out) const
Write a string representation of this instance to <out>.
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.
Simple point/point particle renderer.
This is the base class for all three-component vectors and points.
An individual, physically-modelable particle abstract base class.
virtual void write(ostream &out, int indent=0) const
Write a string representation of this instance to <out>.