From 752f06a38f5fe645b42d7cb9ccfe8b6202585696 Mon Sep 17 00:00:00 2001 From: Krzysztof Jakubowski Date: Wed, 7 Aug 2024 16:18:42 +0200 Subject: [PATCH] Fixup: Removed redundant vectors, simplified matching convert patterns --- source/MaterialXCore/Version.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/source/MaterialXCore/Version.cpp b/source/MaterialXCore/Version.cpp index c02d8fe7bc..671cbcb564 100644 --- a/source/MaterialXCore/Version.cpp +++ b/source/MaterialXCore/Version.cpp @@ -992,26 +992,14 @@ void Document::upgradeVersion() { "color3", 3 }, { "color4", 4 }, { "vector2", 2 }, { "vector3", 3 }, { "vector4", 4 } }; - const vector> CHANNEL_CONVERT_PATTERNS = + const std::pair CHANNEL_CONVERT_PATTERNS[] = { { "rgb", 3 }, { "rgb", 4 }, { "rgba", 4 }, { "xyz", 3 }, { "xyz", 4 }, { "xyzw", 4 }, { "rr", 1 }, { "rrr", 1 }, { "xx", 1 }, { "xxx", 1 } }; - auto matchesConvertPattern = [&](const string& channels, size_t sourceChannelCount) - { - for (auto& pattern : CHANNEL_CONVERT_PATTERNS) - { - if (pattern == std::make_pair(channels, sourceChannelCount)) - { - return true; - } - } - return false; - }; - - const vector> CHANNEL_ATTRIBUTE_PATTERNS = + const std::pair CHANNEL_ATTRIBUTE_PATTERNS[] = { { { "xx", "xxx", "xxxx" }, "float" }, { { "xyz", "x", "y", "z" }, "vector3" }, @@ -1245,7 +1233,9 @@ void Document::upgradeVersion() node->setInputValue("index", (int) CHANNEL_INDEX_MAP.at(channelString[0])); } } - else if (sourceType != destType && matchesConvertPattern(channelString, sourceChannelCount)) + else if (sourceType != destType && + std::find(std::begin(CHANNEL_CONVERT_PATTERNS), std::end(CHANNEL_CONVERT_PATTERNS), + std::make_pair(channelString, sourceChannelCount)) != std::end(CHANNEL_CONVERT_PATTERNS)) { // Replace swizzle with convert. node->setCategory("convert");