diff options
Diffstat (limited to 'src/Runtime/Source/datamodel')
-rw-r--r-- | src/Runtime/Source/datamodel/Qt3DSMetadata.cpp | 11 | ||||
-rw-r--r-- | src/Runtime/Source/datamodel/Qt3DSMetadata.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/Runtime/Source/datamodel/Qt3DSMetadata.cpp b/src/Runtime/Source/datamodel/Qt3DSMetadata.cpp index 99d7cb8e..03c515e0 100644 --- a/src/Runtime/Source/datamodel/Qt3DSMetadata.cpp +++ b/src/Runtime/Source/datamodel/Qt3DSMetadata.cpp @@ -474,6 +474,17 @@ public: return Empty(); } + Option<qt3ds::QT3DSVec4> GetPropertyValueVector4(TStrTableStr inType, TStrTableStr inProperty, + TStrTableStr inId) override + { + SRuntimeMetaDataPropertyInfo &theInfo(FindProperty(inType, inProperty, inId)); + if (theInfo.m_Value.hasValue()) { + SFloat4 theFloat4 = qt3dsdm::get<SFloat4>(*theInfo.m_Value); + return qt3ds::QT3DSVec4(theFloat4[0], theFloat4[1], theFloat4[2], theFloat4[3]); + } + return Empty(); + } + virtual Option<qt3ds::QT3DSI32> GetPropertyValueLong(TStrTableStr inType, TStrTableStr inProperty, TStrTableStr inId) override { diff --git a/src/Runtime/Source/datamodel/Qt3DSMetadata.h b/src/Runtime/Source/datamodel/Qt3DSMetadata.h index a90d4fd6..ea2d4452 100644 --- a/src/Runtime/Source/datamodel/Qt3DSMetadata.h +++ b/src/Runtime/Source/datamodel/Qt3DSMetadata.h @@ -33,6 +33,7 @@ #include "foundation/Qt3DSRefCounted.h" #include "foundation/Qt3DSOption.h" #include "foundation/Qt3DSVec3.h" +#include "foundation/Qt3DSVec4.h" #include <EASTL/string.h> #include <EASTL/vector.h> #include "foundation/StringTable.h" @@ -226,6 +227,9 @@ public: virtual Option<qt3ds::QT3DSVec3> GetPropertyValueVector3(TStrTableStr inType, TStrTableStr inProperty, TStrTableStr inId = TStrTableStr()) = 0; + virtual Option<qt3ds::QT3DSVec4> GetPropertyValueVector4(TStrTableStr inType, + TStrTableStr inProperty, TStrTableStr inId = TStrTableStr()) = 0; + //============================================================================== /** * Get property value as long |