summaryrefslogtreecommitdiff
path: root/indra/newview/lltoolbrush.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lltoolbrush.cpp')
-rw-r--r--indra/newview/lltoolbrush.cpp60
1 files changed, 30 insertions, 30 deletions
diff --git a/indra/newview/lltoolbrush.cpp b/indra/newview/lltoolbrush.cpp
index 5a637a6346..d39ce57e56 100644
--- a/indra/newview/lltoolbrush.cpp
+++ b/indra/newview/lltoolbrush.cpp
@@ -108,10 +108,10 @@ void LLToolBrushLand::modifyLandAtPointGlobal(const LLVector3d &pos_global,
S32 radioAction = gSavedSettings.getS32("RadioLandBrushAction");
determineAffectedRegions(mLastAffectedRegions, pos_global);
- for(LLViewerRegion* regionp = mLastAffectedRegions.getFirstData();
- regionp != NULL;
- regionp = mLastAffectedRegions.getNextData())
+ for(region_list_t::iterator iter = mLastAffectedRegions.begin();
+ iter != mLastAffectedRegions.end(); ++iter)
{
+ LLViewerRegion* regionp = *iter;
//BOOL is_changed = FALSE;
LLVector3 pos_region = regionp->getPosRegionFromGlobal(pos_global);
LLSurface &land = regionp->getLand();
@@ -200,7 +200,7 @@ void LLToolBrushLand::modifyLandInSelectionGlobal()
S32 radioAction = gSavedSettings.getS32("RadioLandBrushAction");
- mLastAffectedRegions.removeAllNodes();
+ mLastAffectedRegions.clear();
determineAffectedRegions(mLastAffectedRegions, LLVector3d(min.mdV[VX], min.mdV[VY], 0));
determineAffectedRegions(mLastAffectedRegions, LLVector3d(min.mdV[VX], max.mdV[VY], 0));
@@ -223,10 +223,10 @@ void LLToolBrushLand::modifyLandInSelectionGlobal()
}
// Stop if our selection include a no-terraform region
- for(LLViewerRegion* regionp = mLastAffectedRegions.getFirstData();
- regionp != NULL;
- regionp = mLastAffectedRegions.getNextData())
+ for(region_list_t::iterator iter = mLastAffectedRegions.begin();
+ iter != mLastAffectedRegions.end(); ++iter)
{
+ LLViewerRegion* regionp = *iter;
if (!canTerraform(regionp))
{
alertNoTerraform(regionp);
@@ -234,10 +234,10 @@ void LLToolBrushLand::modifyLandInSelectionGlobal()
}
}
- for(LLViewerRegion* regionp = mLastAffectedRegions.getFirstData();
- regionp != NULL;
- regionp = mLastAffectedRegions.getNextData())
+ for(region_list_t::iterator iter = mLastAffectedRegions.begin();
+ iter != mLastAffectedRegions.end(); ++iter)
{
+ LLViewerRegion* regionp = *iter;
//BOOL is_changed = FALSE;
LLVector3 min_region = regionp->getPosRegionFromGlobal(min);
LLVector3 max_region = regionp->getPosRegionFromGlobal(max);
@@ -398,7 +398,7 @@ BOOL LLToolBrushLand::handleHover( S32 x, S32 y, MASK mask )
BOOL LLToolBrushLand::handleMouseUp(S32 x, S32 y, MASK mask)
{
BOOL handled = FALSE;
- mLastAffectedRegions.removeAllNodes();
+ mLastAffectedRegions.clear();
if( hasMouseCapture() )
{
// Release the mouse
@@ -452,15 +452,15 @@ void LLToolBrushLand::render()
spot.mdV[VY] = floor( spot.mdV[VY] + 0.5 );
mBrushIndex = gSavedSettings.getS32("RadioLandBrushSize");
- LLLinkedList<LLViewerRegion> regions;
+ region_list_t regions;
determineAffectedRegions(regions, spot);
// Now, for each region, render the overlay
LLVector3 pos_world = gAgent.getRegion()->getPosRegionFromGlobal(spot);
- for(LLViewerRegion* region = regions.getFirstData();
- region != NULL;
- region = regions.getNextData())
+ for(region_list_t::iterator iter = regions.begin();
+ iter != regions.end(); ++iter)
{
+ LLViewerRegion* region = *iter;
renderOverlay(region->getLand(),
region->getPosRegionFromGlobal(spot),
pos_world);
@@ -499,7 +499,7 @@ void LLToolBrushLand::renderOverlay(LLSurface& land, const LLVector3& pos_region
glPopMatrix();
}
-void LLToolBrushLand::determineAffectedRegions(LLLinkedList<LLViewerRegion>& regions,
+void LLToolBrushLand::determineAffectedRegions(region_list_t& regions,
const LLVector3d& spot ) const
{
LLVector3d corner(spot);
@@ -507,27 +507,27 @@ void LLToolBrushLand::determineAffectedRegions(LLLinkedList<LLViewerRegion>& reg
corner.mdV[VY] -= (LAND_BRUSH_SIZE[mBrushIndex] / 2);
LLViewerRegion* region = NULL;
region = gWorldPointer->getRegionFromPosGlobal(corner);
- if(region && !regions.checkData(region))
+ if(region && regions.find(region) == regions.end())
{
- regions.addData(region);
+ regions.insert(region);
}
corner.mdV[VY] += LAND_BRUSH_SIZE[mBrushIndex];
region = gWorldPointer->getRegionFromPosGlobal(corner);
- if(region && !regions.checkData(region))
+ if(region && regions.find(region) == regions.end())
{
- regions.addData(region);
+ regions.insert(region);
}
corner.mdV[VX] += LAND_BRUSH_SIZE[mBrushIndex];
region = gWorldPointer->getRegionFromPosGlobal(corner);
- if(region && !regions.checkData(region))
+ if(region && regions.find(region) == regions.end())
{
- regions.addData(region);
+ regions.insert(region);
}
corner.mdV[VY] -= LAND_BRUSH_SIZE[mBrushIndex];
region = gWorldPointer->getRegionFromPosGlobal(corner);
- if(region && !regions.checkData(region))
+ if(region && regions.find(region) == regions.end())
{
- regions.addData(region);
+ regions.insert(region);
}
}
@@ -554,10 +554,10 @@ void LLToolBrushLand::onMouseCaptureLost()
// static
void LLToolBrushLand::undo()
{
- for(LLViewerRegion* regionp = mLastAffectedRegions.getFirstData();
- regionp != NULL;
- regionp = mLastAffectedRegions.getNextData())
+ for(region_list_t::iterator iter = mLastAffectedRegions.begin();
+ iter != mLastAffectedRegions.end(); ++iter)
{
+ LLViewerRegion* regionp = *iter;
gMessageSystem->newMessageFast(_PREHASH_UndoLand);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
@@ -570,10 +570,10 @@ void LLToolBrushLand::undo()
/*
void LLToolBrushLand::redo()
{
- for(LLViewerRegion* regionp = mLastAffectedRegions.getFirstData();
- regionp != NULL;
- regionp = mLastAffectedRegions.getNextData())
+ for(region_list_t::iterator iter = mLastAffectedRegions.begin();
+ iter != mLastAffectedRegions.end(); ++iter)
{
+ LLViewerRegion* regionp = *iter;
gMessageSystem->newMessageFast(_PREHASH_RedoLand);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );