#include <llvosurfacepatch.h>


Public Types | |
| enum | { VERTEX_DATA_MASK } |
Public Member Functions | |
| LLVOSurfacePatch (const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp) | |
| void | markDead () |
| virtual U32 | getPartitionType () const |
| LLDrawable * | createDrawable (LLPipeline *pipeline) |
| BOOL | updateGeometry (LLDrawable *drawable) |
| BOOL | updateLOD () |
| void | updateFaceSize (S32 idx) |
| void | getGeometry (LLStrider< LLVector3 > &verticesp, LLStrider< LLVector3 > &normalsp, LLStrider< LLColor4U > &colorsp, LLStrider< LLVector2 > &texCoords0p, LLStrider< LLVector2 > &texCoords1p, LLStrider< U16 > &indicesp) |
| void | updateTextures (LLAgent &agent) |
| void | setPixelAreaAndAngle (LLAgent &agent) |
| void | updateSpatialExtents (LLVector3 &newMin, LLVector3 &newMax) |
| BOOL | isActive () const |
| void | setPatch (LLSurfacePatch *patchp) |
| LLSurfacePatch * | getPatch () const |
| void | dirtyPatch () |
| void | dirtyGeom () |
Static Public Member Functions | |
| static void | initClass () |
Public Attributes | |
| BOOL | mDirtiedPatch |
Static Public Attributes | |
| static F32 | sLODFactor = 1.f |
Protected Member Functions | |
| ~LLVOSurfacePatch () | |
| LLFacePool * | getPool () |
| void | getGeomSizesMain (const S32 stride, S32 &num_vertices, S32 &num_indices) |
| void | getGeomSizesNorth (const S32 stride, const S32 north_stride, S32 &num_vertices, S32 &num_indices) |
| void | getGeomSizesEast (const S32 stride, const S32 east_stride, S32 &num_vertices, S32 &num_indices) |
| void | updateMainGeometry (LLFace *facep, LLStrider< LLVector3 > &verticesp, LLStrider< LLVector3 > &normalsp, LLStrider< LLColor4U > &colorsp, LLStrider< LLVector2 > &texCoords0p, LLStrider< LLVector2 > &texCoords1p, LLStrider< U16 > &indicesp, U32 &index_offset) |
| void | updateNorthGeometry (LLFace *facep, LLStrider< LLVector3 > &verticesp, LLStrider< LLVector3 > &normalsp, LLStrider< LLColor4U > &colorsp, LLStrider< LLVector2 > &texCoords0p, LLStrider< LLVector2 > &texCoords1p, LLStrider< U16 > &indicesp, U32 &index_offset) |
| void | updateEastGeometry (LLFace *facep, LLStrider< LLVector3 > &verticesp, LLStrider< LLVector3 > &normalsp, LLStrider< LLColor4U > &colorsp, LLStrider< LLVector2 > &texCoords0p, LLStrider< LLVector2 > &texCoords1p, LLStrider< U16 > &indicesp, U32 &index_offset) |
Protected Attributes | |
| LLFacePool * | mPool |
| S32 | mBaseComp |
| LLSurfacePatch * | mPatchp |
| BOOL | mDirtyTexture |
| BOOL | mDirtyTerrain |
| S32 | mLastNorthStride |
| S32 | mLastEastStride |
| S32 | mLastStride |
| S32 | mLastLength |
Definition at line 42 of file llvosurfacepatch.h.
| anonymous enum |
| LLVOSurfacePatch::LLVOSurfacePatch | ( | const LLUUID & | id, | |
| const LLPCode | pcode, | |||
| LLViewerRegion * | regionp | |||
| ) |
Definition at line 97 of file llvosurfacepatch.cpp.
References LLViewerObject::mbCanSelect, LLViewerObject::setScale(), and TRUE.

| LLVOSurfacePatch::~LLVOSurfacePatch | ( | ) | [protected] |
| void LLVOSurfacePatch::markDead | ( | ) | [virtual] |
Reimplemented from LLViewerObject.
Definition at line 122 of file llvosurfacepatch.cpp.
References LLSurfacePatch::clearVObj(), LLViewerObject::markDead(), mPatchp, and NULL.

| static void LLVOSurfacePatch::initClass | ( | ) | [static] |
| U32 LLVOSurfacePatch::getPartitionType | ( | ) | const [virtual] |
Reimplemented from LLViewerObject.
Definition at line 928 of file llvosurfacepatch.cpp.
References LLViewerRegion::PARTITION_TERRAIN.
| LLDrawable * LLVOSurfacePatch::createDrawable | ( | LLPipeline * | pipeline | ) | [virtual] |
Reimplemented from LLViewerObject.
Definition at line 159 of file llvosurfacepatch.cpp.
References LLPipeline::allocDrawable(), LLSurfacePatch::getMaxComposition(), LLSurfacePatch::getMinComposition(), getPool(), llceil(), llfloor(), mBaseComp, LLViewerObject::mDrawable, mPatchp, NULL, LLPipeline::RENDER_TYPE_TERRAIN, and S32.

| BOOL LLVOSurfacePatch::updateGeometry | ( | LLDrawable * | drawable | ) | [virtual] |
Reimplemented from LLViewerObject.
Definition at line 189 of file llvosurfacepatch.cpp.
References LLViewerObject::dirtySpatialGroup(), EAST, LLFastTimer::FTM_UPDATE_TERRAIN, LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getMaxComposition(), LLSurfacePatch::getMinComposition(), LLSurfacePatch::getNeighborPatch(), LLSurfacePatch::getRenderStride(), LLSurfacePatch::getSurface(), lltrunc(), mBaseComp, mLastEastStride, mLastLength, mLastNorthStride, mLastStride, mPatchp, NORTH, S32, and TRUE.

| BOOL LLVOSurfacePatch::updateLOD | ( | ) | [virtual] |
Reimplemented from LLViewerObject.
Definition at line 277 of file llvosurfacepatch.cpp.
References TRUE.
| void LLVOSurfacePatch::updateFaceSize | ( | S32 | idx | ) | [virtual] |
Reimplemented from LLViewerObject.
Definition at line 254 of file llvosurfacepatch.cpp.
References getGeomSizesEast(), getGeomSizesMain(), getGeomSizesNorth(), llendl, llwarns, LLViewerObject::mDrawable, mLastEastStride, mLastNorthStride, mLastStride, S32, and LLFace::setSize().

| void LLVOSurfacePatch::getGeometry | ( | LLStrider< LLVector3 > & | verticesp, | |
| LLStrider< LLVector3 > & | normalsp, | |||
| LLStrider< LLColor4U > & | colorsp, | |||
| LLStrider< LLVector2 > & | texCoords0p, | |||
| LLStrider< LLVector2 > & | texCoords1p, | |||
| LLStrider< U16 > & | indicesp | |||
| ) |
Definition at line 282 of file llvosurfacepatch.cpp.
References LLFace::getGeomIndex(), LLViewerObject::mDrawable, updateEastGeometry(), updateMainGeometry(), and updateNorthGeometry().
Referenced by LLTerrainPartition::getGeometry().


| void LLVOSurfacePatch::updateTextures | ( | LLAgent & | agent | ) | [virtual] |
| void LLVOSurfacePatch::setPixelAreaAndAngle | ( | LLAgent & | agent | ) | [virtual] |
Reimplemented from LLViewerObject.
Definition at line 139 of file llvosurfacepatch.cpp.
References LLViewerObject::mAppAngle, and LLViewerObject::mPixelArea.
Reimplemented from LLViewerObject.
Definition at line 919 of file llvosurfacepatch.cpp.
References LLViewerObject::getPositionAgent(), LLXform::getScale(), and LLViewerObject::mDrawable.

| BOOL LLVOSurfacePatch::isActive | ( | void | ) | const [virtual] |
Reimplemented from LLViewerObject.
Definition at line 133 of file llvosurfacepatch.cpp.
References FALSE.
| void LLVOSurfacePatch::setPatch | ( | LLSurfacePatch * | patchp | ) |
Definition at line 822 of file llvosurfacepatch.cpp.
References dirtyPatch(), and mPatchp.

| LLSurfacePatch* LLVOSurfacePatch::getPatch | ( | ) | const [inline] |
Definition at line 83 of file llvosurfacepatch.h.
References mPatchp.
Referenced by LLDrawPoolTerrain::renderOwnership().

| void LLVOSurfacePatch::dirtyPatch | ( | ) |
Definition at line 830 of file llvosurfacepatch.cpp.
References dirtyGeom(), LLSurfacePatch::getCenterRegion(), LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getMaxZ(), LLSurface::getMetersPerGrid(), LLSurfacePatch::getMinZ(), LLSurfacePatch::getSurface(), mDirtiedPatch, mDirtyTerrain, mPatchp, LLViewerObject::setPositionRegion(), LLViewerObject::setScale(), and TRUE.
Referenced by setPatch().


| void LLVOSurfacePatch::dirtyGeom | ( | ) |
Definition at line 844 of file llvosurfacepatch.cpp.
References gPipeline, LLPipeline::markRebuild(), LLViewerObject::mDrawable, NULL, LLDrawable::REBUILD_ALL, and TRUE.
Referenced by dirtyPatch().


| LLFacePool * LLVOSurfacePatch::getPool | ( | ) | [protected] |
Definition at line 151 of file llvosurfacepatch.cpp.
References LLPipeline::getPool(), LLSurface::getSTexture(), LLSurfacePatch::getSurface(), gPipeline, mPatchp, mPool, and LLDrawPool::POOL_TERRAIN.
Referenced by createDrawable().


| void LLVOSurfacePatch::getGeomSizesMain | ( | const S32 | stride, | |
| S32 & | num_vertices, | |||
| S32 & | num_indices | |||
| ) | [protected] |
Definition at line 854 of file llvosurfacepatch.cpp.
References LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getSurface(), mPatchp, and S32.
Referenced by updateFaceSize(), and updateMainGeometry().


| void LLVOSurfacePatch::getGeomSizesNorth | ( | const S32 | stride, | |
| const S32 | north_stride, | |||
| S32 & | num_vertices, | |||
| S32 & | num_indices | |||
| ) | [protected] |
Definition at line 867 of file llvosurfacepatch.cpp.
References LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getSurface(), mPatchp, and S32.
Referenced by updateFaceSize().


| void LLVOSurfacePatch::getGeomSizesEast | ( | const S32 | stride, | |
| const S32 | east_stride, | |||
| S32 & | num_vertices, | |||
| S32 & | num_indices | |||
| ) | [protected] |
Definition at line 893 of file llvosurfacepatch.cpp.
References LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getSurface(), mPatchp, and S32.
Referenced by updateFaceSize().


| void LLVOSurfacePatch::updateMainGeometry | ( | LLFace * | facep, | |
| LLStrider< LLVector3 > & | verticesp, | |||
| LLStrider< LLVector3 > & | normalsp, | |||
| LLStrider< LLColor4U > & | colorsp, | |||
| LLStrider< LLVector2 > & | texCoords0p, | |||
| LLStrider< LLVector2 > & | texCoords1p, | |||
| LLStrider< U16 > & | indicesp, | |||
| U32 & | index_offset | |||
| ) | [protected] |
Definition at line 319 of file llvosurfacepatch.cpp.
References LLSurfacePatch::eval(), LLStrider< Object >::get(), getGeomSizesMain(), LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getPointAgent(), LLSurfacePatch::getSurface(), i, j, LLFace::mCenterAgent, mLastStride, mPatchp, S32, and LLColor4U::white.
Referenced by getGeometry().


| void LLVOSurfacePatch::updateNorthGeometry | ( | LLFace * | facep, | |
| LLStrider< LLVector3 > & | verticesp, | |||
| LLStrider< LLVector3 > & | normalsp, | |||
| LLStrider< LLColor4U > & | colorsp, | |||
| LLStrider< LLVector2 > & | texCoords0p, | |||
| LLStrider< LLVector2 > & | texCoords1p, | |||
| LLStrider< U16 > & | indicesp, | |||
| U32 & | index_offset | |||
| ) | [protected] |
Definition at line 423 of file llvosurfacepatch.cpp.
References LLSurfacePatch::eval(), LLStrider< Object >::get(), LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getPointAgent(), LLSurfacePatch::getSurface(), i, LLFace::mCenterAgent, mLastNorthStride, mLastStride, mPatchp, S32, and LLColor4U::white.
Referenced by getGeometry().


| void LLVOSurfacePatch::updateEastGeometry | ( | LLFace * | facep, | |
| LLStrider< LLVector3 > & | verticesp, | |||
| LLStrider< LLVector3 > & | normalsp, | |||
| LLStrider< LLColor4U > & | colorsp, | |||
| LLStrider< LLVector2 > & | texCoords0p, | |||
| LLStrider< LLVector2 > & | texCoords1p, | |||
| LLStrider< U16 > & | indicesp, | |||
| U32 & | index_offset | |||
| ) | [protected] |
Definition at line 630 of file llvosurfacepatch.cpp.
References LLSurfacePatch::eval(), LLStrider< Object >::get(), LLSurface::getGridsPerPatchEdge(), LLSurfacePatch::getPointAgent(), LLSurfacePatch::getSurface(), i, LLFace::mCenterAgent, mLastEastStride, mLastStride, mPatchp, S32, and LLColor4U::white.
Referenced by getGeometry().


F32 LLVOSurfacePatch::sLODFactor = 1.f [static] |
Definition at line 45 of file llvosurfacepatch.h.
Referenced by handleTerrainLODChanged(), settings_modify(), and LLSurfacePatch::updateCameraDistanceRegion().
LLFacePool* LLVOSurfacePatch::mPool [protected] |
S32 LLVOSurfacePatch::mBaseComp [protected] |
Definition at line 94 of file llvosurfacepatch.h.
Referenced by createDrawable(), and updateGeometry().
LLSurfacePatch* LLVOSurfacePatch::mPatchp [protected] |
Definition at line 95 of file llvosurfacepatch.h.
Referenced by createDrawable(), dirtyPatch(), getGeomSizesEast(), getGeomSizesMain(), getGeomSizesNorth(), getPatch(), getPool(), markDead(), setPatch(), updateEastGeometry(), updateGeometry(), updateMainGeometry(), updateNorthGeometry(), and ~LLVOSurfacePatch().
BOOL LLVOSurfacePatch::mDirtyTexture [protected] |
Definition at line 96 of file llvosurfacepatch.h.
BOOL LLVOSurfacePatch::mDirtyTerrain [protected] |
S32 LLVOSurfacePatch::mLastNorthStride [protected] |
Definition at line 99 of file llvosurfacepatch.h.
Referenced by updateFaceSize(), updateGeometry(), and updateNorthGeometry().
S32 LLVOSurfacePatch::mLastEastStride [protected] |
Definition at line 100 of file llvosurfacepatch.h.
Referenced by updateEastGeometry(), updateFaceSize(), and updateGeometry().
S32 LLVOSurfacePatch::mLastStride [protected] |
Definition at line 101 of file llvosurfacepatch.h.
Referenced by updateEastGeometry(), updateFaceSize(), updateGeometry(), updateMainGeometry(), and updateNorthGeometry().
S32 LLVOSurfacePatch::mLastLength [protected] |
1.5.5