LLViewerPartSim Class Reference

#include <llviewerpartsim.h>

Collaboration diagram for LLViewerPartSim:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< LLViewerPartGroup * > group_list_t
typedef std::vector< LLPointer<
LLViewerPartSource > > 
source_list_t

Public Member Functions

 LLViewerPartSim ()
virtual ~LLViewerPartSim ()
void shift (const LLVector3 &offset)
void updateSimulation ()
void addPartSource (LLPointer< LLViewerPartSource > sourcep)
void cleanupRegion (LLViewerRegion *regionp)
BOOL shouldAddPart ()
void addPart (LLViewerPart *part)
void clearParticlesByID (const U32 system_id)
void clearParticlesByOwnerID (const LLUUID &task_id)
void removeLastCreatedSource ()
const source_list_tgetParticleSystemList () const
BOOL aboveParticleLimit () const

Static Public Member Functions

static void setMaxPartCount (const S32 max_parts)
static S32 getMaxPartCount ()
static void incPartCount (const S32 count)
static void decPartCount (const S32 count)

Public Attributes

U32 mID

Protected Member Functions

LLViewerPartGroupcreateViewerPartGroup (const LLVector3 &pos_agent, const F32 desired_size)
LLViewerPartGroupput (LLViewerPart *part)

Protected Attributes

group_list_t mViewerPartGroups
source_list_t mViewerPartSources
LLFrameTimer mSimulationTimer

Static Protected Attributes

static S32 sMaxParticleCount = 0
static S32 sParticleCount = 0

Friends

class LLViewerPartGroup

Detailed Description

Definition at line 132 of file llviewerpartsim.h.


Member Typedef Documentation

typedef std::vector<LLViewerPartGroup *> LLViewerPartSim::group_list_t

Definition at line 139 of file llviewerpartsim.h.

typedef std::vector<LLPointer<LLViewerPartSource> > LLViewerPartSim::source_list_t

Definition at line 140 of file llviewerpartsim.h.


Constructor & Destructor Documentation

LLViewerPartSim::LLViewerPartSim (  ) 

Definition at line 443 of file llviewerpartsim.cpp.

References LLControlGroup::getS32(), gSavedSettings, mID, LLMemType::MTYPE_PARTICLES, and sMaxParticleCount.

LLViewerPartSim::~LLViewerPartSim (  )  [virtual]

Definition at line 452 of file llviewerpartsim.cpp.

References count, i, LLMemType::MTYPE_PARTICLES, mViewerPartGroups, mViewerPartSources, and S32.


Member Function Documentation

BOOL LLViewerPartSim::aboveParticleLimit (  )  const [inline]

Definition at line 160 of file llviewerpartsim.h.

References sMaxParticleCount, and sParticleCount.

void LLViewerPartSim::addPart ( LLViewerPart part  ) 

Definition at line 493 of file llviewerpartsim.cpp.

References MAX_PART_COUNT, LLMemType::MTYPE_PARTICLES, put(), and sParticleCount.

Referenced by put().

void LLViewerPartSim::addPartSource ( LLPointer< LLViewerPartSource sourcep  ) 

Definition at line 691 of file llviewerpartsim.cpp.

References llendl, llwarns, LLMemType::MTYPE_PARTICLES, and mViewerPartSources.

void LLViewerPartSim::cleanupRegion ( LLViewerRegion regionp  ) 

Definition at line 707 of file llviewerpartsim.cpp.

References i, LLMemType::MTYPE_PARTICLES, and mViewerPartGroups.

void LLViewerPartSim::clearParticlesByID ( const U32  system_id  ) 

Definition at line 722 of file llviewerpartsim.cpp.

References g, i, LLMemType::MTYPE_PARTICLES, mViewerPartGroups, and mViewerPartSources.

Referenced by clearParticlesByOwnerID().

void LLViewerPartSim::clearParticlesByOwnerID ( const LLUUID task_id  ) 

Definition at line 740 of file llviewerpartsim.cpp.

References clearParticlesByID(), LLMemType::MTYPE_PARTICLES, and mViewerPartSources.

LLViewerPartGroup * LLViewerPartSim::createViewerPartGroup ( const LLVector3 pos_agent,
const F32  desired_size 
) [protected]

Definition at line 545 of file llviewerpartsim.cpp.

References LLViewerPartGroup, LLMemType::MTYPE_PARTICLES, and mViewerPartGroups.

Referenced by put().

static void LLViewerPartSim::decPartCount ( const S32  count  )  [inline, static]

Definition at line 165 of file llviewerpartsim.h.

References sParticleCount.

Referenced by LLViewerPartGroup::removePart(), LLViewerPartGroup::updateParticles(), and LLViewerPartGroup::~LLViewerPartGroup().

static S32 LLViewerPartSim::getMaxPartCount (  )  [inline, static]

Definition at line 163 of file llviewerpartsim.h.

References sMaxParticleCount.

Referenced by LLVOPartGroup::updateGeometry().

const source_list_t* LLViewerPartSim::getParticleSystemList (  )  const [inline]

Definition at line 156 of file llviewerpartsim.h.

References mViewerPartSources.

static void LLViewerPartSim::incPartCount ( const S32  count  )  [inline, static]

Definition at line 164 of file llviewerpartsim.h.

References sParticleCount.

Referenced by LLViewerPartGroup::addPart().

LLViewerPartGroup * LLViewerPartSim::put ( LLViewerPart part  )  [protected]

Definition at line 503 of file llviewerpartsim.cpp.

References addPart(), calc_desired_size(), count, createViewerPartGroup(), i, LLVector3::isFinite(), LLPartData::LL_PART_FOLLOW_VELOCITY_MASK, llassert_always, llendl, llinfos, llwarns, LLVector3::magVecSquared(), LLPartData::mFlags, LLViewerPart::mPosAgent, LLViewerPart::mScale, LLMemType::MTYPE_PARTICLES, LLVector2::mV, mViewerPartGroups, NULL, and S32.

Referenced by addPart().

void LLViewerPartSim::removeLastCreatedSource (  ) 

Definition at line 702 of file llviewerpartsim.cpp.

References mViewerPartSources.

static void LLViewerPartSim::setMaxPartCount ( const S32  max_parts  )  [inline, static]

Definition at line 162 of file llviewerpartsim.h.

References sMaxParticleCount.

Referenced by LLFeatureManager::applyRecommendedFeatures(), and LLMaxPartCountListener::handleEvent().

void LLViewerPartSim::shift ( const LLVector3 offset  ) 

Definition at line 556 of file llviewerpartsim.cpp.

References count, i, mViewerPartGroups, mViewerPartSources, and S32.

BOOL LLViewerPartSim::shouldAddPart (  ) 

Definition at line 470 of file llviewerpartsim.cpp.

References f, FALSE, ll_frand(), MAX_PART_COUNT, LLMemType::MTYPE_PARTICLES, sMaxParticleCount, sParticleCount, and TRUE.

void LLViewerPartSim::updateSimulation (  ) 

Definition at line 584 of file llviewerpartsim.cpp.

References count, dist_rate_func(), f, LLFastTimer::FTM_SIMULATE_PARTICLES, LLDrawable::getCurrentFrame(), LLFrameTimer::getElapsedTimeAndResetF32(), gPipeline, LLPipeline::hasRenderType(), i, LLDrawable::IN_REBUILD_Q1, LLSpatialGroup::isVisible(), ll_frand(), LLPipeline::markRebuild(), mID, LLMemType::MTYPE_PARTICLES, mViewerPartGroups, mViewerPartSources, LLDrawable::REBUILD_ALL, LLPipeline::RENDER_TYPE_PARTICLES, S32, start, and TRUE.

Referenced by LLWorld::updateParticles().


Friends And Related Function Documentation

friend class LLViewerPartGroup [friend]

Definition at line 158 of file llviewerpartsim.h.

Referenced by createViewerPartGroup().


Member Data Documentation

U32 LLViewerPartSim::mID

Definition at line 167 of file llviewerpartsim.h.

Referenced by LLViewerPartSim(), and updateSimulation().

LLFrameTimer LLViewerPartSim::mSimulationTimer [protected]

Definition at line 176 of file llviewerpartsim.h.

group_list_t LLViewerPartSim::mViewerPartGroups [protected]

Definition at line 174 of file llviewerpartsim.h.

Referenced by cleanupRegion(), clearParticlesByID(), createViewerPartGroup(), put(), shift(), updateSimulation(), and ~LLViewerPartSim().

source_list_t LLViewerPartSim::mViewerPartSources [protected]

Definition at line 175 of file llviewerpartsim.h.

Referenced by addPartSource(), clearParticlesByID(), clearParticlesByOwnerID(), getParticleSystemList(), removeLastCreatedSource(), shift(), updateSimulation(), and ~LLViewerPartSim().

S32 LLViewerPartSim::sMaxParticleCount = 0 [static, protected]

Definition at line 177 of file llviewerpartsim.h.

Referenced by aboveParticleLimit(), getMaxPartCount(), LLViewerPartSim(), setMaxPartCount(), and shouldAddPart().

S32 LLViewerPartSim::sParticleCount = 0 [static, protected]

Definition at line 178 of file llviewerpartsim.h.

Referenced by aboveParticleLimit(), addPart(), decPartCount(), incPartCount(), and shouldAddPart().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:58 2010 for Second Life Viewer by  doxygen 1.4.7