LLVOGrass Class Reference

#include <llvograss.h>

Inheritance diagram for LLVOGrass:

Inheritance graph
[legend]
Collaboration diagram for LLVOGrass:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< U32,
GrassSpeciesData * > 
SpeciesMap

Public Member Functions

 LLVOGrass (const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp)
virtual U32 getPartitionType () const
U32 processUpdateMessage (LLMessageSystem *mesgsys, void **user_data, U32 block_num, const EObjectUpdateType update_type, LLDataPacker *dp)
void exportFile (LLFILE *file, const LLVector3 &position)
void updateDrawable (BOOL force_damped)
LLDrawablecreateDrawable (LLPipeline *pipeline)
BOOL updateGeometry (LLDrawable *drawable)
void getGeometry (S32 idx, LLStrider< LLVector3 > &verticesp, LLStrider< LLVector3 > &normalsp, LLStrider< LLVector2 > &texcoordsp, LLStrider< LLColor4U > &colorsp, LLStrider< U16 > &indicesp)
void updateFaceSize (S32 idx)
void updateTextures (LLAgent &agent)
BOOL updateLOD ()
void setPixelAreaAndAngle (LLAgent &agent)
void plantBlades ()
BOOL isActive () const
BOOL idleUpdate (LLAgent &agent, LLWorld &world, const F64 &time)

Static Public Member Functions

static void initClass ()
static void cleanupClass ()
static void import (LLFILE *file, LLMessageSystem *mesgsys, const LLVector3 &pos)

Public Attributes

U8 mSpecies
F32 mBladeSizeX
F32 mBladeSizeY
LLSurfacePatchmPatch
U64 mLastPatchUpdateTime
LLVector3 mGrassBend
LLVector3 mGrassVel
LLVector3 mWind
F32 mBladeWindAngle
F32 mBWAOverlap

Static Public Attributes

static S32 sMaxGrassSpecies = 0

Protected Member Functions

 ~LLVOGrass ()

Private Member Functions

void updateSpecies ()

Private Attributes

F32 mLastHeight
S32 mNumBlades

Static Private Attributes

static SpeciesMap sSpeciesTable

Classes

struct  GrassSpeciesData


Detailed Description

Definition at line 43 of file llvograss.h.


Member Typedef Documentation

Definition at line 93 of file llvograss.h.


Constructor & Destructor Documentation

LLVOGrass::LLVOGrass ( const LLUUID id,
const LLPCode  pcode,
LLViewerRegion regionp 
)

LLVOGrass::~LLVOGrass (  )  [protected]

Definition at line 93 of file llvograss.cpp.


Member Function Documentation

void LLVOGrass::initClass ( void   )  [static]

void LLVOGrass::cleanupClass (  )  [static]

Definition at line 262 of file llvograss.cpp.

References sSpeciesTable.

Referenced by LLViewerObject::cleanupVOClasses().

Here is the caller graph for this function:

U32 LLVOGrass::getPartitionType (  )  const [virtual]

Reimplemented from LLViewerObject.

Definition at line 556 of file llvograss.cpp.

References LLViewerRegion::PARTITION_GRASS.

U32 LLVOGrass::processUpdateMessage ( LLMessageSystem mesgsys,
void **  user_data,
U32  block_num,
const EObjectUpdateType  update_type,
LLDataPacker dp 
) [virtual]

static void LLVOGrass::import ( LLFILE file,
LLMessageSystem mesgsys,
const LLVector3 pos 
) [static]

void LLVOGrass::exportFile ( LLFILE file,
const LLVector3 position 
)

void LLVOGrass::updateDrawable ( BOOL  force_damped  )  [virtual]

Reimplemented from LLViewerObject.

Definition at line 573 of file llvograss.cpp.

References LLXform::clearChanged(), gPipeline, LLPipeline::markRebuild(), LLViewerObject::mDrawable, LLPointer< Type >::notNull(), LLDrawable::REBUILD_ALL, LLXform::SHIFTED, and TRUE.

Here is the call graph for this function:

LLDrawable * LLVOGrass::createDrawable ( LLPipeline pipeline  )  [virtual]

Reimplemented from LLViewerObject.

Definition at line 394 of file llvograss.cpp.

References LLPipeline::allocDrawable(), LLViewerObject::mDrawable, and LLPipeline::RENDER_TYPE_GRASS.

Here is the call graph for this function:

BOOL LLVOGrass::updateGeometry ( LLDrawable drawable  )  [virtual]

Reimplemented from LLViewerObject.

Definition at line 402 of file llvograss.cpp.

References LLViewerObject::dirtySpatialGroup(), LLFastTimer::FTM_UPDATE_GRASS, plantBlades(), and TRUE.

Here is the call graph for this function:

void LLVOGrass::getGeometry ( S32  idx,
LLStrider< LLVector3 > &  verticesp,
LLStrider< LLVector3 > &  normalsp,
LLStrider< LLVector2 > &  texcoordsp,
LLStrider< LLColor4U > &  colorsp,
LLStrider< U16 > &  indicesp 
) [virtual]

void LLVOGrass::updateFaceSize ( S32  idx  )  [inline, virtual]

Reimplemented from LLViewerObject.

Definition at line 73 of file llvograss.h.

void LLVOGrass::updateTextures ( LLAgent agent  )  [virtual]

BOOL LLVOGrass::updateLOD (  )  [virtual]

void LLVOGrass::setPixelAreaAndAngle ( LLAgent agent  )  [virtual]

void LLVOGrass::plantBlades (  ) 

BOOL LLVOGrass::isActive ( void   )  const [virtual]

Reimplemented from LLViewerObject.

Definition at line 296 of file llvograss.cpp.

References TRUE.

BOOL LLVOGrass::idleUpdate ( LLAgent agent,
LLWorld world,
const F64 time 
) [virtual]

void LLVOGrass::updateSpecies (  )  [private]

Definition at line 98 of file llvograss.cpp.

References LLViewerImageList::getImage(), gImageList, llendl, llinfos, mSpecies, LLViewerObject::mState, LLViewerObject::setTEImage(), and sSpeciesTable.

Referenced by processUpdateMessage().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 83 of file llvograss.h.

Referenced by LLToolPlacer::addObject(), and initClass().

Definition at line 95 of file llvograss.h.

Referenced by getGeometry(), plantBlades(), and updateSpecies().

Definition at line 96 of file llvograss.h.

Definition at line 97 of file llvograss.h.

Definition at line 99 of file llvograss.h.

Referenced by getGeometry(), idleUpdate(), and LLVOGrass().

Definition at line 101 of file llvograss.h.

Referenced by getGeometry(), idleUpdate(), and LLVOGrass().

Definition at line 103 of file llvograss.h.

Referenced by LLVOGrass().

Definition at line 104 of file llvograss.h.

Referenced by LLVOGrass().

Definition at line 105 of file llvograss.h.

Definition at line 106 of file llvograss.h.

Referenced by LLVOGrass().

Definition at line 107 of file llvograss.h.

Referenced by LLVOGrass().

Definition at line 114 of file llvograss.h.

Definition at line 115 of file llvograss.h.

Referenced by getGeometry(), LLVOGrass(), plantBlades(), and updateLOD().

Definition at line 117 of file llvograss.h.

Referenced by cleanupClass(), getGeometry(), initClass(), plantBlades(), and updateSpecies().


The documentation for this class was generated from the following files:

Generated on Fri May 16 09:36:35 2008 for SecondLife by  doxygen 1.5.5