Maria GDK 5.0.0.779
Documentation of native code in develop branch
Loading...
Searching...
No Matches
Maria3D::Tiles3D::Tile Class Reference

#include <M3DTile.h>

Inheritance diagram for Maria3D::Tiles3D::Tile:
Maria3D::Tiles3D::TilesObject

Public Types

enum class  Refine { UNDEFINED = 0 , ADD = 1 , REPLACE = 2 }
 

Public Member Functions

 Tile (const std::shared_ptr< Tile > &parent=nullptr)
 
const std::shared_ptr< BoundingVolume > & getBoundingVolume () const
 A bounding volume that encloses a tile or its content.
 
const std::shared_ptr< BoundingVolume > & getViewerRequestVolume () const
 
void setBoundingVolume (const std::shared_ptr< BoundingVolume > &boundingVolume)
 A bounding volume that encloses a tile or its content.
 
void setViewerRequestVolume (const std::shared_ptr< BoundingVolume > &viewerRequestVolume)
 
double getGeometricError () const
 
void setGeometricError (double geometricError)
 
Refine getRefine () const
 
void setRefine (const Refine &refine)
 
const STK::Matrix4x4fgetTransform () const
 
void setTransform (const STK::Matrix4x4f &transform)
 
std::shared_ptr< ContentgetContent () const
 Metadata about the tile's content and a link to the content.
 
void setContent (const std::shared_ptr< Content > &content)
 Metadata about the tile's content and a link to the content.
 
const std::vector< std::shared_ptr< Tile > > & getChildren () const
 
void addChild (const std::shared_ptr< Tile > &tile)
 
void setChildren (const std::vector< std::shared_ptr< Tile > > &children)
 
int checkVisibility (const FrameState &fs, int parentVisibility) const
 
int checkContentVisibility (const FrameState &fs, int parentVisibility) const
 
- Public Member Functions inherited from Maria3D::Tiles3D::TilesObject
const std::map< std::string, std::string > & getExtras () const
 
void setExtra (const std::string &key, const std::string &val)
 
std::string getExtra (const std::string &key) const
 

Protected Attributes

std::shared_ptr< BoundingVolume_boundingVolume
 
std::shared_ptr< BoundingVolume_viewerRequestVolume
 
double _geometricError
 
Refine _refine
 
STK::Matrix4x4f _transform
 
std::shared_ptr< Content_content
 
std::vector< std::shared_ptr< Tile > > _children
 
- Protected Attributes inherited from Maria3D::Tiles3D::TilesObject
std::map< std::string, std::string > _extras
 

Detailed Description

Tile - A tile in a 3D Tiles tileset.

Member Function Documentation

◆ addChild()

void Maria3D::Tiles3D::Tile::addChild ( const std::shared_ptr< Tile > &  tile)
inline

An array of objects that define child tiles. Each child tile content is fully enclosed by its parent tile's bounding volume and, generally, has a geometricError less than its parent tile's geometricError. For leaf tiles, the length of this array is zero, and children may not be defined.

◆ getChildren()

const std::vector< std::shared_ptr< Tile > > & Maria3D::Tiles3D::Tile::getChildren ( ) const
inline

An array of objects that define child tiles. Each child tile content is fully enclosed by its parent tile's bounding volume and, generally, has a geometricError less than its parent tile's geometricError. For leaf tiles, the length of this array is zero, and children may not be defined.

◆ getGeometricError()

double Maria3D::Tiles3D::Tile::getGeometricError ( ) const
inline

The error, in meters, introduced if this tile is rendered and its children are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

◆ getRefine()

Refine Maria3D::Tiles3D::Tile::getRefine ( ) const
inline

Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile.

◆ getTransform()

const STK::Matrix4x4f & Maria3D::Tiles3D::Tile::getTransform ( ) const
inline

Tile transform. This 4x4 affine matrix transforms the tile's content content–i.e., its features as well as content.boundingVolume, boundingVolume, and viewerRequestVolume – from the tile's local coordinate system to the parent tile's coordinate system, or, in the case of a root tile, from the tile's local coordinate system to the tileset's coordinate system.

The transform does not apply to geometricError, nor does it apply any volume property when the volume is a region, defined in EPSG:4979 coordinates.

◆ getViewerRequestVolume()

const std::shared_ptr< BoundingVolume > & Maria3D::Tiles3D::Tile::getViewerRequestVolume ( ) const
inline

A bounding volume that encloses a tile or its content. This volume can be used to trigger rendering of the tile and its children. The tile should only be active when the viewer is inside this volume.

◆ setGeometricError()

void Maria3D::Tiles3D::Tile::setGeometricError ( double  geometricError)
inline

The error, in meters, introduced if this tile is rendered and its children are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

◆ setRefine()

void Maria3D::Tiles3D::Tile::setRefine ( const Refine &  refine)
inline

Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile.

◆ setTransform()

void Maria3D::Tiles3D::Tile::setTransform ( const STK::Matrix4x4f transform)
inline

Tile transform. This 4x4 affine matrix transforms the tile's content content–i.e., its features as well as content.boundingVolume, boundingVolume, and viewerRequestVolume – from the tile's local coordinate system to the parent tile's coordinate system, or, in the case of a root tile, from the tile's local coordinate system to the tileset's coordinate system.

The transform does not apply to geometricError, nor does it apply any volume property when the volume is a region, defined in EPSG:4979 coordinates.

◆ setViewerRequestVolume()

void Maria3D::Tiles3D::Tile::setViewerRequestVolume ( const std::shared_ptr< BoundingVolume > &  viewerRequestVolume)
inline

A bounding volume that encloses a tile or its content. This volume can be used to trigger rendering of the tile and its children. The tile should only be active when the viewer is inside this volume.


The documentation for this class was generated from the following files: