Panda3D
Public Member Functions | List of all members
RingEmitter Class Reference

Describes a planar ring region in which particles are generated. More...

#include "ringEmitter.h"

Inheritance diagram for RingEmitter:
BaseParticleEmitter ReferenceCount MemoryBase ArcEmitter

Public Member Functions

 RingEmitter ()
 constructor More...
 
 RingEmitter (const RingEmitter &copy)
 copy constructor More...
 
virtual ~RingEmitter ()
 destructor More...
 
PN_stdfloat get_angle () const
 angle of elevation get More...
 
PN_stdfloat get_radius () const
 radius get More...
 
PN_stdfloat get_radius_spread () const
 radius_spread get More...
 
int get_uniform_emission () const
 uniform_emission get More...
 
virtual BaseParticleEmittermake_copy ()
 copier More...
 
virtual void output (ostream &out) const
 Write a string representation of this instance to <out>. More...
 
void set_angle (PN_stdfloat angle)
 angle of elevation set More...
 
void set_radius (PN_stdfloat r)
 radius set More...
 
void set_radius_spread (PN_stdfloat spread)
 radius_spread set More...
 
void set_uniform_emission (int uniform_emission)
 uniform_emission set 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 BaseParticleEmitter
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...
 
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...
 
- 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

- Public Types inherited from BaseParticleEmitter
enum  emissionType { ET_EXPLICIT, ET_RADIATE, ET_CUSTOM }
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 

Detailed Description

Describes a planar ring region in which particles are generated.

Definition at line 25 of file ringEmitter.h.

Constructor & Destructor Documentation

◆ RingEmitter() [1/2]

RingEmitter::RingEmitter ( )

constructor

Definition at line 23 of file ringEmitter.cxx.

Referenced by make_copy().

◆ RingEmitter() [2/2]

RingEmitter::RingEmitter ( const RingEmitter copy)

copy constructor

Definition at line 34 of file ringEmitter.cxx.

References ~RingEmitter().

◆ ~RingEmitter()

RingEmitter::~RingEmitter ( )
virtual

destructor

Definition at line 52 of file ringEmitter.cxx.

References make_copy().

Referenced by RingEmitter().

Member Function Documentation

◆ get_angle()

PN_stdfloat RingEmitter::get_angle ( ) const
inline

angle of elevation get

Definition at line 77 of file ringEmitter.I.

References get_radius_spread().

Referenced by get_radius().

◆ get_radius()

PN_stdfloat RingEmitter::get_radius ( ) const
inline

radius get

Definition at line 66 of file ringEmitter.I.

References get_angle().

Referenced by set_uniform_emission().

◆ get_radius_spread()

PN_stdfloat RingEmitter::get_radius_spread ( ) const
inline

radius_spread get

Definition at line 88 of file ringEmitter.I.

References get_uniform_emission().

Referenced by get_angle().

◆ get_uniform_emission()

int RingEmitter::get_uniform_emission ( ) const
inline

uniform_emission get

Definition at line 99 of file ringEmitter.I.

Referenced by get_radius_spread().

◆ make_copy()

BaseParticleEmitter * RingEmitter::make_copy ( )
virtual

copier

Implements BaseParticleEmitter.

Reimplemented in ArcEmitter.

Definition at line 61 of file ringEmitter.cxx.

References output(), and RingEmitter().

Referenced by ~RingEmitter().

◆ output()

void RingEmitter::output ( ostream &  out) const
virtual

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

Reimplemented from BaseParticleEmitter.

Reimplemented in ArcEmitter.

Definition at line 124 of file ringEmitter.cxx.

References write().

Referenced by make_copy().

◆ set_angle()

void RingEmitter::set_angle ( PN_stdfloat  angle)
inline

angle of elevation set

Definition at line 33 of file ringEmitter.I.

References set_radius_spread().

Referenced by set_radius().

◆ set_radius()

void RingEmitter::set_radius ( PN_stdfloat  r)
inline

radius set

Definition at line 22 of file ringEmitter.I.

References set_angle().

◆ set_radius_spread()

void RingEmitter::set_radius_spread ( PN_stdfloat  spread)
inline

radius_spread set

Definition at line 44 of file ringEmitter.I.

References set_uniform_emission().

Referenced by set_angle().

◆ set_uniform_emission()

void RingEmitter::set_uniform_emission ( int  uniform_emission)
inline

uniform_emission set

Definition at line 55 of file ringEmitter.I.

References get_radius().

Referenced by set_radius_spread().

◆ write()

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

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

Reimplemented from BaseParticleEmitter.

Reimplemented in ArcEmitter.

Definition at line 137 of file ringEmitter.cxx.

References BaseParticleEmitter::write().

Referenced by output(), and ArcEmitter::write().


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