14#ifndef BASEPARTICLEEMITTER_H
15#define BASEPARTICLEEMITTER_H
25class EXPCL_PANDA_PARTICLESYSTEM BaseParticleEmitter :
public ReferenceCount {
33 virtual ~BaseParticleEmitter();
34 virtual BaseParticleEmitter *make_copy() = 0;
36 void generate(LPoint3& pos, LVector3& vel);
52 virtual void output(std::ostream &out)
const;
53 virtual void write(std::ostream &out,
int indent=0)
const;
56 BaseParticleEmitter();
57 BaseParticleEmitter(
const BaseParticleEmitter ©);
59 emissionType _emission_type;
60 LVector3 _explicit_launch_vector;
61 LPoint3 _radiate_origin;
63 PN_stdfloat _amplitude;
64 PN_stdfloat _amplitude_spread;
68 virtual void assign_initial_position(LPoint3& pos) = 0;
69 virtual void assign_initial_velocity(LVector3& vel) = 0;
71 LVector3 _offset_force;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PN_stdfloat get_amplitude_spread() const
amplitude spread query
void set_amplitude_spread(PN_stdfloat as)
amplitude spread assignment
void set_emission_type(emissionType et)
emission type assignment
void set_offset_force(const LVector3 &of)
user-defined force
virtual void write(std::ostream &out, int indent=0) const
Write a string representation of this instance to <out>.
void generate(LPoint3 &pos, LVector3 &vel)
parent generation function
PN_stdfloat get_amplitude() const
amplitude query
LVector3 get_offset_force() const
user-defined force
void set_radiate_origin(const LPoint3 &ro)
assignment of radiate emission origin point
virtual void output(std::ostream &out) const
Write a string representation of this instance to <out>.
emissionType get_emission_type() const
emission type query
void set_amplitude(PN_stdfloat a)
amplitude assignment
void set_explicit_launch_vector(const LVector3 &elv)
assignment of explicit emission launch vector
LVector3 get_explicit_launch_vector() const
query for explicit emission launch vector
LPoint3 get_radiate_origin() const
query for explicit emission launch vector
std::ostream & indent(std::ostream &out, int indent_level)
A handy function for doing text formatting.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.