# SpriteParticleRenderer

from pandac.PandaModules import SpriteParticleRenderer

Class : SpriteParticleRenderer
Description : Renders a particle system with high-speed nasty trick sprites.

## Inheritance:

SpriteParticleRenderer: BaseParticleRenderer
BaseParticleRenderer: ReferenceCount
ReferenceCount:

## Methods of SpriteParticleRenderer:

addFromNode
addTexture
getAlphaBlendMethod
getAlphaDisable
getAnim
getAnimAngleFlag
getAnimateFramesEnable
getAnimateFramesIndex
getAnimateFramesRate
getColor
getColorInterpolationManager
getFinalXScale
getFinalYScale
getHeight
getInitialXScale
getInitialYScale
getLastAnim
getLlUv
getNonanimatedTheta
getNumAnims
getTexture
getUrUv
getWidth
getXScaleFlag
getYScaleFlag
removeAnimation
setAlphaBlendMethod
setAlphaDisable
setAnimAngleFlag
setAnimateFramesEnable
setAnimateFramesIndex
setAnimateFramesRate
setColor
setFinalXScale
setFinalYScale
setFromNode
setInitialXScale
setInitialYScale
setLlUv
setNonanimatedTheta
setSize
setTexture
setUrUv
setXScaleFlag
setYScaleFlag

## Methods of BaseParticleRenderer:

getAlphaMode
getIgnoreScale
getRenderNode
getUserAlpha
output
setAlphaMode
setColorBlendMode
setIgnoreScale
setUserAlpha
write

## Methods of ReferenceCount:

getClassType
getRefCount
ref
testRefCountIntegrity
unref

## Constants in BaseParticleRenderer:

PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)

addFromNode void SpriteParticleRenderer::add_from_node(NodePath const &node_path, bool size_from_texels = (0), bool resize = (0)); Description : This will allow the renderer to randomly choose from more than one texture or sequence at particle birth. If the source type is important, use this one. model and node should lead to node_path like this: node_path = loader.loadModel(model).find(node) If resize is true, or if there are no textures currently on the renderer, it will force the renderer to use the size information from this node from now on. (Default is false)

addTexture void SpriteParticleRenderer::add_texture(Texture *tex, float texels_per_unit = (1), bool resize = (0)); Description : Adds texture to image pool, effectively creating a single frame animation that can be selected at particle birth. This should only be called after a previous call to set_texture().

getAlphaBlendMethod BaseParticleRenderer::ParticleRendererBlendMethod SpriteParticleRenderer::get_alpha_blend_method(void) const; Undocumented function.

getAlphaDisable bool SpriteParticleRenderer::get_alpha_disable(void) const; Undocumented function.

getAnim SpriteAnim *SpriteParticleRenderer::get_anim(int const n) const; Undocumented function.

getAnimAngleFlag bool SpriteParticleRenderer::get_anim_angle_flag(void) const; Undocumented function.

getAnimateFramesEnable bool SpriteParticleRenderer::get_animate_frames_enable(void) const; Undocumented function.

getAnimateFramesIndex int SpriteParticleRenderer::get_animate_frames_index(void) const; Purpose : Gets the frame to be used when animation is disabled.

getAnimateFramesRate float SpriteParticleRenderer::get_animate_frames_rate(void) const; Undocumented function.

getColor LVecBase4f SpriteParticleRenderer::get_color(void) const; Undocumented function.

getColorInterpolationManager ColorInterpolationManager *SpriteParticleRenderer::get_color_interpolation_manager(void) const; Undocumented function.

getFinalXScale float SpriteParticleRenderer::get_final_x_scale(void) const; Undocumented function.

getFinalYScale float SpriteParticleRenderer::get_final_y_scale(void) const; Undocumented function.

getHeight float SpriteParticleRenderer::get_height(void) const; Description : Returns the height of each particle in world units.

getInitialXScale float SpriteParticleRenderer::get_initial_x_scale(void) const; Undocumented function.

getInitialYScale float SpriteParticleRenderer::get_initial_y_scale(void) const; Undocumented function.

getLastAnim SpriteAnim *SpriteParticleRenderer::get_last_anim(void) const; Undocumented function.

getLlUv LPoint2f SpriteParticleRenderer::get_ll_uv(void) const; Description : Returns the UV coordinate of the lower-left corner; see set_ll_uv().

getNonanimatedTheta float SpriteParticleRenderer::get_nonanimated_theta(void) const; Undocumented function.

getNumAnims int SpriteParticleRenderer::get_num_anims(void) const; Undocumented function.

getTexture Texture *SpriteParticleRenderer::get_texture(void) const; Undocumented function.

getUrUv LPoint2f SpriteParticleRenderer::get_ur_uv(void) const; Description : Returns the UV coordinate of the lower-left corner; see set_ur_uv(). Description : Returns the UV coordinate of the upper-right corner; see set_ur_uv().

getWidth float SpriteParticleRenderer::get_width(void) const; Description : Returns the width of each particle in world units.

getXScaleFlag bool SpriteParticleRenderer::get_x_scale_flag(void) const; Undocumented function.

getYScaleFlag bool SpriteParticleRenderer::get_y_scale_flag(void) const; Undocumented function.

removeAnimation void SpriteParticleRenderer::remove_animation(int const n); Description : Removes an animation texture set from the renderer.

setAlphaBlendMethod void SpriteParticleRenderer::set_alpha_blend_method(BaseParticleRenderer::ParticleRendererBlendMethod bm); Undocumented function.

setAlphaDisable void SpriteParticleRenderer::set_alpha_disable(bool ad); Undocumented function.

setAnimAngleFlag void SpriteParticleRenderer::set_anim_angle_flag(bool animate_theta); Undocumented function.

setAnimateFramesEnable void SpriteParticleRenderer::set_animate_frames_enable(bool an); Undocumented function.

setAnimateFramesIndex void SpriteParticleRenderer::set_animate_frames_index(int i); Purpose : Sets the frame to be used when animation is disabled.

setAnimateFramesRate void SpriteParticleRenderer::set_animate_frames_rate(float r); Undocumented function.

setColor void SpriteParticleRenderer::set_color(LVecBase4f const &color); Undocumented function.

setFinalXScale void SpriteParticleRenderer::set_final_x_scale(float final_x_scale); Undocumented function.

setFinalYScale void SpriteParticleRenderer::set_final_y_scale(float final_y_scale); Undocumented function.

setFromNode void SpriteParticleRenderer::set_from_node(NodePath const &node_path, bool size_from_texels = (0)); Description : If the source type is important, use this one. model and node should lead to node_path like this: node_path = loader.loadModel(model).find(node) This will remove all previously add textures and resize the renderer to match the new geometry. Description : Sets the properties on this renderer from the geometry referenced by the indicated NodePath. This should be a reference to a GeomNode or a SequenceNode; it extracts out the texture and UV range from the node. This will remove all previously added textures and animations. It will also resize the renderer to match this new geometry. If node_path refers to a GeomNode(or has one beneath it) the texture, its size, and UV data will be extracted from that. If node_path references a SequenceNode(or has one beneath it) with multiple GeomNodes beneath it, the size data will correspond only to the first GeomNode found with a valid texture, while the texture and UV information will be stored for each individual node. If size_from_texels is true, the particle size is based on the number of texels in the source image; otherwise, it is based on the size of the first polygon found in the node. model and node are the two items used to construct node_path. If the source type is important, use set_from_node(NodePath,string,string,bool) instead.

setInitialXScale void SpriteParticleRenderer::set_initial_x_scale(float initial_x_scale); Undocumented function.

setInitialYScale void SpriteParticleRenderer::set_initial_y_scale(float initial_y_scale); Undocumented function.

setLlUv void SpriteParticleRenderer::set_ll_uv(LPoint2f const &ll_uv); Description : Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer. Normally this is (0, 0), but it might be set to something else to use only a portion of the texture.

setNonanimatedTheta void SpriteParticleRenderer::set_nonanimated_theta(float theta); Undocumented function.

setSize void SpriteParticleRenderer::set_size(float width, float height); Description : Sets the size of each particle in world units.

setTexture void SpriteParticleRenderer::set_texture(Texture *tex, float texels_per_unit = (1)); Filename: spriteParticleRenderer.I Created by: charles (13Jul00) PANDA 3D SOFTWARE Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved All use of this software is subject to the terms of the Panda 3d Software license. You should have received a copy of this license along with this source code; you will also find a current copy of the license at http://etc.cmu.edu/panda3d/docs/license/ . To contact the maintainers of this program write to panda3d-general@lists.sourceforge.net . Description : Sets the renderer up to render the entire texture image. The scale of each particle is based on the size of the texture in each dimension, modified by texels_per_unit. Used to set the size of the particles. Will clear all previously loaded textures and animations.

setUrUv void SpriteParticleRenderer::set_ur_uv(LPoint2f const &ur_uv); Description : Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer. Normally this is (1, 1), but it might be set to something else to use only a portion of the texture.

setXScaleFlag void SpriteParticleRenderer::set_x_scale_flag(bool animate_x_ratio); Undocumented function.

setYScaleFlag void SpriteParticleRenderer::set_y_scale_flag(bool animate_y_ratio); Undocumented function.

getAlphaMode BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const; Undocumented function.

getIgnoreScale bool BaseParticleRenderer::get_ignore_scale(void) const; Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode GeomNode *BaseParticleRenderer::get_render_node(void) const; Filename: baseParticleRenderer.I Created by: charles (20Jun00) PANDA 3D SOFTWARE Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved All use of this software is subject to the terms of the Panda 3d Software license. You should have received a copy of this license along with this source code; you will also find a current copy of the license at http://etc.cmu.edu/panda3d/docs/license/ . To contact the maintainers of this program write to panda3d-general@lists.sourceforge.net . Class : Published Description : Query the geomnode pointer

getUserAlpha float BaseParticleRenderer::get_user_alpha(void) const; Description : gets alpha for "user" alpha mode

output virtual void BaseParticleRenderer::output(ostream &out) const; Description : Write a string representation of this instance to <out>.

setAlphaMode void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am); Undocumented function.

setColorBlendMode void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero)); Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale void BaseParticleRenderer::set_ignore_scale(bool ignore_scale); Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph. This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha void BaseParticleRenderer::set_user_alpha(float ua); Description : sets alpha for "user" alpha mode

write virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const; Description : Write a string representation of this instance to <out>.

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.

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.