From 81265f4c54b81c908fcaa738c3e28e85ddf0af1f Mon Sep 17 00:00:00 2001 From: getnamo Date: Fri, 27 Sep 2019 06:15:58 -0700 Subject: [PATCH] scaffold pass --- Resources/Icon128.png | Bin 0 -> 10041 bytes .../Private/TensorflowRemote.cpp | 20 ++++++ .../Public/TensorflowRemote.h | 15 +++++ .../TensorflowRemote.Build.cs | 57 ++++++++++++++++++ TensorflowRemote.uplugin | 29 +++++++++ 5 files changed, 121 insertions(+) create mode 100644 Resources/Icon128.png create mode 100644 Source/TensorflowRemote/Private/TensorflowRemote.cpp create mode 100644 Source/TensorflowRemote/Public/TensorflowRemote.h create mode 100644 Source/TensorflowRemote/TensorflowRemote.Build.cs create mode 100644 TensorflowRemote.uplugin diff --git a/Resources/Icon128.png b/Resources/Icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..e948049d386c850d82db9b97a4c6eb9b57bf5e94 GIT binary patch literal 10041 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 literal 0 HcmV?d00001 diff --git a/Source/TensorflowRemote/Private/TensorflowRemote.cpp b/Source/TensorflowRemote/Private/TensorflowRemote.cpp new file mode 100644 index 0000000..3ae0609 --- /dev/null +++ b/Source/TensorflowRemote/Private/TensorflowRemote.cpp @@ -0,0 +1,20 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "TensorflowRemote.h" + +#define LOCTEXT_NAMESPACE "FTensorflowRemoteModule" + +void FTensorflowRemoteModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module +} + +void FTensorflowRemoteModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FTensorflowRemoteModule, TensorflowRemote) \ No newline at end of file diff --git a/Source/TensorflowRemote/Public/TensorflowRemote.h b/Source/TensorflowRemote/Public/TensorflowRemote.h new file mode 100644 index 0000000..d28665f --- /dev/null +++ b/Source/TensorflowRemote/Public/TensorflowRemote.h @@ -0,0 +1,15 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +class FTensorflowRemoteModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Source/TensorflowRemote/TensorflowRemote.Build.cs b/Source/TensorflowRemote/TensorflowRemote.Build.cs new file mode 100644 index 0000000..b4ba8d7 --- /dev/null +++ b/Source/TensorflowRemote/TensorflowRemote.Build.cs @@ -0,0 +1,57 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; + +public class TensorflowRemote : ModuleRules +{ + public TensorflowRemote(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + "SocketIOClient", + "SocketIOLib", + "Json", + "SIOJson" + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/TensorflowRemote.uplugin b/TensorflowRemote.uplugin new file mode 100644 index 0000000..ae94901 --- /dev/null +++ b/TensorflowRemote.uplugin @@ -0,0 +1,29 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "0.1.0", + "FriendlyName": "TensorflowRemote", + "Description": "Tensorflow plugin for the Unreal Engine, encapsulating calls to remote python servers running Tensorflow.", + "Category": "Computing", + "CreatedBy": "Getnamo", + "CreatedByURL": "http://www.getnamo.com", + "DocsURL": "https://github.com/getnamo/tensorflow-remote-ue4", + "MarketplaceURL": "", + "SupportURL": "https://github.com/getnamo/tensorflow-remote-ue4/issues", + "CanContainContent": true, + "IsBetaVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "TensorflowRemote", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ], + "Plugins": [ + { + "Name": "SocketIOClient", + "Enabled": true + } + ] +} \ No newline at end of file