// // Copyright Contributors to the MaterialX Project // SPDX-License-Identifier: Apache-2.0 // #include #include #include #include namespace ems = emscripten; namespace mx = MaterialX; EMSCRIPTEN_BINDINGS(variant) { ems::class_>("Variant") .smart_ptr_constructor("Variant", &std::make_shared) .smart_ptr>("Variant") .class_property("CATEGORY", &mx::Variant::CATEGORY); ems::class_>("VariantSet") .smart_ptr_constructor("VariantSet", &std::make_shared) .smart_ptr>("VariantSet") BIND_MEMBER_FUNC("addVariant", mx::VariantSet, addVariant, 0, 1, stRef) .function("getVariant", &mx::VariantSet::getVariant) .function("getVariants", &mx::VariantSet::getVariants) .function("removeVariant", &mx::VariantSet::removeVariant) .class_property("CATEGORY", &mx::VariantSet::CATEGORY); ems::class_>("VariantAssign") .smart_ptr_constructor("VariantAssign", &std::make_shared) .smart_ptr>("VariantAssign") .function("setVariantSetString", &mx::VariantAssign::setVariantSetString) .function("hasVariantSetString", &mx::VariantAssign::hasVariantSetString) .function("getVariantSetString", &mx::VariantAssign::getVariantSetString) .function("setVariantString", &mx::VariantAssign::setVariantString) .function("hasVariantString", &mx::VariantAssign::hasVariantString) .function("getVariantString", &mx::VariantAssign::getVariantString) .class_property("CATEGORY", &mx::VariantAssign::CATEGORY) .class_property("VARIANT_SET_ATTRIBUTE", &mx::VariantAssign::VARIANT_SET_ATTRIBUTE) .class_property("VARIANT_ATTRIBUTE", &mx::VariantAssign::VARIANT_ATTRIBUTE); }