1#ifndef _BBM_BSDF_IMPORT_H_
2#define _BBM_BSDF_IMPORT_H_
14#ifdef BBM_STRING_BSDF_IMPORTER
22 template<
typename CONF>
requires concepts::config<CONF>
23 auto bsdf_import(
const std::string& str)
25 return bbm::fromString<bsdf_ptr<CONF>>(str);
31#if defined(BBM_PYTHON_BSDF_IMPORTER) and !defined(BBM_CONFIG)
39 template<
typename CONF>
requires concepts::config<CONF>
40 auto bsdf_import(
const std::string& str)
42 return python::capture<bsdf_ptr<CONF>>(str);
48#if defined(BBM_PYTHON_BSDF_IMPORTER) and defined(BBM_CONFIG)
58 template<
typename CONF>
requires concepts::config<CONF> && concepts::matching_config<CONF, BBM_CONFIG>
59 auto bsdf_import(
const std::string& str)
61 return embed::capture<bsdf_ptr<CONF>>(str);
A shared_ptr wrapper for bsdfs.
Embed a static python module in the executable.
Python interpreter for BBM modules.
Convert a string to an object and vice versa.
Definition: aggregatebsdf.h:29