maxon::material Namespace Reference

Namespaces

 EXPORT
 
 IMPORT
 

Classes

class  MaterialExportInterface
 
struct  MaterialExportDescription
 
class  MaterialImportInterface
 
struct  MaterialImportDescription
 
struct  MaterialMapperParameterInsertWrapper
 
class  MaterialMappingInterface
 
struct  MaterialMappingDescription
 
struct  TextureBuffer
 
struct  ImageReference
 
struct  SubstanceReference
 
struct  InstructionData
 
struct  InstructionSet
 
struct  MaterialExchangeData
 
struct  MaterialExchangeDataExtended
 
struct  PackedConstantParameter
 
struct  TypedConstantParameter
 
class  ParameterStorageInterface
 

Typedefs

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

Enumerations

enum class  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")
 
template<typename SOURCE_MATERIAL_ATTRIBUTE , typename TARGET_MATERIAL_ATTRIBUTE , typename T >
static Result< void > SimpleAttributeInsert (MaterialMapperParameterInsertWrapper &wrappedParams, const SOURCE_MATERIAL_ATTRIBUTE &fromMaterial, const TARGET_MATERIAL_ATTRIBUTE &toMaterial, const T fallbackValue)
 
 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 (InstructionData, "net.maxon.material.datatype.instructiondata")
 
 MAXON_DATATYPE (InstructionSet, "net.maxon.material.datatype.instructionset")
 
 MAXON_DATATYPE (PackedConstantParameter, "net.maxon.material.datatype.packedconstantparameter")
 

Variables

maxon::material::MaterialExportInterface MAXON_ENUM_LIST
 

Typedef Documentation

◆ MaterialTypesMap

◆ MaterialExchangeDataRef

◆ MaterialExchangeDataExtendedRef

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/10]

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

◆ MAXON_DATATYPE() [2/10]

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);
}
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:170
Definition: materialexport.h:172

◆ MAXON_DATATYPE() [3/10]

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);
}
Definition: materialimport.h:104

◆ 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.

◆ SimpleAttributeInsert()

static Result<void> maxon::material::SimpleAttributeInsert ( MaterialMapperParameterInsertWrapper wrappedParams,
const SOURCE_MATERIAL_ATTRIBUTE &  fromMaterial,
const TARGET_MATERIAL_ATTRIBUTE &  toMaterial,
const T  fallbackValue 
)
static

Static function to reduce the boilerplate needed when inserting materials in the material exchange Used in conjunction with the struct defined above for Example SimpleAttributeInsert<>(wrappedParams, MATERIAL::PORTBUNDLE::REDSHIFT::EMISSION_COLOR, MATERIAL::PORTBUNDLE::FBXSURFACELAMBERT::EMISSIVE, Color(1, 1, 1)) iferr_return;

◆ MAXON_DATATYPE() [4/10]

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();
}
Py_ssize_t PyObject * mapping
Definition: unicodeobject.h:919
Definition: materialmapping.h:119

◆ MAXON_DATATYPE() [5/10]

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

◆ MAXON_DATATYPE() [6/10]

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

◆ MAXON_DATATYPE() [7/10]

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

◆ MAXON_DATATYPE() [8/10]

maxon::material::MAXON_DATATYPE ( InstructionData  ,
"net.maxon.material.datatype.instructiondata"   
)

◆ MAXON_DATATYPE() [9/10]

maxon::material::MAXON_DATATYPE ( InstructionSet  ,
"net.maxon.material.datatype.instructionset"   
)

◆ MAXON_DATATYPE() [10/10]

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

Variable Documentation

◆ MAXON_ENUM_LIST