Open Search
    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