ParticleSystem

Inheritance:

Methods of ParticleSystem:

Methods of Physical:

Methods of TypedReferenceCount:

Methods of TypedObject:

Methods of ReferenceCount:

ParticleSystem
ParticleSystem::ParticleSystem(int pool_size = (0));

constructor/destructor
Description : Default Constructor.
Description : Copy Constructor.

addSpawnTemplate
void ParticleSystem::add_spawn_template(ParticleSystem *ps);

particle template vector

clearFloorZ
void ParticleSystem::clear_floor_z(void);

Undocumented function.

clearSpawnTemplates
void ParticleSystem::clear_spawn_templates(void);

Undocumented function.

clearToInitial
void ParticleSystem::clear_to_initial(void);

Description : Resets the system to its start state by resizing to 0, then resizing back to current size.

getActiveSystemFlag
bool ParticleSystem::get_active_system_flag(void) const;

Undocumented function.

getBirthRate
float ParticleSystem::get_birth_rate(void) const;

Undocumented function.

getClassType
static TypeHandle ParticleSystem::get_class_type(void);

Undocumented function.

getEmitter
BaseParticleEmitter *ParticleSystem::get_emitter(void) const;

Undocumented function.

getFactory
BaseParticleFactory *ParticleSystem::get_factory(void) const;

Undocumented function.

getFloorZ
float ParticleSystem::get_floor_z(void) const;

Undocumented function.

getIWasSpawnedFlag
bool ParticleSystem::get_i_was_spawned_flag(void) const;

Undocumented function.

getLitterSize
int ParticleSystem::get_litter_size(void) const;

Undocumented function.

getLitterSpread
int ParticleSystem::get_litter_spread(void) const;

Undocumented function.

getLivingParticles
int ParticleSystem::get_living_particles(void) const;

Undocumented function.

getLocalVelocityFlag
bool ParticleSystem::get_local_velocity_flag(void) const;

Undocumented function.

getPoolSize
int ParticleSystem::get_pool_size(void) const;

///////////////////////////////////////////////////// GET METHODS ///////////////////////////////////////////////////// /////////////////////////////////////////////////////

getRenderer
BaseParticleRenderer *ParticleSystem::get_renderer(void) const;

Undocumented function.

getRenderParent
NodePath ParticleSystem::get_render_parent(void) const;

Undocumented function.

getSoftBirthRate
float ParticleSystem::get_soft_birth_rate(void) const;

Undocumented function.

getSpawnOnDeathFlag
bool ParticleSystem::get_spawn_on_death_flag(void) const;

Undocumented function.

getSpawnRenderNode
PandaNode *ParticleSystem::get_spawn_render_node(void) const;

Undocumented function.

getSpawnRenderNodePath
NodePath ParticleSystem::get_spawn_render_node_path(void) const;

Undocumented function.

getSystemAge
float ParticleSystem::get_system_age(void) const;

Undocumented function.

getSystemGrowsOlderFlag
bool ParticleSystem::get_system_grows_older_flag(void) const;

Undocumented function.

getSystemLifespan
float ParticleSystem::get_system_lifespan(void) const;

Undocumented function.

induceLabor
void ParticleSystem::induce_labor(void);

Description : Forces the birth of a particle litter this frame by resetting _tics_since_birth

render
void ParticleSystem::render(void);

methods
Filename: particleSystem.I Created by: charles (14Jun00)
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. All rights reserved.
All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE."
Description : Populates an attached GeomNode structure with the particle geometry for rendering. This is a wrapper for accessability.

setActiveSystemFlag
void ParticleSystem::set_active_system_flag(bool a);

Undocumented function.

setBirthRate
void ParticleSystem::set_birth_rate(float new_br);

access/queries

setEmitter
void ParticleSystem::set_emitter(BaseParticleEmitter *e);

Undocumented function.

setFactory
void ParticleSystem::set_factory(BaseParticleFactory *f);

Undocumented function.

setFloorZ
void ParticleSystem::set_floor_z(float z);

Undocumented function.

setLitterSize
void ParticleSystem::set_litter_size(int new_ls);

Undocumented function.

setLitterSpread
void ParticleSystem::set_litter_spread(int new_ls);

Undocumented function.

setLocalVelocityFlag
void ParticleSystem::set_local_velocity_flag(bool lv);

Undocumented function.

setPoolSize
void ParticleSystem::set_pool_size(int size);

access/queries
/////////////////////////////////////////////////////// SET METHODS /////////////////////////////////////////////////////// ///////////////////////////////////////////////////////

setRenderer
void ParticleSystem::set_renderer(BaseParticleRenderer *r);

Undocumented function.

setRenderParent
void ParticleSystem::set_render_parent(PandaNode *node);

Undocumented function.

setSoftBirthRate
void ParticleSystem::set_soft_birth_rate(float new_br);

Undocumented function.

setSpawnOnDeathFlag
void ParticleSystem::set_spawn_on_death_flag(bool sod);

Undocumented function.

setSpawnRenderNode
void ParticleSystem::set_spawn_render_node(PandaNode *node);

Undocumented function.

setSpawnRenderNodePath
void ParticleSystem::set_spawn_render_node_path(NodePath const &node);

Undocumented function.

setSystemAge
void ParticleSystem::set_system_age(float age);

Undocumented function.

setSystemGrowsOlderFlag
void ParticleSystem::set_system_grows_older_flag(bool sgo);

Undocumented function.

setSystemLifespan
void ParticleSystem::set_system_lifespan(float sl);

Undocumented function.

setTemplateSystemFlag
void ParticleSystem::set_template_system_flag(bool tsf);

Undocumented function.

softStart
void ParticleSystem::soft_start(float br = (0));

Description : Causes system to use birth rate set by set_birth_rate()

softStop
void ParticleSystem::soft_stop(float br = (0));

Description : Causes system to use birth rate set by set_soft_birth_rate()

update
void ParticleSystem::update(float dt);

Undocumented function.

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

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

writeFreeParticleFifo
virtual void ParticleSystem::write_free_particle_fifo(ostream &out, int indent = (0)) const;

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

writeSpawnTemplates
virtual void ParticleSystem::write_spawn_templates(ostream &out, int indent = (0)) const;

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

Physical
Physical::Physical(int total_objects = (1), bool pre_alloc = (0));

Description : Default Constructor
The idea here is that most physicals will NOT be collections of sets (i.e. particle systems and whatever else). Because of this, the default constructor, unless otherwise specified, will automatically allocate and initialize one PhysicalObject. This makes it easier for high-level work.
pre-alloc is ONLY for multiple-object physicals, and if true, fills the physics_object vector with dead nodes, pre-allocating for the speed end of the speed-vs-overhead deal.
Description : copy constructor (note- does deep copy of pn's) but does NOT attach itself to its template's physicsmanager.

addAngularForce
void Physical::add_angular_force(AngularForce *f);

Description : Adds an angular force to the force list

addLinearForce
void Physical::add_linear_force(LinearForce *f);

Description : Adds a linear force to the force list

addPhysicsObject
void Physical::add_physics_object(PhysicsObject *po);

Description : Adds an object to the physics object vector

clearAngularForces
void Physical::clear_angular_forces(void);

Description : Erases the angular force list

clearLinearForces
void Physical::clear_linear_forces(void);

Description : Erases the linear force list

clearPhysicsObjects
void Physical::clear_physics_objects(void);

Description : Erases the object list

getAngularForce
PointerTo< AngularForce > Physical::get_angular_force(int index) const;

Undocumented function.

getClassType
static TypeHandle Physical::get_class_type(void);

Undocumented function.

getLinearForce
PointerTo< LinearForce > Physical::get_linear_force(int index) const;

Undocumented function.

getNumAngularForces
int Physical::get_num_angular_forces(void) const;

Undocumented function.

getNumLinearForces
int Physical::get_num_linear_forces(void) const;

Undocumented function.

getObjects
PhysicsObjectCollection const Physical::get_objects(void) const;

Undocumented function.

getPhysBody
PhysicsObject *Physical::get_phys_body(void) const;

Undocumented function.

getPhysicalNode
PhysicalNode *Physical::get_physical_node(void) const;

helpers

getPhysicalNodePath
NodePath Physical::get_physical_node_path(void) const;

Undocumented function.

getPhysicsManager
PhysicsManager *Physical::get_physics_manager(void) const;

helpers

getViscosity
float Physical::get_viscosity(void) const;

Description : Get the local viscosity.

output
virtual void Physical::output(ostream &out = (cout)) const;

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

removeAngularForce
void Physical::remove_angular_force(AngularForce *f);

Description : removes an angular force from the force list

removeLinearForce
void Physical::remove_linear_force(LinearForce *f);

Description : removes a linear force from the force list

setViscosity
void Physical::set_viscosity(float viscosity);

Description : Set the local viscosity.

write
virtual void Physical::write(ostream &out = (cout), unsigned int indent = (0)) const;

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

writeAngularForces
virtual void Physical::write_angular_forces(ostream &out = (cout), unsigned int indent = (0)) const;

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

writeLinearForces
virtual void Physical::write_linear_forces(ostream &out = (cout), unsigned int indent = (0)) const;

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

writePhysicsObjects
virtual void Physical::write_physics_objects(ostream &out = (cout), unsigned int indent = (0)) const;

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

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.