Panda3D
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::~BaseParticleEmitter ( )
virtual

destructor

Definition at line 55 of file baseParticleEmitter.cxx.

References generate().

Member Function Documentation

◆ generate()

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

parent generation function

Definition at line 64 of file baseParticleEmitter.cxx.

References LVecBase3f::normalize(), and output().

Referenced by ~BaseParticleEmitter().

◆ get_amplitude()

PN_stdfloat BaseParticleEmitter::get_amplitude ( ) const
inline

amplitude query

Definition at line 91 of file baseParticleEmitter.I.

References set_amplitude_spread().

Referenced by set_amplitude().

◆ get_amplitude_spread()

PN_stdfloat BaseParticleEmitter::get_amplitude_spread ( ) const
inline

amplitude spread query

Definition at line 111 of file baseParticleEmitter.I.

References set_offset_force().

Referenced by set_amplitude_spread().

◆ get_emission_type()

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

emission type query

Definition at line 31 of file baseParticleEmitter.I.

References set_explicit_launch_vector().

Referenced by set_emission_type().

◆ get_explicit_launch_vector()

LVector3 BaseParticleEmitter::get_explicit_launch_vector ( ) const
inline

query for explicit emission launch vector

Definition at line 51 of file baseParticleEmitter.I.

References set_radiate_origin().

Referenced by set_explicit_launch_vector().

◆ get_offset_force()

LVector3 BaseParticleEmitter::get_offset_force ( ) const
inline

user-defined force

Definition at line 131 of file baseParticleEmitter.I.

Referenced by set_offset_force().

◆ get_radiate_origin()

LPoint3 BaseParticleEmitter::get_radiate_origin ( ) const
inline

query for explicit emission launch vector

Definition at line 71 of file baseParticleEmitter.I.

References set_amplitude().

Referenced by set_radiate_origin().

◆ output()

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.

References write().

Referenced by generate().

◆ set_amplitude()

void BaseParticleEmitter::set_amplitude ( PN_stdfloat  a)
inline

amplitude assignment

Definition at line 81 of file baseParticleEmitter.I.

References get_amplitude().

Referenced by get_radiate_origin().

◆ set_amplitude_spread()

void BaseParticleEmitter::set_amplitude_spread ( PN_stdfloat  as)
inline

amplitude spread assignment

Definition at line 101 of file baseParticleEmitter.I.

References get_amplitude_spread().

Referenced by get_amplitude().

◆ set_emission_type()

void BaseParticleEmitter::set_emission_type ( emissionType  et)
inline

emission type assignment

Definition at line 21 of file baseParticleEmitter.I.

References get_emission_type().

◆ set_explicit_launch_vector()

void BaseParticleEmitter::set_explicit_launch_vector ( const LVector3 elv)
inline

assignment of explicit emission launch vector

Definition at line 41 of file baseParticleEmitter.I.

References get_explicit_launch_vector().

Referenced by get_emission_type().

◆ set_offset_force()

void BaseParticleEmitter::set_offset_force ( const LVector3 of)
inline

user-defined force

Definition at line 121 of file baseParticleEmitter.I.

References get_offset_force().

Referenced by get_amplitude_spread().

◆ set_radiate_origin()

void BaseParticleEmitter::set_radiate_origin ( const LPoint3 ro)
inline

assignment of radiate emission origin point

Definition at line 61 of file baseParticleEmitter.I.

References get_radiate_origin().

Referenced by get_explicit_launch_vector().

◆ write()

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

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