FTangoAreaDescription UTangoAreaLearningComponent::SaveCurrentArea(FString Filename, bool& bIsSuccessful) { if (UTangoDevice::Get().GetTangoDeviceAreaLearningPointer()) { return UTangoDevice::Get().GetTangoDeviceAreaLearningPointer()->SaveCurrentArea(Filename, bIsSuccessful); } else { UE_LOG(TangoPlugin, Warning, TEXT("UTangoAreaLearningComponent::SaveCurrentArea: Tango Area Learning not enabled")); bIsSuccessful = false; return FTangoAreaDescription(); } }
TArray<FTangoAreaDescription> UTangoDevice::GetAreaDescriptions() { TArray<FTangoAreaDescription> AreaDescriptions; #if PLATFORM_ANDROID const char* key = "name"; TArray<FString> UUIDs = GetAllUUIDs(); for (int i = 0; i < UUIDs.Num(); i++) { std::string t = TCHAR_TO_UTF8(*UUIDs[i]); const char* uuid = t.c_str(); TangoAreaDescriptionMetadata metadata; char* name; size_t size = 0; if (TangoService_getAreaDescriptionMetadata(uuid, &metadata) == TANGO_SUCCESS && TangoAreaDescriptionMetadata_get(metadata, key, &size, &name) == TANGO_SUCCESS) { AreaDescriptions.Add(FTangoAreaDescription(UUIDs[i], FString(name))); } } #endif return AreaDescriptions; }