LuciadCPillar C# 2023.1.04
Luciad.Layers.Features.FeatureQueryConfiguration.Builder Class Reference

Builder for the luciad::FeatureQueryConfiguration class. More...

Inheritance diagram for Luciad.Layers.Features.FeatureQueryConfiguration.Builder:

Public Member Functions

 Builder (Luciad.Layers.Features.FeatureQueryConfiguration.Builder other)
 
Luciad.Layers.Features.FeatureQueryConfiguration.Builder AddCondition (Luciad.Maps.MapScale minScale, Luciad.Maps.MapScale maxScale, Luciad.Expressions.Expression condition)
 Defines an expression that is used when querying the model for a certain scale range of the map. More...
 
Luciad.Layers.Features.FeatureQueryConfiguration Build ()
 Creates a FeatureQueryConfiguration based on the conditions added to this builder. More...
 
void Dispose ()
 
Luciad.Layers.Features.FeatureQueryConfiguration.Builder LoadNothingForNonDefinedScales ()
 By calling this method, the layer will load nothing when no condition set by addCondition is applicable for the current scale level. More...
 
Luciad.Layers.Features.FeatureQueryConfiguration.Builder NonDefinedScales (Luciad.Expressions.Expression condition)
 Defines the model query condition that is used when no condition set by addCondition is applicable for the current scale level of the map. More...
 

Detailed Description

Builder for the luciad::FeatureQueryConfiguration class.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::FeatureQueryConfiguration::Builder.

Constructor & Destructor Documentation

◆ Builder()

Luciad.Layers.Features.FeatureQueryConfiguration.Builder.Builder ( Luciad.Layers.Features.FeatureQueryConfiguration.Builder  other)
inline

Member Function Documentation

◆ AddCondition()

Luciad.Layers.Features.FeatureQueryConfiguration.Builder Luciad.Layers.Features.FeatureQueryConfiguration.Builder.AddCondition ( Luciad.Maps.MapScale  minScale,
Luciad.Maps.MapScale  maxScale,
Luciad.Expressions.Expression  condition 
)
inline

Defines an expression that is used when querying the model for a certain scale range of the map.

This information is used by the layer to only query relevant data from the model when painting at a certain scale level. For example, when the map is zoomed out a lot, it makes sense to filter out smaller features, thereby reducing the amount of data that is loaded and painted. The scales are expressed in a unit-less scale. For example, specifying a scale of "1/5000" means that one centimetre on the map equals 5000 centimetres in reality. Valid scale values go from 0 (fully zoomed out) to DBL_MAX (fully zoomed in). This method can be called multiple times, in order to define different conditions for different scale ranges. Scale ranges are allowed to overlap. If multiple conditions apply to a certain scale level, the layer will combine them in an OR condition. When no conditions are defined for a certain scale range, the layer will by default load all data. You can change this default behaviour with nonDefinedScales or loadNothingForNonDefinedScales.

minScale

the minimum scale (inclusive).

maxScale

the maximum scale (exclusive).

condition

the condition to be used for the given scale range. Use luciad::ExpressionFactory for creating conditions.

this builder.

InvalidArgumentException

if the minimum scale is larger than the maximum scale.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::FeatureQueryConfiguration::Builder::addCondition.

◆ Build()

Luciad.Layers.Features.FeatureQueryConfiguration Luciad.Layers.Features.FeatureQueryConfiguration.Builder.Build ( )
inline

Creates a FeatureQueryConfiguration based on the conditions added to this builder.

If no conditions were added to this builder, a configuration is built that accepts all features for all map scales. the configuration.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::FeatureQueryConfiguration::Builder::build.

◆ Dispose()

void Luciad.Layers.Features.FeatureQueryConfiguration.Builder.Dispose ( )
inline

◆ LoadNothingForNonDefinedScales()

Luciad.Layers.Features.FeatureQueryConfiguration.Builder Luciad.Layers.Features.FeatureQueryConfiguration.Builder.LoadNothingForNonDefinedScales ( )
inline

By calling this method, the layer will load nothing when no condition set by addCondition is applicable for the current scale level.

This is a convenience method that has the same effect as calling nonDefinedScales with an always-false expression. this builder.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::FeatureQueryConfiguration::Builder::loadNothingForNonDefinedScales.

◆ NonDefinedScales()

Luciad.Layers.Features.FeatureQueryConfiguration.Builder Luciad.Layers.Features.FeatureQueryConfiguration.Builder.NonDefinedScales ( Luciad.Expressions.Expression  condition)
inline

Defines the model query condition that is used when no condition set by addCondition is applicable for the current scale level of the map.

By default, this is an always-true expression, which means the layer will load everything in this case. Calling this method multiple times will simply overwrite the previously set expression.

condition

the condition to be used for scale levels for which no other conditions were explicitly specified.

this builder.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::FeatureQueryConfiguration::Builder::nonDefinedScales.