diff --git a/openVulkanoCpp/AR/ArSessionMetadata.cpp b/openVulkanoCpp/AR/ArSessionMetadata.cpp index 559de93..6e6f96c 100644 --- a/openVulkanoCpp/AR/ArSessionMetadata.cpp +++ b/openVulkanoCpp/AR/ArSessionMetadata.cpp @@ -61,7 +61,7 @@ namespace OpenVulkano::AR Math::Range(meta["MinConfidence"].as(), meta["MaxConfidence"].as()), meta["Resolution"].as(), meta["FrameRate"].as(60), meta["Device"].as("Unknown"), meta["OS"].as("Unknown"), - meta["Version"].as(2) + meta["Version"].as(3) }; auto recNode = meta["Recording"]; @@ -71,6 +71,7 @@ namespace OpenVulkano::AR metadata.recFrameCount = recNode["FrameCount"].as(-1); metadata.recSkippedFrames = recNode["SkippedFrames"].as(-1); } + metadata.frontSensor = meta["FrontSensor"].as(false); return metadata; } @@ -108,23 +109,6 @@ namespace OpenVulkano::AR playback = true; } - std::string ArSessionMetadata::ToXML() const - { - return fmt::format(R"( - {} - {} - {} - {} - {}{} - {} - {} - {} - {} -)", - type.GetHumanReadableName(), static_cast(confidenceRange.min), static_cast(confidenceRange.max), - depthFormat.GetAltName(), imageResolution.x, imageResolution.y, frameRate, device, os, version); - } - std::string ArSessionMetadata::FinishedRecordingInfoToYaml() const { if (recFrameCount < 1 && recDuration < 1 && recSkippedFrames < 1) return ""; @@ -146,10 +130,11 @@ Resolution: '({},{})' FrameRate: {} Device: {} OS: {} +FrontSensor: {} Version: {} {} )", type.GetName(), depthFormat.GetName(), static_cast(confidenceRange.min), static_cast(confidenceRange.max), - imageResolution.x, imageResolution.y, frameRate, device, os, version, FinishedRecordingInfoToYaml()); + imageResolution.x, imageResolution.y, frameRate, device, os, frontSensor, version, FinishedRecordingInfoToYaml()); } } diff --git a/openVulkanoCpp/AR/ArSessionMetadata.hpp b/openVulkanoCpp/AR/ArSessionMetadata.hpp index a0e488f..ddd57ec 100644 --- a/openVulkanoCpp/AR/ArSessionMetadata.hpp +++ b/openVulkanoCpp/AR/ArSessionMetadata.hpp @@ -31,6 +31,7 @@ namespace OpenVulkano::AR int64_t recFrameCount; int32_t recDuration, recSkippedFrames; + bool frontSensor; bool playback = false; ArSessionMetadata(); @@ -38,17 +39,15 @@ namespace OpenVulkano::AR ArSessionMetadata(ArType type, ArDepthFormat format, Math::Range confRange, Math::Vector2ui resolution, float frameRate); ArSessionMetadata(ArType type, ArDepthFormat format, Math::Range confRange, Math::Vector2ui resolution, - float frameRate, const std::string& device, const std::string& os, uint32_t version = 2, - int64_t frameCount = -1, int32_t duration = -1, int32_t skippedFrames = -1) + float frameRate, const std::string& device, const std::string& os, uint32_t version = 3, + int64_t frameCount = -1, int32_t duration = -1, int32_t skippedFrames = -1, bool frontSensor = false) : type(type), depthFormat(format), confidenceRange(confRange), imageResolution(resolution) , frameRate(frameRate), version(version), device(device), os(os) + , recFrameCount(frameCount), recDuration(duration), recSkippedFrames(skippedFrames), frontSensor(frontSensor) {} ArSessionMetadata(const std::filesystem::path& dirPath); - [[deprecated]] - [[nodiscard]] std::string ToXML() const; - [[nodiscard]] std::string ToYaml() const; [[nodiscard]] std::string FinishedRecordingInfoToYaml() const; @@ -64,4 +63,4 @@ namespace OpenVulkano::AR static ArSessionMetadata FromYaml(const std::filesystem::path& filePath); }; -} \ No newline at end of file +} diff --git a/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm b/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm index bc19a56..6c13c76 100644 --- a/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm +++ b/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm @@ -139,6 +139,7 @@ namespace OpenVulkano::AR::ArKit metadata.imageResolution = { m_arConfig.videoFormat.imageResolution.width, m_arConfig.videoFormat.imageResolution.height }; metadata.frameRate = m_arConfig.videoFormat.framesPerSecond; } + metadata.frontSensor = config.useFrontCamera; } void ArSessionArKitInternal::SetRenderer(IRenderer* renderer)