DATAKIT SDK  V2026.2
Dtk_LayerInfosSet Class Referenceabstract

This class represents a set of layer information, such as their name and identifier, as well as a list of layer filters.
. More...

+ Inheritance diagram for Dtk_LayerInfosSet:

Data Structures

struct  Layer
 

Public Member Functions

Dtk_ErrorStatus AddLayer (Layer inLayer)
 Adds a layer in the set. More...
 
Dtk_LayerFilterInfosPtr CreateLayerFilterInfos (Dtk_string inName=L"", Dtk_string inDescription=L"", const Dtk_bool inAreLayersSelectedByDefault=DTK_FALSE, const Dtk_bool IsDefaultLayerFilter=DTK_FALSE)
 Creates a layer filter. More...
 
Dtk_Int32 DtkDynamicType (const Dtk_Int32 &inId)
 Retrieves the dynamic entity type. More...
 
virtual int DtkDynamicType (const int &inId)=0
 
virtual void dump (FILE *file=stdout)
 
type_detk get_type_detk () const
 
Dtk_ErrorStatus GetCurrentLayer (Dtk_Size_t &outCurrentLayerIndex) const
 Gets the current layer index. More...
 
Dtk_ErrorStatus GetDefaultLayerFilter (Dtk_Size_t &outDefaultLayerFilterIndex) const
 Gets the default layer filter index. More...
 
Dtk_ErrorStatus GetLayerByID (Dtk_ID inLayerID, Layer &out)
 Retrieves a layer in the set using its identifier. More...
 
Dtk_LayerFilterInfosPtr GetLayerFilterByPos (const Dtk_Size_t inLayerFilterIndex) const
 Gets a layer filter giving its index. More...
 
dtk::Span< Layer constGetLayers () const
 Retrieves layers in the set as a dtk::Span. More...
 
Dtk_tab< Dtk_IDGetLayersFlaggedAs (Dtk_LayerInfosSet::Layer::Status inStatus) const
 Retrieves the identifiers of layers in the set that are flagged a certain way. More...
 
Dtk_Size_t GetNumLayerFilters () const
 Retrieves the number of layer filters. More...
 
Dtk_Size_t GetNumLayers () const
 Retrieves the number of layers. More...
 
virtual Dtk_Size_t GetSize () const
 
 SetAsDeprecated ("v2026.2", "Use AddLayer instead.") Dtk_ErrorStatus SetLayerName(const Dtk_Size_t inIndex
 Sets the layer name giving its index. More...
 
 SetAsDeprecated ("v2026.2", "Use Create then Dtk_LayerInfoSet::AddLayers instead.") static Dtk_LayerInfosSetPtr Create(const Dtk_Size_t inNumLayers)
 Calls a constructor to allocate a new object. More...
 
 SetAsDeprecated ("v2026.2", "Use GetCurrentLayer instead.") Dtk_ErrorStatus GetDefaultLayer(Dtk_Size_t &outDefaultLayerIndex) const
 Gets the default layer index. More...
 
 SetAsDeprecated ("v2026.2", "Use GetLayerByID instead.") Dtk_ErrorStatus GetLayerNameById(const Dtk_ID inLayerID
 Gets the LayerName giving the ID found by infos->GetLayer(). More...
 
 SetAsDeprecated ("v2026.2", "Use GetLayers instead.") Dtk_ErrorStatus GetLayerID(const Dtk_Size_t inLayerIndex
 Gets the LayerID giving its index. More...
 
 SetAsDeprecated ("v2026.2", "Use GetLayers instead.") Dtk_ErrorStatus GetLayerName(const Dtk_Size_t inIndex
 Gets the LayerName giving its index. More...
 
 SetAsDeprecated ("v2026.2", "Use GetLayers instead.") Dtk_ErrorStatus SetLayerID(const Dtk_Size_t inLayerIndex
 Sets the LayerID giving its index. More...
 
 SetAsDeprecated ("v2026.2", "Use SetCurrentLayer instead.") Dtk_ErrorStatus SetDefaultLayer(const Dtk_Size_t inDefaultLayerIndex)
 Sets the default layer index. More...
 
Dtk_ErrorStatus SetCurrentLayer (const Dtk_Size_t inCurrentLayerIndex)
 Sets the current layer index. More...
 

Static Public Member Functions

static Dtk_LayerInfosSetPtr Create ()
 Calls default constructor to allocate a new object. More...
 
static Dtk_LayerInfosSetDtkDynamicCast (Dtk_Object *s)
 Performs a dynamic cast - doesn't need RTTI -. More...
 

Data Fields

Dtk_string &outLayerName const
 
Dtk_ID &outLayerID const
 
const Dtk_IDinLayerID
 
const Dtk_stringinLayerName
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_LAYER_INFOS_SET }
 

Protected Member Functions

virtual Dtk_ObjectClone ()
 
 Dtk_LayerInfosSet ()
 
 Dtk_LayerInfosSet (const Dtk_LayerInfosSet &s)
 Copy constructor. More...
 
 Dtk_LayerInfosSet (Dtk_LayerInfosSet &&s) DTK_NOEXCEPT
 Move constructor. More...
 
 ~Dtk_LayerInfosSet ()
 Destructor. More...
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Detailed Description

This class represents a set of layer information, such as their name and identifier, as well as a list of layer filters.
.

The set allows to extend the definition of legacy layers, that previously were only represented by an identifier. It lists all layers used in a given context (Dtk_Component), and allows to assign a name to each of them.
It also allows to define one of the layer as being the default one (note that this can be the same concept as the current one, depending on the format).
Creation of layer filters are also done through this set, representing a group of specific layers.
One of the filter can be defined as being the default one, similarly to individual layer.

See also
Dtk_LayerFilterInfos for more information about layer filters.
Dtk_LayerInfosSet sample code for a sample on how to use it.
Use Dtk_LayerInfosSetPtr class to handle it.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protected
Enumerator
_typeID 

Constructor & Destructor Documentation

◆ Dtk_LayerInfosSet() [1/3]

Dtk_LayerInfosSet::Dtk_LayerInfosSet ( )
protected
See also
Create(const Dtk_Size_t )

◆ Dtk_LayerInfosSet() [2/3]

Dtk_LayerInfosSet::Dtk_LayerInfosSet ( const Dtk_LayerInfosSet s)
protected

Copy constructor.

Parameters
sObject to copy from.

◆ Dtk_LayerInfosSet() [3/3]

Dtk_LayerInfosSet::Dtk_LayerInfosSet ( Dtk_LayerInfosSet &&  s)
protected

Move constructor.

Parameters
sObject to move from.

◆ ~Dtk_LayerInfosSet()

Dtk_LayerInfosSet::~Dtk_LayerInfosSet ( )
protected

Destructor.

Member Function Documentation

◆ AddLayer()

Dtk_ErrorStatus Dtk_LayerInfosSet::AddLayer ( Layer  inLayer)

Adds a layer in the set.

Parameters
[in]inLayerthe layer to be added. The Dtk_LayerInfoSet expects layer being added to have an initialized identifier ( with a value different from static_cast< Dtk_ID >( -1 ) ). If the layer identifier is uninitialized, this function will set the identifier as being the layer index in the layer set.
Returns
dtkNoError if success.

◆ Clone()

virtual Dtk_Object* Dtk_LayerInfosSet::Clone ( )
protectedvirtual
567 { return new Dtk_LayerInfosSet( *this ); }

◆ Create()

static Dtk_LayerInfosSetPtr Dtk_LayerInfosSet::Create ( )
static

Calls default constructor to allocate a new object.

◆ CreateLayerFilterInfos()

Dtk_LayerFilterInfosPtr Dtk_LayerInfosSet::CreateLayerFilterInfos ( Dtk_string  inName = L"",
Dtk_string  inDescription = L"",
const Dtk_bool  inAreLayersSelectedByDefault = DTK_FALSE,
const Dtk_bool  IsDefaultLayerFilter = DTK_FALSE 
)

Creates a layer filter.

Parameters
[in]inNamethe layer filter name - Empty name by default -.
[in]inDescriptionthe layer filter description - Empty name by default -.
[in]inAreLayersActivatedByDefaultThe default value of the layer selection. DTK_TRUE means that all layers are selected. DTK_FALSE means that no layer is selected - DTK_FALSE by default -.
[in]IsDefaultLayerFilterTells if the new layer filter is the default one - DTK_FALSE by default -.
Returns
the newly created layer filter.
Remarks
The newly created layer filter is automatically stored into the Dtk_LayerInfosSet.

◆ DtkDynamicCast()

static Dtk_LayerInfosSet* Dtk_LayerInfosSet::DtkDynamicCast ( Dtk_Object s)
static

Performs a dynamic cast - doesn't need RTTI -.

◆ DtkDynamicType() [1/2]

Dtk_Int32 Dtk_LayerInfosSet::DtkDynamicType ( const Dtk_Int32 inId)

Retrieves the dynamic entity type.

◆ DtkDynamicType() [2/2]

◆ dump()

virtual void Dtk_Object::dump ( FILE *  file = stdout)
virtualinherited

◆ get_type_detk()

type_detk Dtk_LayerInfosSet::get_type_detk ( ) const
Returns
The type of the entity type - DTK_TYPE_LAYER_INFOS_SET -
581 { return DTK_TYPE_LAYER_INFOS_SET; }

◆ GetCurrentLayer()

Dtk_ErrorStatus Dtk_LayerInfosSet::GetCurrentLayer ( Dtk_Size_t outCurrentLayerIndex) const

Gets the current layer index.

Parameters
outCurrentLayerIndexthe layer index or -1 if any error.
Returns
dtkNoError if success.
dtkErrorOutOfRange if no current layer.

◆ GetDefaultLayerFilter()

Dtk_ErrorStatus Dtk_LayerInfosSet::GetDefaultLayerFilter ( Dtk_Size_t outDefaultLayerFilterIndex) const

Gets the default layer filter index.

Parameters
outDefaultLayerFilterIndexthe layer filter index or -1 if any error.
Returns
dtkNoError if success.
dtkErrorOutOfRange if no default layer filter.

◆ GetLayerByID()

Dtk_ErrorStatus Dtk_LayerInfosSet::GetLayerByID ( Dtk_ID  inLayerID,
Layer out 
)

Retrieves a layer in the set using its identifier.

Parameters
[in]inLayerIDthe layer identifier.
[out]outthe layer with the provided identifier if found.
Returns
dtkNoError if success.
dtkErrorOutOfRange if layer identifier was not found in the set.

◆ GetLayerFilterByPos()

Dtk_LayerFilterInfosPtr Dtk_LayerInfosSet::GetLayerFilterByPos ( const Dtk_Size_t  inLayerFilterIndex) const

Gets a layer filter giving its index.

Parameters
inLayerFilterIndexthe layer filter index.
Returns
the asked layer filter if success or a NULL Dtk_LayerFilterInfosPtr if any error.

◆ GetLayers()

dtk::Span<Layer const> Dtk_LayerInfosSet::GetLayers ( ) const

Retrieves layers in the set as a dtk::Span.

Returns
the layers in the set as a dtk::Span.

◆ GetLayersFlaggedAs()

Dtk_tab< Dtk_ID > Dtk_LayerInfosSet::GetLayersFlaggedAs ( Dtk_LayerInfosSet::Layer::Status  inStatus) const

Retrieves the identifiers of layers in the set that are flagged a certain way.

Parameters
[in]inStatusthe flag to check to retrieve layers identifiers.
Returns
the identifiers of layers in the set that are flagged a certain way.

◆ GetNumLayerFilters()

Dtk_Size_t Dtk_LayerInfosSet::GetNumLayerFilters ( ) const

Retrieves the number of layer filters.

Returns
the number of layer filters.

◆ GetNumLayers()

Dtk_Size_t Dtk_LayerInfosSet::GetNumLayers ( ) const

Retrieves the number of layers.

Returns
the number of layers.

◆ GetSize()

◆ SetAsDeprecated() [1/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use AddLayer instead."   
) const

Sets the layer name giving its index.

Parameters
[in]inIndexthe layer index.
[in]inLayerNamethe layer name.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer index.
Deprecated:

◆ SetAsDeprecated() [2/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use Create then Dtk_LayerInfoSet::AddLayers instead."   
) const

Calls a constructor to allocate a new object.

Parameters
[in]inNumLayersthe number of desired layers. The desired number of layer will be added in the set using AddLayer( Layer ). Layers identifier will be set as their index in the set.
Deprecated:

◆ SetAsDeprecated() [3/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use GetCurrentLayer instead."   
) const &

Gets the default layer index.

Parameters
outDefaultLayerthe layer index or -1 if any error.
Returns
dtkNoError if success.
dtkErrorOutOfRange if no current layer.
Deprecated:

◆ SetAsDeprecated() [4/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use GetLayerByID instead."   
) const

Gets the LayerName giving the ID found by infos->GetLayer().

Parameters
[in]inLayerIDthe layer ID.
[out]outLayerNamethe layer name or empty string if any error.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer ID.
dtkErrorNullPointer if no layer name.
Deprecated:

◆ SetAsDeprecated() [5/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use GetLayers instead."   
) const

Gets the LayerID giving its index.

Parameters
[in]inLayerPosthe layer index.
[out]outLayerIDthe layer id or inLayerPos if not given.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer index.
Deprecated:

◆ SetAsDeprecated() [6/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use GetLayers instead."   
) const

Gets the LayerName giving its index.

Parameters
[in]inLayerPosthe layer index.
[out]outLayerNamethe layer name or empty string if any error.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer index.
dtkErrorNullPointer if no layer name.
Deprecated:

◆ SetAsDeprecated() [7/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use GetLayers instead."   
) const

Sets the LayerID giving its index.

Parameters
[in]inLayerPosthe layer index.
[in]inLayerIDthe layer id.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer index.
Deprecated:

◆ SetAsDeprecated() [8/8]

Dtk_LayerInfosSet::SetAsDeprecated ( "v2026.2"  ,
"Use SetCurrentLayer instead."   
) const

Sets the default layer index.

Parameters
inDefaultLayerthe layer index.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer index.
Deprecated:

◆ SetCurrentLayer()

Dtk_ErrorStatus Dtk_LayerInfosSet::SetCurrentLayer ( const Dtk_Size_t  inCurrentLayerIndex)

Sets the current layer index.

Parameters
inCurrentLayerIndexthe layer index.
Returns
dtkNoError if success.
dtkErrorOutOfRange if bad layer index.

Field Documentation

◆ _Private

Dtk_Handle* Dtk_LayerInfosSet::_Private
protected

◆ const [1/2]

Dtk_string &outLayerName Dtk_LayerInfosSet::const

◆ const [2/2]

Dtk_ID& outLayerID Dtk_LayerInfosSet::const

◆ count_

unsigned long Dtk_Object::count_
protectedinherited

◆ inLayerID

const Dtk_ID& Dtk_LayerInfosSet::inLayerID

◆ inLayerName

const Dtk_string& Dtk_LayerInfosSet::inLayerName
DTK_TYPE_LAYER_INFOS_SET
@ DTK_TYPE_LAYER_INFOS_SET
Definition: define.h:494
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:455
Dtk_LayerInfosSet::Dtk_LayerInfosSet
Dtk_LayerInfosSet()
Dtk_LayerInfosSet::_typeID
@ _typeID
Definition: util_ent_dtk.hpp:558
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:10