X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali-scene3d%2Finternal%2Floader%2Fgltf2-asset.h;h=19d56b66ce20a0ea02a3e6d5602553bc1ee1b751;hb=35ea9a04faa2f2fdca4d8d4a378ac4524896e15b;hp=3fa27057efba6b687df806f87ff93a49eb777721;hpb=3b6f18415a7c16fa391b6c6449159be53ad95d95;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-scene3d/internal/loader/gltf2-asset.h b/dali-scene3d/internal/loader/gltf2-asset.h index 3fa2705..19d56b6 100644 --- a/dali-scene3d/internal/loader/gltf2-asset.h +++ b/dali-scene3d/internal/loader/gltf2-asset.h @@ -29,6 +29,25 @@ #include "dali/public-api/math/quaternion.h" #include "dali/public-api/math/vector4.h" +#define ENUM_STRING_MAPPING(t, x) \ + { \ +#x, t::x \ + } + +#define ENUM_TYPE_FROM_STRING(structName, table) \ + structName::Type structName::FromString(const char* s, size_t len) \ + { \ + std::string target(s, len); \ + std::transform(target.begin(), target.end(), target.begin(), ::toupper); \ + \ + auto iFind = table.find(std::string_view(target.c_str(), len)); \ + if(iFind != table.end()) \ + { \ + return iFind->second; \ + } \ + return structName::INVALID; \ + } + namespace gltf2 { using Index = Dali::Scene3D::Loader::Index; @@ -365,14 +384,14 @@ struct Material : Named //TODO: extras }; - Pbr mPbrMetallicRoughness; - TextureInfo mNormalTexture; - TextureInfo mOcclusionTexture; - TextureInfo mEmissiveTexture; - Dali::Vector3 mEmissiveFactor; - AlphaMode::Type mAlphaMode = AlphaMode::OPAQUE; - float mAlphaCutoff = .5f; - bool mDoubleSided = false; + Pbr mPbrMetallicRoughness; + TextureInfo mNormalTexture; + TextureInfo mOcclusionTexture; + TextureInfo mEmissiveTexture; + Dali::Vector3 mEmissiveFactor; + AlphaMode::Type mAlphaMode = AlphaMode::OPAQUE; + float mAlphaCutoff = .5f; + bool mDoubleSided = false; //extensions MaterialExtensions mMaterialExtensions;