Panda3D
 All Classes Functions Variables Enumerations
Public Types | Public Member Functions | List of all members
BaseParticleEmitter Class Referenceabstract

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

Public Types

enum  emissionType { ET_EXPLICIT, ET_RADIATE, ET_CUSTOM }
 

Public Member Functions

virtual ~BaseParticleEmitter ()
 destructor More...
 
void generate (LPoint3 &pos, LVector3 &vel)
 parent generation function More...
 
PN_stdfloat get_amplitude () const
 amplitude query More...
 
PN_stdfloat get_amplitude_spread () const
 amplitude spread query More...
 
emissionType get_emission_type () const
 emission type query More...
 
LVector3 get_explicit_launch_vector () const
 query for explicit emission launch vector More...
 
LVector3 get_offset_force () const
 user-defined force More...
 
LPoint3 get_radiate_origin () const
 query for explicit emission launch vector More...
 
virtual BaseParticleEmittermake_copy ()=0
 
virtual void output (ostream &out) const
 Write a string representation of this instance to <out>. More...
 
void set_amplitude (PN_stdfloat a)
 amplitude assignment More...
 
void set_amplitude_spread (PN_stdfloat as)
 amplitude spread assignment More...
 
void set_emission_type (emissionType et)
 emission type assignment More...
 
void set_explicit_launch_vector (const LVector3 &elv)
 assignment of explicit emission launch vector More...
 
void set_offset_force (const LVector3 &of)
 user-defined force More...
 
void set_radiate_origin (const LPoint3 &ro)
 assignment of radiate emission origin point More...
 
virtual void write (ostream &out, int indent=0) const
 Write a string representation of this instance to <out>. More...
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 Returns the current reference count. More...
 
WeakReferenceListget_weak_list () const
 Returns the WeakReferenceList associated with this ReferenceCount object. More...
 
bool has_weak_list () const
 Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
 
void local_object ()
 This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
 
void ref () const
 Explicitly increments the reference count. More...
 
bool test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool test_ref_count_nonzero () const
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
virtual bool unref () const
 Explicitly decrements the reference count. More...
 
void weak_ref (WeakPointerToVoid *ptv)
 Adds the indicated PointerToVoid as a weak reference to this object. More...
 
void weak_unref (WeakPointerToVoid *ptv)
 Removes the indicated PointerToVoid as a weak reference to this object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 

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

BaseParticleEmitter::~BaseParticleEmitter ( )
virtual

destructor

Definition at line 55 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.

LVector3 BaseParticleEmitter::get_explicit_launch_vector ( ) const
inline

query for explicit emission launch vector

Definition at line 51 of file baseParticleEmitter.I.

LVector3 BaseParticleEmitter::get_offset_force ( ) const
inline

user-defined force

Definition at line 131 of file baseParticleEmitter.I.

LPoint3 BaseParticleEmitter::get_radiate_origin ( ) const
inline

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.

void BaseParticleEmitter::set_explicit_launch_vector ( const LVector3 elv)
inline

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

The documentation for this class was generated from the following files: