#include <llviewerpartsim.h>
Definition at line 128 of file llviewerpartsim.h.
typedef std::vector<LLViewerPartGroup *> LLViewerPartSim::group_list_t |
Definition at line 135 of file llviewerpartsim.h.
typedef std::vector<LLPointer<LLViewerPartSource> > LLViewerPartSim::source_list_t |
Definition at line 136 of file llviewerpartsim.h.
LLViewerPartSim::LLViewerPartSim | ( | ) |
Definition at line 439 of file llviewerpartsim.cpp.
References LLControlGroup::getS32(), gSavedSettings, mID, LLMemType::MTYPE_PARTICLES, and sMaxParticleCount.
virtual LLViewerPartSim::~LLViewerPartSim | ( | ) | [inline, virtual] |
Definition at line 132 of file llviewerpartsim.h.
void LLViewerPartSim::destroyClass | ( | ) |
Definition at line 448 of file llviewerpartsim.cpp.
References i, LLMemType::MTYPE_PARTICLES, mViewerPartGroups, mViewerPartSources, and S32.
Referenced by LLWorld::destroyClass().
void LLViewerPartSim::shift | ( | const LLVector3 & | offset | ) |
Definition at line 552 of file llviewerpartsim.cpp.
References i, mViewerPartGroups, mViewerPartSources, and S32.
Referenced by LLWorld::shiftRegions().
void LLViewerPartSim::updateSimulation | ( | ) |
Definition at line 572 of file llviewerpartsim.cpp.
References LLFastTimer::FTM_SIMULATE_PARTICLES, LLDrawable::getCurrentFrame(), LLFrameTimer::getElapsedTimeAndResetF32(), gPipeline, LLPipeline::hasRenderType(), i, LLSpatialGroup::isVisible(), ll_frand(), llmin(), LLPipeline::markRebuild(), LLViewerObject::mDrawable, mID, LLMemType::MTYPE_PARTICLES, mViewerPartGroups, mViewerPartSources, PART_ADAPT_RATE_MULT, PART_ADAPT_RATE_MULT_RECIP, LLDrawable::REBUILD_ALL, LLPipeline::RENDER_TYPE_PARTICLES, S32, sMaxParticleCount, sParticleAdaptiveRate, sParticleCount, TRUE, and updatePartBurstRate().
Referenced by LLWorld::updateParticles().
void LLViewerPartSim::addPartSource | ( | LLPointer< LLViewerPartSource > | sourcep | ) |
Definition at line 724 of file llviewerpartsim.cpp.
References llendl, llwarns, LLMemType::MTYPE_PARTICLES, and mViewerPartSources.
Referenced by process_chat_from_simulator(), LLViewerObject::setParticleSource(), LLHUDEffectSpiral::triggerLocal(), and LLViewerObject::unpackParticleSource().
void LLViewerPartSim::cleanupRegion | ( | LLViewerRegion * | regionp | ) |
Definition at line 741 of file llviewerpartsim.cpp.
References i, LLMemType::MTYPE_PARTICLES, and mViewerPartGroups.
Referenced by LLViewerRegion::~LLViewerRegion().
BOOL LLViewerPartSim::shouldAddPart | ( | ) |
Definition at line 466 of file llviewerpartsim.cpp.
References FALSE, ll_frand(), MAX_PART_COUNT, LLMemType::MTYPE_PARTICLES, PART_THROTTLE_RESCALE, PART_THROTTLE_THRESHOLD, sMaxParticleCount, sParticleCount, and TRUE.
F32 LLViewerPartSim::maxRate | ( | ) | [inline] |
Definition at line 147 of file llviewerpartsim.h.
References MAX_PART_COUNT, PART_THROTTLE_RESCALE, PART_THROTTLE_THRESHOLD, sMaxParticleCount, and sParticleCount.
F32 LLViewerPartSim::getRefRate | ( | ) | [inline] |
F32 LLViewerPartSim::getBurstRate | ( | ) | [inline] |
void LLViewerPartSim::addPart | ( | LLViewerPart * | part | ) |
Definition at line 489 of file llviewerpartsim.cpp.
References MAX_PART_COUNT, LLMemType::MTYPE_PARTICLES, put(), and sParticleCount.
Referenced by put(), LLViewerPartSourceChat::update(), LLViewerPartSourceBeam::update(), LLViewerPartSourceSpiral::update(), and LLViewerPartSourceScript::update().
void LLViewerPartSim::updatePartBurstRate | ( | ) |
Definition at line 693 of file llviewerpartsim.cpp.
References LLDrawable::getCurrentFrame(), llclamp(), llmax(), llmin(), MAX_PART_COUNT, sMaxParticleCount, sParticleBurstRate, and sParticleCount.
Referenced by updateSimulation().
void LLViewerPartSim::clearParticlesByID | ( | const U32 | system_id | ) |
Definition at line 756 of file llviewerpartsim.cpp.
References i, LLMemType::MTYPE_PARTICLES, mViewerPartGroups, and mViewerPartSources.
Referenced by clearParticlesByOwnerID().
void LLViewerPartSim::clearParticlesByOwnerID | ( | const LLUUID & | task_id | ) |
Definition at line 774 of file llviewerpartsim.cpp.
References clearParticlesByID(), LLMemType::MTYPE_PARTICLES, and mViewerPartSources.
Referenced by LLMuteList::add().
void LLViewerPartSim::removeLastCreatedSource | ( | ) |
const source_list_t* LLViewerPartSim::getParticleSystemList | ( | ) | const [inline] |
BOOL LLViewerPartSim::aboveParticleLimit | ( | ) | const [inline] |
static void LLViewerPartSim::setMaxPartCount | ( | const S32 | max_parts | ) | [inline, static] |
Definition at line 173 of file llviewerpartsim.h.
References sMaxParticleCount.
Referenced by handleMaxPartCountChanged().
static S32 LLViewerPartSim::getMaxPartCount | ( | ) | [inline, static] |
Definition at line 174 of file llviewerpartsim.h.
References sMaxParticleCount.
Referenced by LLVOPartGroup::updateGeometry().
static void LLViewerPartSim::incPartCount | ( | const S32 | count | ) | [inline, static] |
Definition at line 175 of file llviewerpartsim.h.
References sParticleCount.
Referenced by LLViewerPartGroup::addPart().
static void LLViewerPartSim::decPartCount | ( | const S32 | count | ) | [inline, static] |
Definition at line 176 of file llviewerpartsim.h.
References sParticleCount.
Referenced by LLViewerPartGroup::updateParticles(), and LLViewerPartGroup::~LLViewerPartGroup().
LLViewerPartGroup * LLViewerPartSim::createViewerPartGroup | ( | const LLVector3 & | pos_agent, | |
const F32 | desired_size | |||
) | [protected] |
Definition at line 541 of file llviewerpartsim.cpp.
References LLViewerPartGroup, LLMemType::MTYPE_PARTICLES, and mViewerPartGroups.
Referenced by put().
LLViewerPartGroup * LLViewerPartSim::put | ( | LLViewerPart * | part | ) | [protected] |
Definition at line 499 of file llviewerpartsim.cpp.
References addPart(), calc_desired_size(), 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(), and LLViewerPartGroup::updateParticles().
friend class LLViewerPartGroup [friend] |
Definition at line 178 of file llviewerpartsim.h.
Referenced by LLViewerPartSim(), and updateSimulation().
group_list_t LLViewerPartSim::mViewerPartGroups [protected] |
Definition at line 184 of file llviewerpartsim.h.
Referenced by cleanupRegion(), clearParticlesByID(), createViewerPartGroup(), destroyClass(), put(), shift(), and updateSimulation().
source_list_t LLViewerPartSim::mViewerPartSources [protected] |
Definition at line 185 of file llviewerpartsim.h.
Referenced by addPartSource(), clearParticlesByID(), clearParticlesByOwnerID(), destroyClass(), getParticleSystemList(), removeLastCreatedSource(), shift(), and updateSimulation().
LLFrameTimer LLViewerPartSim::mSimulationTimer [protected] |
Definition at line 186 of file llviewerpartsim.h.
S32 LLViewerPartSim::sMaxParticleCount = 0 [static, protected] |
Definition at line 188 of file llviewerpartsim.h.
Referenced by aboveParticleLimit(), getMaxPartCount(), LLViewerPartSim(), maxRate(), setMaxPartCount(), shouldAddPart(), updatePartBurstRate(), and updateSimulation().
S32 LLViewerPartSim::sParticleCount = 0 [static, protected] |
Definition at line 189 of file llviewerpartsim.h.
Referenced by aboveParticleLimit(), addPart(), decPartCount(), incPartCount(), maxRate(), shouldAddPart(), updatePartBurstRate(), and updateSimulation().
F32 LLViewerPartSim::sParticleAdaptiveRate = 0.0625f [static, protected] |
Definition at line 190 of file llviewerpartsim.h.
Referenced by getRefRate(), and updateSimulation().
F32 LLViewerPartSim::sParticleBurstRate = 0.5f [static, protected] |
Definition at line 191 of file llviewerpartsim.h.
Referenced by getBurstRate(), and updatePartBurstRate().
const S32 LLViewerPartSim::MAX_PART_COUNT = 8192 [static, protected] |
Definition at line 193 of file llviewerpartsim.h.
Referenced by addPart(), maxRate(), shouldAddPart(), and updatePartBurstRate().
const F32 LLViewerPartSim::PART_THROTTLE_THRESHOLD = 0.9f [static, protected] |
const F32 LLViewerPartSim::PART_THROTTLE_RESCALE = PART_THROTTLE_THRESHOLD / (1.0f-PART_THROTTLE_THRESHOLD) [static, protected] |
const F32 LLViewerPartSim::PART_ADAPT_RATE_MULT = 2.0f [static, protected] |
const F32 LLViewerPartSim::PART_ADAPT_RATE_MULT_RECIP = 1.0f/PART_ADAPT_RATE_MULT [static, protected] |