LLViewerPartGroup Class Reference

#include <llviewerpartsim.h>

Collaboration diagram for LLViewerPartGroup:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< LLPointer<
LLViewerPart > > 
part_list_t

Public Member Functions

 LLViewerPartGroup (const LLVector3 &center, const F32 box_radius)
virtual ~LLViewerPartGroup ()
void cleanup ()
BOOL addPart (LLViewerPart *part, const F32 desired_size=-1.f)
void updateParticles (const F32 dt)
BOOL posInGroup (const LLVector3 &pos, const F32 desired_size=-1.f)
void shift (const LLVector3 &offset)
const LLVector3getCenterAgent () const
S32 getCount () const
LLViewerRegiongetRegion () const
void removeParticlesByID (const U32 source_id)

Public Attributes

part_list_t mParticles
LLPointer< LLVOPartGroupmVOPartGroupp
BOOL mUniformParticles
U32 mID

Protected Member Functions

void removePart (const S32 part_num)

Protected Attributes

LLVector3 mCenterAgent
F32 mBoxRadius
LLVector3 mMinObjPos
LLVector3 mMaxObjPos
LLViewerRegionmRegionp

Detailed Description

Definition at line 89 of file llviewerpartsim.h.


Member Typedef Documentation

typedef std::vector<LLPointer<LLViewerPart> > LLViewerPartGroup::part_list_t

Definition at line 106 of file llviewerpartsim.h.


Constructor & Destructor Documentation

LLViewerPartGroup::LLViewerPartGroup ( const LLVector3 center,
const F32  box_radius 
)

Definition at line 132 of file llviewerpartsim.cpp.

References LLPipeline::addObject(), LLViewerObjectList::createObjectViewer(), f, F_SQRT3, gAgent, getCenterAgent(), getRegion(), LLAgent::getRegion(), gObjectList, gPipeline, gWorldPointer, LLVector3::isFinite(), LLViewerObject::LL_VO_PART_GROUP, llassert_always, mBoxRadius, mCenterAgent, mID, mMaxObjPos, mMinObjPos, LLSpatialGroup::mOctreeNode, mRegionp, LLMemType::MTYPE_PARTICLES, mUniformParticles, mVOPartGroupp, NULL, size, and TRUE.

LLViewerPartGroup::~LLViewerPartGroup (  )  [virtual]

Definition at line 168 of file llviewerpartsim.cpp.

References cleanup(), count, LLViewerPartSim::decPartCount(), mParticles, LLMemType::MTYPE_PARTICLES, and S32.


Member Function Documentation

BOOL LLViewerPartGroup::addPart ( LLViewerPart part,
const F32  desired_size = -1.f 
)

Definition at line 220 of file llviewerpartsim.cpp.

References FALSE, gPipeline, LLViewerPartSim::incPartCount(), LLPartData::LL_PART_FOLLOW_VELOCITY_MASK, LLPipeline::markRebuild(), LLPartData::mFlags, mParticles, LLViewerPart::mPosAgent, LLViewerPart::mScale, LLMemType::MTYPE_PARTICLES, mUniformParticles, LLVector2::mV, mVOPartGroupp, posInGroup(), LLDrawable::REBUILD_ALL, and TRUE.

void LLViewerPartGroup::cleanup (  ) 

Definition at line 179 of file llviewerpartsim.cpp.

References gObjectList, LLViewerObjectList::killObject(), LLMemType::MTYPE_PARTICLES, mVOPartGroupp, and NULL.

Referenced by ~LLViewerPartGroup().

const LLVector3& LLViewerPartGroup::getCenterAgent (  )  const [inline]

Definition at line 109 of file llviewerpartsim.h.

References mCenterAgent.

Referenced by LLViewerPartGroup().

S32 LLViewerPartGroup::getCount (  )  const [inline]

Definition at line 110 of file llviewerpartsim.h.

References mParticles, and S32.

Referenced by LLVOPartGroup::updateGeometry().

LLViewerRegion* LLViewerPartGroup::getRegion (  )  const [inline]

Definition at line 111 of file llviewerpartsim.h.

References mRegionp.

Referenced by LLViewerPartGroup(), and updateParticles().

BOOL LLViewerPartGroup::posInGroup ( const LLVector3 pos,
const F32  desired_size = -1.f 
)

Definition at line 192 of file llviewerpartsim.cpp.

References f, FALSE, mBoxRadius, mMaxObjPos, mMinObjPos, LLMemType::MTYPE_PARTICLES, LLVector3::mV, TRUE, VX, VY, and VZ.

Referenced by addPart(), and updateParticles().

void LLViewerPartGroup::removePart ( const S32  part_num  )  [protected]

Definition at line 241 of file llviewerpartsim.cpp.

References LLViewerPartSim::decPartCount(), gPipeline, LLPipeline::markRebuild(), mParticles, LLMemType::MTYPE_PARTICLES, mVOPartGroupp, LLPointer< Type >::notNull(), LLDrawable::REBUILD_ALL, and TRUE.

void LLViewerPartGroup::removeParticlesByID ( const U32  source_id  ) 

Definition at line 423 of file llviewerpartsim.cpp.

References end, i, LLPartData::LL_PART_DEAD_MASK, mParticles, LLMemType::MTYPE_PARTICLES, and S32.

void LLViewerPartGroup::shift ( const LLVector3 offset  ) 

Definition at line 408 of file llviewerpartsim.cpp.

References count, i, mCenterAgent, mMaxObjPos, mMinObjPos, mParticles, LLMemType::MTYPE_PARTICLES, and S32.

void LLViewerPartGroup::updateParticles ( const F32  dt  ) 

Definition at line 253 of file llviewerpartsim.cpp.

References a, calc_desired_size(), LLViewerPartSim::decPartCount(), end, f, LLViewerRegion::getPosRegionFromAgent(), getRegion(), LLWind::getVelocity(), gObjectList, gPipeline, gWorldPointer, 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, LLPartData::mStartColor, LLPartData::mStartScale, LLMemType::MTYPE_PARTICLES, LLColor4::mV, LLVector3::mV, LLViewerPart::mVelocity, mVOPartGroupp, LLViewerPart::mVPCallback, LLViewerRegion::mWind, LLPointer< Type >::notNull(), NULL, posInGroup(), LLDrawable::REBUILD_ALL, S32, LLVector2::setVec(), LLColor4::setVec(), LLPointer< Type >::swap(), TRUE, and VZ.


Member Data Documentation

F32 LLViewerPartGroup::mBoxRadius [protected]

Definition at line 125 of file llviewerpartsim.h.

Referenced by LLViewerPartGroup(), and posInGroup().

LLVector3 LLViewerPartGroup::mCenterAgent [protected]

Definition at line 124 of file llviewerpartsim.h.

Referenced by getCenterAgent(), LLViewerPartGroup(), and shift().

U32 LLViewerPartGroup::mID

Definition at line 118 of file llviewerpartsim.h.

Referenced by LLViewerPartGroup().

LLVector3 LLViewerPartGroup::mMaxObjPos [protected]

Definition at line 127 of file llviewerpartsim.h.

Referenced by LLViewerPartGroup(), posInGroup(), and shift().

LLVector3 LLViewerPartGroup::mMinObjPos [protected]

Definition at line 126 of file llviewerpartsim.h.

Referenced by LLViewerPartGroup(), posInGroup(), and shift().

part_list_t LLViewerPartGroup::mParticles

Definition at line 107 of file llviewerpartsim.h.

Referenced by addPart(), getCount(), LLVOPartGroup::getGeometry(), LLVOPartGroup::getPartSize(), removePart(), removeParticlesByID(), shift(), LLVOPartGroup::updateGeometry(), updateParticles(), and ~LLViewerPartGroup().

LLViewerRegion* LLViewerPartGroup::mRegionp [protected]

Definition at line 129 of file llviewerpartsim.h.

Referenced by getRegion(), and LLViewerPartGroup().

BOOL LLViewerPartGroup::mUniformParticles

Definition at line 117 of file llviewerpartsim.h.

Referenced by addPart(), and LLViewerPartGroup().

LLPointer<LLVOPartGroup> LLViewerPartGroup::mVOPartGroupp

Definition at line 115 of file llviewerpartsim.h.

Referenced by addPart(), cleanup(), LLViewerPartGroup(), removePart(), and updateParticles().


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