#include <qgsrulebasedrendererv2.h>
Public Member Functions | |
Rule (QgsSymbolV2 *symbol, int scaleMinDenom=0, int scaleMaxDenom=0, QString filterExp=QString()) | |
Constructor takes ownership of the symbol. | |
Rule (const Rule &other) | |
~Rule () | |
QString | dump () const |
QStringList | needsFields () const |
bool | isFilterOK (const QgsFieldMap &fields, QgsFeature &f) const |
bool | isScaleOK (double scale) const |
QgsSymbolV2 * | symbol () |
bool | dependsOnScale () const |
int | scaleMinDenom () const |
int | scaleMaxDenom () const |
QString | filterExpression () const |
void | setScaleMinDenom (int scaleMinDenom) |
void | setScaleMaxDenom (int scaleMaxDenom) |
void | setFilterExpression (QString filterExp) |
Rule & | operator= (const Rule &other) |
Protected Member Functions | |
void | initFilter () |
Protected Attributes | |
QgsSymbolV2 * | mSymbol |
int | mScaleMinDenom |
int | mScaleMaxDenom |
QString | mFilterExp |
QgsSearchString | mFilterParsed |
QgsSearchTreeNode * | mFilterTree |
A rule consists of a symbol, filter expression and range of scales. If filter is empty, it matches all features. If scale range has both values zero, it matches all scales. If one of the min/max scale denominators is zero, there is no lower/upper bound for scales. A rule matches if both filter and scale range match.
Definition at line 43 of file qgsrulebasedrendererv2.h.
QgsRuleBasedRendererV2::Rule::Rule | ( | QgsSymbolV2 * | symbol, | |
int | scaleMinDenom = 0 , |
|||
int | scaleMaxDenom = 0 , |
|||
QString | filterExp = QString() | |||
) |
Constructor takes ownership of the symbol.
Definition at line 31 of file qgsrulebasedrendererv2.cpp.
References initFilter().
QgsRuleBasedRendererV2::Rule::Rule | ( | const Rule & | other | ) |
Definition at line 39 of file qgsrulebasedrendererv2.cpp.
QgsRuleBasedRendererV2::Rule::~Rule | ( | ) |
QString QgsRuleBasedRendererV2::Rule::dump | ( | ) | const |
Definition at line 63 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::dump(), mFilterExp, mScaleMaxDenom, mScaleMinDenom, and mSymbol.
QStringList QgsRuleBasedRendererV2::Rule::needsFields | ( | ) | const |
Definition at line 71 of file qgsrulebasedrendererv2.cpp.
References mFilterTree, and QgsSearchTreeNode::referencedColumns().
Referenced by QgsRuleBasedRendererV2::usedAttributes().
bool QgsRuleBasedRendererV2::Rule::isFilterOK | ( | const QgsFieldMap & | fields, | |
QgsFeature & | f | |||
) | const |
Definition at line 79 of file qgsrulebasedrendererv2.cpp.
References QgsSearchTreeNode::checkAgainst(), and mFilterTree.
Referenced by QgsRuleBasedRendererV2::renderFeature().
bool QgsRuleBasedRendererV2::Rule::isScaleOK | ( | double | scale | ) | const |
Definition at line 89 of file qgsrulebasedrendererv2.cpp.
References mScaleMaxDenom, and mScaleMinDenom.
Referenced by QgsRuleBasedRendererV2::startRender().
QgsSymbolV2* QgsRuleBasedRendererV2::Rule::symbol | ( | ) | [inline] |
Definition at line 55 of file qgsrulebasedrendererv2.h.
Referenced by QgsRuleBasedRendererV2::refineRuleScales(), QgsRuleBasedRendererV2::renderFeature(), QgsRuleBasedRendererV2::save(), QgsRuleBasedRendererV2::startRender(), QgsRuleBasedRendererV2::stopRender(), and QgsRuleBasedRendererV2::symbols().
bool QgsRuleBasedRendererV2::Rule::dependsOnScale | ( | ) | const [inline] |
Definition at line 56 of file qgsrulebasedrendererv2.h.
int QgsRuleBasedRendererV2::Rule::scaleMinDenom | ( | ) | const [inline] |
Definition at line 57 of file qgsrulebasedrendererv2.h.
Referenced by QgsRuleBasedRendererV2::refineRuleCategories(), QgsRuleBasedRendererV2::refineRuleRanges(), QgsRuleBasedRendererV2::refineRuleScales(), and QgsRuleBasedRendererV2::save().
int QgsRuleBasedRendererV2::Rule::scaleMaxDenom | ( | ) | const [inline] |
Definition at line 58 of file qgsrulebasedrendererv2.h.
Referenced by QgsRuleBasedRendererV2::refineRuleCategories(), QgsRuleBasedRendererV2::refineRuleRanges(), QgsRuleBasedRendererV2::refineRuleScales(), and QgsRuleBasedRendererV2::save().
QString QgsRuleBasedRendererV2::Rule::filterExpression | ( | ) | const [inline] |
Definition at line 59 of file qgsrulebasedrendererv2.h.
Referenced by QgsRuleBasedRendererV2::refineRuleCategories(), QgsRuleBasedRendererV2::refineRuleRanges(), QgsRuleBasedRendererV2::refineRuleScales(), and QgsRuleBasedRendererV2::save().
void QgsRuleBasedRendererV2::Rule::setScaleMinDenom | ( | int | scaleMinDenom | ) | [inline] |
Definition at line 61 of file qgsrulebasedrendererv2.h.
void QgsRuleBasedRendererV2::Rule::setScaleMaxDenom | ( | int | scaleMaxDenom | ) | [inline] |
Definition at line 62 of file qgsrulebasedrendererv2.h.
void QgsRuleBasedRendererV2::Rule::setFilterExpression | ( | QString | filterExp | ) | [inline] |
Definition at line 63 of file qgsrulebasedrendererv2.h.
QgsRuleBasedRendererV2::Rule & QgsRuleBasedRendererV2::Rule::operator= | ( | const Rule & | other | ) |
Definition at line 100 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), initFilter(), mFilterExp, mScaleMaxDenom, mScaleMinDenom, and mSymbol.
void QgsRuleBasedRendererV2::Rule::initFilter | ( | ) | [protected] |
Definition at line 50 of file qgsrulebasedrendererv2.cpp.
References mFilterExp, mFilterParsed, mFilterTree, QgsSearchString::setString(), and QgsSearchString::tree().
Referenced by operator=(), and Rule().
QgsSymbolV2* QgsRuleBasedRendererV2::Rule::mSymbol [protected] |
Definition at line 71 of file qgsrulebasedrendererv2.h.
Referenced by dump(), operator=(), and ~Rule().
int QgsRuleBasedRendererV2::Rule::mScaleMinDenom [protected] |
Definition at line 72 of file qgsrulebasedrendererv2.h.
Referenced by dump(), isScaleOK(), and operator=().
int QgsRuleBasedRendererV2::Rule::mScaleMaxDenom [protected] |
Definition at line 72 of file qgsrulebasedrendererv2.h.
Referenced by dump(), isScaleOK(), and operator=().
QString QgsRuleBasedRendererV2::Rule::mFilterExp [protected] |
Definition at line 73 of file qgsrulebasedrendererv2.h.
Referenced by dump(), initFilter(), and operator=().
Definition at line 77 of file qgsrulebasedrendererv2.h.
Referenced by initFilter(), isFilterOK(), and needsFields().