LuciadCPillar 2023.1.02
features

Support for rendering of feature (vector) data. More...

Classes

class  luciad::FeatureCanvas
 Canvas to provide the commands to draw a geometry, icon, 3D icon, text or a label. More...
 
class  luciad::FeatureLayer
 A layer for feature models. More...
 
class  luciad::FeaturePainterContext
 FeaturePainterContext provides information for use during feature painting. More...
 
class  luciad::FeaturePainterMetadata
 Class to provide information on what type of changes affect the styling. More...
 
class  luciad::FeatureQueryConfiguration
 The FeatureQueryConfiguration specifies which conditions to use for feature querying based on the map's current scale. More...
 
class  luciad::FeatureState
 Representation of the state of a feature. More...
 
class  luciad::FeatureStateEvent
 This class is used by IFeatureStateObserver to pass information about FeatureState changes. More...
 
class  luciad::FeatureStateManager
 Manages feature states. More...
 
class  luciad::IFeaturePainter
 A feature painter is used to specify how a feature is painted. More...
 
class  luciad::IFeatureStateObserver
 Can be used to retrieve notifications for FeatureState changes. More...
 
struct  luciad::LayerFeatureId
 Represents an identifier for a feature within a view. More...
 

Typedefs

using luciad::ZOrder = int32_t
 

Enumerations

enum class  luciad::FeatureLayerLoadingStrategy { luciad::FeatureLayerLoadingStrategy::LoadEverything , luciad::FeatureLayerLoadingStrategy::LoadSpatially }
 Specifies how a FeatureLayer should retrieve data from its IFeatureModel. More...
 
enum class  luciad::LabelGroup { luciad::LabelGroup::Default , luciad::LabelGroup::NoDeclutter }
 An enumeration of predefined groups for label decluttering. More...
 

Detailed Description

Support for rendering of feature (vector) data.

See

Typedef Documentation

◆ ZOrder

Enumeration Type Documentation

◆ FeatureLayerLoadingStrategy

Specifies how a FeatureLayer should retrieve data from its IFeatureModel.

luciad/layers/features/FeatureLayer.h

Since
2023.0.02
Enumerator
LoadEverything 

A FeatureLayer configured with this strategy will retrieve all data from its model that satisfies the query configuration.

Even when only a small portion of the Map is visible, all data (also outside the visible position of the map) is loaded.

Only use this loading strategy for relatively small models.

LoadSpatially 

This strategy ensures that only the data which is in the visible extent of the Map is retrieved from the model.

If you attempt to use this strategy with a model that is not supported, the LoadEverything strategy will be used instead. A model supports this strategy when

In a 3D scene it is possible that the visible extent of the Map covers multiple areas with different scales. For example, if the camera is tilted, data on the horizon is visualized at a lower scale than data closer to the camera. To that end, LuciadCPillar divides the map in multiple zones that correspond with scale levels that are defined by the query configuration. The loading strategy queries the underlying model by passing the bounds and the query object for each visible scale level zone, and combines the data in each zone for a consistent visualization. This approach allows you to visualize large data sets in 3D, while you can still apply data specific business rules when loading and visualizing the data.

In order to take advantage of this loading capability the query configuration should define scale levels and the queries should limit the number of features for smaller scales. Or even to prevent from loading data at all for the least detailed scale.

◆ LabelGroup

enum class luciad::LabelGroup
strong

An enumeration of predefined groups for label decluttering.

luciad/layers/features/LabelGroup.h

A label declutter group is a collection of labels that are positioned independently from other label declutter groups. I.e. labels from one group will never affect labels from other groups. This also means that labels from different groups are allowed to overlap.

Since
2021.0
Enumerator
Default 

Default group for labels that should not overlap.

When no non-overlapping position can be found for a label, it is removed. Labels are placed in this group by default.

NoDeclutter 

Default group for labels that are never removed.