#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] |