Panda3D
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
BaseParticleEmitter Class Reference

Describes a physical region in space in which particles are randomly generated. More...

#include "baseParticleEmitter.h"

Inheritance diagram for BaseParticleEmitter:
ReferenceCount MemoryBase BoxEmitter DiscEmitter LineEmitter PointEmitter RectangleEmitter RingEmitter SphereSurfaceEmitter SphereVolumeEmitter TangentRingEmitter

List of all members.

Public Types

enum  emissionType { ET_EXPLICIT, ET_RADIATE, ET_CUSTOM }

Public Member Functions

virtual ~BaseParticleEmitter ()
 destructor
void generate (LPoint3 &pos, LVector3 &vel)
 parent generation function
PN_stdfloat get_amplitude () const
 amplitude query
PN_stdfloat get_amplitude_spread () const
 amplitude spread query
emissionType get_emission_type () const
 emission type query
LVector3 get_explicit_launch_vector () const
 query for explicit emission launch vector
LVector3 get_offset_force () const
 user-defined force
LPoint3 get_radiate_origin () const
 query for explicit emission launch vector
virtual BaseParticleEmittermake_copy ()=0
virtual void output (ostream &out) const
 Write a string representation of this instance to <out>.
void set_amplitude (PN_stdfloat a)
 amplitude assignment
void set_amplitude_spread (PN_stdfloat as)
 amplitude spread assignment
void set_emission_type (emissionType et)
 emission type assignment
void set_explicit_launch_vector (const LVector3 &elv)
 assignment of explicit emission launch vector
void set_offset_force (const LVector3 &of)
 user-defined force
void set_radiate_origin (const LPoint3 &ro)
 assignment of radiate emission origin point
virtual void write (ostream &out, int indent=0) const
 Write a string representation of this instance to <out>.

Protected Member Functions

 BaseParticleEmitter ()
 constructor
 BaseParticleEmitter (const BaseParticleEmitter &copy)
 copy constructor

Protected Attributes

PN_stdfloat _amplitude
PN_stdfloat _amplitude_spread
emissionType _emission_type
LVector3 _explicit_launch_vector
LPoint3 _radiate_origin

Detailed Description

Describes a physical region in space in which particles are randomly generated.

Definition at line 31 of file baseParticleEmitter.h.


Constructor & Destructor Documentation

destructor

Definition at line 55 of file baseParticleEmitter.cxx.

constructor

Definition at line 25 of file baseParticleEmitter.cxx.

copy constructor

Definition at line 40 of file baseParticleEmitter.cxx.


Member Function Documentation

void BaseParticleEmitter::generate ( LPoint3 pos,
LVector3 vel 
)

parent generation function

Definition at line 64 of file baseParticleEmitter.cxx.

References LVecBase3f::normalize().

PN_stdfloat BaseParticleEmitter::get_amplitude ( ) const [inline]

amplitude query

Definition at line 91 of file baseParticleEmitter.I.

PN_stdfloat BaseParticleEmitter::get_amplitude_spread ( ) const [inline]

amplitude spread query

Definition at line 111 of file baseParticleEmitter.I.

BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type ( ) const [inline]

emission type query

Definition at line 31 of file baseParticleEmitter.I.

query for explicit emission launch vector

Definition at line 51 of file baseParticleEmitter.I.

user-defined force

Definition at line 131 of file baseParticleEmitter.I.

query for explicit emission launch vector

Definition at line 71 of file baseParticleEmitter.I.

void BaseParticleEmitter::output ( ostream &  out) const [virtual]

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

Reimplemented in DiscEmitter, RingEmitter, ArcEmitter, TangentRingEmitter, BoxEmitter, LineEmitter, RectangleEmitter, PointEmitter, SphereSurfaceEmitter, and SphereVolumeEmitter.

Definition at line 94 of file baseParticleEmitter.cxx.

void BaseParticleEmitter::set_amplitude ( PN_stdfloat  a) [inline]

amplitude assignment

Definition at line 81 of file baseParticleEmitter.I.

void BaseParticleEmitter::set_amplitude_spread ( PN_stdfloat  as) [inline]

amplitude spread assignment

Definition at line 101 of file baseParticleEmitter.I.

void BaseParticleEmitter::set_emission_type ( emissionType  et) [inline]

emission type assignment

Definition at line 21 of file baseParticleEmitter.I.

assignment of explicit emission launch vector

Definition at line 41 of file baseParticleEmitter.I.

void BaseParticleEmitter::set_offset_force ( const LVector3 of) [inline]

user-defined force

Definition at line 121 of file baseParticleEmitter.I.

void BaseParticleEmitter::set_radiate_origin ( const LPoint3 ro) [inline]

assignment of radiate emission origin point

Definition at line 61 of file baseParticleEmitter.I.

void BaseParticleEmitter::write ( ostream &  out,
int  indent = 0 
) const [virtual]

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

Reimplemented in DiscEmitter, RingEmitter, ArcEmitter, TangentRingEmitter, BoxEmitter, LineEmitter, RectangleEmitter, PointEmitter, SphereSurfaceEmitter, and SphereVolumeEmitter.

Definition at line 107 of file baseParticleEmitter.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations