Skip to content

Commit 3c85c7e

Browse files
committedOct 16, 2015
[GRASS] distinguish symbol for left/right broken boundary
1 parent 7f731ae commit 3c85c7e

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed
 

‎src/plugins/grass/qgsgrasseditrenderer.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,18 @@ QgsGrassEditRenderer::QgsGrassEditRenderer()
3838
QHash<int, QColor> colors;
3939
//colors.insert( QgsGrassVectorMap::TopoUndefined, QColor( 125, 125, 125 ) );
4040
colors.insert( QgsGrassVectorMap::TopoLine, QColor( Qt::black ) );
41-
colors.insert( QgsGrassVectorMap::TopoBoundary0, QColor( Qt::red ) );
42-
colors.insert( QgsGrassVectorMap::TopoBoundary1, QColor( 255, 125, 0 ) );
43-
colors.insert( QgsGrassVectorMap::TopoBoundary2, QColor( Qt::green ) );
41+
colors.insert( QgsGrassVectorMap::TopoBoundaryError, QColor( Qt::red ) );
42+
colors.insert( QgsGrassVectorMap::TopoBoundaryErrorLeft, QColor( 255, 125, 0 ) );
43+
colors.insert( QgsGrassVectorMap::TopoBoundaryErrorRight, QColor( 255, 125, 0 ) );
44+
colors.insert( QgsGrassVectorMap::TopoBoundaryOk, QColor( Qt::green ) );
4445

4546
QHash<int, QString> labels;
4647
//labels.insert( QgsGrassVectorMap::TopoUndefined, "Unknown type" );
4748
labels.insert( QgsGrassVectorMap::TopoLine, "Line" );
48-
labels.insert( QgsGrassVectorMap::TopoBoundary0, "Boundary (isolated)" );
49-
labels.insert( QgsGrassVectorMap::TopoBoundary1, "Boundary (area on one side)" );
50-
labels.insert( QgsGrassVectorMap::TopoBoundary2, "Boundary (areas on both sides)" );
49+
labels.insert( QgsGrassVectorMap::TopoBoundaryError, "Boundary (topological error on both sides)" );
50+
labels.insert( QgsGrassVectorMap::TopoBoundaryErrorLeft, "Boundary (topological error on the left side)" );
51+
labels.insert( QgsGrassVectorMap::TopoBoundaryErrorRight, "Boundary (topological error on the right side)" );
52+
labels.insert( QgsGrassVectorMap::TopoBoundaryOk, "Boundary (correct)" );
5153

5254
QgsCategoryList categoryList;
5355

@@ -129,8 +131,9 @@ QgsSymbolV2* QgsGrassEditRenderer::symbolForFeature( QgsFeature& feature, QgsRen
129131
{
130132
symbol = mMarkerRenderer->symbolForFeature( feature, context );
131133
}
132-
else if ( symbolCode == QgsGrassVectorMap::TopoLine || symbolCode == QgsGrassVectorMap::TopoBoundary0 ||
133-
symbolCode == QgsGrassVectorMap::TopoBoundary1 || symbolCode == QgsGrassVectorMap::TopoBoundary2 )
134+
else if ( symbolCode == QgsGrassVectorMap::TopoLine || symbolCode == QgsGrassVectorMap::TopoBoundaryError ||
135+
symbolCode == QgsGrassVectorMap::TopoBoundaryErrorLeft || symbolCode == QgsGrassVectorMap::TopoBoundaryErrorRight ||
136+
symbolCode == QgsGrassVectorMap::TopoBoundaryOk )
134137
{
135138
symbol = mLineRenderer->symbolForFeature( feature, context );
136139
}

‎src/providers/grass/qgsgrassvectormap.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -782,15 +782,19 @@ QgsGrassVectorMap::TopoSymbol QgsGrassVectorMap::topoSymbol( int lid )
782782
Vect_get_line_areas( mMap, lid, &left, &right );
783783
if ( left != 0 && right != 0 )
784784
{
785-
symbol = TopoBoundary2;
785+
symbol = TopoBoundaryOk;
786786
}
787787
else if ( left == 0 && right == 0 )
788788
{
789-
symbol = TopoBoundary0;
789+
symbol = TopoBoundaryError;
790790
}
791-
else
791+
else if ( left == 0 )
792+
{
793+
symbol = TopoBoundaryErrorLeft;
794+
}
795+
else if ( right == 0 )
792796
{
793-
symbol = TopoBoundary1;
797+
symbol = TopoBoundaryErrorRight;
794798
}
795799
}
796800
QgsDebugMsgLevel( QString( "lid = %1 type = %2 symbol = %3" ).arg( lid ).arg( type ).arg( symbol ), 3 );

‎src/providers/grass/qgsgrassvectormap.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ class GRASS_LIB_EXPORT QgsGrassVectorMap : public QObject
3434
TopoUndefined = 0,
3535
TopoPoint,
3636
TopoLine,
37-
TopoBoundary0,
38-
TopoBoundary1,
39-
TopoBoundary2,
37+
TopoBoundaryError, // both sides topology broken
38+
TopoBoundaryErrorLeft, // left side topology broken
39+
TopoBoundaryErrorRight, // right side topology broken
40+
TopoBoundaryOk,
4041
TopoCentroidIn,
4142
TopoCentroidOut,
4243
TopoCentroidDupl,

0 commit comments

Comments
 (0)
Please sign in to comment.