LuciadCPillar C# 2023.1.03
Luciad.Models.Rasters.QuadTreeRasterModelBuilder Class Reference

This builder class allows to create a multi-level tiled raster model using a quad-tree structure. More...

Inheritance diagram for Luciad.Models.Rasters.QuadTreeRasterModelBuilder:

Public Member Functions

 QuadTreeRasterModelBuilder (Luciad.Models.Rasters.QuadTreeRasterModelBuilder other)
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder Bounds (Luciad.Geometries.Bounds bounds)
 Defines the extent of the raster data structure. More...
 
Luciad.Models.Rasters.IRasterModel Build ()
 Creates the raster model. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder DataBounds (Luciad.Geometries.Bounds bounds)
 Defines the extent of where actual data is a available. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder DataRetriever (Luciad.Models.Rasters.IMultilevelTiledRasterDataRetriever dataRetriever)
 Defines the implementation to be used to retrieve the raster tile data. More...
 
void Dispose ()
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder Elevation ()
 Marks this model as an elevation model. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder ElevationNoDataValue (float noDataValue)
 Sets a no-data value for elevation data. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder EnableInvalidation ()
 Allows to create a raster model which can be invalidated. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder Level0ColumnCount (uint colCount)
 Defines the number of columns at the least detailed level. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder Level0RowCount (uint rowCount)
 Defines the number of row at the least detailed level. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder LevelCount (uint levelCount)
 Defines the number of detail levels. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder ModelMetadata (Luciad.Models.ModelMetadata modelMetadata)
 Defines the model metadata. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder Reference (Luciad.Geodesy.CoordinateReference modelReference)
 Defines the reference in which the raster data is defined. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder SamplingMode (Luciad.Rasters.RasterSamplingMode samplingMode)
 Defines the sampling mode of the data. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder TileHeightPixels (uint tileHeightPixels)
 Defines the height in pixels for a single tile. More...
 
Luciad.Models.Rasters.QuadTreeRasterModelBuilder TileWidthPixels (uint tileWidthPixels)
 Defines the width in pixels for a single tile. More...
 

Static Public Member Functions

static Luciad.Models.Rasters.QuadTreeRasterModelBuilder NewBuilder ()
 Creates the builder class to create a raster model. More...
 

Detailed Description

This builder class allows to create a multi-level tiled raster model using a quad-tree structure.

The multi-level tile structure is defined by a reference and a number of levels where each level has a bounds and a number of columns and rows. The structure of the tiles is organized as follows:

Level 0 is the least detailed level. All levels have the same extent and top-left corner. The tile coordinate (N,0,0) on level N is the top-left tile. Each tile on level N corresponds to a block of 2x2 tiles on level N+1.

The IMultilevelTiledRasterDataRetriever interface allows to load the tile data and it also allows to indicate that there is no data available for a tile. This allows to create low resolution overlays on high resolution data. The following figure shows how such a multi-level tile structure looks like. Note that you can also define multi-level tiled structures that are not a quad-tree structure when using a MultilevelTiledRasterModelBuilder. Multi-level tile structure.

This builder supports either imagery (RGBA) data or elevation data. The latter can be enabled by calling QuadTreeRasterModelBuilder::elevation. This article gives an example of how to use this class. 2022.1

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

Constructor & Destructor Documentation

◆ QuadTreeRasterModelBuilder()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder.QuadTreeRasterModelBuilder ( Luciad.Models.Rasters.QuadTreeRasterModelBuilder  other)
inline

Member Function Documentation

◆ Bounds()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Bounds ( Luciad.Geometries.Bounds  bounds)
inline

Defines the extent of the raster data structure.

This information is mandatory.

bounds

the extent of the raster data structure.

this builder.

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

◆ Build()

Luciad.Models.Rasters.IRasterModel Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Build ( )
inline

Creates the raster model.

Mandatory information:

the reference of the raster data the number of columns and rows at the least detail level the number of detail levels model metadata data retriever

the raster model, or a luciad::LogicException when the conditions to build the raster model are not met.

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

◆ DataBounds()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.DataBounds ( Luciad.Geometries.Bounds  bounds)
inline

Defines the extent of where actual data is a available.

This information is optional. If not defined the extent of the data is assumed to be based the entire structure.

bounds

the extent of the 'actual' data.

this builder.

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

◆ DataRetriever()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.DataRetriever ( Luciad.Models.Rasters.IMultilevelTiledRasterDataRetriever  dataRetriever)
inline

Defines the implementation to be used to retrieve the raster tile data.

This information is mandatory. A user implementation must be provided.

dataRetriever

the interface that is called to retrieve the raster tile data. Cannot be nullptr.

this builder.

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

◆ Dispose()

void Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Dispose ( )
inline

◆ Elevation()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Elevation ( )
inline

Marks this model as an elevation model.

If this method is called, the configured IMultilevelTiledRasterDataRetriever must return elevation data as well. See IMultilevelTiledRasterDataRetrieverCallback::onDataAvailable and IMultilevelTiledRasterDataRetrieverCallback::onImageAvailable for more information. this builder

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

◆ ElevationNoDataValue()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.ElevationNoDataValue ( float  noDataValue)
inline

Sets a no-data value for elevation data.

When the provided elevation data in IMultilevelTiledRasterDataRetrieverCallback contains this value, it is interpreted as a no-data value. This means that consumers of the data will have information that no data is available at that location, and that they can choose an appropriate fallback. For example when terrain is visualized, it can decide to fall back on other elevation data when it encounters a no-data elevation value. This method is optional. This method must only be called when the elevation method is also called. If not, the build method will throw an exception.

noDataValue

the no-data value to use for elevation

this builder

2023.0

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

◆ EnableInvalidation()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.EnableInvalidation ( )
inline

Allows to create a raster model which can be invalidated.

By default raster models are created without invalidation. Call this method when you need a raster model for which the content can change. Then a IRasterModel is created that returns true for IRasterModel::canInvalidate and for which you can call the method IRasterModel::invalidate to indicate the content of the raster model has changed. this builder.

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

◆ Level0ColumnCount()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Level0ColumnCount ( uint  colCount)
inline

Defines the number of columns at the least detailed level.

This information is mandatory.

colCount

the number of tiles on the column of the least detailed level.

this builder.

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

◆ Level0RowCount()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Level0RowCount ( uint  rowCount)
inline

Defines the number of row at the least detailed level.

This information is mandatory.

rowCount

the number of tiles on the row of the least detailed level.

this builder.

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

◆ LevelCount()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.LevelCount ( uint  levelCount)
inline

Defines the number of detail levels.

This information is mandatory.

levelCount

the number of detail levels.

this builder.

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

◆ ModelMetadata()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.ModelMetadata ( Luciad.Models.ModelMetadata  modelMetadata)
inline

Defines the model metadata.

This information is mandatory.

modelMetadata

the model metadata.

this builder.

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

◆ NewBuilder()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.NewBuilder ( )
inlinestatic

Creates the builder class to create a raster model.

the builder class for creation of a 'basic' IRasterModel.

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

◆ Reference()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.Reference ( Luciad.Geodesy.CoordinateReference  modelReference)
inline

Defines the reference in which the raster data is defined.

This information is mandatory.

modelReference

the reference for the raster data. Cannot be nullptr.

this builder.

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

◆ SamplingMode()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.SamplingMode ( Luciad.Rasters.RasterSamplingMode  samplingMode)
inline

Defines the sampling mode of the data.

This information is optional. The default value is Area.

samplingMode

the sampling mode of the data.

this builder.

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

◆ TileHeightPixels()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.TileHeightPixels ( uint  tileHeightPixels)
inline

Defines the height in pixels for a single tile.

This information is mandatory.

tileHeightPixels

the height, in pixels, for a tile within the tiled structure.

this builder.

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

◆ TileWidthPixels()

Luciad.Models.Rasters.QuadTreeRasterModelBuilder Luciad.Models.Rasters.QuadTreeRasterModelBuilder.TileWidthPixels ( uint  tileWidthPixels)
inline

Defines the width in pixels for a single tile.

This information is mandatory.

tileWidthPixels

the width, in pixels, for a tile within the tiled structure.

this builder.

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