Commit 3701e131 authored by Maciej Suminski's avatar Maciej Suminski Committed by Wayne Stambaugh

Commit merge request lp:197858 (fixes lp:1249736).

parents dbd72122 d7fc8db0
......@@ -153,10 +153,12 @@ struct queryVisitor
{
}
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
if( aItem->ViewIsVisible() )
m_cont.push_back( VIEW::LAYER_ITEM_PAIR( aItem, m_layer ) );
return true;
}
Container& m_cont;
......@@ -387,7 +389,7 @@ struct VIEW::updateItemsColor
{
}
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
// Obtain the color that should be used for coloring the item
const COLOR4D color = painter->GetSettings()->GetColor( aItem, layer );
......@@ -395,6 +397,8 @@ struct VIEW::updateItemsColor
if( group >= 0 )
gal->ChangeGroupColor( group, color );
return true;
}
int layer;
......@@ -447,12 +451,14 @@ struct VIEW::changeItemsDepth
{
}
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
int group = aItem->getGroup( layer );
if( group >= 0 )
gal->ChangeGroupDepth( group, depth );
return true;
}
int layer, depth;
......@@ -571,15 +577,17 @@ struct VIEW::drawItem
{
}
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
// Conditions that have te be fulfilled for an item to be drawn
bool drawCondition = aItem->ViewIsVisible() &&
aItem->ViewGetLOD( currentLayer->id ) < view->m_scale;
if( !drawCondition )
return;
return true;
view->draw( aItem, currentLayer->id );
return true;
}
const VIEW_LAYER* currentLayer;
......@@ -676,9 +684,11 @@ bool VIEW::IsDirty() const
struct VIEW::unlinkItem
{
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
aItem->m_view = NULL;
return true;
}
};
......@@ -690,7 +700,7 @@ struct VIEW::recacheItem
{
}
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
// Remove previously cached group
int prevGroup = aItem->getGroup( layer );
......@@ -712,6 +722,8 @@ struct VIEW::recacheItem
{
aItem->setGroup( layer, -1 );
}
return true;
}
VIEW* view;
......@@ -792,12 +804,14 @@ struct VIEW::clearLayerCache
{
}
void operator()( VIEW_ITEM* aItem )
bool operator()( VIEW_ITEM* aItem )
{
if( aItem->storesGroups() )
{
aItem->deleteGroups();
}
return true;
}
VIEW* view;
......
......@@ -163,7 +163,7 @@ public:
/// Calculate Statistics
Statistics CalcStats( );
Statistics CalcStats();
/// Remove all entries from tree
void RemoveAll();
......@@ -1286,7 +1286,7 @@ int RTREE_QUAL::PickBranch( Rect* a_rect, Node* a_node )
ELEMTYPEREAL increase;
ELEMTYPEREAL bestIncr = (ELEMTYPEREAL) -1;
ELEMTYPEREAL area;
ELEMTYPEREAL bestArea;
ELEMTYPEREAL bestArea = 0;
int best = 0;
Rect tempRect;
......@@ -1622,7 +1622,7 @@ void RTREE_QUAL::PickSeeds( PartitionVars* a_parVars )
&a_parVars->m_branchBuf[indexB].m_rect );
waste = CalcRectVolume( &oneRect ) - area[indexA] - area[indexB];
if( waste > worst )
if( waste >= worst )
{
worst = waste;
seed0 = indexA;
......@@ -1856,8 +1856,6 @@ bool RTREE_QUAL::Search( Node* a_node, Rect* a_rect, int& a_foundCount, bool a_r
}
//calculate the minimum distance between a point and a rectangle as defined by Manolopoulos et al.
//it uses the square distance to avoid the use of ELEMTYPEREAL values, which are slower.
RTREE_TEMPLATE
......
This diff is collapsed.
......@@ -27,7 +27,7 @@
#include <math/box2.h>
#include <rtree.h>
#include <geometry/rtree.h>
namespace KIGFX
{
......@@ -76,7 +76,6 @@ public:
* Executes a function object aVisitor for each item whose bounding box intersects
* with aBounds.
*/
template <class Visitor>
void Query( const BOX2I& aBounds, Visitor& aVisitor ) // const
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment