LuciadCPillar 2024.0.04
|
The FeatureQueryConfiguration specifies which conditions to use for feature querying based on the map's current scale. More...
#include <luciad/layers/features/FeatureQueryConfiguration.h>
Classes | |
class | Builder |
Builder for the luciad::FeatureQueryConfiguration class. More... | |
Public Member Functions | |
~FeatureQueryConfiguration () | |
std::optional< luciad::Expression > | getCondition (size_t scaleLevel) const |
Returns the model query condition at a certain scale level, or std::nullopt if no condition is set for this scale level i.e. More... | |
const std::vector< MapScale > & | getScaleBreaks () const |
Returns the scales at which the model query condition changes, ordered from zoomed out to zoomed in. More... | |
size_t | getScaleLevelCount () const |
Returns the scale level count. More... | |
Static Public Member Functions | |
static Builder | newBuilder () |
Returns a new builder for creating a FeatureQueryConfiguration. More... | |
The FeatureQueryConfiguration specifies which conditions to use for feature querying based on the map's current scale.
luciad::FeatureQueryConfiguration::~FeatureQueryConfiguration | ( | ) |
std::optional< luciad::Expression > luciad::FeatureQueryConfiguration::getCondition | ( | size_t | scaleLevel | ) | const |
Returns the model query condition at a certain scale level, or std::nullopt
if no condition is set for this scale level i.e.
all features are selected.
scaleLevel | the desired scale level to retrieve the condition for. This value must be smaller than the count returned by FeatureQueryConfiguration::getScaleLevelCount. If not, an exception is thrown. |
std::nullopt
if no condition is set for this scale level i.e. all features are selected. luciad::InvalidArgumentException | If scaleLevel parameter is greater or equal than the scale level count. |
const std::vector< MapScale > & luciad::FeatureQueryConfiguration::getScaleBreaks | ( | ) | const |
Returns the scales at which the model query condition changes, ordered from zoomed out to zoomed in.
This set contains every min or max scale that was passed to the builder through FeatureQueryConfiguration::Builder::addCondition
once. The values MapScale::maxZoomedOut() or MapScale::maxZoomedIn() are an exception and will never be contained in this set, as these values are considered to be the bounds of valid scale values and therefore not an actual scale break.
Scale breaks define the borders of the defined scale levels. This means that there is one more scale level than there are scale breaks. Imagine for example that 3 scale levels were added:
These 3 scale levels correspond with:
size_t luciad::FeatureQueryConfiguration::getScaleLevelCount | ( | ) | const |
Returns the scale level count.
This is the number of scale breaks + 1.
|
static |
Returns a new builder for creating a FeatureQueryConfiguration.