Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

SpriteParticleRenderer Class Reference

Renders a particle system with high-speed nasty trick sprites. More...

#include <spriteParticleRenderer.h>

Inheritance diagram for SpriteParticleRenderer:

BaseParticleRenderer ReferenceCount List of all members.

Public Types

enum  SourceType { ST_texture, ST_from_node }
enum  ParticleRendererAlphaMode {
  PR_ALPHA_NONE, PR_ALPHA_OUT, PR_ALPHA_IN, PR_ALPHA_USER,
  PR_NOT_INITIALIZED_YET
}
enum  ParticleRendererBlendMethod { PP_NO_BLEND, PP_BLEND_LINEAR, PP_BLEND_CUBIC }

Public Member Functions

 SpriteParticleRenderer (Texture *tex=(Texture *) NULL)
 constructor

 SpriteParticleRenderer (const SpriteParticleRenderer &copy)
 copy constructor

virtual ~SpriteParticleRenderer (void)
 destructor

virtual BaseParticleRenderermake_copy (void)
 child dynamic copy

SourceType get_source_type () const
 Returns an indication of whether the texture for this renderer was set via a call to set_texture(), or via set_from_node().

void set_from_node (const NodePath &node_path)
 Sets the properties on this render from the geometry referenced by the indicated NodePath.

void set_texture (Texture *tex)
void set_ll_uv (const TexCoordf &ll_uv)
 Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer.

void set_ur_uv (const TexCoordf &ur_uv)
 Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer.

void set_color (const Colorf &color)
void set_x_scale_flag (bool animate_x_ratio)
void set_y_scale_flag (bool animate_y_ratio)
void set_anim_angle_flag (bool animate_theta)
void set_initial_x_scale (float initial_x_scale)
void set_final_x_scale (float final_x_scale)
void set_initial_y_scale (float initial_y_scale)
void set_final_y_scale (float final_y_scale)
void set_nonanimated_theta (float theta)
void set_alpha_blend_method (ParticleRendererBlendMethod bm)
void set_alpha_disable (bool ad)
Textureget_texture (void) const
const TexCoordfget_ll_uv () const
 Returns the UV coordinate of the lower-left corner; see set_ll_uv().

const TexCoordfget_ur_uv () const
 Returns the UV coordinate of the upper-right corner; see set_ur_uv().

Colorf get_color (void) const
bool get_x_scale_flag (void) const
bool get_y_scale_flag (void) const
bool get_anim_angle_flag (void) const
float get_initial_x_scale (void) const
float get_final_x_scale (void) const
float get_initial_y_scale (void) const
float get_final_y_scale (void) const
float get_nonanimated_theta (void) const
ParticleRendererBlendMethod get_alpha_blend_method (void) const
bool get_alpha_disable (void) const
GeomNodeget_render_node (void) const
 Query the geomnode pointer.

void set_alpha_mode (ParticleRendererAlphaMode am)
ParticleRendererAlphaMode get_alpha_mode (void) const
void set_user_alpha (float ua)
 sets alpha for "user" alpha mode

float get_user_alpha (void) const
 gets alpha for "user" alpha mode

int get_ref_count () const
 Returns the current reference count.

int ref () const
 Explicitly increments the reference count.

int unref () const
 Explicitly decrements the reference count.

void test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus.


Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Protected Member Functions

void update_alpha_mode (ParticleRendererAlphaMode am)
 handles the base class part of alpha updating.

void enable_alpha (void)
 Builds an intermediate node and transition that enables alpha channeling.

void disable_alpha (void)
 kills the intermediate alpha node/arc

float get_cur_alpha (BaseParticle *bp)
 gets current alpha for a particle

 CPT (RenderState) _render_state

Protected Attributes

ParticleRendererAlphaMode _alpha_mode

Private Member Functions

virtual void birth_particle (int index)
 child birth, one of those 'there-if-we-want-it' things.

virtual void kill_particle (int index)
 child death

virtual void init_geoms (void)
 initializes everything, called on traumatic events such as construction and serious particlesystem modifications

virtual void render (pvector< PointerTo< PhysicsObject > > &po_vector, int ttl_particles)
 big child render.

virtual void resize_pool (int new_size)
 reallocate the vertex pool.


Private Attributes

PointerTo< GeomSprite_sprite_primitive
PTA_Vertexf _vertex_array
PTA_Colorf _color_array
PTA_float _x_texel_array
PTA_float _y_texel_array
PTA_float _theta_array
Colorf _color
float _initial_x_texel_ratio
float _final_x_texel_ratio
float _initial_y_texel_ratio
float _final_y_texel_ratio
float _theta
bool _animate_x_ratio
bool _animate_y_ratio
bool _animate_theta
ParticleRendererBlendMethod _blend_method
Vertexf _aabb_min
Vertexf _aabb_max
int _pool_size
SourceType _source_type

Friends

class ParticleSystem

Detailed Description

Renders a particle system with high-speed nasty trick sprites.

Definition at line 47 of file spriteParticleRenderer.h.


Member Enumeration Documentation

enum BaseParticleRenderer::ParticleRendererAlphaMode [inherited]
 

Enumeration values:
PR_ALPHA_NONE 
PR_ALPHA_OUT 
PR_ALPHA_IN 
PR_ALPHA_USER 
PR_NOT_INITIALIZED_YET 

Definition at line 65 of file baseParticleRenderer.h.

Referenced by BaseParticleRenderer::set_alpha_mode().

enum BaseParticleRenderer::ParticleRendererBlendMethod [inherited]
 

Enumeration values:
PP_NO_BLEND 
PP_BLEND_LINEAR 
PP_BLEND_CUBIC 

Definition at line 73 of file baseParticleRenderer.h.

Referenced by get_y_scale_flag().

enum SpriteParticleRenderer::SourceType
 

Enumeration values:
ST_texture 
ST_from_node 

Definition at line 53 of file spriteParticleRenderer.h.


Constructor & Destructor Documentation

SpriteParticleRenderer::SpriteParticleRenderer Texture tex = (Texture *) NULL  ) 
 

constructor

Definition at line 38 of file spriteParticleRenderer.cxx.

References _sprite_primitive, init_geoms(), and tex.

SpriteParticleRenderer::SpriteParticleRenderer const SpriteParticleRenderer &  copy  ) 
 

copy constructor

Definition at line 65 of file spriteParticleRenderer.cxx.

References _color, _final_y_texel_ratio, _sprite_primitive, and _theta.

SpriteParticleRenderer::~SpriteParticleRenderer void   )  [virtual]
 

destructor

Definition at line 90 of file spriteParticleRenderer.cxx.

References NodePath::is_empty(), and nassertv.


Member Function Documentation

void SpriteParticleRenderer::birth_particle int  index  )  [private, virtual]
 

child birth, one of those 'there-if-we-want-it' things.

not really too useful here, so it turns out we don't really want it.

Implements BaseParticleRenderer.

Definition at line 284 of file spriteParticleRenderer.cxx.

References _aabb_max, _aabb_min, _animate_theta, _initial_y_texel_ratio, and _theta.

BaseParticleRenderer::CPT RenderState   )  [protected, inherited]
 

void BaseParticleRenderer::disable_alpha void   )  [protected, inherited]
 

kills the intermediate alpha node/arc

Definition at line 99 of file baseParticleRenderer.cxx.

References BaseParticleRenderer::_alpha_mode.

Referenced by BaseParticleRenderer::enable_alpha().

void BaseParticleRenderer::enable_alpha void   )  [protected, inherited]
 

Builds an intermediate node and transition that enables alpha channeling.

Definition at line 86 of file baseParticleRenderer.cxx.

References BaseParticleRenderer::_alpha_mode, BaseParticleRenderer::disable_alpha(), and BaseParticleRenderer::PR_ALPHA_NONE.

BaseParticleRenderer::ParticleRendererBlendMethod SpriteParticleRenderer::get_alpha_blend_method void   )  const [inline]
 

Definition at line 386 of file spriteParticleRenderer.I.

bool SpriteParticleRenderer::get_alpha_disable void   )  const [inline]
 

Definition at line 397 of file spriteParticleRenderer.I.

BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode void   )  const [inline, inherited]
 

Definition at line 54 of file baseParticleRenderer.I.

References BaseParticleRenderer::_user_alpha.

bool SpriteParticleRenderer::get_anim_angle_flag void   )  const [inline]
 

Definition at line 320 of file spriteParticleRenderer.I.

References _sprite_primitive, and INLINE.

TypeHandle ReferenceCount::get_class_type void   )  [inline, static, inherited]
 

Reimplemented in AnimBundle, AnimBundleNode, AnimChannel< SwitchType >, AnimChannelBase, AnimChannelFixed< SwitchType >, AnimChannelMatrixXfmTable, AnimChannelScalarTable, AnimControl, AnimGroup, MovingPart< SwitchType >, MovingPartBase, MovingPartMatrix, MovingPartScalar, PartBundle, PartBundleNode, PartGroup, Character, CharacterJoint, CharacterJointBundle, CharacterSlider, ComputedVertices, CollisionEntry, CollisionHandler, CollisionHandlerEvent, CollisionHandlerFloor, CollisionHandlerPhysical, CollisionHandlerPusher, CollisionHandlerQueue, CollisionNode, CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, CollisionSolid, CollisionSphere, CRGraphicsStateGuardian, CRSavedFrameBuffer, AnalogNode, ButtonNode, ClientAnalogDevice, ClientBase, ClientButtonDevice, ClientDevice, ClientDialDevice, ClientTrackerDevice, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, DataNode, GraphicsChannel, GraphicsLayer, GraphicsPipe, GraphicsStateGuardian, GraphicsWindow, HardwareChannel, SavedFrameBuffer, CylindricalLens, FisheyeLens, ProjectionScreen, PSphereLens, DXGraphicsStateGuardian7, DXSavedFrameBuffer7, wdxGraphicsPipe7, wdxGraphicsWindow7, DXGraphicsStateGuardian8, DXSavedFrameBuffer8, wdxGraphicsPipe8, wdxGraphicsWindow8, EggAnimData, EggBin, EggBinMaker, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggGroupUniquifier, EggMaterial, EggNamedObject, EggNameUniquifier, EggNode, EggNurbsCurve, EggNurbsSurface, EggObject, EggPoint, EggPolygon, EggPoolUniquifier, EggPrimitive, EggSAnimData, EggSurface, EggSwitchCondition, EggSwitchConditionDistance, EggTable, EggTexture, EggVertex, EggVertexPool, EggXfmAnimData, EggXfmSAnim, Event, EventStoreValueBase, EventStoreValue< Type >, RefCountProxy< Base >, RefCountObj< Base >, ThatThingie, ThisThingie, WhatAThingie, Thread, TypedReferenceCount, VirtualFile, VirtualFileComposite, VirtualFileSimple, WindowFramework, GLGraphicsStateGuardian, GLSavedFrameBuffer, glxGraphicsPipe, glxGraphicsStateGuardian, glxGraphicsWindow, dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, Lens, Material, MatrixLens, OrthographicLens, PerspectiveLens, PixelBuffer, Texture, GraphicsStateGuardianBase, Lerp, AutonomousLerp, LerpBlendType, EaseInBlendType, EaseOutBlendType, EaseInOutBlendType, NoBlendType, LerpFunctor, SimpleLerpFunctor< value >, SimpleQueryLerpFunctor< value >, MultiLerpFunctor, BoundingHexahedron, BoundingLine, BoundingSphere, BoundingVolume, FiniteBoundingVolume, GeometricBoundingVolume, OmniBoundingVolume, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, NurbsPPCurve, ParametricCurve, PiecewiseCurve, RopeNode, AlphaTestAttrib, AmbientLight, BillboardEffect, Camera, ClipPlaneAttrib, ColorAttrib, ColorBlendAttrib, ColorScaleAttrib, ColorWriteAttrib, CompassEffect, CullBin, CullBinAttrib, CullBinBackToFront, CullBinFixed, CullBinFrontToBack, CullBinUnsorted, CullFaceAttrib, DecalEffect, DepthOffsetAttrib, DepthTestAttrib, DepthWriteAttrib, DirectionalLight, Fog, FogAttrib, GeomNode, LensNode, Light, LightAttrib, LightLensNode, LightNode, LODNode, MaterialAttrib, ModelNode, ModelRoot, NodePathComponent, PosLerpFunctor, HprLerpFunctor, ScaleLerpFunctor, ColorLerpFunctor, PosHprLerpFunctor, HprScaleLerpFunctor, PosHprScaleLerpFunctor, ColorScaleLerpFunctor, PandaNode, PlaneNode, PointLight, RenderAttrib, RenderEffect, RenderEffects, RenderModeAttrib, RenderState, SelectiveChildNode, SequenceNode, ShowBoundsEffect, Spotlight, SwitchNode, TexMatrixAttrib, TextureApplyAttrib, TextureAttrib, TransformState, EventStoreTransform, TransparencyAttrib, PGButton, PGEntry, PGItem, PGMouseWatcherBackground, PGMouseWatcherGroup, PGMouseWatcherParameter, PGMouseWatcherRegion, PGTop, PGWaitBar, ActorNode, AngularForce, AngularVectorForce, BaseForce, ForceNode, LinearCylinderVortexForce, LinearDistanceForce, LinearForce, LinearFrictionForce, LinearJitterForce, LinearNoiseForce, LinearRandomForce, LinearSinkForce, LinearSourceForce, LinearUserDefinedForce, LinearVectorForce, Physical, PhysicalNode, PhysicsObject, BamReaderParam, ButtonEventList, FactoryParam, Person, Parent, Child, TypedWritableReferenceCount, WritableParam, RIBGraphicsWindow, RIBGraphicsStateGuardian, CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, Shader, FrustumShader, SpheretexHighlighter, SpheretexReflector, SpheretexShader, SpotlightShader, TextFont, TextNode, ButtonThrower, DriveInterface, MouseWatcher, MouseWatcherGroup, MouseWatcherRegion, Trackball, Transform2SG, VrpnAnalogDevice, VrpnButtonDevice, VrpnClient, VrpnDialDevice, VrpnTrackerDevice, wcrGraphicsWindow, wglGraphicsPipe, wglGraphicsStateGuardian, wglGraphicsWindow, WinGraphicsPipe, WinGraphicsWindow, AnimChannel< ACScalarSwitchType >, AnimChannel< ACMatrixSwitchType >, MovingPart< ACScalarSwitchType >, MovingPart< ACMatrixSwitchType >, SimpleLerpFunctor< LPoint3f >, SimpleLerpFunctor< LVecBase3f >, and SimpleLerpFunctor< LVecBase4f >.

Definition at line 66 of file referenceCount.h.

Colorf SpriteParticleRenderer::get_color void   )  const [inline]
 

Definition at line 287 of file spriteParticleRenderer.I.

float BaseParticleRenderer::get_cur_alpha BaseParticle bp  )  [inline, protected, inherited]
 

gets current alpha for a particle

Definition at line 93 of file baseParticleRenderer.I.

float SpriteParticleRenderer::get_final_x_scale void   )  const [inline]
 

Definition at line 342 of file spriteParticleRenderer.I.

float SpriteParticleRenderer::get_final_y_scale void   )  const [inline]
 

Definition at line 364 of file spriteParticleRenderer.I.

float SpriteParticleRenderer::get_initial_x_scale void   )  const [inline]
 

Definition at line 331 of file spriteParticleRenderer.I.

float SpriteParticleRenderer::get_initial_y_scale void   )  const [inline]
 

Definition at line 353 of file spriteParticleRenderer.I.

const TexCoordf & SpriteParticleRenderer::get_ll_uv  )  const [inline]
 

Returns the UV coordinate of the lower-left corner; see set_ll_uv().

Definition at line 261 of file spriteParticleRenderer.I.

References _initial_x_texel_ratio, and INLINE.

float SpriteParticleRenderer::get_nonanimated_theta void   )  const [inline]
 

Definition at line 375 of file spriteParticleRenderer.I.

int ReferenceCount::get_ref_count  )  const [inline, inherited]
 

Returns the current reference count.

Definition at line 183 of file referenceCount.I.

Referenced by RenderState::determine_bin_index(), RenderEffects::determine_show_bounds(), FontPool::ns_garbage_collect(), TexturePool::ns_garbage_collect(), MaterialPool::ns_get_material(), and TexturePool::ns_release_texture().

GeomNode * BaseParticleRenderer::get_render_node void   )  const [inline, inherited]
 

Query the geomnode pointer.

Definition at line 31 of file baseParticleRenderer.I.

References BaseParticleRenderer::init_geoms(), INLINE, and BaseParticleRenderer::update_alpha_mode().

Referenced by SparkleParticleRenderer::kill_particle(), LineParticleRenderer::kill_particle(), and PointParticleRenderer::resize_pool().

SpriteParticleRenderer::SourceType SpriteParticleRenderer::get_source_type  )  const [inline]
 

Returns an indication of whether the texture for this renderer was set via a call to set_texture(), or via set_from_node().

Definition at line 35 of file spriteParticleRenderer.I.

References _source_type, _sprite_primitive, INLINE, ST_texture, tex, and TexCoordf.

Texture * SpriteParticleRenderer::get_texture void   )  const [inline]
 

Definition at line 246 of file spriteParticleRenderer.I.

References _animate_y_ratio, and INLINE.

const TexCoordf & SpriteParticleRenderer::get_ur_uv  )  const [inline]
 

Returns the UV coordinate of the upper-right corner; see set_ur_uv().

Definition at line 276 of file spriteParticleRenderer.I.

References _final_x_texel_ratio.

float BaseParticleRenderer::get_user_alpha void   )  const [inline, inherited]
 

gets alpha for "user" alpha mode

Definition at line 80 of file baseParticleRenderer.I.

References BaseParticleRenderer::_user_alpha, and BaseParticleRenderer::PR_ALPHA_USER.

Referenced by GeomParticleRenderer::kill_particle().

bool SpriteParticleRenderer::get_x_scale_flag void   )  const [inline]
 

Definition at line 298 of file spriteParticleRenderer.I.

References _theta, and INLINE.

bool SpriteParticleRenderer::get_y_scale_flag void   )  const [inline]
 

Definition at line 309 of file spriteParticleRenderer.I.

References _blend_method, INLINE, and BaseParticleRenderer::ParticleRendererBlendMethod.

void SpriteParticleRenderer::init_geoms void   )  [private, virtual]
 

initializes everything, called on traumatic events such as construction and serious particlesystem modifications

Implements BaseParticleRenderer.

Definition at line 263 of file spriteParticleRenderer.cxx.

References _animate_x_ratio, _animate_y_ratio, _color_array, _initial_x_texel_ratio, _theta_array, _vertex_array, _x_texel_array, _y_texel_array, Colorf, and Vertexf.

Referenced by SpriteParticleRenderer().

void ReferenceCount::init_type void   )  [inline, static, inherited]
 

Reimplemented in AnimBundle, AnimBundleNode, AnimChannel< SwitchType >, AnimChannelBase, AnimChannelFixed< SwitchType >, AnimChannelMatrixXfmTable, AnimChannelScalarTable, AnimControl, AnimGroup, MovingPart< SwitchType >, MovingPartBase, MovingPartMatrix, MovingPartScalar, PartBundle, PartBundleNode, PartGroup, Character, CharacterJoint, CharacterJointBundle, CharacterSlider, ComputedVertices, CollisionEntry, CollisionHandler, CollisionHandlerEvent, CollisionHandlerFloor, CollisionHandlerPhysical, CollisionHandlerPusher, CollisionHandlerQueue, CollisionNode, CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, CollisionSolid, CollisionSphere, CRGraphicsStateGuardian, CRSavedFrameBuffer, AnalogNode, ButtonNode, ClientAnalogDevice, ClientBase, ClientButtonDevice, ClientDevice, ClientDialDevice, ClientTrackerDevice, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, DataNode, GraphicsChannel, GraphicsLayer, GraphicsPipe, GraphicsStateGuardian, GraphicsWindow, HardwareChannel, SavedFrameBuffer, CylindricalLens, FisheyeLens, ProjectionScreen, PSphereLens, DXGraphicsStateGuardian7, DXSavedFrameBuffer7, wdxGraphicsPipe7, wdxGraphicsWindow7, DXGraphicsStateGuardian8, DXSavedFrameBuffer8, wdxGraphicsPipe8, wdxGraphicsWindow8, EggAnimData, EggBin, EggBinMaker, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggGroupUniquifier, EggMaterial, EggNamedObject, EggNameUniquifier, EggNode, EggNurbsCurve, EggNurbsSurface, EggObject, EggPoint, EggPolygon, EggPoolUniquifier, EggPrimitive, EggSAnimData, EggSurface, EggSwitchCondition, EggSwitchConditionDistance, EggTable, EggTexture, EggVertex, EggVertexPool, EggXfmAnimData, EggXfmSAnim, Event, EventStoreValueBase, RefCountProxy< Base >, RefCountObj< Base >, ThatThingie, ThisThingie, WhatAThingie, Thread, TypedReferenceCount, VirtualFile, VirtualFileComposite, VirtualFileSimple, WindowFramework, GLGraphicsStateGuardian, GLSavedFrameBuffer, glxGraphicsPipe, glxGraphicsStateGuardian, glxGraphicsWindow, dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, Lens, Material, MatrixLens, OrthographicLens, PerspectiveLens, PixelBuffer, Texture, GraphicsStateGuardianBase, Lerp, AutonomousLerp, LerpBlendType, EaseInBlendType, EaseOutBlendType, EaseInOutBlendType, NoBlendType, LerpFunctor, SimpleLerpFunctor< value >, SimpleQueryLerpFunctor< value >, MultiLerpFunctor, BoundingHexahedron, BoundingLine, BoundingSphere, BoundingVolume, FiniteBoundingVolume, GeometricBoundingVolume, OmniBoundingVolume, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, NurbsPPCurve, ParametricCurve, PiecewiseCurve, RopeNode, AlphaTestAttrib, AmbientLight, BillboardEffect, Camera, ClipPlaneAttrib, ColorAttrib, ColorBlendAttrib, ColorScaleAttrib, ColorWriteAttrib, CompassEffect, CullBin, CullBinAttrib, CullBinBackToFront, CullBinFixed, CullBinFrontToBack, CullBinUnsorted, CullFaceAttrib, DecalEffect, DepthOffsetAttrib, DepthTestAttrib, DepthWriteAttrib, DirectionalLight, Fog, FogAttrib, GeomNode, LensNode, Light, LightAttrib, LightLensNode, LightNode, LODNode, MaterialAttrib, ModelNode, ModelRoot, NodePathComponent, PosLerpFunctor, HprLerpFunctor, ScaleLerpFunctor, ColorLerpFunctor, PosHprLerpFunctor, HprScaleLerpFunctor, PosHprScaleLerpFunctor, ColorScaleLerpFunctor, PandaNode, PlaneNode, PointLight, RenderAttrib, RenderEffect, RenderEffects, RenderModeAttrib, RenderState, SelectiveChildNode, SequenceNode, ShowBoundsEffect, Spotlight, SwitchNode, TexMatrixAttrib, TextureApplyAttrib, TextureAttrib, TransformState, EventStoreTransform, TransparencyAttrib, PGButton, PGEntry, PGItem, PGMouseWatcherBackground, PGMouseWatcherGroup, PGMouseWatcherParameter, PGMouseWatcherRegion, PGTop, PGWaitBar, ActorNode, AngularForce, AngularVectorForce, BaseForce, ForceNode, LinearCylinderVortexForce, LinearDistanceForce, LinearForce, LinearFrictionForce, LinearJitterForce, LinearNoiseForce, LinearRandomForce, LinearSinkForce, LinearSourceForce, LinearUserDefinedForce, LinearVectorForce, Physical, PhysicalNode, PhysicsObject, BamReaderParam, ButtonEventList, FactoryParam, Person, Parent, Child, TypedWritableReferenceCount, WritableParam, RIBGraphicsWindow, RIBGraphicsStateGuardian, CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, Shader, FrustumShader, SpheretexHighlighter, SpheretexReflector, SpheretexShader, SpotlightShader, TextFont, TextNode, ButtonThrower, DriveInterface, MouseWatcher, MouseWatcherGroup, MouseWatcherRegion, Trackball, Transform2SG, VrpnAnalogDevice, VrpnButtonDevice, VrpnClient, VrpnDialDevice, VrpnTrackerDevice, wcrGraphicsWindow, wglGraphicsPipe, wglGraphicsStateGuardian, wglGraphicsWindow, WinGraphicsPipe, WinGraphicsWindow, AnimChannel< ACScalarSwitchType >, AnimChannel< ACMatrixSwitchType >, MovingPart< ACScalarSwitchType >, MovingPart< ACMatrixSwitchType >, SimpleLerpFunctor< LPoint3f >, SimpleLerpFunctor< LVecBase3f >, and SimpleLerpFunctor< LVecBase4f >.

Definition at line 69 of file referenceCount.h.

References INLINE.

Referenced by ConfigureFn(), and ThatThingie::get_class_type().

void SpriteParticleRenderer::kill_particle int  index  )  [private, virtual]
 

child death

Implements BaseParticleRenderer.

Definition at line 296 of file spriteParticleRenderer.cxx.

References _aabb_max, and _aabb_min.

BaseParticleRenderer * SpriteParticleRenderer::make_copy void   )  [virtual]
 

child dynamic copy

Implements BaseParticleRenderer.

Definition at line 102 of file spriteParticleRenderer.cxx.

References NodePath::find(), and NodePath::is_empty().

int ReferenceCount::ref  )  const [inline, inherited]
 

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.

The return value is the new reference count.

Definition at line 225 of file referenceCount.I.

Referenced by ClientDevice::ClientDevice(), EggGroupNode::find_textures(), EggGroupNode::r_apply_texmats(), EggGroupNode::r_flatten_transforms(), and EggGroupNode::reverse_vertex_ordering().

void SpriteParticleRenderer::render pvector< PointerTo< PhysicsObject > > &  po_vector,
int  ttl_particles
[private, virtual]
 

big child render.

populates the geom node.

Definition at line 308 of file spriteParticleRenderer.cxx.

References _aabb_max, _aabb_min, _color, Colorf, BaseParticleRenderer::PR_ALPHA_IN, BaseParticleRenderer::PR_ALPHA_NONE, BaseParticleRenderer::PR_ALPHA_OUT, and t.

void SpriteParticleRenderer::resize_pool int  new_size  )  [private, virtual]
 

reallocate the vertex pool.

Implements BaseParticleRenderer.

Definition at line 200 of file spriteParticleRenderer.cxx.

References _y_texel_array, and G_OVERALL.

void SpriteParticleRenderer::set_alpha_blend_method ParticleRendererBlendMethod  bm  )  [inline]
 

Definition at line 224 of file spriteParticleRenderer.I.

void SpriteParticleRenderer::set_alpha_disable bool  ad  )  [inline]
 

Definition at line 235 of file spriteParticleRenderer.I.

References _animate_x_ratio, and INLINE.

void BaseParticleRenderer::set_alpha_mode BaseParticleRenderer::ParticleRendererAlphaMode  am  )  [inline, inherited]
 

Definition at line 42 of file baseParticleRenderer.I.

References BaseParticleRenderer::_alpha_mode, INLINE, and BaseParticleRenderer::ParticleRendererAlphaMode.

void SpriteParticleRenderer::set_anim_angle_flag bool  animate_theta  )  [inline]
 

Definition at line 149 of file spriteParticleRenderer.I.

References _initial_y_texel_ratio, and INLINE.

void SpriteParticleRenderer::set_color const Colorf color  )  [inline]
 

Definition at line 98 of file spriteParticleRenderer.I.

References _animate_y_ratio, _pool_size, _sprite_primitive, _y_texel_array, PointerToArray< float >::empty_array(), G_OVERALL, G_PER_PRIM, and INLINE.

void SpriteParticleRenderer::set_final_x_scale float  final_x_scale  )  [inline]
 

Definition at line 180 of file spriteParticleRenderer.I.

References _blend_method, and INLINE.

void SpriteParticleRenderer::set_final_y_scale float  final_y_scale  )  [inline]
 

Definition at line 202 of file spriteParticleRenderer.I.

void SpriteParticleRenderer::set_from_node const NodePath node_path  ) 
 

Sets the properties on this render from the geometry referenced by the indicated NodePath.

This should be a reference to a GeomNode; it extracts out the Texture and UV range from the GeomNode.

Definition at line 121 of file spriteParticleRenderer.cxx.

void SpriteParticleRenderer::set_initial_x_scale float  initial_x_scale  )  [inline]
 

Definition at line 169 of file spriteParticleRenderer.I.

References _theta, and INLINE.

void SpriteParticleRenderer::set_initial_y_scale float  initial_y_scale  )  [inline]
 

Definition at line 191 of file spriteParticleRenderer.I.

References _sprite_primitive.

void SpriteParticleRenderer::set_ll_uv const TexCoordf ll_uv  )  [inline]
 

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.

Definition at line 68 of file spriteParticleRenderer.I.

References _color, and INLINE.

void SpriteParticleRenderer::set_nonanimated_theta float  theta  )  [inline]
 

Definition at line 213 of file spriteParticleRenderer.I.

void SpriteParticleRenderer::set_texture Texture tex  )  [inline]
 

Definition at line 46 of file spriteParticleRenderer.I.

References _sprite_primitive, and INLINE.

void SpriteParticleRenderer::set_ur_uv const TexCoordf ur_uv  )  [inline]
 

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.

Definition at line 87 of file spriteParticleRenderer.I.

void BaseParticleRenderer::set_user_alpha float  ua  )  [inline, inherited]
 

sets alpha for "user" alpha mode

Definition at line 67 of file baseParticleRenderer.I.

References BaseParticle::get_parameterized_age(), INLINE, BaseParticleRenderer::PR_ALPHA_IN, and BaseParticleRenderer::PR_ALPHA_OUT.

void SpriteParticleRenderer::set_x_scale_flag bool  animate_x_ratio  )  [inline]
 

Definition at line 109 of file spriteParticleRenderer.I.

void SpriteParticleRenderer::set_y_scale_flag bool  animate_y_ratio  )  [inline]
 

Definition at line 129 of file spriteParticleRenderer.I.

void ReferenceCount::test_ref_count_integrity  )  const [inline, inherited]
 

Does some easy checks to make sure that the reference count isn't completely bogus.

Definition at line 328 of file referenceCount.I.

References INLINE.

Referenced by EggNode::determine_bin(), and ReferenceCount::~ReferenceCount().

int ReferenceCount::unref  )  const [inline, inherited]
 

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 the new reference count.

Definition at line 293 of file referenceCount.I.

References INLINE.

Referenced by RenderState::determine_bin_index(), and RenderEffects::determine_show_bounds().

void BaseParticleRenderer::update_alpha_mode ParticleRendererAlphaMode  am  )  [protected, inherited]
 

handles the base class part of alpha updating.

Definition at line 112 of file baseParticleRenderer.cxx.

Referenced by BaseParticleRenderer::get_render_node().


Friends And Related Function Documentation

friend class ParticleSystem [friend, inherited]
 

Definition at line 109 of file baseParticleRenderer.h.


Member Data Documentation

Vertexf SpriteParticleRenderer::_aabb_max [private]
 

Definition at line 77 of file spriteParticleRenderer.h.

Referenced by birth_particle(), kill_particle(), and render().

Vertexf SpriteParticleRenderer::_aabb_min [private]
 

Definition at line 77 of file spriteParticleRenderer.h.

Referenced by birth_particle(), kill_particle(), and render().

ParticleRendererAlphaMode BaseParticleRenderer::_alpha_mode [protected, inherited]
 

Definition at line 90 of file baseParticleRenderer.h.

Referenced by BaseParticleRenderer::disable_alpha(), BaseParticleRenderer::enable_alpha(), GeomParticleRenderer::kill_particle(), SparkleParticleRenderer::render(), LineParticleRenderer::render(), and BaseParticleRenderer::set_alpha_mode().

bool SpriteParticleRenderer::_animate_theta [private]
 

Definition at line 73 of file spriteParticleRenderer.h.

Referenced by birth_particle().

bool SpriteParticleRenderer::_animate_x_ratio [private]
 

Definition at line 72 of file spriteParticleRenderer.h.

Referenced by init_geoms(), and set_alpha_disable().

bool SpriteParticleRenderer::_animate_y_ratio [private]
 

Definition at line 72 of file spriteParticleRenderer.h.

Referenced by get_texture(), init_geoms(), and set_color().

ParticleRendererBlendMethod SpriteParticleRenderer::_blend_method [private]
 

Definition at line 75 of file spriteParticleRenderer.h.

Referenced by get_y_scale_flag(), and set_final_x_scale().

Colorf SpriteParticleRenderer::_color [private]
 

Definition at line 66 of file spriteParticleRenderer.h.

Referenced by render(), set_ll_uv(), and SpriteParticleRenderer().

PTA_Colorf SpriteParticleRenderer::_color_array [private]
 

Definition at line 61 of file spriteParticleRenderer.h.

Referenced by init_geoms().

float SpriteParticleRenderer::_final_x_texel_ratio [private]
 

Definition at line 68 of file spriteParticleRenderer.h.

Referenced by get_ur_uv().

float SpriteParticleRenderer::_final_y_texel_ratio [private]
 

Definition at line 69 of file spriteParticleRenderer.h.

Referenced by SpriteParticleRenderer().

float SpriteParticleRenderer::_initial_x_texel_ratio [private]
 

Definition at line 68 of file spriteParticleRenderer.h.

Referenced by get_ll_uv(), and init_geoms().

float SpriteParticleRenderer::_initial_y_texel_ratio [private]
 

Definition at line 69 of file spriteParticleRenderer.h.

Referenced by birth_particle(), and set_anim_angle_flag().

int SpriteParticleRenderer::_pool_size [private]
 

Definition at line 79 of file spriteParticleRenderer.h.

Referenced by set_color().

SourceType SpriteParticleRenderer::_source_type [private]
 

Definition at line 80 of file spriteParticleRenderer.h.

Referenced by get_source_type().

PointerTo< GeomSprite > SpriteParticleRenderer::_sprite_primitive [private]
 

Definition at line 59 of file spriteParticleRenderer.h.

Referenced by get_anim_angle_flag(), get_source_type(), set_color(), set_initial_y_scale(), set_texture(), and SpriteParticleRenderer().

float SpriteParticleRenderer::_theta [private]
 

Definition at line 70 of file spriteParticleRenderer.h.

Referenced by birth_particle(), get_x_scale_flag(), set_initial_x_scale(), and SpriteParticleRenderer().

PTA_float SpriteParticleRenderer::_theta_array [private]
 

Definition at line 64 of file spriteParticleRenderer.h.

Referenced by init_geoms().

PTA_Vertexf SpriteParticleRenderer::_vertex_array [private]
 

Definition at line 60 of file spriteParticleRenderer.h.

Referenced by init_geoms().

PTA_float SpriteParticleRenderer::_x_texel_array [private]
 

Definition at line 62 of file spriteParticleRenderer.h.

Referenced by init_geoms().

PTA_float SpriteParticleRenderer::_y_texel_array [private]
 

Definition at line 63 of file spriteParticleRenderer.h.

Referenced by init_geoms(), resize_pool(), and set_color().


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:55:18 2003 for Panda by doxygen1.3