|
cesium-native 0.52.0
|
Helper functions for working with 3D Tiles implicit tiling. More...
#include <Cesium3DTilesContent/ImplicitTilingUtilities.h>
Static Public Member Functions | |
| static std::string | resolveUrl (const std::string &baseUrl, const std::string &urlTemplate, const CesiumGeometry::QuadtreeTileID &quadtreeID) |
| Resolves a templatized implicit tiling URL with a quadtree tile ID. | |
| static std::string | resolveUrl (const std::string &baseUrl, const std::string &urlTemplate, const CesiumGeometry::OctreeTileID &octreeID) |
| Resolves a templatized implicit tiling URL with an octree tile ID. | |
| static double | computeLevelDenominator (uint32_t level) noexcept |
| Computes the denominator for a given implicit tile level. | |
| static uint64_t | computeMortonIndex (const CesiumGeometry::QuadtreeTileID &tileID) |
| Computes the Morton index for a given quadtree tile within its level. | |
| static uint64_t | computeMortonIndex (const CesiumGeometry::OctreeTileID &tileID) |
| Computes the Morton index for a given octree tile within its level. | |
| static uint64_t | computeRelativeMortonIndex (const CesiumGeometry::QuadtreeTileID &subtreeID, const CesiumGeometry::QuadtreeTileID &tileID) |
| Computes the relative Morton index for a given quadtree tile within its level of a subtree root at the tile with the given quadtree ID. | |
| static uint64_t | computeRelativeMortonIndex (const CesiumGeometry::OctreeTileID &subtreeRootID, const CesiumGeometry::OctreeTileID &tileID) |
| Computes the relative Morton index for a given octree tile within its level of a subtree rooted at the tile with the given octree ID. | |
| static CesiumGeometry::QuadtreeTileID | getSubtreeRootID (uint32_t subtreeLevels, const CesiumGeometry::QuadtreeTileID &tileID) noexcept |
| Gets the ID of the root tile of the subtree that contains a given tile. | |
| static CesiumGeometry::OctreeTileID | getSubtreeRootID (uint32_t subtreeLevels, const CesiumGeometry::OctreeTileID &tileID) noexcept |
| Gets the ID of the root tile of the subtree that contains a given tile. | |
| static CesiumGeometry::QuadtreeTileID | absoluteTileIDToRelative (const CesiumGeometry::QuadtreeTileID &rootID, const CesiumGeometry::QuadtreeTileID &tileID) noexcept |
| Converts an absolute tile ID to a tile ID relative to a given root tile. | |
| static CesiumGeometry::OctreeTileID | absoluteTileIDToRelative (const CesiumGeometry::OctreeTileID &rootID, const CesiumGeometry::OctreeTileID &tileID) noexcept |
| Converts an absolute tile ID to a tile ID relative to a given root tile. | |
| static std::optional< CesiumGeometry::QuadtreeTileID > | getParentID (const CesiumGeometry::QuadtreeTileID &tileID) noexcept |
| Gets the ID of the parent of the given tile. If the tile's level is 0, then it cannot have a parent and this function returns std::nullopt. | |
| static std::optional< CesiumGeometry::OctreeTileID > | getParentID (const CesiumGeometry::OctreeTileID &tileID) noexcept |
| Gets the ID of the parent of the given tile. If the tile's level is 0, then it cannot have a parent and this function returns std::nullopt. | |
| static QuadtreeChildren | getChildren (const CesiumGeometry::QuadtreeTileID &tileID) noexcept |
| Gets a lightweight virtual container for enumerating the quadtree IDs of the children of a given quadtree tile. | |
| static OctreeChildren | getChildren (const CesiumGeometry::OctreeTileID &tileID) noexcept |
| Gets a lightweight virtual container for enumerating the octree IDs of the children of a given octree tile. | |
| static Cesium3DTiles::BoundingVolume | computeBoundingVolume (const Cesium3DTiles::BoundingVolume &rootBoundingVolume, const CesiumGeometry::QuadtreeTileID &tileID, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) noexcept |
Computes the bounding volume for an implicit quadtree tile with the given ID as a Cesium3DTiles::BoundingVolume. | |
| static Cesium3DTiles::BoundingVolume | computeBoundingVolume (const Cesium3DTiles::BoundingVolume &rootBoundingVolume, const CesiumGeometry::OctreeTileID &tileID, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) noexcept |
Computes the bounding volume for an implicit octree tile with the given ID as a Cesium3DTiles::BoundingVolume. | |
| static CesiumGeospatial::BoundingRegion | computeBoundingVolume (const CesiumGeospatial::BoundingRegion &rootBoundingVolume, const CesiumGeometry::QuadtreeTileID &tileID, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) noexcept |
| Computes the bounding volume for an implicit quadtree tile with the given ID as a bounding region. | |
| static CesiumGeospatial::BoundingRegion | computeBoundingVolume (const CesiumGeospatial::BoundingRegion &rootBoundingVolume, const CesiumGeometry::OctreeTileID &tileID, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) noexcept |
| Computes the bounding volume for an implicit octree tile with the given ID as a bounding region. | |
| static CesiumGeometry::OrientedBoundingBox | computeBoundingVolume (const CesiumGeometry::OrientedBoundingBox &rootBoundingVolume, const CesiumGeometry::QuadtreeTileID &tileID) noexcept |
| Computes the bounding volume for an implicit quadtree tile with the given ID as an oriented bounding box. | |
| static CesiumGeometry::OrientedBoundingBox | computeBoundingVolume (const CesiumGeometry::OrientedBoundingBox &rootBoundingVolume, const CesiumGeometry::OctreeTileID &tileID) noexcept |
| Computes the bounding volume for an implicit octree tile with the given ID as an oriented bounding box. | |
| static CesiumGeospatial::S2CellBoundingVolume | computeBoundingVolume (const CesiumGeospatial::S2CellBoundingVolume &rootBoundingVolume, const CesiumGeometry::QuadtreeTileID &tileID, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) noexcept |
| Computes the bounding volume for an implicit quadtree tile with the given ID as an S2 cell bounding volume. | |
| static CesiumGeospatial::S2CellBoundingVolume | computeBoundingVolume (const CesiumGeospatial::S2CellBoundingVolume &rootBoundingVolume, const CesiumGeometry::OctreeTileID &tileID, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) noexcept |
| Computes the bounding volume for an implicit octree tile with the given ID as an S2 cell bounding volume. | |
| static CesiumGeometry::BoundingCylinderRegion | computeBoundingVolume (const CesiumGeometry::BoundingCylinderRegion &rootBoundingVolume, const CesiumGeometry::QuadtreeTileID &tileID) noexcept |
| Computes the bounding volume for an implicit quadtree tile with the given ID as a bounding cylinder. | |
| static CesiumGeometry::BoundingCylinderRegion | computeBoundingVolume (const CesiumGeometry::BoundingCylinderRegion &rootBoundingVolume, const CesiumGeometry::OctreeTileID &tileID) noexcept |
| Computes the bounding volume for an implicit octree tile with the given ID as a bounding cylinder. | |
Helper functions for working with 3D Tiles implicit tiling.
Definition at line 235 of file ImplicitTilingUtilities.h.
|
staticnoexcept |
Converts an absolute tile ID to a tile ID relative to a given root tile.
For example, if rootID and tileID are the same, this method returns OctreeTileID(0, 0, 0, 0).
| rootID | The ID of the root tile that the returned ID should be relative to. |
| tileID | The absolute ID of the tile to compute a relative ID for. |
|
staticnoexcept |
Converts an absolute tile ID to a tile ID relative to a given root tile.
For example, if rootID and tileID are the same, this method returns QuadtreeTileID(0, 0, 0).
| rootID | The ID of the root tile that the returned ID should be relative to. |
| tileID | The absolute ID of the tile to compute a relative ID for. |
|
staticnoexcept |
Computes the bounding volume for an implicit octree tile with the given ID as a Cesium3DTiles::BoundingVolume.
| rootBoundingVolume | The bounding volume of the root tile. |
| tileID | The tile ID for which to compute the bounding volume. |
| ellipsoid | The ellipsoid to use for this calculation. |
|
staticnoexcept |
Computes the bounding volume for an implicit quadtree tile with the given ID as a Cesium3DTiles::BoundingVolume.
| rootBoundingVolume | The bounding volume of the root tile. |
| tileID | The tile ID for which to compute the bounding volume. |
| ellipsoid | The ellipsoid to use for this calculation. |
|
staticnoexcept |
Computes the bounding volume for an implicit octree tile with the given ID as a bounding cylinder.
| rootBoundingVolume | The bounding cylinder of the root tile. |
| tileID | The tile ID for which to compute the bounding cylinder. |
|
staticnoexcept |
Computes the bounding volume for an implicit quadtree tile with the given ID as a bounding cylinder.
| rootBoundingVolume | The oriented bounding box of the root tile. |
| tileID | The tile ID for which to compute the oriented bounding box. |
|
staticnoexcept |
Computes the bounding volume for an implicit octree tile with the given ID as an oriented bounding box.
| rootBoundingVolume | The oriented bounding box of the root tile. |
| tileID | The tile ID for which to compute the oriented bounding box. |
|
staticnoexcept |
Computes the bounding volume for an implicit quadtree tile with the given ID as an oriented bounding box.
| rootBoundingVolume | The oriented bounding box of the root tile. |
| tileID | The tile ID for which to compute the oriented bounding box. |
|
staticnoexcept |
Computes the bounding volume for an implicit octree tile with the given ID as a bounding region.
| rootBoundingVolume | The bounding region of the root tile. |
| tileID | The tile ID for which to compute the bounding region. |
| ellipsoid | The ellipsoid to use for this calculation. |
|
staticnoexcept |
Computes the bounding volume for an implicit quadtree tile with the given ID as a bounding region.
| rootBoundingVolume | The bounding region of the root tile. |
| tileID | The tile ID for which to compute the bounding region. |
| ellipsoid | The ellipsoid to use for this calculation. |
|
staticnoexcept |
Computes the bounding volume for an implicit octree tile with the given ID as an S2 cell bounding volume.
| rootBoundingVolume | The S2 cell bounding volume of the root tile. |
| tileID | The tile ID for which to compute the S2 cell bounding volume. |
| ellipsoid | The ellipsoid to use for this calculation. |
|
staticnoexcept |
Computes the bounding volume for an implicit quadtree tile with the given ID as an S2 cell bounding volume.
| rootBoundingVolume | The S2 cell bounding volume of the root tile. |
| tileID | The tile ID for which to compute the S2 cell bounding volume. |
| ellipsoid | The ellipsoid to use for this calculation. |
|
staticnoexcept |
Computes the denominator for a given implicit tile level.
Divide the root tile's geometric error by this value to get the standard geometric error for tiles on the level. Or divide each component of a bounding volume by this factor to get the size of the bounding volume along that axis for tiles of this level.
| level | The tile level. |
|
static |
Computes the Morton index for a given octree tile within its level.
| tileID | The ID of the tile. |
|
static |
Computes the Morton index for a given quadtree tile within its level.
| tileID | The ID of the tile. |
|
static |
Computes the relative Morton index for a given octree tile within its level of a subtree rooted at the tile with the given octree ID.
| subtreeRootID | The ID of the subtree the contains the tile. |
| tileID | The ID of the tile. |
|
static |
Computes the relative Morton index for a given quadtree tile within its level of a subtree root at the tile with the given quadtree ID.
| subtreeID | The ID of the subtree the contains the tile. |
| tileID | The ID of the tile. |
|
inlinestaticnoexcept |
Gets a lightweight virtual container for enumerating the octree IDs of the children of a given octree tile.
| tileID | The tile ID of the parent tile for which to get children. |
Definition at line 421 of file ImplicitTilingUtilities.h.
|
inlinestaticnoexcept |
Gets a lightweight virtual container for enumerating the quadtree IDs of the children of a given quadtree tile.
| tileID | The tile ID of the parent tile for which to get children. |
Definition at line 409 of file ImplicitTilingUtilities.h.
|
staticnoexcept |
Gets the ID of the parent of the given tile. If the tile's level is 0, then it cannot have a parent and this function returns std::nullopt.
|
staticnoexcept |
Gets the ID of the parent of the given tile. If the tile's level is 0, then it cannot have a parent and this function returns std::nullopt.
|
staticnoexcept |
Gets the ID of the root tile of the subtree that contains a given tile.
| subtreeLevels | The number of levels in each sub-tree. For example, if this parameter is 4, then the first subtree starts at level 0 and contains tiles in levels 0 through 3, and the next subtree starts at level 4 and contains tiles in levels 4 through 7. |
| tileID | The tile ID for each to find the subtree root. |
|
staticnoexcept |
Gets the ID of the root tile of the subtree that contains a given tile.
| subtreeLevels | The number of levels in each sub-tree. For example, if this parameter is 4, then the first subtree starts at level 0 and contains tiles in levels 0 through 3, and the next subtree starts at level 4 and contains tiles in levels 4 through 7. |
| tileID | The tile ID for each to find the subtree root. |
|
static |
Resolves a templatized implicit tiling URL with an octree tile ID.
| baseUrl | The base URL that is used to resolve the urlTemplate if it is a relative path. |
| urlTemplate | The templatized URL. |
| octreeID | The octree ID to use in resolving the parameters in the URL template. |
|
static |
Resolves a templatized implicit tiling URL with a quadtree tile ID.
| baseUrl | The base URL that is used to resolve the urlTemplate if it is a relative path. |
| urlTemplate | The templatized URL. |
| quadtreeID | The quadtree ID to use in resolving the parameters in the URL template. |