#include <llviewerpartsim.h>
Public Types | |
typedef std::vector< LLPointer < LLViewerPart > > | part_list_t |
Public Member Functions | |
LLViewerPartGroup (const LLVector3 ¢er, const F32 box_radius) | |
virtual | ~LLViewerPartGroup () |
void | cleanup () |
BOOL | addPart (LLViewerPart *part, const F32 desired_size=-1.f) |
void | updateParticles (const F32 lastdt) |
BOOL | posInGroup (const LLVector3 &pos, const F32 desired_size=-1.f) |
void | shift (const LLVector3 &offset) |
const LLVector3 & | getCenterAgent () const |
S32 | getCount () const |
LLViewerRegion * | getRegion () const |
void | removeParticlesByID (const U32 source_id) |
Public Attributes | |
part_list_t | mParticles |
LLPointer< LLVOPartGroup > | mVOPartGroupp |
BOOL | mUniformParticles |
U32 | mID |
F32 | mSkippedTime |
Protected Attributes | |
LLVector3 | mCenterAgent |
F32 | mBoxRadius |
LLVector3 | mMinObjPos |
LLVector3 | mMaxObjPos |
LLViewerRegion * | mRegionp |
Definition at line 86 of file llviewerpartsim.h.
typedef std::vector<LLPointer<LLViewerPart> > LLViewerPartGroup::part_list_t |
Definition at line 103 of file llviewerpartsim.h.
Definition at line 118 of file llviewerpartsim.cpp.
References LLPipeline::addObject(), LLViewerObjectList::createObjectViewer(), F_SQRT3, gAgent, getCenterAgent(), LLSingleton< LLWorld >::getInstance(), getRegion(), LLAgent::getRegion(), LLWorld::getRegionFromPosAgent(), gObjectList, gPipeline, LLVector3::isFinite(), LLViewerObject::LL_VO_PART_GROUP, llassert_always, mBoxRadius, mCenterAgent, mID, mMaxObjPos, mMinObjPos, LLSpatialGroup::mOctreeNode, mRegionp, mSkippedTime, LLMemType::MTYPE_PARTICLES, mUniformParticles, mVOPartGroupp, NULL, and TRUE.
LLViewerPartGroup::~LLViewerPartGroup | ( | ) | [virtual] |
Definition at line 166 of file llviewerpartsim.cpp.
References cleanup(), LLViewerPartSim::decPartCount(), mParticles, LLMemType::MTYPE_PARTICLES, and S32.
void LLViewerPartGroup::cleanup | ( | ) |
Definition at line 177 of file llviewerpartsim.cpp.
References gObjectList, LLViewerObjectList::killObject(), LLMemType::MTYPE_PARTICLES, mVOPartGroupp, and NULL.
Referenced by ~LLViewerPartGroup().
BOOL LLViewerPartGroup::addPart | ( | LLViewerPart * | part, | |
const F32 | desired_size = -1.f | |||
) |
Definition at line 218 of file llviewerpartsim.cpp.
References FALSE, gPipeline, LLViewerPartSim::incPartCount(), LLPartData::LL_PART_FOLLOW_VELOCITY_MASK, LLPipeline::markRebuild(), LLPartData::mFlags, mParticles, LLViewerPart::mPosAgent, LLViewerPart::mScale, LLViewerPart::mSkipOffset, mSkippedTime, LLMemType::MTYPE_PARTICLES, mUniformParticles, LLVector2::mV, mVOPartGroupp, posInGroup(), LLDrawable::REBUILD_ALL, and TRUE.
void LLViewerPartGroup::updateParticles | ( | const F32 | lastdt | ) |
Definition at line 240 of file llviewerpartsim.cpp.
References calc_desired_size(), LLViewerPartSim::decPartCount(), LLSingleton< LLViewerPartSim >::getInstance(), LLViewerRegion::getPosRegionFromAgent(), getRegion(), LLWind::getVelocity(), gObjectList, gPipeline, GRAVITY, i, LLViewerObjectList::killObject(), LLPartData::LL_PART_BOUNCE_MASK, LLPartData::LL_PART_DEAD_MASK, LLPartData::LL_PART_FOLLOW_SRC_MASK, LLPartData::LL_PART_INTERP_COLOR_MASK, LLPartData::LL_PART_INTERP_SCALE_MASK, LLPartData::LL_PART_TARGET_LINEAR_MASK, LLPartData::LL_PART_TARGET_POS_MASK, LLPartData::LL_PART_WIND_MASK, llclamp(), LLViewerPart::mAccel, LLPipeline::markRebuild(), LLViewerPart::mColor, LLPartData::mEndColor, LLPartData::mEndScale, LLPartData::mFlags, LLViewerPart::mLastUpdateTime, LLPartData::mMaxAge, mParticles, LLViewerPart::mPartSourcep, LLViewerPart::mPosAgent, LLPartData::mPosOffset, LLViewerPart::mScale, LLViewerPart::mSkipOffset, mSkippedTime, LLPartData::mStartColor, LLPartData::mStartScale, LLMemType::MTYPE_PARTICLES, LLVector3::mV, LLViewerPart::mVelocity, mVOPartGroupp, LLViewerPart::mVPCallback, LLViewerRegion::mWind, LLPointer< Type >::notNull(), NULL, posInGroup(), LLViewerPartSim::put(), LLDrawable::REBUILD_ALL, S32, LLVector2::setVec(), LLColor4::setVec(), LLPointer< Type >::swap(), TRUE, and VZ.
Definition at line 190 of file llviewerpartsim.cpp.
References FALSE, mBoxRadius, mMaxObjPos, mMinObjPos, LLMemType::MTYPE_PARTICLES, LLVector3::mV, TRUE, VX, VY, and VZ.
Referenced by addPart(), and updateParticles().
void LLViewerPartGroup::shift | ( | const LLVector3 & | offset | ) |
Definition at line 404 of file llviewerpartsim.cpp.
References i, mCenterAgent, mMaxObjPos, mMinObjPos, mParticles, LLMemType::MTYPE_PARTICLES, and S32.
const LLVector3& LLViewerPartGroup::getCenterAgent | ( | ) | const [inline] |
Definition at line 106 of file llviewerpartsim.h.
References mCenterAgent.
Referenced by LLViewerPartGroup().
S32 LLViewerPartGroup::getCount | ( | ) | const [inline] |
Definition at line 107 of file llviewerpartsim.h.
References mParticles, and S32.
Referenced by LLVOPartGroup::updateGeometry().
LLViewerRegion* LLViewerPartGroup::getRegion | ( | ) | const [inline] |
Definition at line 108 of file llviewerpartsim.h.
References mRegionp.
Referenced by LLViewerPartGroup(), and updateParticles().
void LLViewerPartGroup::removeParticlesByID | ( | const U32 | source_id | ) |
Definition at line 419 of file llviewerpartsim.cpp.
References i, LLPartData::LL_PART_DEAD_MASK, mParticles, LLMemType::MTYPE_PARTICLES, and S32.
Definition at line 104 of file llviewerpartsim.h.
Referenced by addPart(), getCount(), LLVOPartGroup::getGeometry(), LLVOPartGroup::getPartSize(), removeParticlesByID(), shift(), LLVOPartGroup::updateGeometry(), updateParticles(), and ~LLViewerPartGroup().
Definition at line 112 of file llviewerpartsim.h.
Referenced by addPart(), cleanup(), LLViewerPartGroup(), and updateParticles().
Definition at line 117 of file llviewerpartsim.h.
Referenced by addPart(), LLViewerPartGroup(), and updateParticles().
LLVector3 LLViewerPartGroup::mCenterAgent [protected] |
Definition at line 120 of file llviewerpartsim.h.
Referenced by getCenterAgent(), LLViewerPartGroup(), and shift().
F32 LLViewerPartGroup::mBoxRadius [protected] |
Definition at line 121 of file llviewerpartsim.h.
Referenced by LLViewerPartGroup(), and posInGroup().
LLVector3 LLViewerPartGroup::mMinObjPos [protected] |
Definition at line 122 of file llviewerpartsim.h.
Referenced by LLViewerPartGroup(), posInGroup(), and shift().
LLVector3 LLViewerPartGroup::mMaxObjPos [protected] |
Definition at line 123 of file llviewerpartsim.h.
Referenced by LLViewerPartGroup(), posInGroup(), and shift().
LLViewerRegion* LLViewerPartGroup::mRegionp [protected] |
Definition at line 125 of file llviewerpartsim.h.
Referenced by getRegion(), and LLViewerPartGroup().