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

DiscEmitter Class Reference

Describes a planar disc region from which particles are generated. More...

#include <discEmitter.h>

Inheritance diagram for DiscEmitter:

BaseParticleEmitter ReferenceCount List of all members.

Public Types

enum  emissionType { ET_EXPLICIT, ET_RADIATE, ET_CUSTOM }

Public Member Functions

 DiscEmitter (void)
 constructor

 DiscEmitter (const DiscEmitter &copy)
 copy constructor

virtual ~DiscEmitter (void)
 destructor

virtual BaseParticleEmittermake_copy (void)
 copier

void set_radius (float r)
 radius assignment

void set_outer_angle (float o_angle)
 aoe assignement

void set_inner_angle (float i_angle)
 aoe assignment

void set_outer_magnitude (float o_mag)
 mag assignment

void set_inner_magnitude (float i_mag)
 mag assignment

void set_cubic_lerping (bool clerp)
 clerp flag

float get_radius (void) const
 radius accessor

float get_outer_angle (void) const
 aoe accessor

float get_inner_angle (void) const
 aoe accessor

float get_outer_magnitude (void) const
 mag accessor

float get_inner_magnitude (void) const
 mag accessor

bool get_cubic_lerping (void) const
 clerp flag accessor

void generate (LPoint3f &pos, LVector3f &vel)
 parent generation function

void set_emission_type (emissionType et)
 emission type assignment

void set_amplitude (float a)
 amplitude assignment

void set_amplitude_spread (float as)
 amplitude spread assignment

void set_offset_force (const LVector3f &of)
 user-defined force

void set_explicit_launch_vector (const LVector3f &elv)
 assignment of explicit emission launch vector

void set_radiate_origin (const LPoint3f &ro)
 assignment of radiate emission origin point

emissionType get_emission_type (void) const
 emission type query

float get_amplitude (void) const
 amplitude query

float get_amplitude_spread (void) const
 amplitude spread query

LVector3f get_offset_force (void) const
 user-defined force

LVector3f get_explicit_launch_vector (void) const
 query for explicit emission launch vector

LPoint3f get_radiate_origin (void) const
 query for explicit emission launch vector

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 Attributes

emissionType _emission_type
LVector3f _explicit_launch_vector
LPoint3f _radiate_origin
float _amplitude
float _amplitude_spread

Private Member Functions

virtual void assign_initial_position (LPoint3f &pos)
 Generates a location for a new particle.

virtual void assign_initial_velocity (LVector3f &vel)
 Generates a velocity for a new particle.


Private Attributes

float _radius
float _outer_aoe
float _inner_aoe
float _outer_magnitude
float _inner_magnitude
bool _cubic_lerping
float _distance_from_center
float _sinf_theta
float _cosf_theta

Detailed Description

Describes a planar disc region from which particles are generated.

Definition at line 36 of file discEmitter.h.


Member Enumeration Documentation

enum BaseParticleEmitter::emissionType [inherited]
 

Enumeration values:
ET_EXPLICIT 
ET_RADIATE 
ET_CUSTOM 

Definition at line 44 of file baseParticleEmitter.h.

Referenced by BaseParticleEmitter::set_emission_type().


Constructor & Destructor Documentation

DiscEmitter::DiscEmitter void   ) 
 

constructor

Definition at line 33 of file discEmitter.cxx.

References _cubic_lerping, _inner_aoe, _inner_magnitude, _outer_aoe, _outer_magnitude, and _radius.

DiscEmitter::DiscEmitter const DiscEmitter &  copy  ) 
 

copy constructor

Definition at line 49 of file discEmitter.cxx.

References _cosf_theta, _distance_from_center, and _sinf_theta.

DiscEmitter::~DiscEmitter void   )  [virtual]
 

destructor

Definition at line 72 of file discEmitter.cxx.

References _distance_from_center, NORMALIZED_RAND, and MathNumbers::pi_f.


Member Function Documentation

void DiscEmitter::assign_initial_position LPoint3f &  pos  )  [private, virtual]
 

Generates a location for a new particle.

Implements BaseParticleEmitter.

Definition at line 97 of file discEmitter.cxx.

References _cosf_theta, _cubic_lerping, _distance_from_center, _inner_aoe, _inner_magnitude, _outer_aoe, _outer_magnitude, _sinf_theta, CLERP, deg_2_rad(), and LERP.

void DiscEmitter::assign_initial_velocity LVector3f &  vel  )  [private, virtual]
 

Generates a velocity for a new particle.

Implements BaseParticleEmitter.

Definition at line 122 of file discEmitter.cxx.

void BaseParticleEmitter::generate LPoint3f &  pos,
LVector3f &  vel
[inherited]
 

parent generation function

Definition at line 83 of file baseParticleEmitter.cxx.

float BaseParticleEmitter::get_amplitude void   )  const [inline, inherited]
 

amplitude query

Definition at line 122 of file baseParticleEmitter.I.

References BaseParticleEmitter::_offset_force, and INLINE.

float BaseParticleEmitter::get_amplitude_spread void   )  const [inline, inherited]
 

amplitude spread query

Definition at line 148 of file baseParticleEmitter.I.

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.

bool DiscEmitter::get_cubic_lerping void   )  const [inline]
 

clerp flag accessor

Definition at line 186 of file discEmitter.I.

BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type void   )  const [inline, inherited]
 

emission type query

Definition at line 44 of file baseParticleEmitter.I.

References BaseParticleEmitter::_explicit_launch_vector, and INLINE.

LVector3f BaseParticleEmitter::get_explicit_launch_vector void   )  const [inline, inherited]
 

query for explicit emission launch vector

Definition at line 70 of file baseParticleEmitter.I.

References BaseParticleEmitter::_radiate_origin, and INLINE.

float DiscEmitter::get_inner_angle void   )  const [inline]
 

aoe accessor

Definition at line 144 of file discEmitter.I.

References _cubic_lerping, and INLINE.

float DiscEmitter::get_inner_magnitude void   )  const [inline]
 

mag accessor

Definition at line 172 of file discEmitter.I.

LVector3f BaseParticleEmitter::get_offset_force void   )  const [inline, inherited]
 

user-defined force

Definition at line 174 of file baseParticleEmitter.I.

float DiscEmitter::get_outer_angle void   )  const [inline]
 

aoe accessor

Definition at line 130 of file discEmitter.I.

References _inner_magnitude, and INLINE.

float DiscEmitter::get_outer_magnitude void   )  const [inline]
 

mag accessor

Definition at line 158 of file discEmitter.I.

LPoint3f BaseParticleEmitter::get_radiate_origin void   )  const [inline, inherited]
 

query for explicit emission launch vector

Definition at line 96 of file baseParticleEmitter.I.

References BaseParticleEmitter::_amplitude.

float DiscEmitter::get_radius void   )  const [inline]
 

radius accessor

Definition at line 116 of file discEmitter.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().

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().

BaseParticleEmitter * DiscEmitter::make_copy void   )  [virtual]
 

copier

Implements BaseParticleEmitter.

Definition at line 84 of file discEmitter.cxx.

References _cosf_theta, _distance_from_center, _radius, and _sinf_theta.

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 BaseParticleEmitter::set_amplitude float  a  )  [inline, inherited]
 

amplitude assignment

Definition at line 109 of file baseParticleEmitter.I.

References BaseParticleEmitter::_amplitude_spread, and INLINE.

void BaseParticleEmitter::set_amplitude_spread float  as  )  [inline, inherited]
 

amplitude spread assignment

Definition at line 135 of file baseParticleEmitter.I.

References BaseParticleEmitter::_offset_force.

void DiscEmitter::set_cubic_lerping bool  clerp  )  [inline]
 

clerp flag

Definition at line 102 of file discEmitter.I.

References _outer_aoe, and INLINE.

void BaseParticleEmitter::set_emission_type emissionType  et  )  [inline, inherited]
 

emission type assignment

Definition at line 31 of file baseParticleEmitter.I.

References BaseParticleEmitter::_emission_type, BaseParticleEmitter::emissionType, and INLINE.

void BaseParticleEmitter::set_explicit_launch_vector const LVector3f &  elv  )  [inline, inherited]
 

assignment of explicit emission launch vector

Definition at line 57 of file baseParticleEmitter.I.

void DiscEmitter::set_inner_angle float  i_angle  )  [inline]
 

aoe assignment

Definition at line 60 of file discEmitter.I.

References _outer_magnitude.

void DiscEmitter::set_inner_magnitude float  i_mag  )  [inline]
 

mag assignment

Definition at line 88 of file discEmitter.I.

References _radius, and INLINE.

void BaseParticleEmitter::set_offset_force const LVector3f &  of  )  [inline, inherited]
 

user-defined force

Definition at line 161 of file baseParticleEmitter.I.

void DiscEmitter::set_outer_angle float  o_angle  )  [inline]
 

aoe assignement

Definition at line 46 of file discEmitter.I.

References _inner_aoe, and INLINE.

void DiscEmitter::set_outer_magnitude float  o_mag  )  [inline]
 

mag assignment

Definition at line 74 of file discEmitter.I.

References _cubic_lerping, and INLINE.

void BaseParticleEmitter::set_radiate_origin const LPoint3f &  ro  )  [inline, inherited]
 

assignment of radiate emission origin point

Definition at line 83 of file baseParticleEmitter.I.

References BaseParticleEmitter::_amplitude, and INLINE.

void DiscEmitter::set_radius float  r  )  [inline]
 

radius assignment

Definition at line 32 of file discEmitter.I.

References _outer_aoe, and INLINE.

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().


Member Data Documentation

float BaseParticleEmitter::_amplitude [protected, inherited]
 

Definition at line 77 of file baseParticleEmitter.h.

Referenced by BaseParticleEmitter::get_radiate_origin(), and BaseParticleEmitter::set_radiate_origin().

float BaseParticleEmitter::_amplitude_spread [protected, inherited]
 

Definition at line 78 of file baseParticleEmitter.h.

Referenced by BaseParticleEmitter::set_amplitude().

float DiscEmitter::_cosf_theta [private]
 

Definition at line 49 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), and make_copy().

bool DiscEmitter::_cubic_lerping [private]
 

Definition at line 43 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), get_inner_angle(), and set_outer_magnitude().

float DiscEmitter::_distance_from_center [private]
 

Definition at line 47 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), make_copy(), and ~DiscEmitter().

emissionType BaseParticleEmitter::_emission_type [protected, inherited]
 

Definition at line 73 of file baseParticleEmitter.h.

Referenced by BaseParticleEmitter::set_emission_type().

LVector3f BaseParticleEmitter::_explicit_launch_vector [protected, inherited]
 

Definition at line 74 of file baseParticleEmitter.h.

Referenced by BaseParticleEmitter::get_emission_type(), and BaseParticleEmitter::~BaseParticleEmitter().

float DiscEmitter::_inner_aoe [private]
 

Definition at line 41 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), and set_outer_angle().

float DiscEmitter::_inner_magnitude [private]
 

Definition at line 42 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), and get_outer_angle().

float DiscEmitter::_outer_aoe [private]
 

Definition at line 41 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), set_cubic_lerping(), and set_radius().

float DiscEmitter::_outer_magnitude [private]
 

Definition at line 42 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), and set_inner_angle().

LPoint3f BaseParticleEmitter::_radiate_origin [protected, inherited]
 

Definition at line 75 of file baseParticleEmitter.h.

Referenced by BaseParticleEmitter::get_explicit_launch_vector(), and BaseParticleEmitter::~BaseParticleEmitter().

float DiscEmitter::_radius [private]
 

Definition at line 38 of file discEmitter.h.

Referenced by DiscEmitter(), make_copy(), and set_inner_magnitude().

float DiscEmitter::_sinf_theta [private]
 

Definition at line 48 of file discEmitter.h.

Referenced by assign_initial_position(), DiscEmitter(), and make_copy().


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