LuciadCPillar 2026.0
Loading...
Searching...
No Matches
luciad::FeatureQuery Class Reference

A query specifies which objects you are interested in. More...

#include <luciad/models/features/FeatureQuery.h>

Classes

class  Builder
 Builder to create a FeatureQuery. More...
class  SortOperator
 SortOperator class contains a list of properties that must be taken into account for sorting. More...
class  SortProperty
 SortProperty class defines the property name and the sort order for the SortOperator. More...

Public Types

enum class  SortOrder { Asc , Desc }
 Sort order. More...

Public Member Functions

std::optional< BoundsgetBounds () const
 Returns the bounds the queried features must interact with.
const CancellationTokengetCancellationToken () const
 Returns the query cancellation token.
std::optional< ExpressiongetCondition () const
 Returns the condition that should be applied on the query, if any.
std::optional< std::vector< FeatureId > > getFeatureIds () const
 Returns the features to retrieve by id.
std::optional< uint32_t > getLimit () const
 Returns the maximum number of elements to query, if any.
std::optional< size_t > getScaleLevelIndex () const
 Returns the scale level index.
std::optional< SortOperatorgetSortBy () const
 Returns the sorting order that should be applied on the query, if any.
std::optional< size_t > getTooManyFeaturesCount () const
 Returns the maximum number of features that can be handled by IFeatureModel::query without terminating the query.

Static Public Member Functions

static FeatureQuery all ()
 This method is a convenience factory method that creates a query to retrieve all features.
static Builder newBuilder ()
 Returns the builder class for creation of the feature query.

Detailed Description

A query specifies which objects you are interested in.

It is a combination of:

All of these are optional.

The query implementation must use all settings on the Query instance. For example, if both a bounds and a condition are specified, the query implementation must take both the bounds and the condition into account.

Create an empty Query to get all objects. When both a condition and feature ids are provided in the Query the objects need to fulfill both.

Member Enumeration Documentation

◆ SortOrder

Sort order.

Enumerator
Asc 

Ascending sort order.

Desc 

Descending sort order.

Member Function Documentation

◆ all()

FeatureQuery luciad::FeatureQuery::all ( )
static

This method is a convenience factory method that creates a query to retrieve all features.

Returns
a query to retrieve all features.

◆ getBounds()

std::optional< Bounds > luciad::FeatureQuery::getBounds ( ) const

Returns the bounds the queried features must interact with.

Returns
the bounds the queried features must interact with.

◆ getCancellationToken()

const CancellationToken & luciad::FeatureQuery::getCancellationToken ( ) const

Returns the query cancellation token.

Returns
the query cancellation token.
Since
2026.0

◆ getCondition()

std::optional< Expression > luciad::FeatureQuery::getCondition ( ) const

Returns the condition that should be applied on the query, if any.

Returns
the condition that should be applied on the query, if any.

◆ getFeatureIds()

std::optional< std::vector< FeatureId > > luciad::FeatureQuery::getFeatureIds ( ) const

Returns the features to retrieve by id.

Returns
the features to retrieve by id.

◆ getLimit()

std::optional< uint32_t > luciad::FeatureQuery::getLimit ( ) const

Returns the maximum number of elements to query, if any.

Returns
the maximum number of elements to query, if any.

◆ getScaleLevelIndex()

std::optional< size_t > luciad::FeatureQuery::getScaleLevelIndex ( ) const

Returns the scale level index.

If std::nullopt, the model should return features from all scale levels that match the query.

If you configure a FeatureLayer to have scale breaks using a FeatureQueryConfiguration, the layer may include the index of the chosen scale level when querying your model.

Returns
the scale level index, if any.
Since
2025.0.04

◆ getSortBy()

std::optional< SortOperator > luciad::FeatureQuery::getSortBy ( ) const

Returns the sorting order that should be applied on the query, if any.

Returns
the sorting order that should be applied on the query, if any.

◆ getTooManyFeaturesCount()

std::optional< size_t > luciad::FeatureQuery::getTooManyFeaturesCount ( ) const

Returns the maximum number of features that can be handled by IFeatureModel::query without terminating the query.

If the query corresponds to more features than this number, the model should abort the query as soon as possible, preferably at the start of the IFeatureModel::query call and without returning any features. Before terminating, the feature model should call IFeatureQueryCallback::handleTermination with a FeatureQueryTermination that has as reason TooManyFeatures.

Returns
the maximum number of features this query can handle.
Since
2026.0

◆ newBuilder()

Builder luciad::FeatureQuery::newBuilder ( )
static

Returns the builder class for creation of the feature query.

Returns
the builder class for creation of the feature query.