maxon::material Namespace Reference

Namespaces

 EXPORT
 
 IMPORT
 

Classes

struct  ImageReference
 
struct  MaterialExchangeData
 
struct  MaterialExportDescription
 
class  MaterialExportInterface
 
struct  MaterialImportDescription
 
class  MaterialImportInterface
 
struct  MaterialMappingDescription
 
class  MaterialMappingInterface
 
struct  PackedConstantParameter
 
class  ParameterStorageInterface
 
struct  SubstanceReference
 
struct  TextureBuffer
 
struct  TypedConstantParameter
 

Typedefs

using MaterialTypesMap = HashMap< Id, MaterialTypeSupport >
 
using MaterialExchangeDataRef = StrongRef< MaterialExchangeData >
 

Enumerations

enum  MaterialTypeSupport {
  DIRECT,
  MAPPED
}
 

Functions

enum maxon::material::MaterialTypeSupport MAXON_ENUM_LIST (MaterialTypeSupport)
 
 MAXON_DATATYPE (MaterialTypesMap, "net.maxon.material.datatype.materialtypesmap")
 
 MAXON_DATATYPE (MaterialExportDescription, "net.maxon.material.datatype.materialexportdescription")
 
 MAXON_REGISTRY (MaterialExportDescription, MaterialExporters, "net.maxon.material.registry.materialexporters")
 
 MAXON_DATATYPE (MaterialImportDescription, "net.maxon.material.datatype.materialimportdescription")
 
 MAXON_REGISTRY (MaterialImportDescription, MaterialImporters, "net.maxon.material.registry.materialimporters")
 
 MAXON_DECLARATION (MaterialImportRef, NodeMaterialImporter, "net.maxon.material.materialimport.nodematerial")
 
 MAXON_DATATYPE (MaterialMappingDescription, "net.maxon.material.datatype.materialmappingdescription")
 
 MAXON_REGISTRY (MaterialMappingDescription, MaterialMappers, "net.maxon.material.registry.materialmappers")
 
 MAXON_DATATYPE (TextureBuffer, "net.maxon.material.datatype.texturebuffer")
 
 MAXON_DATATYPE (ImageReference, "net.maxon.material.datatype.imagereference")
 
 MAXON_DATATYPE (SubstanceReference, "net.maxon.material.datatype.substancereference")
 
 MAXON_DATATYPE (PackedConstantParameter, "net.maxon.material.datatype.packedconstantparameter")
 

Variables

maxon::material::MaterialExportInterface MAXON_ENUM_LIST
 
maxon::material::MaterialImportInterface MAXON_ENUM_FLAGS
 

Typedef Documentation

◆ MaterialTypesMap

◆ MaterialExchangeDataRef

Enumeration Type Documentation

◆ MaterialTypeSupport

enum MaterialTypeSupport
strong

Defines a priority / level of support for a material type by the caller of the export.

Enumerator
DIRECT 
MAPPED 

Function Documentation

◆ MAXON_ENUM_LIST()

enum maxon::material::MaterialTypeSupport maxon::material::MAXON_ENUM_LIST ( MaterialTypeSupport  )

◆ MAXON_DATATYPE() [1/8]

maxon::material::MAXON_DATATYPE ( MaterialTypesMap  ,
"net.maxon.material.datatype.materialtypesmap"   
)

◆ MAXON_DATATYPE() [2/8]

maxon::material::MAXON_DATATYPE ( MaterialExportDescription  ,
"net.maxon.material.datatype.materialexportdescription"   
)

◆ MAXON_REGISTRY() [1/3]

maxon::material::MAXON_REGISTRY ( MaterialExportDescription  ,
MaterialExporters  ,
"net.maxon.material.registry.materialexporters"   
)

MaterialExporters holds the descriptions of all registered material exporters.

The registry can be linearly searched the following:

for (const maxon::material::MaterialExportDescription& exporter : maxon::material::MaterialExporters::GetEntries())
{
DiagnosticOutput("Material Export For Type '@'", exporter._type);
}

◆ MAXON_DATATYPE() [3/8]

maxon::material::MAXON_DATATYPE ( MaterialImportDescription  ,
"net.maxon.material.datatype.materialimportdescription"   
)

◆ MAXON_REGISTRY() [2/3]

maxon::material::MAXON_REGISTRY ( MaterialImportDescription  ,
MaterialImporters  ,
"net.maxon.material.registry.materialimporters"   
)

MaterialImporters holds the descriptions of all registered material importers.

The registry can be linearly searched the following:

for (const maxon::material::MaterialImportDescription& importer : maxon::material::MaterialImporters::GetEntries())
{
DiagnosticOutput("Material Import Named '@'", importer._name);
}

◆ MAXON_DECLARATION()

maxon::material::MAXON_DECLARATION ( MaterialImportRef  ,
NodeMaterialImporter  ,
"net.maxon.material.materialimport.nodematerial"   
)

The declaration of the type of material import fulfilling BaseMaterial::IsInstanceOf(Mmaterial) && BaseMaterial::IsNodeBased() This importer consumes maxon::material::IMPORT::CONFIG::NODESPACEID.

◆ MAXON_DATATYPE() [4/8]

maxon::material::MAXON_DATATYPE ( MaterialMappingDescription  ,
"net.maxon.material.datatype.materialmappingdescription"   
)

◆ MAXON_REGISTRY() [3/3]

maxon::material::MAXON_REGISTRY ( MaterialMappingDescription  ,
MaterialMappers  ,
"net.maxon.material.registry.materialmappers"   
)

MaterialMappers holds the descriptions of all registered mappings.

The registry can be linearly searched for a matching mapping the following:

for (const maxon::material::MaterialMappingDescription& mapping : maxon::material::MaterialMappers::GetEntries())
{
if (mapping._source != mySourceType)
continue;
if (mapping._target != myTargetType)
continue;
return mapping._class.Create();
}

◆ MAXON_DATATYPE() [5/8]

maxon::material::MAXON_DATATYPE ( TextureBuffer  ,
"net.maxon.material.datatype.texturebuffer"   
)

◆ MAXON_DATATYPE() [6/8]

maxon::material::MAXON_DATATYPE ( ImageReference  ,
"net.maxon.material.datatype.imagereference"   
)

◆ MAXON_DATATYPE() [7/8]

maxon::material::MAXON_DATATYPE ( SubstanceReference  ,
"net.maxon.material.datatype.substancereference"   
)

◆ MAXON_DATATYPE() [8/8]

maxon::material::MAXON_DATATYPE ( PackedConstantParameter  ,
"net.maxon.material.datatype.packedconstantparameter"   
)

Variable Documentation

◆ MAXON_ENUM_LIST

◆ MAXON_ENUM_FLAGS

maxon::material::MaterialImportDescription
Definition: materialimport.h:98
maxon::material::MaterialExportDescription
Definition: materialexport.h:155
maxon::material::MaterialMappingDescription
Definition: materialmapping.h:89
DiagnosticOutput
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:167