Kanzi 4.0.0
kanzi::MaterialVariationMapping Class Reference

Mapping from material requirements to representing derived types. More...

#include <kanzi/core.ui/graphics3d/material_variation_mapping.hpp>

Public Types

using container_type
 Internal data type.
 

Public Member Functions

optional< ResourceIDgetUrl (MaterialRequirements requirements) const
 Gets a URL associated with requirements.
 
optional< ResourceIDgetUrl (size_t index) const
 Gets a URL associated with index.
 
 MaterialVariationMapping ()=default
 Default constructor.
 
 MaterialVariationMapping (const MaterialVariationMapping &)=default
 Default copy constructor.
 
 MaterialVariationMapping (MaterialVariationMapping &&)=default
 Default move constructor.
 
 MaterialVariationMapping (string_view parsedString)
 Constructor.
 
MaterialVariationMappingoperator= (const MaterialVariationMapping &)=default
 Default copy operator.
 
MaterialVariationMappingoperator= (MaterialVariationMapping &&)=default
 Default copy operator.
 
size_t size () const
 Gets the number of mappings.
 

Protected Member Functions

void parseData (string_view parsedString)
 Parse the internal data contents.
 
void parseEntry (string_view parsedString)
 Parse an individual entry and add it to the mapping.
 

Protected Attributes

container_type m_mapping
 Actual data for the requirements.
 

Detailed Description

Mapping from material requirements to representing derived types.

Since
Kanzi 4.0.0

Member Typedef Documentation

◆ container_type

Constructor & Destructor Documentation

◆ MaterialVariationMapping() [1/4]

kanzi::MaterialVariationMapping::MaterialVariationMapping ( )
explicitdefault

Default constructor.

◆ MaterialVariationMapping() [2/4]

kanzi::MaterialVariationMapping::MaterialVariationMapping ( string_view parsedString)
inlineexplicit

Constructor.

Parameters
parsedStringString to parse for contents.

◆ MaterialVariationMapping() [3/4]

kanzi::MaterialVariationMapping::MaterialVariationMapping ( const MaterialVariationMapping & )
explicitdefault

Default copy constructor.

◆ MaterialVariationMapping() [4/4]

kanzi::MaterialVariationMapping::MaterialVariationMapping ( MaterialVariationMapping && )
explicitdefault

Default move constructor.

Member Function Documentation

◆ operator=() [1/2]

MaterialVariationMapping & kanzi::MaterialVariationMapping::operator= ( const MaterialVariationMapping & )
default

Default copy operator.

◆ operator=() [2/2]

MaterialVariationMapping & kanzi::MaterialVariationMapping::operator= ( MaterialVariationMapping && )
default

Default copy operator.

◆ parseData()

void kanzi::MaterialVariationMapping::parseData ( string_view parsedString)
protected

Parse the internal data contents.

Parameters
parsedStringString to parse for contents.

◆ parseEntry()

void kanzi::MaterialVariationMapping::parseEntry ( string_view parsedString)
protected

Parse an individual entry and add it to the mapping.

Parameters
parsedStringDefinition string to parse.

◆ size()

size_t kanzi::MaterialVariationMapping::size ( ) const
inline

Gets the number of mappings.

Returns
Number of mappings.

◆ getUrl() [1/2]

optional< ResourceID > kanzi::MaterialVariationMapping::getUrl ( MaterialRequirements requirements) const
inline

Gets a URL associated with requirements.

Parameters
requirementsRequirements to match.
Returns
Associated URL.

◆ getUrl() [2/2]

optional< ResourceID > kanzi::MaterialVariationMapping::getUrl ( size_t index) const
inline

Gets a URL associated with index.

This function exists for testing convenience. The order within requirements mapping is poorly defined.

Parameters
indexIndex from beginning of the mapping.
Returns
Associated URL.

Member Data Documentation

◆ m_mapping

container_type kanzi::MaterialVariationMapping::m_mapping
protected

Actual data for the requirements.

Stored as a bitset to make searching as fast as possible.


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