LuciadCPillar 2024.0.01
luciad::TileSet3DLayer Class Referencefinal

A TileSet3DLayer is a Layer that can visualize 3D tiles. More...

#include <luciad/layers/tileset3d/TileSet3DLayer.h>

Inheritance diagram for luciad::TileSet3DLayer:
luciad::Layer

Classes

class  Builder
 Builder for the luciad::TileSet3DLayer class. More...
 

Public Member Functions

 ~TileSet3DLayer () override
 
void addObserver (std::shared_ptr< ILayerObserver > layerObserver) override
 Adds an observer that allows to receive change events from this layer. More...
 
const std::vector< std::string > & getAttributes () const
 Returns the list of attributes that can be used in the expressions. More...
 
std::chrono::milliseconds getFadingTime () const
 Returns the time tiles will take to fade in / out when changing their visibility, in milliseconds. More...
 
const MeshStylegetMeshStyle () const
 Returns the style used for mesh data. More...
 
const std::shared_ptr< ITileSet3DModel > & getModel () const
 Returns the layer's model. More...
 
const PointCloudStylegetPointCloudStyle () const
 Returns the style used for point cloud data on this layer. More...
 
double getQualityFactor () const
 Returns the quality factor for this layer. More...
 
const std::string & getTitle () const override
 Returns the layer's title. More...
 
bool isTextureCompressionEnabled () const
 Returns whether texture compression is enabled. More...
 
bool isTransparencyEnabled () const
 Returns whether transparency is enabled. More...
 
bool isVisible () const override
 Returns whether this layer is visible. More...
 
void removeObserver (const std::shared_ptr< ILayerObserver > &layerObserver) override
 Removes the given observer. More...
 
void setFadingTime (std::chrono::milliseconds time)
 Sets the time tiles will take to fade in / out when changing their visibility, in milliseconds. More...
 
void setMeshStyle (MeshStyle meshStyle)
 Sets the style used for mesh data. More...
 
void setPointCloudStyle (PointCloudStyle pointCloudStyle)
 Sets the style used for point cloud data on this layer. More...
 
void setQualityFactor (double qualityFactor)
 Sets the quality factor for this layer. More...
 
void setTitle (std::string title) override
 Sets the layer's title. More...
 
void setTransparencyEnabled (bool enabled)
 Sets whether transparency is enabled. More...
 
void setVisible (bool visible) override
 Sets whether this layer is visible. More...
 
- Public Member Functions inherited from luciad::Layer
 Layer ()
 Default constructor. More...
 
virtual ~Layer ()=default
 
virtual void addObserver (std::shared_ptr< ILayerObserver > layerObserver)=0
 Adds an observer that allows to receive change events from this layer. More...
 
virtual LayerId getId () const
 Returns the layer's unique id. More...
 
virtual const std::string & getTitle () const =0
 Returns the layer's title. More...
 
virtual bool isVisible () const =0
 Returns whether this layer is visible. More...
 
virtual void removeObserver (const std::shared_ptr< ILayerObserver > &layerObserver)=0
 Removes the given observer. More...
 
virtual void setTitle (std::string title)=0
 Sets the layer's title. More...
 
virtual void setVisible (bool visible)=0
 Sets whether this layer is visible. More...
 

Static Public Member Functions

static Builder newBuilder ()
 Creates a new builder for creating a TileSet3DLayer. More...
 
static const std::string & propertyFadingTime ()
 Property name for the LayerEvent that is fired as a result of changing the layer's fading time. More...
 
static const std::string & propertyMeshStyle ()
 Property name for the LayerEvent that is fired as a result of changing the layer's mesh style. More...
 
static const std::string & propertyPointCloudStyle ()
 Property name for the LayerEvent that is fired as a result of changing the layer's point cloud style. More...
 
static const std::string & propertyQualityFactor ()
 Property name for the LayerEvent that is fired as a result of changing the layer's quality factor. More...
 
static const std::string & propertyTransparencyEnabled ()
 Property name for the LayerEvent that is fired as a result of changing the layer's transparency setting. More...
 
- Static Public Member Functions inherited from luciad::Layer
static const std::string & propertyTitle ()
 Property name for the LayerEvent that is fired as a result of changing the layer's title. More...
 
static const std::string & propertyVisible ()
 Property name for the LayerEvent that is fired as a result of changing the layer's visible flag. More...
 

Detailed Description

A TileSet3DLayer is a Layer that can visualize 3D tiles.

Use luciad::TileSet3DLayer::newBuilder to create a 3D tiles layer instance.

Since
2022.0

Constructor & Destructor Documentation

◆ ~TileSet3DLayer()

luciad::TileSet3DLayer::~TileSet3DLayer ( )
override

Member Function Documentation

◆ addObserver()

void luciad::TileSet3DLayer::addObserver ( std::shared_ptr< ILayerObserver layerObserver)
overridevirtual

Adds an observer that allows to receive change events from this layer.

Adding the same observer twice is forbidden, and will cause an exception to be thrown.

Parameters
layerObserveran observer.
Exceptions
luciad::InvalidArgumentExceptionwhen the observer was already added.
luciad::NullArgumentExceptionwhen the observer is nullptr.

Implements luciad::Layer.

◆ getAttributes()

const std::vector< std::string > & luciad::TileSet3DLayer::getAttributes ( ) const

Returns the list of attributes that can be used in the expressions.

Returns
the list of attributes that can be used in the expressions.
See also
Builder::attributes

◆ getFadingTime()

std::chrono::milliseconds luciad::TileSet3DLayer::getFadingTime ( ) const

Returns the time tiles will take to fade in / out when changing their visibility, in milliseconds.

The longer it is, the longer tiles will be going from fully transparent to fully visible.

Returns
the time tiles will take to fade in / out when changing their visibility, in milliseconds.

◆ getMeshStyle()

const MeshStyle & luciad::TileSet3DLayer::getMeshStyle ( ) const

Returns the style used for mesh data.

Returns
the style used for mesh data.

◆ getModel()

const std::shared_ptr< ITileSet3DModel > & luciad::TileSet3DLayer::getModel ( ) const

Returns the layer's model.

Returns
the layer's model.

◆ getPointCloudStyle()

const PointCloudStyle & luciad::TileSet3DLayer::getPointCloudStyle ( ) const

Returns the style used for point cloud data on this layer.

Returns
the style used for point cloud data on this layer.

◆ getQualityFactor()

double luciad::TileSet3DLayer::getQualityFactor ( ) const

Returns the quality factor for this layer.

It is used to decide if a given tile should be displayed at certain scales.

Higher values load more tiles.

Returns
the quality factor for this layer, used to decide if a given tile should be displayed at certain scales.

◆ getTitle()

const std::string & luciad::TileSet3DLayer::getTitle ( ) const
overridevirtual

Returns the layer's title.

Should be suitable for presenting to the user.

Returns
the layer's title, should be suitable for presenting to the user.

Implements luciad::Layer.

◆ isTextureCompressionEnabled()

bool luciad::TileSet3DLayer::isTextureCompressionEnabled ( ) const

Returns whether texture compression is enabled.

Returns
whether texture compression is enabled.
See also
Builder::textureCompressionEnabled
Since
2022.1

◆ isTransparencyEnabled()

bool luciad::TileSet3DLayer::isTransparencyEnabled ( ) const

Returns whether transparency is enabled.

Returns
whether transparency is enabled.
See also
Builder::transparencyEnabled

◆ isVisible()

bool luciad::TileSet3DLayer::isVisible ( ) const
overridevirtual

Returns whether this layer is visible.

Returns
whether this layer is visible.

Implements luciad::Layer.

◆ newBuilder()

static Builder luciad::TileSet3DLayer::newBuilder ( )
static

Creates a new builder for creating a TileSet3DLayer.

Returns
a new builder for creating a TileSet3DLayer.

◆ propertyFadingTime()

static const std::string & luciad::TileSet3DLayer::propertyFadingTime ( )
static

Property name for the LayerEvent that is fired as a result of changing the layer's fading time.

See also
setFadingTime

◆ propertyMeshStyle()

static const std::string & luciad::TileSet3DLayer::propertyMeshStyle ( )
static

Property name for the LayerEvent that is fired as a result of changing the layer's mesh style.

See also
setMeshStyle

◆ propertyPointCloudStyle()

static const std::string & luciad::TileSet3DLayer::propertyPointCloudStyle ( )
static

Property name for the LayerEvent that is fired as a result of changing the layer's point cloud style.

See also
setPointCloudStyle

◆ propertyQualityFactor()

static const std::string & luciad::TileSet3DLayer::propertyQualityFactor ( )
static

Property name for the LayerEvent that is fired as a result of changing the layer's quality factor.

See also
setQualityFactor

◆ propertyTransparencyEnabled()

static const std::string & luciad::TileSet3DLayer::propertyTransparencyEnabled ( )
static

Property name for the LayerEvent that is fired as a result of changing the layer's transparency setting.

See also
setTransparencyEnabled

◆ removeObserver()

void luciad::TileSet3DLayer::removeObserver ( const std::shared_ptr< ILayerObserver > &  layerObserver)
overridevirtual

Removes the given observer.

If the given observer was never added, an exception is thrown.

Parameters
layerObserveran observer.
Exceptions
luciad::InvalidArgumentExceptionwhen the observer is not known.
luciad::NullArgumentExceptionwhen the observer is nullptr.

Implements luciad::Layer.

◆ setFadingTime()

void luciad::TileSet3DLayer::setFadingTime ( std::chrono::milliseconds  time)

Sets the time tiles will take to fade in / out when changing their visibility, in milliseconds.

If set to 0, fading of tiles is disabled. They appear as soon as they are available. The longer it is, the longer tiles will be going from fully transparent to fully visible.

Parameters
timethe fading time in milliseconds. Maximum value is 86400000 (i.e. a day).

◆ setMeshStyle()

void luciad::TileSet3DLayer::setMeshStyle ( MeshStyle  meshStyle)

Sets the style used for mesh data.

Parameters
meshStylethe style to use.

◆ setPointCloudStyle()

void luciad::TileSet3DLayer::setPointCloudStyle ( PointCloudStyle  pointCloudStyle)

Sets the style used for point cloud data on this layer.

Parameters
pointCloudStylethe style to use.

◆ setQualityFactor()

void luciad::TileSet3DLayer::setQualityFactor ( double  qualityFactor)

Sets the quality factor for this layer.

It is used to decide if a given tile should be displayed at certain scales.

Must be a non-zero, positive value. Higher values load more tiles.

Parameters
qualityFactorthe quality factor.

◆ setTitle()

void luciad::TileSet3DLayer::setTitle ( std::string  title)
overridevirtual

Sets the layer's title.

Should be suitable for presenting to the user.

If the new title is indeed different from the old one, a LayerEvent is delivered to the observers with the property name PropertyTitle.

Parameters
titlethe new title.

Implements luciad::Layer.

◆ setTransparencyEnabled()

void luciad::TileSet3DLayer::setTransparencyEnabled ( bool  enabled)

Sets whether transparency is enabled.

Parameters
enabledtrue to enable transparency.
See also
Builder::transparencyEnabled

◆ setVisible()

void luciad::TileSet3DLayer::setVisible ( bool  visible)
overridevirtual

Sets whether this layer is visible.

Changes this layer's visibility. If the new visibility is different from the old one, a LayerEvent is delivered to the observers with the property name PropertyVisible.

Parameters
visiblethe new visibility.

Implements luciad::Layer.