LuciadCPillar 2026.1
Loading...
Searching...
No Matches
luciad::ProjectionStructure Class Referencefinal

Immutable description of the tile layout of a single projection. More...

#include <luciad/models/projectedimagery/ProjectionStructure.h>

Public Member Functions

double getImageFractionX () const
 Returns the horizontal sphere coverage.
double getImageFractionY () const
 Returns the vertical sphere coverage.
uint32_t getLevel0TileCountX () const
 Returns the number of tiles along the x-axis at the coarsest level.
uint32_t getLevel0TileCountY () const
 Returns the number of tiles along the y-axis at the coarsest level.
uint32_t getLevelCount () const
 Returns the number of levels of detail.
uint32_t getTileHeight () const
 Returns the tile height in pixels.
uint32_t getTileWidth () const
 Returns the tile width in pixels.
ProjectionStructureType getType () const
 Returns the projection geometry of this structure.
bool operator== (const ProjectionStructure &other) const
 Compares two structures for value equality: same type, level count, tile size, level-0 tile counts and sphere coverage.

Static Public Member Functions

static ProjectionStructure cubeMap (uint32_t levelCount, uint32_t tileWidth, uint32_t tileHeight, uint32_t level0TileCountX, uint32_t level0TileCountY)
 Creates a multi-leveled cubemap structure.
static ProjectionStructure equirectangular (uint32_t levelCount, uint32_t tileWidth, uint32_t tileHeight, uint32_t level0TileCountX, uint32_t level0TileCountY, double imageFractionX, double imageFractionY)
 Creates a multi-leveled equirectangular structure.
static ProjectionStructure pinhole (uint32_t width, uint32_t height)
 Creates a single-level, single-tile pinhole structure of the given pixel size.

Detailed Description

Immutable description of the tile layout of a single projection.

A pinhole projection is the trivial single-level, single-tile case. Cubemap and equirectangular panoramas can be multi-leveled, with a pyramid of tiles per level.

Use the static factory methods to create an instance.

Since
2026.1

Member Function Documentation

◆ cubeMap()

ProjectionStructure luciad::ProjectionStructure::cubeMap ( uint32_t levelCount,
uint32_t tileWidth,
uint32_t tileHeight,
uint32_t level0TileCountX,
uint32_t level0TileCountY )
static

Creates a multi-leveled cubemap structure.

Parameters
levelCountthe number of levels of detail. Must be at least 1.
tileWidththe tile width in pixels.
tileHeightthe tile height in pixels.
level0TileCountXthe number of tiles along the x-axis at the coarsest level.
level0TileCountYthe number of tiles along the y-axis at the coarsest level.
Returns
the new structure.
Exceptions
luciad::LogicExceptionwhen the level count, a tile dimension or a level 0 tile count is 0.

◆ equirectangular()

ProjectionStructure luciad::ProjectionStructure::equirectangular ( uint32_t levelCount,
uint32_t tileWidth,
uint32_t tileHeight,
uint32_t level0TileCountX,
uint32_t level0TileCountY,
double imageFractionX,
double imageFractionY )
static

Creates a multi-leveled equirectangular structure.

The image fractions express how much of the full sphere the imagery actually covers, where 1.0 means a full 360-by-180 degree panorama.

Parameters
levelCountthe number of levels of detail. Must be at least 1.
tileWidththe tile width in pixels.
tileHeightthe tile height in pixels.
level0TileCountXthe number of tiles along the x-axis at the coarsest level.
level0TileCountYthe number of tiles along the y-axis at the coarsest level.
imageFractionXthe horizontal sphere coverage, in the range (0, 1].
imageFractionYthe vertical sphere coverage, in the range (0, 1].
Returns
the new structure.
Exceptions
luciad::LogicExceptionwhen the level count, a tile dimension or a level 0 tile count is 0, or when an image fraction is outside (0, 1].

◆ getImageFractionX()

double luciad::ProjectionStructure::getImageFractionX ( ) const

Returns the horizontal sphere coverage.

Always 1.0 for pinhole and cubemap structures.

Returns
the horizontal sphere coverage.

◆ getImageFractionY()

double luciad::ProjectionStructure::getImageFractionY ( ) const

Returns the vertical sphere coverage.

Always 1.0 for pinhole and cubemap structures.

Returns
the vertical sphere coverage.

◆ getLevel0TileCountX()

uint32_t luciad::ProjectionStructure::getLevel0TileCountX ( ) const

Returns the number of tiles along the x-axis at the coarsest level.

Returns
the number of tiles along the x-axis at the coarsest level.

◆ getLevel0TileCountY()

uint32_t luciad::ProjectionStructure::getLevel0TileCountY ( ) const

Returns the number of tiles along the y-axis at the coarsest level.

Returns
the number of tiles along the y-axis at the coarsest level.

◆ getLevelCount()

uint32_t luciad::ProjectionStructure::getLevelCount ( ) const

Returns the number of levels of detail.

Returns
the number of levels of detail.

◆ getTileHeight()

uint32_t luciad::ProjectionStructure::getTileHeight ( ) const

Returns the tile height in pixels.

Returns
the tile height in pixels.

◆ getTileWidth()

uint32_t luciad::ProjectionStructure::getTileWidth ( ) const

Returns the tile width in pixels.

Returns
the tile width in pixels.

◆ getType()

ProjectionStructureType luciad::ProjectionStructure::getType ( ) const

Returns the projection geometry of this structure.

Returns
the projection geometry of this structure.

◆ operator==()

bool luciad::ProjectionStructure::operator== ( const ProjectionStructure & other) const

Compares two structures for value equality: same type, level count, tile size, level-0 tile counts and sphere coverage.

Equal structures describe the same tile layout.

Parameters
otherthe structure to compare with.
Returns
whether both structures describe the same tile layout.

◆ pinhole()

ProjectionStructure luciad::ProjectionStructure::pinhole ( uint32_t width,
uint32_t height )
static

Creates a single-level, single-tile pinhole structure of the given pixel size.

Parameters
widththe image width in pixels.
heightthe image height in pixels.
Returns
the new structure.
Exceptions
luciad::LogicExceptionwhen the width or the height is 0.