initial public release

This commit is contained in:
Mamadou Babaei
2022-11-02 22:43:14 +01:00
commit ff02526c05
4222 changed files with 85051 additions and 0 deletions
@@ -0,0 +1,36 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#include "SGTypes/SGConnectTypes.h"
@@ -0,0 +1,36 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#include "SGTypes/SGCoreTypes.h"
@@ -0,0 +1,40 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#include "SenseGloveTypes.h"
#include "Modules/ModuleManager.h"
#include "SenseGloveTypesModule.h"
IMPLEMENT_MODULE(FSenseGloveTypesModule, SenseGloveTypes)
@@ -0,0 +1,38 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#pragma once
#include "CoreMinimal.h"
@@ -0,0 +1,61 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#include "SenseGloveTypesModule.h"
#include "SGLog/SGLog.h"
#define LOCTEXT_NAMESPACE "FSenseGloveTypesModule"
void FSenseGloveTypesModule::StartupModule()
{
SGLOG("Starting up SenseGloveTypes module...");
}
void FSenseGloveTypesModule::PreUnloadCallback()
{
SGLOG("Unloading SenseGloveTypes module...");
}
void FSenseGloveTypesModule::PostLoadCallback()
{
SGLOG("Loading of SenseGloveTypes module has succeeded!");
}
void FSenseGloveTypesModule::ShutdownModule()
{
SGLOG("Shutting down SenseGloveTypes module...");
}
#undef LOCTEXT_NAMESPACE
@@ -0,0 +1,51 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#pragma once
#include "Modules/ModuleInterface.h"
#define LOCTEXT_NAMESPACE "SenseGloveTypes"
class FSenseGloveTypesModule : public IModuleInterface
{
public:
virtual void StartupModule() override;
virtual void PreUnloadCallback() override;
virtual void PostLoadCallback() override;
virtual void ShutdownModule() override;
};
#undef LOCTEXT_NAMESPACE
@@ -0,0 +1,36 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#pragma once
@@ -0,0 +1,379 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
#pragma once
#include "CoreTypes.h"
#include "UObject/ObjectMacros.h"
UENUM(BlueprintType)
enum class ESGBackendType : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Back-end info comes from shared memory on the device. */
SharedMemory UMETA(DisplayName = "Shared Memory"),
};
/* Startup Stage used to indicate where of not a glove must be recalibrated. */
UENUM(BlueprintType)
enum class ESGCalibrationStage : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* We've only just started up. User needs to move their hands so we know if we're still in the same sensor range. */
MoveFingers UMETA(DisplayName = "Move Fingers"),
/* After moving, we've determined that a calibration must happen for proper hand tracking to happen. */
CalibrationNeeded UMETA(DisplayName = "Calibration Needed"),
/* After moving, we've determined that a calibration must happen for proper hand tracking to happen. */
Calibrating UMETA(DisplayName = "Calibrating"),
/* We've determined that this needs no (more) calibration to function as intended. */
Done UMETA(DisplayName = "Done"),
};
/* Connection type of this device, as detected by the SGConnect library. */
UENUM(BlueprintType)
enum class ESGConnectionType : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Could not determine which connection type this SGDevice is using, most likely because it is disconnected. */
Unknown UMETA(DisplayName = "Unknown"),
/* USB Serial communication. */
Serial UMETA(DisplayName = "Serial"),
/* A bluetooth connection that creates up to two Serial Ports. */
BluetoothSerial UMETA(DisplayName = "Bluetooth Serial"),
/* Bluetooth Connection Via Android/Java SDK. */
BluetoothAndroid UMETA(DisplayName = "Bluetooth Android"),
};
/* Sense Glove C string Variables, enumerated for our convenience. */
UENUM(BlueprintType)
enum class ESGCVar : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
ID UMETA(DisplayName = "ID"),
GloveVersion UMETA(DisplayName = "Glove Version"),
FirmwareVersion UMETA(DisplayName = "Firmware Version"),
LeftRight UMETA(DisplayName = "Left Right"),
Functions UMETA(DisplayName = "Functions"),
GlovePos UMETA(DisplayName = "Glove Pos"),
/* All gloves have functionality up to this point. */
GloveLengths UMETA(DisplayName = "Glove Lengths"),
NumberOfSensors UMETA(DisplayName = "Number Of Sensors"),
ImuCorrection UMETA(DisplayName = "IMU Correction"),
/* Utility value used in iteration / checking lengths. */
AllC UMETA(DisplayName = "All C"),
};
/* Specific devices within the SGCore library. */
UENUM(BlueprintType)
enum class ESGDeviceType : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* This device is not recognized by the Sense Glove API. */
Unknown UMETA(DisplayName = "Unknown"),
/* A Device that is in development, with direct access to sensor data and commands. */
BetaDevice UMETA(DisplayName = "BetaDevice"),
/* An exoskeleton glove that provides force- and haptic feedback. */
SenseGlove UMETA(DisplayName = "SenseGlove"),
/* A soft glove with basic tracking, as well as force- and Haptic Feedback. */
Nova UMETA(DisplayName = "Nova"),
};
/* One of the fingers on the hand. */
UENUM(BlueprintType)
enum class ESGFinger : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Responsible for our evolutionary success! */
Thumb UMETA(DisplayName = "Thumb"),
/* Used to point at what you want. */
Index UMETA(DisplayName = "Index"),
/* On its own, this one is used to indicate frustration. */
Middle UMETA(DisplayName = "Middle"),
/* If you like it then you should have put a ___ on it. */
Ring UMETA(DisplayName = "Ring"),
/* The little finger. */
Pinky UMETA(DisplayName = "Pinky"),
};
/* Anatomical movements of the finger joints. */
UENUM(BlueprintType)
enum class ESGFingerMovement : uint8
{
None UMETA(DisplayName = "None"),
/* Flexion of the first finger joint. */
McpFlexion UMETA(DisplayName = "MCP Flexion"),
/* Abduction of the first finger joint. */
McpAbduction UMETA(DisplayName = "MCP Abduction"),
/* Flexion of the second finger joint. */
PipFlexion UMETA(DisplayName = "PIP Flexion"),
/* Flexion of the third finger joint. */
DipFlexion UMETA(DisplayName = "DIP Flexion"),
};
/* How this Sense Glove converts sensor data into a HandPose. */
UENUM(BlueprintType)
enum class ESGFingerSolver : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Hand angles are interpolated based on the total flexion / abduction of the exoskeleton. */
Interpolation UMETA(DisplayName = "Interpolation"),
};
/* Indices to access DeviceList data in Shared Memory. */
UENUM(BlueprintType)
enum class ESGListFormat : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
Connected UMETA(DisplayName = "Connected"),
PpsGot UMETA(DisplayName = "PPS Got"),
DeviceType UMETA(DisplayName = "Device Type"),
CString UMETA(DisplayName = "C String"),
Address UMETA(DisplayName = "Address"),
ConnectType UMETA(DisplayName = "Connect Type"),
PpsSent UMETA(DisplayName = "PPS Sent"),
All UMETA(DisplayName = "All"),
};
/* Order of values as they come in from the Nova. */
UENUM(BlueprintType)
enum class ESGNovaCVar : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
ConstOpen UMETA(DisplayName = "Const Open"),
ID UMETA(DisplayName = "ID"),
GloveVersion UMETA(DisplayName = "Glove Version"),
FirmwareVersion UMETA(DisplayName = "Firmware Version"),
LeftRight UMETA(DisplayName = "Left Right"),
Functions UMETA(DisplayName = "Functions"),
ImuCorrection UMETA(DisplayName = "IMU Correction"),
/* Utility value used in iteration / checking lengths. */
AllC UMETA(DisplayName = "All C"),
};
/* Sensor data blocks. */
UENUM(BlueprintType)
enum class ESGNovaData : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
Sensors UMETA(DisplayName = "Sensors"),
Imu UMETA(DisplayName = "IMU"),
All UMETA(DisplayName = "All"),
};
/* Enumerators for Nova Data position in the parseable string. */
UENUM(BlueprintType)
enum class ESGNovaSensorData : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
Sensors UMETA(DisplayName = "Sensors"),
Imu UMETA(DisplayName = "IMU"),
Battery UMETA(DisplayName = "Battery"),
All UMETA(DisplayName = "All"),
};
/* Tracking Hardware used for positional tracking. */
UENUM(BlueprintType)
enum class ESGPositionalTrackingHardware : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Custom tracking hardware, we don't apply any offsets. */
Custom UMETA(DisplayName = "Custom"),
/* HTC Vive Tracker (v1.0 or v2.0). */
ViveTracker UMETA(DisplayName = "Vive Tracker"),
/* Oculus Touch controller (left or right) for Rift S and Quest 1. */
OculusTouch UMETA(DisplayName = "Oculus Touch"),
/* Touch controller for Oculus Quest 2. */
Quest2Controller UMETA(DisplayName = "Quest2 Controller"),
/* Pico Neo 2 Controller(s). */
PicoNeo2 UMETA(DisplayName = "Pico Neo 2"),
/* Pico Neo 2 Controller(s). */
PicoNeo3 UMETA(DisplayName = "Pico Neo 3"),
};
/* Indices to access Sensor Data in Shared Memory. */
UENUM(BlueprintType)
enum class ESGSensorFormat : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
Sensors UMETA(DisplayName = "Sensors"),
};
/* Sense Glove sensor string Variables, enumerated for our convenience. */
UENUM(BlueprintType)
enum class ESGSVar : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Real-time error */
RealtimeError UMETA(DisplayName = "Real-time Error"),
FingerSensors UMETA(DisplayName = "Finger Sensors"),
ImuData UMETA(DisplayName = "IMU Data"),
/* Watchdog error. */
WatchdogError UMETA(DisplayName = "Watchdog Error"),
/* Semaphore error */
SemaphoreError UMETA(DisplayName = "Semaphore Error"),
/* Utility value used in iteration / checking lengths. */
AllS UMETA(DisplayName = "All S"),
};
/* Anatomical movements of the thumb joints. */
UENUM(BlueprintType)
enum class ESGThumbMovement : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Pronation/Supination of the first finger joint. */
CmcTwist UMETA(DisplayName = "CMC Twist"),
/* Flexion of the first finger joint. */
CmcFlexion UMETA(DisplayName = "CMC Flexion"),
/* Abduction of the first finger joint. */
CmcAbduction UMETA(DisplayName = "CMC Abduction"),
/* Flexion of the second thumb joint. */
McpFlexion UMETA(DisplayName = "MCP Flexion"),
/* Flexion of the third thumb joint. */
IpFlexion UMETA(DisplayName = "IP Flexion"),
};
/* How this Sense Glove converts sensor data into a HandPose. */
UENUM(BlueprintType)
enum class ESGThumbSolver : uint8
{
/* The default none value. */
None UMETA(DisplayName = "None"),
/* Hand angles are interpolated based on the total flexion / abduction of the exoskeleton. */
Interpolation UMETA(DisplayName = "Interpolation"),
};
/* A command to activate the SenseGlove Thumper module, which is responsible for wrist feedback. */
UENUM(BlueprintType)
enum class ESGSenseGloveThumperCommand : uint8
{
/* None. */
None UMETA(DisplayName = "None"),
/* Turn off the thumper effects. */
TurnOff UMETA(DisplayName = "Turn Off"),
/* A 5-second long, constant vibration. */
CueGameOver UMETA(DisplayName = "Cue Game Over"),
/* A double-click at 100% intensity. */
ButtonDouble100 UMETA(DisplayName = "Button Double 100"),
/* A double click at 60% intensity. */
ButtonDouble60 UMETA(DisplayName = "Button Double 60"),
/* Simulates an impact of the hand at 100% intensity. */
ImpactThump100 UMETA(DisplayName = "Impact Thump 100"),
/* Simulates an impact of the hand at 30% intensity. */
ImpactThump30 UMETA(DisplayName = "Impact Thump 30"),
/* Simulates an sharp impact of the hand at 10% intensity. */
ImpactThump10 UMETA(DisplayName = "Impact Thump 10"),
/* A light vibration to cue the user that an object it picked up. 100% intensity. */
ObjectGrasp100 UMETA(DisplayName = "Object Grasp 100"),
/* A light vibration to cue the user that an object it picked up. 60% intensity. */
ObjectGrasp60 UMETA(DisplayName = "Object Grasp 60"),
/* A light vibration to cue the user that an object it picked up. 30% intensity. */
ObjectGrasp30 UMETA(DisplayName = "Object Grasp 30"),
};
@@ -0,0 +1,60 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2022 SenseGlove
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
using System;
using UnrealBuildTool;
public class SenseGloveTypes : ModuleRules
{
public SenseGloveTypes(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"CoreUObject",
"SenseGloveLog",
}
);
}
}