LLVOTree Class Reference

#include <llvotree.h>

Inheritance diagram for LLVOTree:

Inheritance graph
[legend]
Collaboration diagram for LLVOTree:

Collaboration graph
[legend]

List of all members.

Public Types

enum  { VERTEX_DATA_MASK }

Public Member Functions

 LLVOTree (const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp)
U32 processUpdateMessage (LLMessageSystem *mesgsys, void **user_data, U32 block_num, const EObjectUpdateType update_type, LLDataPacker *dp)
BOOL idleUpdate (LLAgent &agent, LLWorld &world, const F64 &time)
void render (LLAgent &agent)
void setPixelAreaAndAngle (LLAgent &agent)
void updateTextures (LLAgent &agent)
LLDrawablecreateDrawable (LLPipeline *pipeline)
BOOL updateGeometry (LLDrawable *drawable)
void updateSpatialExtents (LLVector3 &min, LLVector3 &max)
virtual U32 getPartitionType () const
void updateRadius ()
U32 drawBranchPipeline (LLMatrix4 &matrix, U16 *indicesp, S32 trunk_LOD, S32 stop_level, U16 depth, U16 trunk_depth, F32 scale, F32 twist, F32 droop, F32 branches, F32 alpha)

Static Public Member Functions

static void initClass ()
static void cleanupClass ()

Static Public Attributes

static S32 sMaxTreeSpecies = 0
static F32 sTreeFactor = 1.f

Protected Types

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

Protected Member Functions

 ~LLVOTree ()

Protected Attributes

LLVector3 mTrunkBend
LLVector3 mTrunkVel
LLVector3 mWind
LLPointer< LLViewerImagemTreeImagep
U8 mSpecies
F32 mBranchLength
F32 mTrunkLength
F32 mDroop
F32 mTwist
F32 mBranches
U8 mDepth
F32 mScaleStep
U8 mTrunkDepth
F32 mLeafScale
F32 mBillboardScale
F32 mBillboardRatio
F32 mTrunkAspect
F32 mBranchAspect
F32 mRandomLeafRotate
U32 mFrameCount

Static Protected Attributes

static SpeciesMap sSpeciesTable
static S32 sLODIndexOffset [4]
static S32 sLODIndexCount [4]
static S32 sLODVertexOffset [4]
static S32 sLODVertexCount [4]
static S32 sLODSlices [4] = {10, 5, 4, 3}
static F32 sLODAngles [4] = {30.f, 20.f, 15.f, 0.f}

Friends

class LLDrawPoolTree

Classes

struct  TreeSpeciesData


Detailed Description

Definition at line 43 of file llvotree.h.


Member Typedef Documentation

typedef std::map<U32, TreeSpeciesData*> LLVOTree::SpeciesMap [protected]

Definition at line 140 of file llvotree.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
VERTEX_DATA_MASK 

Definition at line 49 of file llvotree.h.


Constructor & Destructor Documentation

LLVOTree::~LLVOTree (  )  [protected]

Definition at line 91 of file llvotree.cpp.

References LLViewerObject::mData, and NULL.

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

Definition at line 82 of file llvotree.cpp.

References LLViewerObject::getPositionRegion(), LLWind::getVelocity(), mFrameCount, LLViewerObject::mRegionp, mSpecies, LLViewerRegion::mWind, and mWind.

Here is the call graph for this function:


Member Function Documentation

void LLVOTree::initClass ( void   )  [static]

void LLVOTree::cleanupClass (  )  [static]

Definition at line 265 of file llvotree.cpp.

References sSpeciesTable.

Referenced by LLViewerObject::cleanupVOClasses().

Here is the caller graph for this function:

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

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

void LLVOTree::render ( LLAgent agent  ) 

Definition at line 382 of file llvotree.cpp.

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

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

Reimplemented from LLViewerObject.

Definition at line 414 of file llvotree.cpp.

References fsqrtf, LLPipeline::hasRenderDebugMask(), llformat(), LLViewerObject::mPixelArea, mTreeImagep, LLPipeline::RENDER_DEBUG_TEXTURE_AREA, and LLViewerObject::setDebugText().

Here is the call graph for this function:

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

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

void LLVOTree::updateSpatialExtents ( LLVector3 min,
LLVector3 max 
) [virtual]

U32 LLVOTree::getPartitionType (  )  const [virtual]

Reimplemented from LLViewerObject.

Definition at line 936 of file llvotree.cpp.

References LLViewerRegion::PARTITION_TREE.

void LLVOTree::updateRadius (  )  [virtual]

Reimplemented from LLViewerObject.

Definition at line 911 of file llvotree.cpp.

References LLPointer< Type >::isNull(), and LLViewerObject::mDrawable.

Referenced by createDrawable().

Here is the call graph for this function:

Here is the caller graph for this function:

U32 LLVOTree::drawBranchPipeline ( LLMatrix4 matrix,
U16 indicesp,
S32  trunk_LOD,
S32  stop_level,
U16  depth,
U16  trunk_depth,
F32  scale,
F32  twist,
F32  droop,
F32  branches,
F32  alpha 
)


Friends And Related Function Documentation

friend class LLDrawPoolTree [friend]

Definition at line 112 of file llvotree.h.


Member Data Documentation

Definition at line 83 of file llvotree.h.

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

F32 LLVOTree::sTreeFactor = 1.f [static]

Definition at line 114 of file llvotree.h.

Referenced by idleUpdate(), and LLDrawPoolTree::renderTree().

Definition at line 115 of file llvotree.h.

Referenced by idleUpdate().

Definition at line 116 of file llvotree.h.

Referenced by idleUpdate(), and LLVOTree().

Definition at line 118 of file llvotree.h.

Referenced by createDrawable(), processUpdateMessage(), and updateTextures().

U8 LLVOTree::mSpecies [protected]

Definition at line 120 of file llvotree.h.

Referenced by LLVOTree(), processUpdateMessage(), and updateGeometry().

Definition at line 121 of file llvotree.h.

Referenced by drawBranchPipeline(), and processUpdateMessage().

Definition at line 122 of file llvotree.h.

Referenced by drawBranchPipeline(), and processUpdateMessage().

F32 LLVOTree::mDroop [protected]

Definition at line 123 of file llvotree.h.

Referenced by processUpdateMessage(), and LLDrawPoolTree::renderTree().

F32 LLVOTree::mTwist [protected]

Definition at line 124 of file llvotree.h.

Referenced by processUpdateMessage(), and LLDrawPoolTree::renderTree().

F32 LLVOTree::mBranches [protected]

Definition at line 125 of file llvotree.h.

Referenced by idleUpdate(), processUpdateMessage(), and LLDrawPoolTree::renderTree().

U8 LLVOTree::mDepth [protected]

Definition at line 126 of file llvotree.h.

Referenced by idleUpdate(), processUpdateMessage(), and LLDrawPoolTree::renderTree().

Definition at line 127 of file llvotree.h.

Referenced by drawBranchPipeline(), and processUpdateMessage().

Definition at line 128 of file llvotree.h.

Referenced by processUpdateMessage(), and LLDrawPoolTree::renderTree().

Definition at line 130 of file llvotree.h.

Referenced by drawBranchPipeline(), and processUpdateMessage().

Definition at line 134 of file llvotree.h.

Referenced by drawBranchPipeline(), and processUpdateMessage().

Definition at line 135 of file llvotree.h.

Referenced by drawBranchPipeline(), and processUpdateMessage().

Definition at line 136 of file llvotree.h.

Definition at line 138 of file llvotree.h.

Referenced by idleUpdate(), and LLVOTree().

Definition at line 141 of file llvotree.h.

Referenced by cleanupClass(), initClass(), processUpdateMessage(), and updateGeometry().

S32 LLVOTree::sLODIndexOffset [static, protected]

Definition at line 143 of file llvotree.h.

Referenced by drawBranchPipeline(), and updateGeometry().

S32 LLVOTree::sLODIndexCount [static, protected]

Definition at line 144 of file llvotree.h.

Referenced by drawBranchPipeline(), and updateGeometry().

S32 LLVOTree::sLODVertexOffset [static, protected]

Definition at line 145 of file llvotree.h.

Referenced by updateGeometry().

S32 LLVOTree::sLODVertexCount [static, protected]

Definition at line 146 of file llvotree.h.

Referenced by updateGeometry().

S32 LLVOTree::sLODSlices = {10, 5, 4, 3} [static, protected]

Definition at line 147 of file llvotree.h.

Referenced by updateGeometry().

F32 LLVOTree::sLODAngles = {30.f, 20.f, 15.f, 0.f} [static, protected]

Definition at line 148 of file llvotree.h.

Referenced by LLDrawPoolTree::renderTree().


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

Generated on Fri May 16 09:38:23 2008 for SecondLife by  doxygen 1.5.5