# Particles

from direct.particles.Particles import Particles

## Inheritance:

Particles: ParticleSystem
ParticleSystem: Physical
Physical: TypedReferenceCount
TypedReferenceCount: TypedObject ReferenceCount
TypedObject: MemoryBase
MemoryBase:
ReferenceCount: MemoryBase

## Methods of Particles:

__init__
accelerate
addForce
cleanup
disable
enable
getEmitter
getFactory
getName
getNode
getPoolSizeRanges
getRenderer
isEnabled
printParams
removeForce
setEmitter
setFactory
setRenderer
setRenderNodePath

## Methods of ParticleSystem:

ParticleSystem (Constructor)
addSpawnTemplate
clearFloorZ
clearSpawnTemplates
clearToInitial
getActiveSystemFlag
getBirthRate
getClassType
getEmitter
getFactory
getFloorZ
getIWasSpawnedFlag
getLitterSize
getLitterSpread
getLivingParticles
getLocalVelocityFlag
getPoolSize
getRenderer
getRenderParent
getSoftBirthRate
getSpawnOnDeathFlag
getSpawnRenderNode
getSpawnRenderNodePath
getSystemAge
getSystemGrowsOlderFlag
getSystemLifespan
induceLabor
render
setActiveSystemFlag
setBirthRate
setEmitter
setFactory
setFloorZ
setLitterSize
setLitterSpread
setLocalVelocityFlag
setPoolSize
setRenderer
setRenderParent
setSoftBirthRate
setSpawnOnDeathFlag
setSpawnRenderNode
setSpawnRenderNodePath
setSystemAge
setSystemGrowsOlderFlag
setSystemLifespan
setTemplateSystemFlag
softStart
softStop
update
write
writeFreeParticleFifo
writeSpawnTemplates

## Methods of Physical:

Physical (Constructor)
addAngularForce
addLinearForce
addPhysicsObject
clearAngularForces
clearLinearForces
clearPhysicsObjects
getAngularForce
getClassType
getLinearForce
getNumAngularForces
getNumLinearForces
getObjects
getPhysBody
getPhysicalNode
getPhysicalNodePath
getPhysicsManager
getViscosity
output
removeAngularForce
removeLinearForce
setViscosity
write
writeAngularForces
writeLinearForces
writePhysicsObjects

## Methods of TypedReferenceCount:

getClassType

## Methods of TypedObject:

getClassType
getType
getTypeIndex
isExactType
isOfType

## Methods of ReferenceCount:

getClassType
getRefCount
ref
testRefCountIntegrity
testRefCountNonzero
unref

__init__ def __init__(self, name=None, poolSize=1024) Undocumented function.

accelerate def accelerate(self, time, stepCount=1, stepTime=0.0) Undocumented function.

addForce def addForce(self, force) Undocumented function.

cleanup def cleanup(self) Undocumented function.

disable def disable(self) Undocumented function.

enable def enable(self) Undocumented function.

getEmitter def getEmitter(self) Undocumented function.

getFactory def getFactory(self) Undocumented function.

getName def getName(self) Undocumented function.

getNode def getNode(self) Undocumented function.

getPoolSizeRanges def getPoolSizeRanges(self) Undocumented function.

getRenderer def getRenderer(self) Undocumented function.

isEnabled def isEnabled(self) Undocumented function.

printParams def printParams(self, file=sys.stdout, targ='self') Undocumented function.

removeForce def removeForce(self, force) Undocumented function.

setEmitter def setEmitter(self, type) Undocumented function.

setFactory def setFactory(self, type) Undocumented function.

setRenderer def setRenderer(self, type) Undocumented function.

setRenderNodePath def setRenderNodePath(self, nodePath) Undocumented function.

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.