Interface IHierarchicalFeatureModel
- All Superinterfaces:
IFeatureModel
,Model
In a hierarchical feature model, features can be parents of other features and/or children of another feature. In essence, this hierarchy represents a tree-like structure with one or more root features.
Visualization considerations
LuciadCPillar will use this hierarchy to filter out features if a descendant is visible. Typical use cases for this behavior include:
- Multi-level clustering: to prevent overlapping clusters, clusters from level N must not be visible if their children from level N+1 are visible.
- Grid-like hierarchies: overlapping grid lines/tiles from different detail levels must not be visible simultaneously.
- Area subdivisions: subdividing the world into, for example, countries, then provinces/states, then cities, then municipalities, without overlap
- ...
- Since:
- 2025.0.04
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionqueryChildren
(long feature) Queries the children of a feature.@Nullable Long
queryParent
(long feature) Queries the parent of a feature.Methods inherited from interface com.luciad.models.features.IFeatureModel
addObserver, getFeatureModelMetadata, getPersistenceManager, getUpdater, query, removeObserver
Methods inherited from interface com.luciad.models.Model
getModelMetadata, queryBounds
-
Method Details
-
queryParent
Queries the parent of a feature.Returns
null
if the given feature is a root feature.This method is expected to be thread-safe, and it may be called from any thread. It should also be inexpensive to call, because it can be called frequently by
FeatureLayer
.- Returns:
- the parent of the feature.
-
queryChildren
Queries the children of a feature.Returns an empty list if the given feature has no children.
This method is expected to be thread-safe, and it may be called from any thread. It should also be inexpensive to call, because it can be called frequently by
FeatureLayer
.- Returns:
- the children of the feature.
-