From ff02526c0598cdcae0303e59c15c6a8b64c9989a Mon Sep 17 00:00:00 2001 From: Mamadou Babaei Date: Wed, 2 Nov 2022 22:43:14 +0100 Subject: [PATCH] initial public release --- .clang-format | 64 + .editorconfig | 59 + .gitattributes | 40 + .gitignore | 127 + LICENSE-THIRD-PARTY.md | 43 + LICENSE.md | 29 + README.md | 167 + Resources/Icon128.png | 3 + SenseGlove.uplugin | 103 + Source/SenseGlove/Private/SenseGlove.cpp | 40 + Source/SenseGlove/Private/SenseGlove.h | 38 + .../SenseGlove/Private/SenseGloveModule.cpp | 61 + Source/SenseGlove/Private/SenseGloveModule.h | 49 + Source/SenseGlove/SenseGlove.Build.cs | 64 + .../Private/SGBuildHacks/SGDisable_C4263.cpp | 36 + .../Private/SGBuildHacks/SGDisable_C4264.cpp | 36 + .../Private/SGBuildHacks/SGDisable_C4706.cpp | 36 + .../Private/SGBuildHacks/SGDisable_C4800.cpp | 36 + .../SGInclude_Connect_SGConnect.cpp | 36 + .../SGBuildHacks/SGInclude_Core_Anatomy.cpp | 36 + .../SGInclude_Core_BasicHandModel.cpp | 36 + .../SGInclude_Core_BetaDevice.cpp | 36 + .../SGInclude_Core_BuzzCommand.cpp | 36 + .../SGInclude_Core_CalibrationDataPoint.cpp | 36 + .../SGInclude_Core_DeviceList.cpp | 36 + .../SGInclude_Core_DeviceModel.cpp | 36 + .../SGInclude_Core_FingerCommand.cpp | 36 + .../SGBuildHacks/SGInclude_Core_Fingers.cpp | 36 + .../SGInclude_Core_ForceFeedbackCommand.cpp | 36 + .../SGInclude_Core_HandInterpolator.cpp | 36 + .../SGBuildHacks/SGInclude_Core_HandPose.cpp | 36 + .../SGInclude_Core_HandProfile.cpp | 36 + .../SGInclude_Core_HapticGlove.cpp | 36 + ...clude_Core_HapticGloveCalibrationCheck.cpp | 36 + ...de_Core_HapticGloveCalibrationSequence.cpp | 36 + ...GInclude_Core_HapticGloveCommandBuffer.cpp | 36 + ...SGInclude_Core_HapticGloveHandProfiles.cpp | 36 + ...clude_Core_HapticGloveQuickCalibration.cpp | 36 + .../SGInclude_Core_InterpolationSet.cpp | 36 + .../SGInclude_Core_JointKinematics.cpp | 36 + .../SGBuildHacks/SGInclude_Core_Library.cpp | 36 + .../SGBuildHacks/SGInclude_Core_NovaGlove.cpp | 36 + .../SGInclude_Core_NovaGloveCalibration.cpp | 36 + .../SGInclude_Core_NovaGloveHandProfile.cpp | 36 + .../SGInclude_Core_NovaGloveInfo.cpp | 36 + .../SGInclude_Core_NovaGloveSensorData.cpp | 36 + .../SGInclude_Core_NovaGloveVars.cpp | 36 + .../SGBuildHacks/SGInclude_Core_Quat.cpp | 36 + .../SGBuildHacks/SGInclude_Core_SGDevice.cpp | 36 + .../SGBuildHacks/SGInclude_Core_SenseCom.cpp | 36 + .../SGInclude_Core_SenseGlove.cpp | 36 + .../SGInclude_Core_SenseGloveHandProfile.cpp | 36 + .../SGInclude_Core_SenseGloveInfo.cpp | 36 + .../SGInclude_Core_SenseGlovePose.cpp | 36 + .../SGInclude_Core_SenseGloveSensorData.cpp | 36 + ...GInclude_Core_SenseGloveThumperCommand.cpp | 36 + .../SGInclude_Core_SenseGloveVars.cpp | 36 + .../SGInclude_Core_SensorRange.cpp | 36 + .../SGInclude_Core_ThumperCommand.cpp | 36 + .../SGInclude_Core_TimedBuzzCommand.cpp | 36 + .../SGInclude_Core_TimedThumpCommand.cpp | 36 + .../SGBuildHacks/SGInclude_Core_Tracking.cpp | 36 + .../SGBuildHacks/SGInclude_Core_Vect3D.cpp | 36 + .../SGBuildHacks/SGInclude_Windows.cpp | 36 + .../Private/SGBuildHacks/SGRestore_C4263.cpp | 36 + .../Private/SGBuildHacks/SGRestore_C4264.cpp | 36 + .../Private/SGBuildHacks/SGRestore_C4706.cpp | 36 + .../Private/SGBuildHacks/SGRestore_C4800.cpp | 36 + .../Private/SGBuildHacks/SGRestore_TEXT.cpp | 36 + .../Private/SGBuildHacks/SGRestore_check.cpp | 36 + .../Private/SGBuildHacks/SGUndef_TEXT.cpp | 36 + .../Private/SGBuildHacks/SGUndef_check.cpp | 36 + .../Private/SenseGloveBuildHacks.cpp | 40 + .../Private/SenseGloveBuildHacks.h | 38 + .../Private/SenseGloveBuildHacksModule.cpp | 61 + .../Private/SenseGloveBuildHacksModule.h | 51 + .../Public/SGBuildHacks/SGDisable_C4263.h | 36 + .../Public/SGBuildHacks/SGDisable_C4264.h | 36 + .../Public/SGBuildHacks/SGDisable_C4706.h | 36 + .../Public/SGBuildHacks/SGDisable_C4800.h | 36 + .../SGDisable_Woverloaded_virtual.h | 43 + .../SGInclude_Connect_SGConnect.h | 44 + .../SGBuildHacks/SGInclude_Core_Anatomy.h | 44 + .../SGInclude_Core_BasicHandModel.h | 44 + .../SGBuildHacks/SGInclude_Core_BetaDevice.h | 44 + .../SGBuildHacks/SGInclude_Core_BuzzCommand.h | 44 + .../SGInclude_Core_CalibrationDataPoint.h | 44 + .../SGBuildHacks/SGInclude_Core_DeviceList.h | 44 + .../SGBuildHacks/SGInclude_Core_DeviceModel.h | 44 + .../SGInclude_Core_FingerCommand.h | 44 + .../SGBuildHacks/SGInclude_Core_Fingers.h | 44 + .../SGInclude_Core_ForceFeedbackCommand.h | 44 + .../SGInclude_Core_HandInterpolator.h | 44 + .../SGBuildHacks/SGInclude_Core_HandPose.h | 44 + .../SGBuildHacks/SGInclude_Core_HandProfile.h | 44 + .../SGBuildHacks/SGInclude_Core_HapticGlove.h | 44 + ...Include_Core_HapticGloveCalibrationCheck.h | 44 + ...lude_Core_HapticGloveCalibrationSequence.h | 44 + .../SGInclude_Core_HapticGloveCommandBuffer.h | 44 + .../SGInclude_Core_HapticGloveHandProfiles.h | 44 + ...Include_Core_HapticGloveQuickCalibration.h | 44 + .../SGInclude_Core_InterpolationSet.h | 44 + .../SGInclude_Core_JointKinematics.h | 44 + .../SGBuildHacks/SGInclude_Core_Library.h | 44 + .../SGBuildHacks/SGInclude_Core_NovaGlove.h | 52 + .../SGInclude_Core_NovaGloveCalibration.h | 44 + .../SGInclude_Core_NovaGloveHandProfile.h | 44 + .../SGInclude_Core_NovaGloveInfo.h | 44 + .../SGInclude_Core_NovaGloveSensorData.h | 44 + .../SGInclude_Core_NovaGloveVars.h | 44 + .../Public/SGBuildHacks/SGInclude_Core_Quat.h | 44 + .../SGBuildHacks/SGInclude_Core_SGDevice.h | 44 + .../SGBuildHacks/SGInclude_Core_SenseCom.h | 44 + .../SGBuildHacks/SGInclude_Core_SenseGlove.h | 52 + .../SGInclude_Core_SenseGloveHandProfile.h | 44 + .../SGInclude_Core_SenseGloveInfo.h | 44 + .../SGInclude_Core_SenseGlovePose.h | 44 + .../SGInclude_Core_SenseGloveSensorData.h | 44 + .../SGInclude_Core_SenseGloveThumperCommand.h | 44 + .../SGInclude_Core_SenseGloveVars.h | 44 + .../SGBuildHacks/SGInclude_Core_SensorRange.h | 44 + .../SGInclude_Core_ThumperCommand.h | 44 + .../SGInclude_Core_TimedBuzzCommand.h | 44 + .../SGInclude_Core_TimedThumpCommand.h | 44 + .../SGBuildHacks/SGInclude_Core_Tracking.h | 44 + .../SGBuildHacks/SGInclude_Core_Vect3D.h | 44 + .../Public/SGBuildHacks/SGInclude_Windows.h | 65 + .../Public/SGBuildHacks/SGRestore_C4263.h | 36 + .../Public/SGBuildHacks/SGRestore_C4264.h | 36 + .../Public/SGBuildHacks/SGRestore_C4706.h | 36 + .../Public/SGBuildHacks/SGRestore_C4800.h | 36 + .../Public/SGBuildHacks/SGRestore_TEXT.h | 39 + .../SGRestore_Woverloaded_virtual.h | 42 + .../Public/SGBuildHacks/SGRestore_check.h | 39 + .../Public/SGBuildHacks/SGUndef_TEXT.h | 40 + .../Public/SGBuildHacks/SGUndef_check.h | 40 + .../SenseGloveBuildHacks.Build.cs | 74 + .../Private/SGConnect/SGConnect.cpp | 55 + .../Private/SenseGloveConnect.cpp | 40 + .../Private/SenseGloveConnect.h | 38 + .../Private/SenseGloveConnectModule.cpp | 65 + .../Private/SenseGloveConnectModule.h | 51 + .../Public/SGConnect/SGConnect.h | 80 + .../SenseGloveConnect.Build.cs | 63 + .../Private/SGConnectImpl/SGConnectImpl.cpp | 55 + .../SGConnectImpl/SGExportedFunctions.cpp | 54 + .../Private/SenseGloveConnectImpl.cpp | 40 + .../Private/SenseGloveConnectImpl.h | 38 + .../Private/SenseGloveConnectImplModule.cpp | 65 + .../Private/SenseGloveConnectImplModule.h | 51 + .../Public/SGConnectImpl/SGConnectImpl.h | 72 + .../SGConnectImpl/SGExportedFunctions.h | 74 + .../SenseGloveConnectImpl.Build.cs | 251 + .../Private/SenseGloveConnectKismet.cpp | 40 + .../Private/SenseGloveConnectKismet.h | 38 + .../Private/SenseGloveConnectKismetModule.cpp | 61 + .../Private/SenseGloveConnectKismetModule.h | 51 + .../SenseGloveConnectKismet.Build.cs | 70 + .../Private/SGCore/SGAnatomy.cpp | 107 + .../Private/SGCore/SGBasicHandModel.cpp | 577 ++ .../Private/SGCore/SGBetaDevice.cpp | 322 + .../Private/SGCore/SGBuzzCommand.cpp | 289 + .../Private/SGCore/SGCalibrationDataPoint.cpp | 210 + .../SenseGloveCore/Private/SGCore/SGCore.cpp | 36 + .../Private/SGCore/SGDevice.cpp | 507 ++ .../Private/SGCore/SGDeviceImplCast.cpp | 80 + .../Private/SGCore/SGDeviceImplCast.h | 56 + .../Private/SGCore/SGDeviceList.cpp | 215 + .../Private/SGCore/SGDeviceModel.cpp | 236 + .../Private/SGCore/SGFingerCommand.cpp | 372 + .../SGCore/SGFingerCommandImplCast.cpp | 70 + .../Private/SGCore/SGFingerCommandImplCast.h | 55 + .../Private/SGCore/SGFloatArray.cpp | 36 + .../Private/SGCore/SGForceFeedbackCommand.cpp | 296 + .../Private/SGCore/SGHandInterpolator.cpp | 503 ++ .../Private/SGCore/SGHandPose.cpp | 432 ++ .../Private/SGCore/SGHandProfile.cpp | 324 + .../Private/SGCore/SGHapticGlove.cpp | 672 ++ .../SGCore/SGHapticGloveCalibrationCheck.cpp | 311 + .../SGHapticGloveCalibrationSequence.cpp | 525 ++ ...HapticGloveCalibrationSequenceImplCast.cpp | 55 + ...SGHapticGloveCalibrationSequenceImplCast.h | 48 + .../SGCore/SGHapticGloveCommandBuffer.cpp | 423 + .../SGCore/SGHapticGloveHandProfiles.cpp | 143 + .../SGCore/SGHapticGloveQuickCalibration.cpp | 358 + .../Private/SGCore/SGInterpolationSet.cpp | 340 + .../SGCore/SGInterpolationSetArray.cpp | 36 + .../Private/SGCore/SGJointKinematics.cpp | 75 + .../Private/SGCore/SGLibrary.cpp | 68 + .../Private/SGCore/SGNovaGlove.cpp | 753 ++ .../Private/SGCore/SGNovaGloveCalibration.cpp | 70 + .../Private/SGCore/SGNovaGloveHandProfile.cpp | 232 + .../Private/SGCore/SGNovaGloveInfo.cpp | 304 + .../Private/SGCore/SGNovaGloveSensorData.cpp | 294 + .../Private/SGCore/SGQuatArray.cpp | 36 + .../Private/SGCore/SGSenseCom.cpp | 86 + .../Private/SGCore/SGSenseGlove.cpp | 842 ++ .../SGCore/SGSenseGloveHandProfile.cpp | 297 + .../Private/SGCore/SGSenseGloveInfo.cpp | 474 ++ .../Private/SGCore/SGSenseGlovePose.cpp | 379 + .../Private/SGCore/SGSenseGloveSensorData.cpp | 332 + .../Private/SGCore/SGSenseGloveVars.cpp | 147 + .../Private/SGCore/SGSensorRange.cpp | 310 + .../Private/SGCore/SGThumperCommand.cpp | 232 + .../Private/SGCore/SGTimedBuzzCommand.cpp | 340 + .../Private/SGCore/SGTimedThumpCommand.cpp | 296 + .../Private/SGCore/SGTracking.cpp | 275 + .../Private/SGCore/SGVectorArray.cpp | 36 + .../SenseGloveCore/Private/SenseGloveCore.cpp | 40 + .../SenseGloveCore/Private/SenseGloveCore.h | 38 + .../Private/SenseGloveCoreModule.cpp | 65 + .../Private/SenseGloveCoreModule.h | 51 + .../SenseGloveCore/Public/SGCore/SGAnatomy.h | 73 + .../Public/SGCore/SGBasicHandModel.h | 198 + .../Public/SGCore/SGBetaDevice.h | 143 + .../Public/SGCore/SGBuzzCommand.h | 127 + .../Public/SGCore/SGCalibrationDataPoint.h | 113 + Source/SenseGloveCore/Public/SGCore/SGCore.h | 76 + .../SenseGloveCore/Public/SGCore/SGDevice.h | 238 + .../Public/SGCore/SGDeviceList.h | 86 + .../Public/SGCore/SGDeviceModel.h | 125 + .../Public/SGCore/SGFingerCommand.h | 190 + .../Public/SGCore/SGFloatArray.h | 50 + .../Public/SGCore/SGForceFeedbackCommand.h | 132 + .../Public/SGCore/SGHandInterpolator.h | 173 + .../SenseGloveCore/Public/SGCore/SGHandPose.h | 168 + .../Public/SGCore/SGHandProfile.h | 147 + .../Public/SGCore/SGHapticGlove.h | 224 + .../SGCore/SGHapticGloveCalibrationCheck.h | 142 + .../SGCore/SGHapticGloveCalibrationSequence.h | 212 + .../SGCore/SGHapticGloveCommandBuffer.h | 155 + .../Public/SGCore/SGHapticGloveHandProfiles.h | 80 + .../SGCore/SGHapticGloveQuickCalibration.h | 151 + .../Public/SGCore/SGInterpolationSet.h | 149 + .../Public/SGCore/SGInterpolationSetArray.h | 52 + .../Public/SGCore/SGJointKinematics.h | 61 + .../SenseGloveCore/Public/SGCore/SGLibrary.h | 73 + .../Public/SGCore/SGNovaGlove.h | 252 + .../Public/SGCore/SGNovaGloveCalibration.h | 62 + .../Public/SGCore/SGNovaGloveHandProfile.h | 118 + .../Public/SGCore/SGNovaGloveInfo.h | 144 + .../Public/SGCore/SGNovaGloveSensorData.h | 136 + .../Public/SGCore/SGQuatArray.h | 50 + .../SenseGloveCore/Public/SGCore/SGSenseCom.h | 60 + .../Public/SGCore/SGSenseGlove.h | 270 + .../Public/SGCore/SGSenseGloveHandProfile.h | 136 + .../Public/SGCore/SGSenseGloveInfo.h | 181 + .../Public/SGCore/SGSenseGlovePose.h | 158 + .../Public/SGCore/SGSenseGloveSensorData.h | 145 + .../Public/SGCore/SGSenseGloveVars.h | 75 + .../Public/SGCore/SGSensorRange.h | 135 + .../Public/SGCore/SGThumperCommand.h | 113 + .../Public/SGCore/SGTimedBuzzCommand.h | 145 + .../Public/SGCore/SGTimedThumpCommand.h | 132 + .../SenseGloveCore/Public/SGCore/SGTracking.h | 112 + .../Public/SGCore/SGVectorArray.h | 50 + Source/SenseGloveCore/SenseGloveCore.Build.cs | 65 + .../Private/SGCoreImpl/SGAnatomyImpl.cpp | 119 + .../SGCoreImpl/SGBasicHandModelImpl.cpp | 399 + .../Private/SGCoreImpl/SGBetaDeviceImpl.cpp | 231 + .../Private/SGCoreImpl/SGBuzzCommandImpl.cpp | 202 + .../SGCoreImpl/SGCalibrationDataPointImpl.cpp | 191 + .../Private/SGCoreImpl/SGCoreEnumCast.cpp | 429 + .../Private/SGCoreImpl/SGCoreEnumCast.h | 92 + .../Private/SGCoreImpl/SGDeviceImpl.cpp | 287 + .../Private/SGCoreImpl/SGDeviceListImpl.cpp | 197 + .../Private/SGCoreImpl/SGDeviceModelImpl.cpp | 215 + .../SGCoreImpl/SGExportedFunctions.cpp | 6909 +++++++++++++++++ .../SGCoreImpl/SGFingerCommandImpl.cpp | 289 + .../SGCoreImpl/SGForceFeedbackCommandImpl.cpp | 194 + .../SGCoreImpl/SGHandInterpolatorImpl.cpp | 312 + .../Private/SGCoreImpl/SGHandPoseImpl.cpp | 330 + .../Private/SGCoreImpl/SGHandProfileImpl.cpp | 265 + .../SGHapticGloveCalibrationCheckImpl.cpp | 266 + .../SGHapticGloveCalibrationSequenceImpl.cpp | 378 + .../SGHapticGloveCommandBufferImpl.cpp | 329 + .../SGHapticGloveHandProfilesImpl.cpp | 130 + .../Private/SGCoreImpl/SGHapticGloveImpl.cpp | 395 + .../SGHapticGloveQuickCalibrationImpl.cpp | 256 + .../SGCoreImpl/SGInterpolationSetImpl.cpp | 254 + .../SGCoreImpl/SGJointKinematicsImpl.cpp | 96 + .../Private/SGCoreImpl/SGLibraryImpl.cpp | 64 + .../SGCoreImpl/SGNovaGloveCalibrationImpl.cpp | 93 + .../SGCoreImpl/SGNovaGloveHandProfileImpl.cpp | 202 + .../Private/SGCoreImpl/SGNovaGloveImpl.cpp | 489 ++ .../SGCoreImpl/SGNovaGloveInfoImpl.cpp | 266 + .../SGCoreImpl/SGNovaGloveSensorDataImpl.cpp | 269 + .../Private/SGCoreImpl/SGQuatImpl.cpp | 333 + .../Private/SGCoreImpl/SGQuatImpl.h | 172 + .../Private/SGCoreImpl/SGSenseComImpl.cpp | 76 + .../SGSenseGloveHandProfileImpl.cpp | 262 + .../Private/SGCoreImpl/SGSenseGloveImpl.cpp | 545 ++ .../SGCoreImpl/SGSenseGloveInfoImpl.cpp | 396 + .../SGCoreImpl/SGSenseGlovePoseImpl.cpp | 315 + .../SGCoreImpl/SGSenseGloveSensorDataImpl.cpp | 257 + .../SGCoreImpl/SGSenseGloveVarsImpl.cpp | 139 + .../Private/SGCoreImpl/SGSensorRangeImpl.cpp | 256 + .../SGCoreImpl/SGThumperCommandImpl.cpp | 174 + .../SGCoreImpl/SGTimedBuzzCommandImpl.cpp | 254 + .../SGCoreImpl/SGTimedThumpCommandImpl.cpp | 214 + .../Private/SGCoreImpl/SGTrackingImpl.cpp | 258 + .../Private/SGCoreImpl/SGVect3DImpl.cpp | 285 + .../Private/SGCoreImpl/SGVect3DImpl.h | 221 + .../Private/SenseGloveCoreImpl.cpp | 40 + .../Private/SenseGloveCoreImpl.h | 38 + .../Private/SenseGloveCoreImplModule.cpp | 65 + .../Private/SenseGloveCoreImplModule.h | 51 + .../Public/SGCoreImpl/SGAnatomyImpl.h | 83 + .../Public/SGCoreImpl/SGBasicHandModelImpl.h | 181 + .../Public/SGCoreImpl/SGBetaDeviceImpl.h | 166 + .../Public/SGCoreImpl/SGBuzzCommandImpl.h | 147 + .../SGCoreImpl/SGCalibrationDataPointImpl.h | 121 + .../Public/SGCoreImpl/SGDeviceImpl.h | 182 + .../Public/SGCoreImpl/SGDeviceListImpl.h | 105 + .../Public/SGCoreImpl/SGDeviceModelImpl.h | 125 + .../Public/SGCoreImpl/SGExportedFunctions.h | 3490 +++++++++ .../Public/SGCoreImpl/SGFingerCommandImpl.h | 168 + .../SGCoreImpl/SGForceFeedbackCommandImpl.h | 136 + .../SGCoreImpl/SGHandInterpolatorImpl.h | 165 + .../Public/SGCoreImpl/SGHandPoseImpl.h | 163 + .../Public/SGCoreImpl/SGHandProfileImpl.h | 156 + .../SGHapticGloveCalibrationCheckImpl.h | 153 + .../SGHapticGloveCalibrationSequenceImpl.h | 192 + .../SGHapticGloveCommandBufferImpl.h | 168 + .../SGHapticGloveHandProfilesImpl.h | 87 + .../Public/SGCoreImpl/SGHapticGloveImpl.h | 207 + .../SGHapticGloveQuickCalibrationImpl.h | 157 + .../SGCoreImpl/SGInterpolationSetImpl.h | 152 + .../Public/SGCoreImpl/SGJointKinematicsImpl.h | 66 + .../Public/SGCoreImpl/SGLibraryImpl.h | 60 + .../SGCoreImpl/SGNovaGloveCalibrationImpl.h | 72 + .../SGCoreImpl/SGNovaGloveHandProfileImpl.h | 134 + .../Public/SGCoreImpl/SGNovaGloveImpl.h | 260 + .../Public/SGCoreImpl/SGNovaGloveInfoImpl.h | 148 + .../SGCoreImpl/SGNovaGloveSensorDataImpl.h | 148 + .../Public/SGCoreImpl/SGSenseComImpl.h | 66 + .../SGCoreImpl/SGSenseGloveHandProfileImpl.h | 153 + .../Public/SGCoreImpl/SGSenseGloveImpl.h | 277 + .../Public/SGCoreImpl/SGSenseGloveInfoImpl.h | 178 + .../Public/SGCoreImpl/SGSenseGlovePoseImpl.h | 152 + .../SGCoreImpl/SGSenseGloveSensorDataImpl.h | 147 + .../Public/SGCoreImpl/SGSenseGloveVarsImpl.h | 85 + .../Public/SGCoreImpl/SGSensorRangeImpl.h | 142 + .../Public/SGCoreImpl/SGThumperCommandImpl.h | 121 + .../SGCoreImpl/SGTimedBuzzCommandImpl.h | 168 + .../SGCoreImpl/SGTimedThumpCommandImpl.h | 138 + .../Public/SGCoreImpl/SGTrackingImpl.h | 108 + .../SenseGloveCoreImpl.Build.cs | 162 + .../SGCoreKismet/SGAnatomyKismetLibrary.cpp | 101 + .../SGBasicHandModelKismetLibrary.cpp | 208 + .../SGBetaDeviceKismetLibrary.cpp | 93 + .../SGBuzzCommandKismetLibrary.cpp | 78 + .../SGCalibrationDataPointKismetLibrary.cpp | 66 + .../SGCoreKismet/SGDeviceKismetLibrary.cpp | 128 + .../SGDeviceListKismetLibrary.cpp | 118 + .../SGDeviceModelKismetLibrary.cpp | 80 + .../SGFingerCommandKismetLibrary.cpp | 63 + .../SGForceFeedbackCommandKismetLibrary.cpp | 81 + .../SGHandInterpolatorKismetLibrary.cpp | 157 + .../SGCoreKismet/SGHandPoseKismetLibrary.cpp | 170 + .../SGHandProfileKismetLibrary.cpp | 140 + ...pticGloveCalibrationCheckKismetLibrary.cpp | 136 + ...cGloveCalibrationSequenceKismetLibrary.cpp | 173 + ...GHapticGloveCommandBufferKismetLibrary.cpp | 187 + ...SGHapticGloveHandProfilesKismetLibrary.cpp | 118 + .../SGHapticGloveKismetLibrary.cpp | 227 + ...pticGloveQuickCalibrationKismetLibrary.cpp | 139 + .../SGInterpolationSetKismetLibrary.cpp | 149 + .../SGJointKinematicsKismetLibrary.cpp | 54 + .../SGCoreKismet/SGLibraryKismetLibrary.cpp | 58 + .../SGNovaGloveCalibrationKismetLibrary.cpp | 62 + .../SGNovaGloveHandProfileKismetLibrary.cpp | 77 + .../SGNovaGloveInfoKismetLibrary.cpp | 117 + .../SGCoreKismet/SGNovaGloveKismetLibrary.cpp | 277 + .../SGNovaGloveSensorDataKismetLibrary.cpp | 115 + .../SGCoreKismet/SGSenseComKismetLibrary.cpp | 68 + .../SGSenseGloveHandProfileKismetLibrary.cpp | 113 + .../SGSenseGloveInfoKismetLibrary.cpp | 179 + .../SGSenseGloveKismetLibrary.cpp | 313 + .../SGSenseGlovePoseKismetLibrary.cpp | 128 + .../SGSenseGloveSensorDataKismetLibrary.cpp | 118 + .../SGSenseGloveVarsKismetLibrary.cpp | 104 + .../SGSensorRangeKismetLibrary.cpp | 119 + .../SGThumperCommandKismetLibrary.cpp | 81 + .../SGTimedBuzzCommandKismetLibrary.cpp | 119 + .../SGTimedThumpCommandKismetLibrary.cpp | 115 + .../SGCoreKismet/SGTrackingKismetLibrary.cpp | 183 + .../Private/SenseGloveCoreKismet.cpp | 40 + .../Private/SenseGloveCoreKismet.h | 38 + .../Private/SenseGloveCoreKismetModule.cpp | 61 + .../Private/SenseGloveCoreKismetModule.h | 51 + .../SGCoreKismet/SGAnatomyKismetLibrary.h | 87 + .../SGBasicHandModelKismetLibrary.h | 164 + .../SGCoreKismet/SGBetaDeviceKismetLibrary.h | 83 + .../SGCoreKismet/SGBuzzCommandKismetLibrary.h | 81 + .../SGCalibrationDataPointKismetLibrary.h | 68 + .../SGCoreKismet/SGDeviceKismetLibrary.h | 104 + .../SGCoreKismet/SGDeviceListKismetLibrary.h | 101 + .../SGCoreKismet/SGDeviceModelKismetLibrary.h | 80 + .../SGFingerCommandKismetLibrary.h | 64 + .../SGForceFeedbackCommandKismetLibrary.h | 86 + .../SGHandInterpolatorKismetLibrary.h | 141 + .../SGCoreKismet/SGHandPoseKismetLibrary.h | 145 + .../SGCoreKismet/SGHandProfileKismetLibrary.h | 117 + ...HapticGloveCalibrationCheckKismetLibrary.h | 112 + ...ticGloveCalibrationSequenceKismetLibrary.h | 149 + .../SGHapticGloveCommandBufferKismetLibrary.h | 158 + .../SGHapticGloveHandProfilesKismetLibrary.h | 99 + .../SGCoreKismet/SGHapticGloveKismetLibrary.h | 185 + ...HapticGloveQuickCalibrationKismetLibrary.h | 115 + .../SGInterpolationSetKismetLibrary.h | 119 + .../SGJointKinematicsKismetLibrary.h | 66 + .../SGCoreKismet/SGLibraryKismetLibrary.h | 74 + .../SGNovaGloveCalibrationKismetLibrary.h | 67 + .../SGNovaGloveHandProfileKismetLibrary.h | 76 + .../SGNovaGloveInfoKismetLibrary.h | 99 + .../SGCoreKismet/SGNovaGloveKismetLibrary.h | 221 + .../SGNovaGloveSensorDataKismetLibrary.h | 100 + .../SGCoreKismet/SGSenseComKismetLibrary.h | 69 + .../SGSenseGloveHandProfileKismetLibrary.h | 97 + .../SGSenseGloveInfoKismetLibrary.h | 133 + .../SGCoreKismet/SGSenseGloveKismetLibrary.h | 257 + .../SGSenseGlovePoseKismetLibrary.h | 110 + .../SGSenseGloveSensorDataKismetLibrary.h | 101 + .../SGSenseGloveVarsKismetLibrary.h | 94 + .../SGCoreKismet/SGSensorRangeKismetLibrary.h | 102 + .../SGThumperCommandKismetLibrary.h | 79 + .../SGTimedBuzzCommandKismetLibrary.h | 104 + .../SGTimedThumpCommandKismetLibrary.h | 99 + .../SGCoreKismet/SGTrackingKismetLibrary.h | 137 + .../SenseGloveCoreKismet.Build.cs | 65 + .../Private/SenseGloveEditor.cpp | 40 + .../Private/SenseGloveEditor.h | 38 + .../Private/SenseGloveEditorModule.cpp | 61 + .../Private/SenseGloveEditorModule.h | 51 + .../SenseGloveEditor.Build.cs | 72 + .../Private/SGInterop/SGIC_ESGBackendType.cpp | 36 + .../Private/SGInterop/SGIC_ESGCVar.cpp | 36 + .../SGInterop/SGIC_ESGCalibrationStage.cpp | 36 + .../SGInterop/SGIC_ESGConnectionType.cpp | 36 + .../Private/SGInterop/SGIC_ESGDeviceType.cpp | 36 + .../Private/SGInterop/SGIC_ESGFinger.cpp | 36 + .../SGInterop/SGIC_ESGFingerMovement.cpp | 36 + .../SGInterop/SGIC_ESGFingerSolver.cpp | 36 + .../Private/SGInterop/SGIC_ESGListFormat.cpp | 36 + .../Private/SGInterop/SGIC_ESGNovaCVar.cpp | 36 + .../Private/SGInterop/SGIC_ESGNovaData.cpp | 36 + .../SGInterop/SGIC_ESGNovaSensorData.cpp | 36 + .../SGIC_ESGPositionalTrackingHardware.cpp | 36 + .../Private/SGInterop/SGIC_ESGSVar.cpp | 36 + .../SGIC_ESGSenseGloveThumperCommand.cpp | 36 + .../SGInterop/SGIC_ESGSensorFormat.cpp | 36 + .../SGInterop/SGIC_ESGThumbMovement.cpp | 36 + .../Private/SGInterop/SGIC_ESGThumbSolver.cpp | 36 + .../Private/SGInterop/SGIC_FQuat.cpp | 36 + .../SGInterop/SGIC_FSGBasicHandModelImpl.cpp | 36 + .../SGInterop/SGIC_FSGBetaDeviceImpl.cpp | 36 + .../SGInterop/SGIC_FSGBuzzCommandImpl.cpp | 36 + .../SGIC_FSGCalibrationDataPointImpl.cpp | 36 + .../Private/SGInterop/SGIC_FSGDeviceImpl.cpp | 36 + .../SGInterop/SGIC_FSGDeviceModelImpl.cpp | 36 + .../SGInterop/SGIC_FSGFingerCommandImpl.cpp | 36 + .../SGIC_FSGForceFeedbackCommandImpl.cpp | 36 + .../SGIC_FSGHandInterpolatorImpl.cpp | 36 + .../SGInterop/SGIC_FSGHandPoseImpl.cpp | 36 + .../SGInterop/SGIC_FSGHandProfileImpl.cpp | 36 + ...GIC_FSGHapticGloveCalibrationCheckImpl.cpp | 36 + ..._FSGHapticGloveCalibrationSequenceImpl.cpp | 36 + .../SGIC_FSGHapticGloveCommandBufferImpl.cpp | 36 + .../SGInterop/SGIC_FSGHapticGloveImpl.cpp | 36 + ...GIC_FSGHapticGloveQuickCalibrationImpl.cpp | 36 + .../SGIC_FSGInterpolationSetImpl.cpp | 36 + .../SGIC_FSGNovaGloveHandProfileImpl.cpp | 36 + .../SGInterop/SGIC_FSGNovaGloveImpl.cpp | 36 + .../SGInterop/SGIC_FSGNovaGloveInfoImpl.cpp | 36 + .../SGIC_FSGNovaGloveSensorDataImpl.cpp | 36 + .../SGIC_FSGSenseGloveHandProfileImpl.cpp | 36 + .../SGInterop/SGIC_FSGSenseGloveImpl.cpp | 36 + .../SGInterop/SGIC_FSGSenseGloveInfoImpl.cpp | 36 + .../SGInterop/SGIC_FSGSenseGlovePoseImpl.cpp | 36 + .../SGIC_FSGSenseGloveSensorDataImpl.cpp | 36 + .../SGInterop/SGIC_FSGSensorRangeImpl.cpp | 36 + .../SGInterop/SGIC_FSGThumperCommandImpl.cpp | 36 + .../SGIC_FSGTimedBuzzCommandImpl.cpp | 36 + .../SGIC_FSGTimedThumpCommandImpl.cpp | 36 + .../Private/SGInterop/SGIC_FString.cpp | 36 + .../Private/SGInterop/SGIC_FVector.cpp | 36 + .../Private/SGInterop/SGIC_TArray_FQuat.cpp | 36 + ...GIC_TArray_FSGCalibrationDataPointImpl.cpp | 36 + ...GIC_TArray_FSGForceFeedbackCommandImpl.cpp | 36 + .../SGIC_TArray_FSGNovaGloveImpl.cpp | 36 + .../SGIC_TArray_FSGSenseGloveImpl.cpp | 35 + .../SGIC_TArray_FSGTimedBuzzCommandImpl.cpp | 36 + .../SGIC_TArray_FSGTimedThumpCommandImpl.cpp | 36 + .../Private/SGInterop/SGIC_TArray_FVector.cpp | 36 + .../SGInterop/SGIC_TArray_TArray_FQuat.cpp | 36 + ..._TArray_TArray_FSGInterpolationSetImpl.cpp | 36 + .../SGInterop/SGIC_TArray_TArray_FVector.cpp | 36 + .../SGInterop/SGIC_TArray_TArray_bool.cpp | 36 + .../SGInterop/SGIC_TArray_TArray_float.cpp | 36 + .../SGIC_TArray_TSharedRef_FSGDeviceImpl.cpp | 36 + ...C_TArray_TSharedRef_FSGHapticGloveImpl.cpp | 35 + .../Private/SGInterop/SGIC_TArray_bool.cpp | 36 + .../Private/SGInterop/SGIC_TArray_float.cpp | 36 + .../Private/SGInterop/SGIC_TArray_int32.cpp | 36 + .../SGIC_TSharedPtr_FSGBetaDeviceImpl.cpp | 36 + .../SGIC_TSharedPtr_FSGBuzzCommandImpl.cpp | 36 + .../SGIC_TSharedPtr_FSGDeviceImpl.cpp | 36 + .../SGIC_TSharedPtr_FSGFingerCommandImpl.cpp | 36 + ...TSharedPtr_FSGForceFeedbackCommandImpl.cpp | 36 + ..._FSGHapticGloveCalibrationSequenceImpl.cpp | 36 + .../SGIC_TSharedPtr_FSGHapticGloveImpl.cpp | 36 + ...Ptr_FSGHapticGloveQuickCalibrationImpl.cpp | 36 + .../SGIC_TSharedPtr_FSGNovaGloveImpl.cpp | 36 + .../SGIC_TSharedPtr_FSGSenseGloveImpl.cpp | 36 + ...GIC_TSharedPtr_FSGTimedBuzzCommandImpl.cpp | 36 + .../SGIC_TSubclassOf_FSGDeviceImpl.cpp | 36 + .../Private/SGInterop/SGIC_int32_Ref.cpp | 36 + .../Private/SenseGloveInterop.cpp | 40 + .../Private/SenseGloveInterop.h | 38 + .../Private/SenseGloveInteropModule.cpp | 61 + .../Private/SenseGloveInteropModule.h | 51 + .../Public/SGInterop/SGIC_ESGBackendType.h | 43 + .../Public/SGInterop/SGIC_ESGCVar.h | 43 + .../SGInterop/SGIC_ESGCalibrationStage.h | 43 + .../Public/SGInterop/SGIC_ESGConnectionType.h | 43 + .../Public/SGInterop/SGIC_ESGDeviceType.h | 43 + .../Public/SGInterop/SGIC_ESGFinger.h | 43 + .../Public/SGInterop/SGIC_ESGFingerMovement.h | 43 + .../Public/SGInterop/SGIC_ESGFingerSolver.h | 43 + .../Public/SGInterop/SGIC_ESGListFormat.h | 43 + .../Public/SGInterop/SGIC_ESGNovaCVar.h | 43 + .../Public/SGInterop/SGIC_ESGNovaData.h | 43 + .../Public/SGInterop/SGIC_ESGNovaSensorData.h | 43 + .../SGIC_ESGPositionalTrackingHardware.h | 43 + .../Public/SGInterop/SGIC_ESGSVar.h | 43 + .../SGIC_ESGSenseGloveThumperCommand.h | 43 + .../Public/SGInterop/SGIC_ESGSensorFormat.h | 43 + .../Public/SGInterop/SGIC_ESGThumbMovement.h | 43 + .../Public/SGInterop/SGIC_ESGThumbSolver.h | 43 + .../Public/SGInterop/SGIC_FQuat.h | 43 + .../SGInterop/SGIC_FSGBasicHandModelImpl.h | 43 + .../Public/SGInterop/SGIC_FSGBetaDeviceImpl.h | 43 + .../SGInterop/SGIC_FSGBuzzCommandImpl.h | 43 + .../SGIC_FSGCalibrationDataPointImpl.h | 43 + .../Public/SGInterop/SGIC_FSGDeviceImpl.h | 43 + .../SGInterop/SGIC_FSGDeviceModelImpl.h | 43 + .../SGInterop/SGIC_FSGFingerCommandImpl.h | 43 + .../SGIC_FSGForceFeedbackCommandImpl.h | 43 + .../SGInterop/SGIC_FSGHandInterpolatorImpl.h | 43 + .../Public/SGInterop/SGIC_FSGHandPoseImpl.h | 43 + .../SGInterop/SGIC_FSGHandProfileImpl.h | 43 + .../SGIC_FSGHapticGloveCalibrationCheckImpl.h | 43 + ...IC_FSGHapticGloveCalibrationSequenceImpl.h | 43 + .../SGIC_FSGHapticGloveCommandBufferImpl.h | 43 + .../SGInterop/SGIC_FSGHapticGloveImpl.h | 43 + .../SGIC_FSGHapticGloveQuickCalibrationImpl.h | 43 + .../SGInterop/SGIC_FSGInterpolationSetImpl.h | 43 + .../SGIC_FSGNovaGloveHandProfileImpl.h | 43 + .../Public/SGInterop/SGIC_FSGNovaGloveImpl.h | 43 + .../SGInterop/SGIC_FSGNovaGloveInfoImpl.h | 43 + .../SGIC_FSGNovaGloveSensorDataImpl.h | 43 + .../SGIC_FSGSenseGloveHandProfileImpl.h | 43 + .../Public/SGInterop/SGIC_FSGSenseGloveImpl.h | 43 + .../SGInterop/SGIC_FSGSenseGloveInfoImpl.h | 43 + .../SGInterop/SGIC_FSGSenseGlovePoseImpl.h | 43 + .../SGIC_FSGSenseGloveSensorDataImpl.h | 43 + .../SGInterop/SGIC_FSGSensorRangeImpl.h | 43 + .../SGInterop/SGIC_FSGThumperCommandImpl.h | 43 + .../SGInterop/SGIC_FSGTimedBuzzCommandImpl.h | 43 + .../SGInterop/SGIC_FSGTimedThumpCommandImpl.h | 43 + .../Public/SGInterop/SGIC_FString.h | 43 + .../Public/SGInterop/SGIC_FVector.h | 43 + .../Public/SGInterop/SGIC_TArray_FQuat.h | 44 + .../SGIC_TArray_FSGCalibrationDataPointImpl.h | 45 + .../SGIC_TArray_FSGForceFeedbackCommandImpl.h | 45 + .../SGInterop/SGIC_TArray_FSGNovaGloveImpl.h | 43 + .../SGInterop/SGIC_TArray_FSGSenseGloveImpl.h | 43 + .../SGIC_TArray_FSGTimedBuzzCommandImpl.h | 45 + .../SGIC_TArray_FSGTimedThumpCommandImpl.h | 45 + .../Public/SGInterop/SGIC_TArray_FVector.h | 44 + .../SGInterop/SGIC_TArray_TArray_FQuat.h | 44 + ...IC_TArray_TArray_FSGInterpolationSetImpl.h | 45 + .../SGInterop/SGIC_TArray_TArray_FVector.h | 44 + .../SGInterop/SGIC_TArray_TArray_bool.h | 43 + .../SGInterop/SGIC_TArray_TArray_float.h | 43 + .../SGIC_TArray_TSharedRef_FSGDeviceImpl.h | 43 + ...GIC_TArray_TSharedRef_FSGHapticGloveImpl.h | 43 + .../Public/SGInterop/SGIC_TArray_bool.h | 43 + .../Public/SGInterop/SGIC_TArray_float.h | 43 + .../Public/SGInterop/SGIC_TArray_int32.h | 43 + .../SGIC_TSharedPtr_FSGBetaDeviceImpl.h | 43 + .../SGIC_TSharedPtr_FSGBuzzCommandImpl.h | 43 + .../SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h | 43 + .../SGIC_TSharedPtr_FSGFingerCommandImpl.h | 43 + ...C_TSharedPtr_FSGForceFeedbackCommandImpl.h | 43 + ...tr_FSGHapticGloveCalibrationSequenceImpl.h | 43 + .../SGIC_TSharedPtr_FSGHapticGloveImpl.h | 43 + ...edPtr_FSGHapticGloveQuickCalibrationImpl.h | 43 + .../SGIC_TSharedPtr_FSGNovaGloveImpl.h | 43 + .../SGIC_TSharedPtr_FSGSenseGloveImpl.h | 43 + .../SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h | 43 + .../SGIC_TSubclassOf_FSGDeviceImpl.h | 44 + .../Public/SGInterop/SGIC_int32_Ref.h | 43 + .../SenseGloveInterop.Build.cs | 67 + .../SGKismet/SGBlueprintFunctionLibrary.cpp | 36 + .../Private/SenseGloveKismet.cpp | 40 + .../Private/SenseGloveKismet.h | 38 + .../Private/SenseGloveKismetModule.cpp | 61 + .../Private/SenseGloveKismetModule.h | 51 + .../SGKismet/SGBlueprintFunctionLibrary.h | 49 + .../SenseGloveKismet.Build.cs | 63 + Source/SenseGloveLog/Private/SGLog/SGLog.cpp | 244 + .../SenseGloveLog/Private/SenseGloveLog.cpp | 40 + Source/SenseGloveLog/Private/SenseGloveLog.h | 38 + .../Private/SenseGloveLogModule.cpp | 61 + .../Private/SenseGloveLogModule.h | 51 + Source/SenseGloveLog/Public/SGLog/SGLog.h | 714 ++ Source/SenseGloveLog/SenseGloveLog.Build.cs | 59 + .../Private/SGTypes/SGConnectTypes.cpp | 36 + .../Private/SGTypes/SGCoreTypes.cpp | 36 + .../Private/SenseGloveTypes.cpp | 40 + .../SenseGloveTypes/Private/SenseGloveTypes.h | 38 + .../Private/SenseGloveTypesModule.cpp | 61 + .../Private/SenseGloveTypesModule.h | 51 + .../Public/SGTypes/SGConnectTypes.h | 36 + .../Public/SGTypes/SGCoreTypes.h | 379 + .../SenseGloveTypes/SenseGloveTypes.Build.cs | 60 + .../Private/SGUtils/SGArrayUtils.cpp | 36 + .../Private/SGUtils/SGEnumUtils.cpp | 36 + .../Private/SenseGloveUtils.cpp | 40 + .../SenseGloveUtils/Private/SenseGloveUtils.h | 38 + .../Private/SenseGloveUtilsModule.cpp | 61 + .../Private/SenseGloveUtilsModule.h | 51 + .../Public/SGUtils/SGArrayUtils.h | 450 ++ .../Public/SGUtils/SGEnumUtils.h | 68 + .../SenseGloveUtils/SenseGloveUtils.Build.cs | 60 + .../include/SenseGlove/Connect/Connection.hpp | 3 + .../SenseGlove/Connect/ConnectionData.hpp | 3 + .../SenseGlove/Connect/ConnectionFactory.hpp | 3 + .../SenseGlove/Connect/ConnectionTester.hpp | 3 + .../SenseGlove/Connect/ConnectionsTracker.hpp | 3 + .../include/SenseGlove/Connect/Debugger.hpp | 3 + .../SenseGlove/Connect/DeviceScanner.hpp | 3 + .../include/SenseGlove/Connect/ExitCodes.hpp | 3 + .../include/SenseGlove/Connect/IdResponse.hpp | 3 + .../include/SenseGlove/Connect/IpcCommand.hpp | 3 + .../SenseGlove/Connect/NewSGDevice.hpp | 3 + .../include/SenseGlove/Connect/Platform.hpp | 3 + .../include/SenseGlove/Connect/PortInfo.hpp | 3 + .../include/SenseGlove/Connect/SGConnect.hpp | 3 + .../include/SenseGlove/Connect/SGDevice.hpp | 3 + .../SenseGlove/Connect/SerialConnection.hpp | 3 + .../SenseGlove/Connect/SerialPorts.hpp | 3 + .../include/SenseGlove/Connect/SharedMem.hpp | 3 + .../SenseGlove/Connect/StringUtils.hpp | 3 + .../SenseGlove/Connect/TestingState.hpp | 3 + .../SenseGlove/Connect/TransmissionMode.hpp | 3 + .../include/SenseGlove/Core/Anatomy.hpp | 3 + .../SenseGlove/Core/BasicHandModel.hpp | 3 + .../include/SenseGlove/Core/BetaDevice.hpp | 3 + .../include/SenseGlove/Core/BuzzCommand.hpp | 3 + .../SenseGlove/Core/CalibrationDataPoint.hpp | 3 + .../SenseGlove/Core/Communications.hpp | 3 + .../include/SenseGlove/Core/Debugger.hpp | 3 + .../include/SenseGlove/Core/DeviceList.hpp | 3 + .../include/SenseGlove/Core/DeviceModel.hpp | 3 + .../include/SenseGlove/Core/DeviceTypes.hpp | 3 + ThirdParty/include/SenseGlove/Core/FileIO.hpp | 3 + .../include/SenseGlove/Core/FingerCommand.hpp | 3 + .../include/SenseGlove/Core/Fingers.hpp | 3 + .../include/SenseGlove/Core/FloatUtils.hpp | 3 + .../SenseGlove/Core/ForceFeedbackCommand.hpp | 3 + .../SenseGlove/Core/HandInterpolator.hpp | 3 + .../include/SenseGlove/Core/HandPose.hpp | 3 + .../include/SenseGlove/Core/HandProfile.hpp | 3 + .../include/SenseGlove/Core/HapticGlove.hpp | 3 + .../Core/HapticGloveCalibrationCheck.hpp | 3 + .../Core/HapticGloveCalibrationSequence.hpp | 3 + .../Core/HapticGloveCommandBuffer.hpp | 3 + .../Core/HapticGloveHandProfiles.hpp | 3 + .../Core/HapticGloveQuickCalibration.hpp | 3 + .../SenseGlove/Core/InterpolationSet.hpp | 3 + .../SenseGlove/Core/JointKinematics.hpp | 3 + .../include/SenseGlove/Core/Library.hpp | 3 + .../include/SenseGlove/Core/MathDefines.hpp | 3 + .../include/SenseGlove/Core/NovaGlove.hpp | 3 + .../SenseGlove/Core/NovaGloveCalibration.hpp | 3 + .../SenseGlove/Core/NovaGloveHandProfile.hpp | 3 + .../include/SenseGlove/Core/NovaGloveInfo.hpp | 3 + .../SenseGlove/Core/NovaGloveSensorData.hpp | 3 + .../include/SenseGlove/Core/NovaGloveVars.hpp | 3 + .../include/SenseGlove/Core/Platform.hpp | 3 + ThirdParty/include/SenseGlove/Core/Quat.hpp | 3 + .../include/SenseGlove/Core/SGDevice.hpp | 3 + .../include/SenseGlove/Core/SenseCom.hpp | 3 + .../include/SenseGlove/Core/SenseGlove.hpp | 3 + .../SenseGlove/Core/SenseGloveHandProfile.hpp | 3 + .../SenseGlove/Core/SenseGloveInfo.hpp | 3 + .../SenseGlove/Core/SenseGlovePose.hpp | 3 + .../SenseGlove/Core/SenseGloveSensorData.hpp | 3 + .../Core/SenseGloveThumperCommand.hpp | 3 + .../SenseGlove/Core/SenseGloveVars.hpp | 3 + .../include/SenseGlove/Core/SensorRange.hpp | 3 + .../include/SenseGlove/Core/Serializer.hpp | 3 + .../include/SenseGlove/Core/SharedMem.hpp | 3 + .../include/SenseGlove/Core/StringUtils.hpp | 3 + .../SenseGlove/Core/ThumperCommand.hpp | 3 + .../SenseGlove/Core/TimedBuzzCommand.hpp | 3 + .../SenseGlove/Core/TimedThumpCommand.hpp | 3 + .../include/SenseGlove/Core/Tracking.hpp | 3 + ThirdParty/include/SenseGlove/Core/Values.hpp | 3 + ThirdParty/include/SenseGlove/Core/Vect3D.hpp | 3 + ThirdParty/include/boost/asio.hpp | 3 + .../boost/asio/associated_allocator.hpp | 3 + .../boost/asio/associated_executor.hpp | 3 + .../include/boost/asio/async_result.hpp | 3 + .../boost/asio/basic_datagram_socket.hpp | 3 + .../boost/asio/basic_deadline_timer.hpp | 3 + .../include/boost/asio/basic_io_object.hpp | 3 + .../include/boost/asio/basic_raw_socket.hpp | 3 + .../boost/asio/basic_seq_packet_socket.hpp | 3 + .../include/boost/asio/basic_serial_port.hpp | 3 + .../include/boost/asio/basic_signal_set.hpp | 3 + .../include/boost/asio/basic_socket.hpp | 3 + .../boost/asio/basic_socket_acceptor.hpp | 3 + .../boost/asio/basic_socket_iostream.hpp | 3 + .../boost/asio/basic_socket_streambuf.hpp | 3 + .../boost/asio/basic_stream_socket.hpp | 3 + .../include/boost/asio/basic_streambuf.hpp | 3 + .../boost/asio/basic_streambuf_fwd.hpp | 3 + .../boost/asio/basic_waitable_timer.hpp | 3 + .../include/boost/asio/bind_executor.hpp | 3 + ThirdParty/include/boost/asio/buffer.hpp | 3 + .../boost/asio/buffered_read_stream.hpp | 3 + .../boost/asio/buffered_read_stream_fwd.hpp | 3 + .../include/boost/asio/buffered_stream.hpp | 3 + .../boost/asio/buffered_stream_fwd.hpp | 3 + .../boost/asio/buffered_write_stream.hpp | 3 + .../boost/asio/buffered_write_stream_fwd.hpp | 3 + .../include/boost/asio/buffers_iterator.hpp | 3 + .../boost/asio/completion_condition.hpp | 3 + ThirdParty/include/boost/asio/connect.hpp | 3 + ThirdParty/include/boost/asio/coroutine.hpp | 3 + .../boost/asio/datagram_socket_service.hpp | 3 + .../include/boost/asio/deadline_timer.hpp | 3 + .../boost/asio/deadline_timer_service.hpp | 3 + ThirdParty/include/boost/asio/defer.hpp | 3 + .../include/boost/asio/detail/array.hpp | 3 + .../include/boost/asio/detail/array_fwd.hpp | 3 + .../include/boost/asio/detail/assert.hpp | 3 + .../boost/asio/detail/atomic_count.hpp | 3 + .../asio/detail/base_from_completion_cond.hpp | 3 + .../boost/asio/detail/bind_handler.hpp | 3 + .../boost/asio/detail/buffer_resize_guard.hpp | 3 + .../asio/detail/buffer_sequence_adapter.hpp | 3 + .../asio/detail/buffered_stream_storage.hpp | 3 + .../include/boost/asio/detail/call_stack.hpp | 3 + .../include/boost/asio/detail/chrono.hpp | 3 + .../boost/asio/detail/chrono_time_traits.hpp | 3 + .../boost/asio/detail/completion_handler.hpp | 3 + .../boost/asio/detail/concurrency_hint.hpp | 3 + .../detail/conditionally_enabled_event.hpp | 3 + .../detail/conditionally_enabled_mutex.hpp | 3 + .../include/boost/asio/detail/config.hpp | 3 + .../boost/asio/detail/consuming_buffers.hpp | 3 + .../include/boost/asio/detail/cstddef.hpp | 3 + .../include/boost/asio/detail/cstdint.hpp | 3 + .../boost/asio/detail/date_time_fwd.hpp | 3 + .../asio/detail/deadline_timer_service.hpp | 3 + .../boost/asio/detail/dependent_type.hpp | 3 + .../boost/asio/detail/descriptor_ops.hpp | 3 + .../boost/asio/detail/descriptor_read_op.hpp | 3 + .../boost/asio/detail/descriptor_write_op.hpp | 3 + .../boost/asio/detail/dev_poll_reactor.hpp | 3 + .../boost/asio/detail/epoll_reactor.hpp | 3 + .../include/boost/asio/detail/event.hpp | 3 + .../detail/eventfd_select_interrupter.hpp | 3 + .../include/boost/asio/detail/executor_op.hpp | 3 + .../boost/asio/detail/fd_set_adapter.hpp | 3 + .../boost/asio/detail/fenced_block.hpp | 3 + .../include/boost/asio/detail/functional.hpp | 3 + .../include/boost/asio/detail/future.hpp | 3 + .../asio/detail/gcc_arm_fenced_block.hpp | 3 + .../asio/detail/gcc_hppa_fenced_block.hpp | 3 + .../asio/detail/gcc_sync_fenced_block.hpp | 3 + .../asio/detail/gcc_x86_fenced_block.hpp | 3 + .../include/boost/asio/detail/global.hpp | 3 + .../asio/detail/handler_alloc_helpers.hpp | 3 + .../asio/detail/handler_cont_helpers.hpp | 3 + .../asio/detail/handler_invoke_helpers.hpp | 3 + .../boost/asio/detail/handler_tracking.hpp | 3 + .../asio/detail/handler_type_requirements.hpp | 3 + .../boost/asio/detail/handler_work.hpp | 3 + .../include/boost/asio/detail/hash_map.hpp | 3 + .../detail/impl/buffer_sequence_adapter.ipp | 3 + .../boost/asio/detail/impl/descriptor_ops.ipp | 3 + .../asio/detail/impl/dev_poll_reactor.hpp | 3 + .../asio/detail/impl/dev_poll_reactor.ipp | 3 + .../boost/asio/detail/impl/epoll_reactor.hpp | 3 + .../boost/asio/detail/impl/epoll_reactor.ipp | 3 + .../impl/eventfd_select_interrupter.ipp | 3 + .../asio/detail/impl/handler_tracking.ipp | 3 + .../boost/asio/detail/impl/kqueue_reactor.hpp | 3 + .../boost/asio/detail/impl/kqueue_reactor.ipp | 3 + .../boost/asio/detail/impl/null_event.ipp | 3 + .../detail/impl/pipe_select_interrupter.ipp | 3 + .../boost/asio/detail/impl/posix_event.ipp | 3 + .../boost/asio/detail/impl/posix_mutex.ipp | 3 + .../boost/asio/detail/impl/posix_thread.ipp | 3 + .../boost/asio/detail/impl/posix_tss_ptr.ipp | 3 + .../impl/reactive_descriptor_service.ipp | 3 + .../impl/reactive_serial_port_service.ipp | 3 + .../impl/reactive_socket_service_base.ipp | 3 + .../detail/impl/resolver_service_base.ipp | 3 + .../boost/asio/detail/impl/scheduler.ipp | 3 + .../boost/asio/detail/impl/select_reactor.hpp | 3 + .../boost/asio/detail/impl/select_reactor.ipp | 3 + .../asio/detail/impl/service_registry.hpp | 3 + .../asio/detail/impl/service_registry.ipp | 3 + .../asio/detail/impl/signal_set_service.ipp | 3 + .../boost/asio/detail/impl/socket_ops.ipp | 3 + .../detail/impl/socket_select_interrupter.ipp | 3 + .../detail/impl/strand_executor_service.hpp | 3 + .../detail/impl/strand_executor_service.ipp | 3 + .../boost/asio/detail/impl/strand_service.hpp | 3 + .../boost/asio/detail/impl/strand_service.ipp | 3 + .../boost/asio/detail/impl/throw_error.ipp | 3 + .../asio/detail/impl/timer_queue_ptime.ipp | 3 + .../asio/detail/impl/timer_queue_set.ipp | 3 + .../boost/asio/detail/impl/win_event.ipp | 3 + .../detail/impl/win_iocp_handle_service.ipp | 3 + .../asio/detail/impl/win_iocp_io_context.hpp | 3 + .../asio/detail/impl/win_iocp_io_context.ipp | 3 + .../impl/win_iocp_serial_port_service.ipp | 3 + .../impl/win_iocp_socket_service_base.ipp | 3 + .../boost/asio/detail/impl/win_mutex.ipp | 3 + .../detail/impl/win_object_handle_service.ipp | 3 + .../asio/detail/impl/win_static_mutex.ipp | 3 + .../boost/asio/detail/impl/win_thread.ipp | 3 + .../boost/asio/detail/impl/win_tss_ptr.ipp | 3 + .../impl/winrt_ssocket_service_base.ipp | 3 + .../detail/impl/winrt_timer_scheduler.hpp | 3 + .../detail/impl/winrt_timer_scheduler.ipp | 3 + .../boost/asio/detail/impl/winsock_init.ipp | 3 + .../include/boost/asio/detail/io_control.hpp | 3 + .../boost/asio/detail/is_buffer_sequence.hpp | 3 + .../include/boost/asio/detail/is_executor.hpp | 3 + .../boost/asio/detail/keyword_tss_ptr.hpp | 3 + .../boost/asio/detail/kqueue_reactor.hpp | 3 + .../include/boost/asio/detail/limits.hpp | 3 + .../asio/detail/local_free_on_block_exit.hpp | 3 + .../boost/asio/detail/macos_fenced_block.hpp | 3 + .../include/boost/asio/detail/memory.hpp | 3 + .../include/boost/asio/detail/mutex.hpp | 3 + .../include/boost/asio/detail/noncopyable.hpp | 3 + .../include/boost/asio/detail/null_event.hpp | 3 + .../boost/asio/detail/null_fenced_block.hpp | 3 + .../include/boost/asio/detail/null_global.hpp | 3 + .../include/boost/asio/detail/null_mutex.hpp | 3 + .../boost/asio/detail/null_reactor.hpp | 3 + .../boost/asio/detail/null_signal_blocker.hpp | 3 + .../boost/asio/detail/null_socket_service.hpp | 3 + .../boost/asio/detail/null_static_mutex.hpp | 3 + .../include/boost/asio/detail/null_thread.hpp | 3 + .../boost/asio/detail/null_tss_ptr.hpp | 3 + .../include/boost/asio/detail/object_pool.hpp | 3 + .../boost/asio/detail/old_win_sdk_compat.hpp | 3 + .../include/boost/asio/detail/op_queue.hpp | 3 + .../include/boost/asio/detail/operation.hpp | 3 + .../asio/detail/pipe_select_interrupter.hpp | 3 + .../include/boost/asio/detail/pop_options.hpp | 3 + .../include/boost/asio/detail/posix_event.hpp | 3 + .../asio/detail/posix_fd_set_adapter.hpp | 3 + .../boost/asio/detail/posix_global.hpp | 3 + .../include/boost/asio/detail/posix_mutex.hpp | 3 + .../asio/detail/posix_signal_blocker.hpp | 3 + .../boost/asio/detail/posix_static_mutex.hpp | 3 + .../boost/asio/detail/posix_thread.hpp | 3 + .../boost/asio/detail/posix_tss_ptr.hpp | 3 + .../boost/asio/detail/push_options.hpp | 3 + .../detail/reactive_descriptor_service.hpp | 3 + .../asio/detail/reactive_null_buffers_op.hpp | 3 + .../detail/reactive_serial_port_service.hpp | 3 + .../asio/detail/reactive_socket_accept_op.hpp | 3 + .../detail/reactive_socket_connect_op.hpp | 3 + .../asio/detail/reactive_socket_recv_op.hpp | 3 + .../detail/reactive_socket_recvfrom_op.hpp | 3 + .../detail/reactive_socket_recvmsg_op.hpp | 3 + .../asio/detail/reactive_socket_send_op.hpp | 3 + .../asio/detail/reactive_socket_sendto_op.hpp | 3 + .../asio/detail/reactive_socket_service.hpp | 3 + .../detail/reactive_socket_service_base.hpp | 3 + .../boost/asio/detail/reactive_wait_op.hpp | 3 + .../include/boost/asio/detail/reactor.hpp | 3 + .../include/boost/asio/detail/reactor_fwd.hpp | 3 + .../include/boost/asio/detail/reactor_op.hpp | 3 + .../boost/asio/detail/reactor_op_queue.hpp | 3 + .../boost/asio/detail/recycling_allocator.hpp | 3 + .../include/boost/asio/detail/regex_fwd.hpp | 3 + .../boost/asio/detail/resolve_endpoint_op.hpp | 3 + .../include/boost/asio/detail/resolve_op.hpp | 3 + .../boost/asio/detail/resolve_query_op.hpp | 3 + .../boost/asio/detail/resolver_service.hpp | 3 + .../asio/detail/resolver_service_base.hpp | 3 + .../include/boost/asio/detail/scheduler.hpp | 3 + .../boost/asio/detail/scheduler_operation.hpp | 3 + .../asio/detail/scheduler_thread_info.hpp | 3 + .../include/boost/asio/detail/scoped_lock.hpp | 3 + .../include/boost/asio/detail/scoped_ptr.hpp | 3 + .../boost/asio/detail/select_interrupter.hpp | 3 + .../boost/asio/detail/select_reactor.hpp | 3 + .../boost/asio/detail/service_registry.hpp | 3 + .../boost/asio/detail/signal_blocker.hpp | 3 + .../boost/asio/detail/signal_handler.hpp | 3 + .../include/boost/asio/detail/signal_init.hpp | 3 + .../include/boost/asio/detail/signal_op.hpp | 3 + .../boost/asio/detail/signal_set_service.hpp | 3 + .../boost/asio/detail/socket_holder.hpp | 3 + .../include/boost/asio/detail/socket_ops.hpp | 3 + .../boost/asio/detail/socket_option.hpp | 3 + .../asio/detail/socket_select_interrupter.hpp | 3 + .../boost/asio/detail/socket_types.hpp | 3 + .../asio/detail/solaris_fenced_block.hpp | 3 + .../boost/asio/detail/static_mutex.hpp | 3 + .../include/boost/asio/detail/std_event.hpp | 3 + .../boost/asio/detail/std_fenced_block.hpp | 3 + .../include/boost/asio/detail/std_global.hpp | 3 + .../include/boost/asio/detail/std_mutex.hpp | 3 + .../boost/asio/detail/std_static_mutex.hpp | 3 + .../include/boost/asio/detail/std_thread.hpp | 3 + .../asio/detail/strand_executor_service.hpp | 3 + .../boost/asio/detail/strand_service.hpp | 3 + .../include/boost/asio/detail/string_view.hpp | 3 + .../include/boost/asio/detail/thread.hpp | 3 + .../boost/asio/detail/thread_context.hpp | 3 + .../boost/asio/detail/thread_group.hpp | 3 + .../boost/asio/detail/thread_info_base.hpp | 3 + .../include/boost/asio/detail/throw_error.hpp | 3 + .../boost/asio/detail/throw_exception.hpp | 3 + .../include/boost/asio/detail/timer_queue.hpp | 3 + .../boost/asio/detail/timer_queue_base.hpp | 3 + .../boost/asio/detail/timer_queue_ptime.hpp | 3 + .../boost/asio/detail/timer_queue_set.hpp | 3 + .../boost/asio/detail/timer_scheduler.hpp | 3 + .../boost/asio/detail/timer_scheduler_fwd.hpp | 3 + .../include/boost/asio/detail/tss_ptr.hpp | 3 + .../include/boost/asio/detail/type_traits.hpp | 3 + .../boost/asio/detail/variadic_templates.hpp | 3 + .../boost/asio/detail/wait_handler.hpp | 3 + .../include/boost/asio/detail/wait_op.hpp | 3 + .../include/boost/asio/detail/win_event.hpp | 3 + .../boost/asio/detail/win_fd_set_adapter.hpp | 3 + .../boost/asio/detail/win_fenced_block.hpp | 3 + .../include/boost/asio/detail/win_global.hpp | 3 + .../asio/detail/win_iocp_handle_read_op.hpp | 3 + .../asio/detail/win_iocp_handle_service.hpp | 3 + .../asio/detail/win_iocp_handle_write_op.hpp | 3 + .../boost/asio/detail/win_iocp_io_context.hpp | 3 + .../asio/detail/win_iocp_null_buffers_op.hpp | 3 + .../boost/asio/detail/win_iocp_operation.hpp | 3 + .../asio/detail/win_iocp_overlapped_op.hpp | 3 + .../asio/detail/win_iocp_overlapped_ptr.hpp | 3 + .../detail/win_iocp_serial_port_service.hpp | 3 + .../asio/detail/win_iocp_socket_accept_op.hpp | 3 + .../detail/win_iocp_socket_connect_op.hpp | 3 + .../asio/detail/win_iocp_socket_recv_op.hpp | 3 + .../detail/win_iocp_socket_recvfrom_op.hpp | 3 + .../detail/win_iocp_socket_recvmsg_op.hpp | 3 + .../asio/detail/win_iocp_socket_send_op.hpp | 3 + .../asio/detail/win_iocp_socket_service.hpp | 3 + .../detail/win_iocp_socket_service_base.hpp | 3 + .../asio/detail/win_iocp_thread_info.hpp | 3 + .../boost/asio/detail/win_iocp_wait_op.hpp | 3 + .../include/boost/asio/detail/win_mutex.hpp | 3 + .../asio/detail/win_object_handle_service.hpp | 3 + .../boost/asio/detail/win_static_mutex.hpp | 3 + .../include/boost/asio/detail/win_thread.hpp | 3 + .../include/boost/asio/detail/win_tss_ptr.hpp | 3 + .../boost/asio/detail/winapp_thread.hpp | 3 + .../boost/asio/detail/wince_thread.hpp | 3 + .../boost/asio/detail/winrt_async_manager.hpp | 3 + .../boost/asio/detail/winrt_async_op.hpp | 3 + .../boost/asio/detail/winrt_resolve_op.hpp | 3 + .../asio/detail/winrt_resolver_service.hpp | 3 + .../asio/detail/winrt_socket_connect_op.hpp | 3 + .../asio/detail/winrt_socket_recv_op.hpp | 3 + .../asio/detail/winrt_socket_send_op.hpp | 3 + .../asio/detail/winrt_ssocket_service.hpp | 3 + .../detail/winrt_ssocket_service_base.hpp | 3 + .../asio/detail/winrt_timer_scheduler.hpp | 3 + .../include/boost/asio/detail/winrt_utils.hpp | 3 + .../boost/asio/detail/winsock_init.hpp | 3 + .../boost/asio/detail/work_dispatcher.hpp | 3 + .../boost/asio/detail/wrapped_handler.hpp | 3 + ThirdParty/include/boost/asio/dispatch.hpp | 3 + ThirdParty/include/boost/asio/error.hpp | 3 + .../include/boost/asio/execution_context.hpp | 3 + ThirdParty/include/boost/asio/executor.hpp | 3 + .../boost/asio/executor_work_guard.hpp | 3 + .../include/boost/asio/experimental.hpp | 3 + .../boost/asio/experimental/co_spawn.hpp | 3 + .../boost/asio/experimental/detached.hpp | 3 + .../boost/asio/experimental/impl/co_spawn.hpp | 3 + .../boost/asio/experimental/impl/detached.hpp | 3 + .../asio/experimental/impl/redirect_error.hpp | 3 + .../asio/experimental/redirect_error.hpp | 3 + .../boost/asio/generic/basic_endpoint.hpp | 3 + .../boost/asio/generic/datagram_protocol.hpp | 3 + .../boost/asio/generic/detail/endpoint.hpp | 3 + .../asio/generic/detail/impl/endpoint.ipp | 3 + .../boost/asio/generic/raw_protocol.hpp | 3 + .../asio/generic/seq_packet_protocol.hpp | 3 + .../boost/asio/generic/stream_protocol.hpp | 3 + .../include/boost/asio/handler_alloc_hook.hpp | 3 + .../boost/asio/handler_continuation_hook.hpp | 3 + .../boost/asio/handler_invoke_hook.hpp | 3 + .../include/boost/asio/handler_type.hpp | 3 + .../boost/asio/high_resolution_timer.hpp | 3 + .../boost/asio/impl/buffered_read_stream.hpp | 3 + .../boost/asio/impl/buffered_write_stream.hpp | 3 + .../include/boost/asio/impl/connect.hpp | 3 + ThirdParty/include/boost/asio/impl/defer.hpp | 3 + .../include/boost/asio/impl/dispatch.hpp | 3 + ThirdParty/include/boost/asio/impl/error.ipp | 3 + .../boost/asio/impl/execution_context.hpp | 3 + .../boost/asio/impl/execution_context.ipp | 3 + .../include/boost/asio/impl/executor.hpp | 3 + .../include/boost/asio/impl/executor.ipp | 3 + .../boost/asio/impl/handler_alloc_hook.ipp | 3 + .../include/boost/asio/impl/io_context.hpp | 3 + .../include/boost/asio/impl/io_context.ipp | 3 + ThirdParty/include/boost/asio/impl/post.hpp | 3 + ThirdParty/include/boost/asio/impl/read.hpp | 3 + .../include/boost/asio/impl/read_at.hpp | 3 + .../include/boost/asio/impl/read_until.hpp | 3 + .../boost/asio/impl/serial_port_base.hpp | 3 + .../boost/asio/impl/serial_port_base.ipp | 3 + ThirdParty/include/boost/asio/impl/spawn.hpp | 3 + ThirdParty/include/boost/asio/impl/src.cpp | 3 + ThirdParty/include/boost/asio/impl/src.hpp | 3 + .../boost/asio/impl/system_context.hpp | 3 + .../boost/asio/impl/system_context.ipp | 3 + .../boost/asio/impl/system_executor.hpp | 3 + .../include/boost/asio/impl/thread_pool.hpp | 3 + .../include/boost/asio/impl/thread_pool.ipp | 3 + .../include/boost/asio/impl/use_future.hpp | 3 + ThirdParty/include/boost/asio/impl/write.hpp | 3 + .../include/boost/asio/impl/write_at.hpp | 3 + ThirdParty/include/boost/asio/io_context.hpp | 3 + .../include/boost/asio/io_context_strand.hpp | 3 + ThirdParty/include/boost/asio/io_service.hpp | 3 + .../include/boost/asio/io_service_strand.hpp | 3 + ThirdParty/include/boost/asio/ip/address.hpp | 3 + .../include/boost/asio/ip/address_v4.hpp | 3 + .../boost/asio/ip/address_v4_iterator.hpp | 3 + .../boost/asio/ip/address_v4_range.hpp | 3 + .../include/boost/asio/ip/address_v6.hpp | 3 + .../boost/asio/ip/address_v6_iterator.hpp | 3 + .../boost/asio/ip/address_v6_range.hpp | 3 + .../boost/asio/ip/bad_address_cast.hpp | 3 + .../include/boost/asio/ip/basic_endpoint.hpp | 3 + .../include/boost/asio/ip/basic_resolver.hpp | 3 + .../boost/asio/ip/basic_resolver_entry.hpp | 3 + .../boost/asio/ip/basic_resolver_iterator.hpp | 3 + .../boost/asio/ip/basic_resolver_query.hpp | 3 + .../boost/asio/ip/basic_resolver_results.hpp | 3 + .../include/boost/asio/ip/detail/endpoint.hpp | 3 + .../boost/asio/ip/detail/impl/endpoint.ipp | 3 + .../boost/asio/ip/detail/socket_option.hpp | 3 + .../include/boost/asio/ip/host_name.hpp | 3 + ThirdParty/include/boost/asio/ip/icmp.hpp | 3 + .../include/boost/asio/ip/impl/address.hpp | 3 + .../include/boost/asio/ip/impl/address.ipp | 3 + .../include/boost/asio/ip/impl/address_v4.hpp | 3 + .../include/boost/asio/ip/impl/address_v4.ipp | 3 + .../include/boost/asio/ip/impl/address_v6.hpp | 3 + .../include/boost/asio/ip/impl/address_v6.ipp | 3 + .../boost/asio/ip/impl/basic_endpoint.hpp | 3 + .../include/boost/asio/ip/impl/host_name.ipp | 3 + .../include/boost/asio/ip/impl/network_v4.hpp | 3 + .../include/boost/asio/ip/impl/network_v4.ipp | 3 + .../include/boost/asio/ip/impl/network_v6.hpp | 3 + .../include/boost/asio/ip/impl/network_v6.ipp | 3 + .../include/boost/asio/ip/multicast.hpp | 3 + .../include/boost/asio/ip/network_v4.hpp | 3 + .../include/boost/asio/ip/network_v6.hpp | 3 + .../include/boost/asio/ip/resolver_base.hpp | 3 + .../boost/asio/ip/resolver_query_base.hpp | 3 + .../boost/asio/ip/resolver_service.hpp | 3 + ThirdParty/include/boost/asio/ip/tcp.hpp | 3 + ThirdParty/include/boost/asio/ip/udp.hpp | 3 + ThirdParty/include/boost/asio/ip/unicast.hpp | 3 + ThirdParty/include/boost/asio/ip/v6_only.hpp | 3 + ThirdParty/include/boost/asio/is_executor.hpp | 3 + .../include/boost/asio/is_read_buffered.hpp | 3 + .../include/boost/asio/is_write_buffered.hpp | 3 + .../boost/asio/local/basic_endpoint.hpp | 3 + .../include/boost/asio/local/connect_pair.hpp | 3 + .../boost/asio/local/datagram_protocol.hpp | 3 + .../boost/asio/local/detail/endpoint.hpp | 3 + .../boost/asio/local/detail/impl/endpoint.ipp | 3 + .../boost/asio/local/stream_protocol.hpp | 3 + .../include/boost/asio/packaged_task.hpp | 3 + .../include/boost/asio/placeholders.hpp | 3 + .../boost/asio/posix/basic_descriptor.hpp | 3 + .../asio/posix/basic_stream_descriptor.hpp | 3 + .../include/boost/asio/posix/descriptor.hpp | 3 + .../boost/asio/posix/descriptor_base.hpp | 3 + .../boost/asio/posix/stream_descriptor.hpp | 3 + .../asio/posix/stream_descriptor_service.hpp | 3 + ThirdParty/include/boost/asio/post.hpp | 3 + .../include/boost/asio/raw_socket_service.hpp | 3 + ThirdParty/include/boost/asio/read.hpp | 3 + ThirdParty/include/boost/asio/read_at.hpp | 3 + ThirdParty/include/boost/asio/read_until.hpp | 3 + .../boost/asio/seq_packet_socket_service.hpp | 3 + ThirdParty/include/boost/asio/serial_port.hpp | 3 + .../include/boost/asio/serial_port_base.hpp | 3 + .../boost/asio/serial_port_service.hpp | 3 + ThirdParty/include/boost/asio/signal_set.hpp | 3 + .../include/boost/asio/signal_set_service.hpp | 3 + .../boost/asio/socket_acceptor_service.hpp | 3 + ThirdParty/include/boost/asio/socket_base.hpp | 3 + ThirdParty/include/boost/asio/spawn.hpp | 3 + ThirdParty/include/boost/asio/ssl.hpp | 3 + ThirdParty/include/boost/asio/ssl/context.hpp | 3 + .../include/boost/asio/ssl/context_base.hpp | 3 + .../asio/ssl/detail/buffered_handshake_op.hpp | 3 + .../include/boost/asio/ssl/detail/engine.hpp | 3 + .../boost/asio/ssl/detail/handshake_op.hpp | 3 + .../boost/asio/ssl/detail/impl/engine.ipp | 3 + .../asio/ssl/detail/impl/openssl_init.ipp | 3 + .../include/boost/asio/ssl/detail/io.hpp | 3 + .../boost/asio/ssl/detail/openssl_init.hpp | 3 + .../boost/asio/ssl/detail/openssl_types.hpp | 3 + .../asio/ssl/detail/password_callback.hpp | 3 + .../include/boost/asio/ssl/detail/read_op.hpp | 3 + .../boost/asio/ssl/detail/shutdown_op.hpp | 3 + .../boost/asio/ssl/detail/stream_core.hpp | 3 + .../boost/asio/ssl/detail/verify_callback.hpp | 3 + .../boost/asio/ssl/detail/write_op.hpp | 3 + ThirdParty/include/boost/asio/ssl/error.hpp | 3 + .../include/boost/asio/ssl/impl/context.hpp | 3 + .../include/boost/asio/ssl/impl/context.ipp | 3 + .../include/boost/asio/ssl/impl/error.ipp | 3 + .../asio/ssl/impl/rfc2818_verification.ipp | 3 + .../include/boost/asio/ssl/impl/src.hpp | 3 + .../boost/asio/ssl/rfc2818_verification.hpp | 3 + ThirdParty/include/boost/asio/ssl/stream.hpp | 3 + .../include/boost/asio/ssl/stream_base.hpp | 3 + .../include/boost/asio/ssl/verify_context.hpp | 3 + .../include/boost/asio/ssl/verify_mode.hpp | 3 + .../include/boost/asio/steady_timer.hpp | 3 + ThirdParty/include/boost/asio/strand.hpp | 3 + .../boost/asio/stream_socket_service.hpp | 3 + ThirdParty/include/boost/asio/streambuf.hpp | 3 + .../include/boost/asio/system_context.hpp | 3 + .../include/boost/asio/system_executor.hpp | 3 + .../include/boost/asio/system_timer.hpp | 3 + ThirdParty/include/boost/asio/thread_pool.hpp | 3 + ThirdParty/include/boost/asio/time_traits.hpp | 3 + ThirdParty/include/boost/asio/ts/buffer.hpp | 3 + ThirdParty/include/boost/asio/ts/executor.hpp | 3 + ThirdParty/include/boost/asio/ts/internet.hpp | 3 + .../include/boost/asio/ts/io_context.hpp | 3 + ThirdParty/include/boost/asio/ts/net.hpp | 3 + ThirdParty/include/boost/asio/ts/netfwd.hpp | 3 + ThirdParty/include/boost/asio/ts/socket.hpp | 3 + ThirdParty/include/boost/asio/ts/timer.hpp | 3 + ThirdParty/include/boost/asio/unyield.hpp | 3 + ThirdParty/include/boost/asio/use_future.hpp | 3 + .../include/boost/asio/uses_executor.hpp | 3 + ThirdParty/include/boost/asio/version.hpp | 3 + ThirdParty/include/boost/asio/wait_traits.hpp | 3 + .../boost/asio/waitable_timer_service.hpp | 3 + .../boost/asio/windows/basic_handle.hpp | 3 + .../asio/windows/basic_object_handle.hpp | 3 + .../windows/basic_random_access_handle.hpp | 3 + .../asio/windows/basic_stream_handle.hpp | 3 + .../boost/asio/windows/object_handle.hpp | 3 + .../asio/windows/object_handle_service.hpp | 3 + .../boost/asio/windows/overlapped_handle.hpp | 3 + .../boost/asio/windows/overlapped_ptr.hpp | 3 + .../asio/windows/random_access_handle.hpp | 3 + .../windows/random_access_handle_service.hpp | 3 + .../boost/asio/windows/stream_handle.hpp | 3 + .../asio/windows/stream_handle_service.hpp | 3 + ThirdParty/include/boost/asio/write.hpp | 3 + ThirdParty/include/boost/asio/write_at.hpp | 3 + ThirdParty/include/boost/asio/yield.hpp | 3 + ThirdParty/include/boost/assert.hpp | 3 + ThirdParty/include/boost/bind.hpp | 3 + ThirdParty/include/boost/bind/apply.hpp | 3 + ThirdParty/include/boost/bind/arg.hpp | 3 + ThirdParty/include/boost/bind/bind.hpp | 3 + ThirdParty/include/boost/bind/bind_cc.hpp | 3 + ThirdParty/include/boost/bind/bind_mf2_cc.hpp | 3 + ThirdParty/include/boost/bind/bind_mf_cc.hpp | 3 + .../include/boost/bind/bind_template.hpp | 3 + .../include/boost/bind/make_adaptable.hpp | 3 + ThirdParty/include/boost/bind/mem_fn.hpp | 3 + ThirdParty/include/boost/bind/mem_fn_cc.hpp | 3 + .../include/boost/bind/mem_fn_template.hpp | 3 + ThirdParty/include/boost/bind/mem_fn_vw.hpp | 3 + .../include/boost/bind/placeholders.hpp | 3 + ThirdParty/include/boost/bind/protect.hpp | 3 + ThirdParty/include/boost/bind/storage.hpp | 3 + ThirdParty/include/boost/cerrno.hpp | 3 + ThirdParty/include/boost/checked_delete.hpp | 3 + ThirdParty/include/boost/config.hpp | 3 + .../boost/config/abi/borland_prefix.hpp | 3 + .../boost/config/abi/borland_suffix.hpp | 3 + .../include/boost/config/abi/msvc_prefix.hpp | 3 + .../include/boost/config/abi/msvc_suffix.hpp | 3 + .../include/boost/config/abi_prefix.hpp | 3 + .../include/boost/config/abi_suffix.hpp | 3 + ThirdParty/include/boost/config/auto_link.hpp | 3 + .../include/boost/config/compiler/borland.hpp | 3 + .../include/boost/config/compiler/clang.hpp | 3 + .../boost/config/compiler/codegear.hpp | 3 + .../include/boost/config/compiler/comeau.hpp | 3 + .../boost/config/compiler/common_edg.hpp | 3 + .../boost/config/compiler/compaq_cxx.hpp | 3 + .../include/boost/config/compiler/cray.hpp | 3 + .../include/boost/config/compiler/diab.hpp | 3 + .../boost/config/compiler/digitalmars.hpp | 3 + .../include/boost/config/compiler/gcc.hpp | 3 + .../include/boost/config/compiler/gcc_xml.hpp | 3 + .../boost/config/compiler/greenhills.hpp | 3 + .../include/boost/config/compiler/hp_acc.hpp | 3 + .../include/boost/config/compiler/intel.hpp | 3 + .../include/boost/config/compiler/kai.hpp | 3 + .../boost/config/compiler/metrowerks.hpp | 3 + .../include/boost/config/compiler/mpw.hpp | 3 + .../include/boost/config/compiler/nvcc.hpp | 3 + .../boost/config/compiler/pathscale.hpp | 3 + .../include/boost/config/compiler/pgi.hpp | 3 + .../boost/config/compiler/sgi_mipspro.hpp | 3 + .../boost/config/compiler/sunpro_cc.hpp | 3 + .../include/boost/config/compiler/vacpp.hpp | 3 + .../include/boost/config/compiler/visualc.hpp | 3 + .../include/boost/config/compiler/xlcpp.hpp | 3 + .../boost/config/compiler/xlcpp_zos.hpp | 3 + .../boost/config/detail/posix_features.hpp | 3 + .../config/detail/select_compiler_config.hpp | 3 + .../config/detail/select_platform_config.hpp | 3 + .../config/detail/select_stdlib_config.hpp | 3 + .../include/boost/config/detail/suffix.hpp | 3 + .../boost/config/header_deprecated.hpp | 3 + .../include/boost/config/helper_macros.hpp | 3 + .../include/boost/config/no_tr1/cmath.hpp | 3 + .../include/boost/config/no_tr1/complex.hpp | 3 + .../boost/config/no_tr1/functional.hpp | 3 + .../include/boost/config/no_tr1/memory.hpp | 3 + .../include/boost/config/no_tr1/utility.hpp | 3 + .../include/boost/config/platform/aix.hpp | 3 + .../include/boost/config/platform/amigaos.hpp | 3 + .../include/boost/config/platform/beos.hpp | 3 + .../include/boost/config/platform/bsd.hpp | 3 + .../boost/config/platform/cloudabi.hpp | 3 + .../include/boost/config/platform/cray.hpp | 3 + .../include/boost/config/platform/cygwin.hpp | 3 + .../include/boost/config/platform/haiku.hpp | 3 + .../include/boost/config/platform/hpux.hpp | 3 + .../include/boost/config/platform/irix.hpp | 3 + .../include/boost/config/platform/linux.hpp | 3 + .../include/boost/config/platform/macos.hpp | 3 + .../include/boost/config/platform/qnxnto.hpp | 3 + .../include/boost/config/platform/solaris.hpp | 3 + .../include/boost/config/platform/symbian.hpp | 3 + .../include/boost/config/platform/vms.hpp | 3 + .../include/boost/config/platform/vxworks.hpp | 3 + .../include/boost/config/platform/win32.hpp | 3 + .../include/boost/config/platform/zos.hpp | 3 + .../include/boost/config/pragma_message.hpp | 3 + .../include/boost/config/requires_threads.hpp | 3 + .../boost/config/stdlib/dinkumware.hpp | 3 + .../include/boost/config/stdlib/libcomo.hpp | 3 + .../include/boost/config/stdlib/libcpp.hpp | 3 + .../boost/config/stdlib/libstdcpp3.hpp | 3 + .../include/boost/config/stdlib/modena.hpp | 3 + .../include/boost/config/stdlib/msl.hpp | 3 + .../include/boost/config/stdlib/roguewave.hpp | 3 + .../include/boost/config/stdlib/sgi.hpp | 3 + .../include/boost/config/stdlib/stlport.hpp | 3 + .../include/boost/config/stdlib/vacpp.hpp | 3 + .../include/boost/config/stdlib/xlcpp_zos.hpp | 3 + ThirdParty/include/boost/config/user.hpp | 3 + .../include/boost/config/warning_disable.hpp | 3 + .../include/boost/config/workaround.hpp | 3 + .../include/boost/container/adaptive_pool.hpp | 3 + .../include/boost/container/allocator.hpp | 3 + .../boost/container/allocator_traits.hpp | 3 + .../include/boost/container/container_fwd.hpp | 3 + ThirdParty/include/boost/container/deque.hpp | 3 + .../container/detail/adaptive_node_pool.hpp | 3 + .../detail/adaptive_node_pool_impl.hpp | 3 + .../boost/container/detail/addressof.hpp | 3 + .../container/detail/advanced_insert_int.hpp | 3 + .../boost/container/detail/algorithm.hpp | 3 + .../boost/container/detail/alloc_helpers.hpp | 3 + .../boost/container/detail/alloc_lib.h | 3 + .../container/detail/allocation_type.hpp | 3 + .../detail/allocator_version_traits.hpp | 3 + .../boost/container/detail/auto_link.hpp | 3 + .../boost/container/detail/block_list.hpp | 3 + .../boost/container/detail/block_slist.hpp | 3 + .../container/detail/compare_functors.hpp | 3 + .../boost/container/detail/config_begin.hpp | 3 + .../boost/container/detail/config_end.hpp | 3 + .../container/detail/construct_in_place.hpp | 3 + .../detail/container_or_allocator_rebind.hpp | 3 + .../container/detail/container_rebind.hpp | 3 + .../boost/container/detail/copy_move_algo.hpp | 3 + .../boost/container/detail/destroyers.hpp | 3 + .../detail/dispatch_uses_allocator.hpp | 3 + .../boost/container/detail/dlmalloc.hpp | 3 + .../boost/container/detail/flat_tree.hpp | 3 + .../container/detail/function_detector.hpp | 3 + .../boost/container/detail/is_container.hpp | 3 + .../detail/is_contiguous_container.hpp | 3 + .../boost/container/detail/is_sorted.hpp | 3 + .../boost/container/detail/iterator.hpp | 3 + .../detail/iterator_to_raw_pointer.hpp | 3 + .../boost/container/detail/iterators.hpp | 3 + .../boost/container/detail/math_functions.hpp | 3 + .../boost/container/detail/min_max.hpp | 3 + .../detail/minimal_char_traits_header.hpp | 3 + .../include/boost/container/detail/mpl.hpp | 3 + .../detail/multiallocation_chain.hpp | 3 + .../include/boost/container/detail/mutex.hpp | 3 + .../boost/container/detail/next_capacity.hpp | 3 + .../container/detail/node_alloc_holder.hpp | 3 + .../boost/container/detail/node_pool.hpp | 3 + .../boost/container/detail/node_pool_impl.hpp | 3 + .../include/boost/container/detail/pair.hpp | 3 + .../detail/pair_key_mapped_of_value.hpp | 3 + .../boost/container/detail/placement_new.hpp | 3 + .../boost/container/detail/pool_common.hpp | 3 + .../container/detail/pool_common_alloc.hpp | 3 + .../boost/container/detail/pool_resource.hpp | 3 + .../boost/container/detail/singleton.hpp | 3 + .../boost/container/detail/std_fwd.hpp | 3 + .../boost/container/detail/thread_mutex.hpp | 3 + .../container/detail/transform_iterator.hpp | 3 + .../include/boost/container/detail/tree.hpp | 3 + .../boost/container/detail/type_traits.hpp | 3 + .../boost/container/detail/value_functors.hpp | 3 + .../boost/container/detail/value_init.hpp | 3 + .../detail/variadic_templates_tools.hpp | 3 + .../boost/container/detail/version_type.hpp | 3 + .../boost/container/detail/workaround.hpp | 3 + .../include/boost/container/flat_map.hpp | 3 + .../include/boost/container/flat_set.hpp | 3 + ThirdParty/include/boost/container/list.hpp | 3 + ThirdParty/include/boost/container/map.hpp | 3 + .../include/boost/container/new_allocator.hpp | 3 + .../boost/container/node_allocator.hpp | 3 + .../include/boost/container/node_handle.hpp | 3 + .../include/boost/container/options.hpp | 3 + .../include/boost/container/pmr/deque.hpp | 3 + .../include/boost/container/pmr/flat_map.hpp | 3 + .../include/boost/container/pmr/flat_set.hpp | 3 + .../boost/container/pmr/global_resource.hpp | 3 + .../include/boost/container/pmr/list.hpp | 3 + .../include/boost/container/pmr/map.hpp | 3 + .../boost/container/pmr/memory_resource.hpp | 3 + .../pmr/monotonic_buffer_resource.hpp | 3 + .../container/pmr/polymorphic_allocator.hpp | 3 + .../boost/container/pmr/pool_options.hpp | 3 + .../boost/container/pmr/resource_adaptor.hpp | 3 + .../include/boost/container/pmr/set.hpp | 3 + .../include/boost/container/pmr/slist.hpp | 3 + .../boost/container/pmr/small_vector.hpp | 3 + .../boost/container/pmr/stable_vector.hpp | 3 + .../include/boost/container/pmr/string.hpp | 3 + .../pmr/synchronized_pool_resource.hpp | 3 + .../pmr/unsynchronized_pool_resource.hpp | 3 + .../include/boost/container/pmr/vector.hpp | 3 + .../boost/container/scoped_allocator.hpp | 3 + .../boost/container/scoped_allocator_fwd.hpp | 3 + ThirdParty/include/boost/container/set.hpp | 3 + ThirdParty/include/boost/container/slist.hpp | 3 + .../include/boost/container/small_vector.hpp | 3 + .../include/boost/container/stable_vector.hpp | 3 + .../include/boost/container/static_vector.hpp | 3 + ThirdParty/include/boost/container/string.hpp | 3 + .../boost/container/throw_exception.hpp | 3 + .../boost/container/uses_allocator.hpp | 3 + .../boost/container/uses_allocator_fwd.hpp | 3 + ThirdParty/include/boost/container/vector.hpp | 3 + .../container_hash/detail/float_functions.hpp | 3 + .../container_hash/detail/hash_float.hpp | 3 + .../boost/container_hash/detail/limits.hpp | 3 + .../boost/container_hash/extensions.hpp | 3 + .../include/boost/container_hash/hash.hpp | 3 + .../include/boost/container_hash/hash_fwd.hpp | 3 + ThirdParty/include/boost/core/addressof.hpp | 3 + .../include/boost/core/checked_delete.hpp | 3 + ThirdParty/include/boost/core/demangle.hpp | 3 + ThirdParty/include/boost/core/empty_value.hpp | 3 + ThirdParty/include/boost/core/enable_if.hpp | 3 + ThirdParty/include/boost/core/exchange.hpp | 3 + .../boost/core/explicit_operator_bool.hpp | 3 + .../include/boost/core/ignore_unused.hpp | 3 + ThirdParty/include/boost/core/is_same.hpp | 3 + .../include/boost/core/lightweight_test.hpp | 3 + .../boost/core/lightweight_test_trait.hpp | 3 + .../boost/core/no_exceptions_support.hpp | 3 + ThirdParty/include/boost/core/noncopyable.hpp | 3 + .../include/boost/core/null_deleter.hpp | 3 + .../include/boost/core/pointer_traits.hpp | 3 + ThirdParty/include/boost/core/quick_exit.hpp | 3 + ThirdParty/include/boost/core/ref.hpp | 3 + ThirdParty/include/boost/core/scoped_enum.hpp | 3 + ThirdParty/include/boost/core/swap.hpp | 3 + ThirdParty/include/boost/core/typeinfo.hpp | 3 + .../include/boost/core/underlying_type.hpp | 3 + ThirdParty/include/boost/cstdint.hpp | 3 + ThirdParty/include/boost/current_function.hpp | 3 + ThirdParty/include/boost/date_time.hpp | 3 + .../boost/date_time/adjust_functors.hpp | 3 + .../boost/date_time/c_local_time_adjustor.hpp | 3 + ThirdParty/include/boost/date_time/c_time.hpp | 3 + .../boost/date_time/compiler_config.hpp | 3 + .../boost/date_time/constrained_value.hpp | 3 + ThirdParty/include/boost/date_time/date.hpp | 3 + .../boost/date_time/date_clock_device.hpp | 3 + .../include/boost/date_time/date_defs.hpp | 3 + .../include/boost/date_time/date_duration.hpp | 3 + .../boost/date_time/date_duration_types.hpp | 3 + .../include/boost/date_time/date_facet.hpp | 3 + .../boost/date_time/date_format_simple.hpp | 3 + .../boost/date_time/date_formatting.hpp | 3 + .../date_time/date_formatting_limited.hpp | 3 + .../date_time/date_formatting_locales.hpp | 3 + .../date_time/date_generator_formatter.hpp | 3 + .../boost/date_time/date_generator_parser.hpp | 3 + .../boost/date_time/date_generators.hpp | 3 + .../include/boost/date_time/date_iterator.hpp | 3 + .../boost/date_time/date_names_put.hpp | 3 + .../include/boost/date_time/date_parsing.hpp | 3 + .../include/boost/date_time/dst_rules.hpp | 3 + .../date_time/dst_transition_generators.hpp | 3 + .../boost/date_time/filetime_functions.hpp | 3 + .../boost/date_time/format_date_parser.hpp | 3 + .../boost/date_time/gregorian/conversion.hpp | 3 + .../boost/date_time/gregorian/formatters.hpp | 3 + .../gregorian/formatters_limited.hpp | 3 + .../date_time/gregorian/greg_calendar.hpp | 3 + .../boost/date_time/gregorian/greg_date.hpp | 3 + .../boost/date_time/gregorian/greg_day.hpp | 3 + .../date_time/gregorian/greg_day_of_year.hpp | 3 + .../date_time/gregorian/greg_duration.hpp | 3 + .../gregorian/greg_duration_types.hpp | 3 + .../boost/date_time/gregorian/greg_facet.hpp | 3 + .../boost/date_time/gregorian/greg_month.hpp | 3 + .../date_time/gregorian/greg_serialize.hpp | 3 + .../date_time/gregorian/greg_weekday.hpp | 3 + .../boost/date_time/gregorian/greg_year.hpp | 3 + .../boost/date_time/gregorian/greg_ymd.hpp | 3 + .../boost/date_time/gregorian/gregorian.hpp | 3 + .../date_time/gregorian/gregorian_io.hpp | 3 + .../date_time/gregorian/gregorian_types.hpp | 3 + .../boost/date_time/gregorian/parsers.hpp | 3 + .../boost/date_time/gregorian_calendar.hpp | 3 + .../boost/date_time/gregorian_calendar.ipp | 3 + .../include/boost/date_time/int_adapter.hpp | 3 + .../include/boost/date_time/iso_format.hpp | 3 + .../boost/date_time/local_time/conversion.hpp | 3 + .../date_time/local_time/custom_time_zone.hpp | 3 + .../local_time/date_duration_operators.hpp | 3 + .../local_time/dst_transition_day_rules.hpp | 3 + .../date_time/local_time/local_date_time.hpp | 3 + .../boost/date_time/local_time/local_time.hpp | 3 + .../date_time/local_time/local_time_io.hpp | 3 + .../date_time/local_time/local_time_types.hpp | 3 + .../date_time/local_time/posix_time_zone.hpp | 3 + .../date_time/local_time/tz_database.hpp | 3 + .../boost/date_time/local_time_adjustor.hpp | 3 + .../boost/date_time/local_timezone_defs.hpp | 3 + .../include/boost/date_time/locale_config.hpp | 3 + .../boost/date_time/microsec_time_clock.hpp | 3 + .../boost/date_time/parse_format_base.hpp | 3 + ThirdParty/include/boost/date_time/period.hpp | 3 + .../boost/date_time/period_formatter.hpp | 3 + .../include/boost/date_time/period_parser.hpp | 3 + .../boost/date_time/posix_time/conversion.hpp | 3 + .../posix_time/date_duration_operators.hpp | 3 + .../boost/date_time/posix_time/posix_time.hpp | 3 + .../posix_time/posix_time_config.hpp | 3 + .../posix_time/posix_time_duration.hpp | 3 + .../date_time/posix_time/posix_time_io.hpp | 3 + .../posix_time/posix_time_legacy_io.hpp | 3 + .../posix_time/posix_time_system.hpp | 3 + .../date_time/posix_time/posix_time_types.hpp | 3 + .../boost/date_time/posix_time/ptime.hpp | 3 + .../date_time/posix_time/time_formatters.hpp | 3 + .../posix_time/time_formatters_limited.hpp | 3 + .../date_time/posix_time/time_parsers.hpp | 3 + .../date_time/posix_time/time_period.hpp | 3 + .../date_time/posix_time/time_serialize.hpp | 3 + .../include/boost/date_time/special_defs.hpp | 3 + .../date_time/special_values_formatter.hpp | 3 + .../boost/date_time/special_values_parser.hpp | 3 + .../boost/date_time/string_convert.hpp | 3 + .../boost/date_time/string_parse_tree.hpp | 3 + .../boost/date_time/strings_from_facet.hpp | 3 + ThirdParty/include/boost/date_time/time.hpp | 3 + .../include/boost/date_time/time_clock.hpp | 3 + .../include/boost/date_time/time_defs.hpp | 3 + .../include/boost/date_time/time_duration.hpp | 3 + .../include/boost/date_time/time_facet.hpp | 3 + .../date_time/time_formatting_streams.hpp | 3 + .../include/boost/date_time/time_iterator.hpp | 3 + .../include/boost/date_time/time_parsing.hpp | 3 + .../date_time/time_resolution_traits.hpp | 3 + .../boost/date_time/time_system_counted.hpp | 3 + .../boost/date_time/time_system_split.hpp | 3 + .../boost/date_time/time_zone_base.hpp | 3 + .../boost/date_time/time_zone_names.hpp | 3 + .../include/boost/date_time/tz_db_base.hpp | 3 + .../include/boost/date_time/wrapping_int.hpp | 3 + .../boost/date_time/year_month_day.hpp | 3 + ThirdParty/include/boost/detail/algorithm.hpp | 3 + .../boost/detail/allocator_utilities.hpp | 3 + .../include/boost/detail/atomic_count.hpp | 3 + .../include/boost/detail/basic_pointerbuf.hpp | 3 + .../include/boost/detail/binary_search.hpp | 3 + ThirdParty/include/boost/detail/bitmask.hpp | 3 + .../include/boost/detail/call_traits.hpp | 3 + .../include/boost/detail/catch_exceptions.hpp | 3 + .../include/boost/detail/compressed_pair.hpp | 3 + .../include/boost/detail/container_fwd.hpp | 3 + ThirdParty/include/boost/detail/endian.hpp | 3 + ThirdParty/include/boost/detail/fenv.hpp | 3 + .../boost/detail/has_default_constructor.hpp | 3 + .../include/boost/detail/identifier.hpp | 3 + .../include/boost/detail/indirect_traits.hpp | 3 + .../include/boost/detail/interlocked.hpp | 3 + .../include/boost/detail/is_incrementable.hpp | 3 + ThirdParty/include/boost/detail/is_sorted.hpp | 3 + ThirdParty/include/boost/detail/is_xxx.hpp | 3 + ThirdParty/include/boost/detail/iterator.hpp | 3 + .../include/boost/detail/lcast_precision.hpp | 3 + .../include/boost/detail/lightweight_main.hpp | 3 + .../boost/detail/lightweight_mutex.hpp | 3 + .../include/boost/detail/lightweight_test.hpp | 3 + .../boost/detail/lightweight_test_report.hpp | 3 + .../boost/detail/lightweight_thread.hpp | 3 + .../boost/detail/named_template_params.hpp | 3 + .../boost/detail/no_exceptions_support.hpp | 3 + .../include/boost/detail/numeric_traits.hpp | 3 + .../boost/detail/ob_compressed_pair.hpp | 3 + .../include/boost/detail/quick_allocator.hpp | 3 + .../boost/detail/reference_content.hpp | 3 + .../boost/detail/scoped_enum_emulation.hpp | 3 + .../include/boost/detail/select_type.hpp | 3 + .../include/boost/detail/sp_typeinfo.hpp | 3 + .../boost/detail/templated_streams.hpp | 3 + .../boost/detail/utf8_codecvt_facet.hpp | 3 + .../boost/detail/utf8_codecvt_facet.ipp | 3 + .../boost/detail/winapi/access_rights.hpp | 3 + .../include/boost/detail/winapi/apc.hpp | 3 + .../boost/detail/winapi/basic_types.hpp | 3 + .../include/boost/detail/winapi/bcrypt.hpp | 3 + .../winapi/character_code_conversion.hpp | 3 + .../detail/winapi/condition_variable.hpp | 3 + .../include/boost/detail/winapi/config.hpp | 3 + .../boost/detail/winapi/critical_section.hpp | 3 + .../include/boost/detail/winapi/crypt.hpp | 3 + .../include/boost/detail/winapi/dbghelp.hpp | 3 + .../include/boost/detail/winapi/debugapi.hpp | 3 + .../winapi/detail/deprecated_namespace.hpp | 3 + .../detail/winapi/directory_management.hpp | 3 + .../include/boost/detail/winapi/dll.hpp | 3 + .../boost/detail/winapi/environment.hpp | 3 + .../boost/detail/winapi/error_codes.hpp | 3 + .../boost/detail/winapi/error_handling.hpp | 3 + .../include/boost/detail/winapi/event.hpp | 3 + .../boost/detail/winapi/file_management.hpp | 3 + .../boost/detail/winapi/file_mapping.hpp | 3 + .../detail/winapi/get_current_process.hpp | 3 + .../detail/winapi/get_current_process_id.hpp | 3 + .../detail/winapi/get_current_thread.hpp | 3 + .../detail/winapi/get_current_thread_id.hpp | 3 + .../boost/detail/winapi/get_last_error.hpp | 3 + .../boost/detail/winapi/get_process_times.hpp | 3 + .../detail/winapi/get_system_directory.hpp | 3 + .../boost/detail/winapi/get_thread_times.hpp | 3 + .../boost/detail/winapi/handle_info.hpp | 3 + .../include/boost/detail/winapi/handles.hpp | 3 + .../boost/detail/winapi/heap_memory.hpp | 3 + .../include/boost/detail/winapi/init_once.hpp | 3 + .../include/boost/detail/winapi/jobs.hpp | 3 + .../include/boost/detail/winapi/limits.hpp | 3 + .../boost/detail/winapi/local_memory.hpp | 3 + .../include/boost/detail/winapi/memory.hpp | 3 + .../include/boost/detail/winapi/mutex.hpp | 3 + .../boost/detail/winapi/overlapped.hpp | 3 + .../detail/winapi/page_protection_flags.hpp | 3 + .../include/boost/detail/winapi/pipes.hpp | 3 + .../boost/detail/winapi/priority_class.hpp | 3 + .../include/boost/detail/winapi/process.hpp | 3 + .../include/boost/detail/winapi/security.hpp | 3 + .../include/boost/detail/winapi/semaphore.hpp | 3 + .../include/boost/detail/winapi/shell.hpp | 3 + .../boost/detail/winapi/show_window.hpp | 3 + .../include/boost/detail/winapi/srw_lock.hpp | 3 + .../boost/detail/winapi/stack_backtrace.hpp | 3 + .../boost/detail/winapi/synchronization.hpp | 3 + .../include/boost/detail/winapi/system.hpp | 3 + .../include/boost/detail/winapi/thread.hpp | 3 + .../boost/detail/winapi/thread_pool.hpp | 3 + .../include/boost/detail/winapi/time.hpp | 3 + .../include/boost/detail/winapi/timers.hpp | 3 + .../include/boost/detail/winapi/tls.hpp | 3 + .../include/boost/detail/winapi/wait.hpp | 3 + .../boost/detail/winapi/waitable_timer.hpp | 3 + .../include/boost/detail/workaround.hpp | 3 + ThirdParty/include/boost/exception/all.hpp | 3 + .../exception/current_exception_cast.hpp | 3 + .../detail/clone_current_exception.hpp | 3 + .../exception/detail/error_info_impl.hpp | 3 + .../boost/exception/detail/exception_ptr.hpp | 3 + .../exception/detail/is_output_streamable.hpp | 3 + .../exception/detail/object_hex_dump.hpp | 3 + .../boost/exception/detail/shared_ptr.hpp | 3 + .../boost/exception/detail/type_info.hpp | 3 + .../exception/diagnostic_information.hpp | 3 + .../exception/enable_current_exception.hpp | 3 + .../boost/exception/enable_error_info.hpp | 3 + .../boost/exception/errinfo_api_function.hpp | 3 + .../boost/exception/errinfo_at_line.hpp | 3 + .../include/boost/exception/errinfo_errno.hpp | 3 + .../boost/exception/errinfo_file_handle.hpp | 3 + .../boost/exception/errinfo_file_name.hpp | 3 + .../exception/errinfo_file_open_mode.hpp | 3 + .../exception/errinfo_nested_exception.hpp | 3 + .../exception/errinfo_type_info_name.hpp | 3 + .../include/boost/exception/error_info.hpp | 3 + .../include/boost/exception/exception.hpp | 3 + .../boost/exception/get_error_info.hpp | 3 + ThirdParty/include/boost/exception/info.hpp | 3 + .../include/boost/exception/info_tuple.hpp | 3 + .../include/boost/exception/to_string.hpp | 3 + .../boost/exception/to_string_stub.hpp | 3 + ThirdParty/include/boost/functional.hpp | 3 + .../include/boost/functional/factory.hpp | 3 + .../boost/functional/forward_adapter.hpp | 3 + ThirdParty/include/boost/functional/hash.hpp | 3 + .../boost/functional/hash/extensions.hpp | 3 + .../include/boost/functional/hash/hash.hpp | 3 + .../boost/functional/hash/hash_fwd.hpp | 3 + .../include/boost/functional/hash_fwd.hpp | 3 + .../lightweight_forward_adapter.hpp | 3 + .../boost/functional/overloaded_function.hpp | 3 + .../functional/overloaded_function/config.hpp | 3 + .../overloaded_function/detail/base.hpp | 3 + .../detail/function_type.hpp | 3 + .../boost/functional/value_factory.hpp | 3 + ThirdParty/include/boost/get_pointer.hpp | 3 + ThirdParty/include/boost/integer.hpp | 3 + .../include/boost/integer/common_factor.hpp | 3 + .../boost/integer/common_factor_ct.hpp | 3 + .../boost/integer/common_factor_rt.hpp | 3 + .../include/boost/integer/integer_log2.hpp | 3 + .../include/boost/integer/integer_mask.hpp | 3 + .../include/boost/integer/static_log2.hpp | 3 + .../include/boost/integer/static_min_max.hpp | 3 + ThirdParty/include/boost/integer_fwd.hpp | 3 + .../interprocess/allocators/adaptive_pool.hpp | 3 + .../interprocess/allocators/allocator.hpp | 3 + .../allocators/cached_adaptive_pool.hpp | 3 + .../allocators/cached_node_allocator.hpp | 3 + .../allocators/detail/adaptive_node_pool.hpp | 3 + .../allocators/detail/allocator_common.hpp | 3 + .../allocators/detail/node_pool.hpp | 3 + .../allocators/detail/node_tools.hpp | 3 + .../allocators/node_allocator.hpp | 3 + .../allocators/private_adaptive_pool.hpp | 3 + .../allocators/private_node_allocator.hpp | 3 + .../interprocess/anonymous_shared_memory.hpp | 3 + .../containers/allocation_type.hpp | 3 + .../containers/containers_fwd.hpp | 3 + .../boost/interprocess/containers/deque.hpp | 3 + .../interprocess/containers/flat_map.hpp | 3 + .../interprocess/containers/flat_set.hpp | 3 + .../boost/interprocess/containers/list.hpp | 3 + .../boost/interprocess/containers/map.hpp | 3 + .../boost/interprocess/containers/pair.hpp | 3 + .../boost/interprocess/containers/set.hpp | 3 + .../boost/interprocess/containers/slist.hpp | 3 + .../interprocess/containers/stable_vector.hpp | 3 + .../boost/interprocess/containers/string.hpp | 3 + .../boost/interprocess/containers/vector.hpp | 3 + .../interprocess/containers/version_type.hpp | 3 + .../boost/interprocess/creation_tags.hpp | 3 + .../boost/interprocess/detail/atomic.hpp | 3 + .../boost/interprocess/detail/cast_tags.hpp | 3 + .../interprocess/detail/config_begin.hpp | 3 + .../boost/interprocess/detail/config_end.hpp | 3 + .../detail/config_external_begin.hpp | 3 + .../detail/config_external_end.hpp | 3 + .../detail/file_locking_helpers.hpp | 3 + .../interprocess/detail/file_wrapper.hpp | 3 + .../detail/in_place_interface.hpp | 3 + .../detail/intermodule_singleton.hpp | 3 + .../detail/intermodule_singleton_common.hpp | 3 + .../detail/interprocess_tester.hpp | 3 + .../interprocess/detail/intersegment_ptr.hpp | 3 + .../detail/managed_global_memory.hpp | 3 + .../detail/managed_memory_impl.hpp | 3 + .../detail/managed_multi_shared_memory.hpp | 3 + .../detail/managed_open_or_create_impl.hpp | 3 + .../interprocess/detail/math_functions.hpp | 3 + .../boost/interprocess/detail/min_max.hpp | 3 + .../boost/interprocess/detail/move.hpp | 3 + .../include/boost/interprocess/detail/mpl.hpp | 3 + .../boost/interprocess/detail/named_proxy.hpp | 3 + .../boost/interprocess/detail/nothrow.hpp | 3 + .../interprocess/detail/os_file_functions.hpp | 3 + .../detail/os_thread_functions.hpp | 3 + .../interprocess/detail/pointer_type.hpp | 3 + .../detail/portable_intermodule_singleton.hpp | 3 + .../detail/posix_time_types_wrk.hpp | 3 + .../boost/interprocess/detail/ptime_wrk.hpp | 3 + .../interprocess/detail/robust_emulation.hpp | 3 + .../detail/segment_manager_helper.hpp | 3 + .../detail/shared_dir_helpers.hpp | 3 + .../boost/interprocess/detail/simple_swap.hpp | 3 + .../boost/interprocess/detail/std_fwd.hpp | 3 + .../detail/transform_iterator.hpp | 3 + .../boost/interprocess/detail/type_traits.hpp | 3 + .../boost/interprocess/detail/utilities.hpp | 3 + .../detail/variadic_templates_tools.hpp | 3 + .../boost/interprocess/detail/win32_api.hpp | 3 + .../detail/windows_intermodule_singleton.hpp | 3 + .../boost/interprocess/detail/workaround.hpp | 3 + .../detail/xsi_shared_memory_file_wrapper.hpp | 3 + .../include/boost/interprocess/errors.hpp | 3 + .../include/boost/interprocess/exceptions.hpp | 3 + .../boost/interprocess/file_mapping.hpp | 3 + .../interprocess/indexes/flat_map_index.hpp | 3 + .../boost/interprocess/indexes/iset_index.hpp | 3 + .../indexes/iunordered_set_index.hpp | 3 + .../boost/interprocess/indexes/map_index.hpp | 3 + .../boost/interprocess/indexes/null_index.hpp | 3 + .../indexes/unordered_map_index.hpp | 3 + .../boost/interprocess/interprocess_fwd.hpp | 3 + .../boost/interprocess/ipc/message_queue.hpp | 3 + .../interprocess/managed_external_buffer.hpp | 3 + .../interprocess/managed_heap_memory.hpp | 3 + .../interprocess/managed_mapped_file.hpp | 3 + .../interprocess/managed_shared_memory.hpp | 3 + .../managed_windows_shared_memory.hpp | 3 + .../managed_xsi_shared_memory.hpp | 3 + .../boost/interprocess/mapped_region.hpp | 3 + .../mem_algo/detail/mem_algo_common.hpp | 3 + .../mem_algo/detail/simple_seq_fit_impl.hpp | 3 + .../interprocess/mem_algo/rbtree_best_fit.hpp | 3 + .../interprocess/mem_algo/simple_seq_fit.hpp | 3 + .../include/boost/interprocess/offset_ptr.hpp | 3 + .../boost/interprocess/permissions.hpp | 3 + .../boost/interprocess/segment_manager.hpp | 3 + .../interprocess/shared_memory_object.hpp | 3 + .../boost/interprocess/smart_ptr/deleter.hpp | 3 + .../smart_ptr/detail/bad_weak_ptr.hpp | 3 + .../smart_ptr/detail/shared_count.hpp | 3 + .../smart_ptr/detail/sp_counted_base.hpp | 3 + .../detail/sp_counted_base_atomic.hpp | 3 + .../smart_ptr/detail/sp_counted_impl.hpp | 3 + .../smart_ptr/enable_shared_from_this.hpp | 3 + .../interprocess/smart_ptr/intrusive_ptr.hpp | 3 + .../interprocess/smart_ptr/scoped_ptr.hpp | 3 + .../interprocess/smart_ptr/shared_ptr.hpp | 3 + .../interprocess/smart_ptr/unique_ptr.hpp | 3 + .../boost/interprocess/smart_ptr/weak_ptr.hpp | 3 + .../interprocess/streams/bufferstream.hpp | 3 + .../interprocess/streams/vectorstream.hpp | 3 + .../sync/detail/common_algorithms.hpp | 3 + .../sync/detail/condition_algorithm_8a.hpp | 3 + .../sync/detail/condition_any_algorithm.hpp | 3 + .../boost/interprocess/sync/detail/locks.hpp | 3 + .../boost/interprocess/sync/file_lock.hpp | 3 + .../sync/interprocess_condition.hpp | 3 + .../sync/interprocess_condition_any.hpp | 3 + .../interprocess/sync/interprocess_mutex.hpp | 3 + .../sync/interprocess_recursive_mutex.hpp | 3 + .../sync/interprocess_semaphore.hpp | 3 + .../sync/interprocess_sharable_mutex.hpp | 3 + .../sync/interprocess_upgradable_mutex.hpp | 3 + .../boost/interprocess/sync/lock_options.hpp | 3 + .../boost/interprocess/sync/mutex_family.hpp | 3 + .../interprocess/sync/named_condition.hpp | 3 + .../interprocess/sync/named_condition_any.hpp | 3 + .../boost/interprocess/sync/named_mutex.hpp | 3 + .../sync/named_recursive_mutex.hpp | 3 + .../interprocess/sync/named_semaphore.hpp | 3 + .../sync/named_sharable_mutex.hpp | 3 + .../sync/named_upgradable_mutex.hpp | 3 + .../boost/interprocess/sync/null_mutex.hpp | 3 + .../interprocess/sync/posix/condition.hpp | 3 + .../boost/interprocess/sync/posix/mutex.hpp | 3 + .../interprocess/sync/posix/named_mutex.hpp | 3 + .../sync/posix/named_semaphore.hpp | 3 + .../sync/posix/pthread_helpers.hpp | 3 + .../sync/posix/ptime_to_timespec.hpp | 3 + .../sync/posix/recursive_mutex.hpp | 3 + .../interprocess/sync/posix/semaphore.hpp | 3 + .../sync/posix/semaphore_wrapper.hpp | 3 + .../boost/interprocess/sync/scoped_lock.hpp | 3 + .../boost/interprocess/sync/sharable_lock.hpp | 3 + .../interprocess/sync/shm/named_condition.hpp | 3 + .../sync/shm/named_condition_any.hpp | 3 + .../sync/shm/named_creation_functor.hpp | 3 + .../interprocess/sync/shm/named_mutex.hpp | 3 + .../sync/shm/named_recursive_mutex.hpp | 3 + .../interprocess/sync/shm/named_semaphore.hpp | 3 + .../sync/shm/named_upgradable_mutex.hpp | 3 + .../interprocess/sync/spin/condition.hpp | 3 + .../sync/spin/interprocess_barrier.hpp | 3 + .../boost/interprocess/sync/spin/mutex.hpp | 3 + .../sync/spin/recursive_mutex.hpp | 3 + .../interprocess/sync/spin/semaphore.hpp | 3 + .../boost/interprocess/sync/spin/wait.hpp | 3 + .../interprocess/sync/upgradable_lock.hpp | 3 + .../interprocess/sync/windows/condition.hpp | 3 + .../boost/interprocess/sync/windows/mutex.hpp | 3 + .../sync/windows/named_condition.hpp | 3 + .../sync/windows/named_condition_any.hpp | 3 + .../interprocess/sync/windows/named_mutex.hpp | 3 + .../sync/windows/named_recursive_mutex.hpp | 3 + .../sync/windows/named_semaphore.hpp | 3 + .../interprocess/sync/windows/named_sync.hpp | 3 + .../sync/windows/recursive_mutex.hpp | 3 + .../interprocess/sync/windows/semaphore.hpp | 3 + .../interprocess/sync/windows/sync_utils.hpp | 3 + .../sync/windows/winapi_mutex_wrapper.hpp | 3 + .../sync/windows/winapi_semaphore_wrapper.hpp | 3 + .../sync/windows/winapi_wrapper_common.hpp | 3 + .../interprocess/windows_shared_memory.hpp | 3 + .../include/boost/interprocess/xsi_key.hpp | 3 + .../boost/interprocess/xsi_shared_memory.hpp | 3 + .../include/boost/intrusive/any_hook.hpp | 3 + .../include/boost/intrusive/avl_set.hpp | 3 + .../include/boost/intrusive/avl_set_hook.hpp | 3 + .../include/boost/intrusive/avltree.hpp | 3 + .../boost/intrusive/avltree_algorithms.hpp | 3 + ThirdParty/include/boost/intrusive/bs_set.hpp | 3 + .../include/boost/intrusive/bs_set_hook.hpp | 3 + ThirdParty/include/boost/intrusive/bstree.hpp | 3 + .../boost/intrusive/bstree_algorithms.hpp | 3 + .../intrusive/circular_list_algorithms.hpp | 3 + .../intrusive/circular_slist_algorithms.hpp | 3 + .../intrusive/derivation_value_traits.hpp | 3 + .../boost/intrusive/detail/algo_type.hpp | 3 + .../boost/intrusive/detail/algorithm.hpp | 3 + .../detail/any_node_and_algorithms.hpp | 3 + .../intrusive/detail/array_initializer.hpp | 3 + .../include/boost/intrusive/detail/assert.hpp | 3 + .../boost/intrusive/detail/avltree_node.hpp | 3 + .../detail/bstree_algorithms_base.hpp | 3 + .../detail/common_slist_algorithms.hpp | 3 + .../boost/intrusive/detail/config_begin.hpp | 3 + .../boost/intrusive/detail/config_end.hpp | 3 + .../detail/default_header_holder.hpp | 3 + .../intrusive/detail/ebo_functor_holder.hpp | 3 + .../intrusive/detail/empty_node_checker.hpp | 3 + .../boost/intrusive/detail/equal_to_value.hpp | 3 + .../intrusive/detail/exception_disposer.hpp | 3 + .../intrusive/detail/function_detector.hpp | 3 + .../boost/intrusive/detail/generic_hook.hpp | 3 + .../intrusive/detail/get_value_traits.hpp | 3 + .../has_member_function_callable_with.hpp | 3 + .../boost/intrusive/detail/hashtable_node.hpp | 3 + .../boost/intrusive/detail/hook_traits.hpp | 3 + .../boost/intrusive/detail/iiterator.hpp | 3 + .../detail/is_stateful_value_traits.hpp | 3 + .../boost/intrusive/detail/iterator.hpp | 3 + .../intrusive/detail/key_nodeptr_comp.hpp | 3 + .../boost/intrusive/detail/list_iterator.hpp | 3 + .../boost/intrusive/detail/list_node.hpp | 3 + .../include/boost/intrusive/detail/math.hpp | 3 + .../detail/minimal_less_equal_header.hpp | 3 + .../intrusive/detail/minimal_pair_header.hpp | 3 + .../include/boost/intrusive/detail/mpl.hpp | 3 + .../intrusive/detail/node_cloner_disposer.hpp | 3 + .../boost/intrusive/detail/node_holder.hpp | 3 + .../boost/intrusive/detail/node_to_value.hpp | 3 + .../intrusive/detail/parent_from_member.hpp | 3 + .../boost/intrusive/detail/rbtree_node.hpp | 3 + .../intrusive/detail/reverse_iterator.hpp | 3 + .../intrusive/detail/simple_disposers.hpp | 3 + .../boost/intrusive/detail/size_holder.hpp | 3 + .../boost/intrusive/detail/slist_iterator.hpp | 3 + .../boost/intrusive/detail/slist_node.hpp | 3 + .../boost/intrusive/detail/std_fwd.hpp | 3 + .../intrusive/detail/transform_iterator.hpp | 3 + .../boost/intrusive/detail/tree_iterator.hpp | 3 + .../boost/intrusive/detail/tree_node.hpp | 3 + .../intrusive/detail/tree_value_compare.hpp | 3 + .../include/boost/intrusive/detail/uncast.hpp | 3 + .../boost/intrusive/detail/workaround.hpp | 3 + .../include/boost/intrusive/hashtable.hpp | 3 + .../include/boost/intrusive/intrusive_fwd.hpp | 3 + .../intrusive/linear_slist_algorithms.hpp | 3 + .../include/boost/intrusive/link_mode.hpp | 3 + ThirdParty/include/boost/intrusive/list.hpp | 3 + .../include/boost/intrusive/list_hook.hpp | 3 + .../boost/intrusive/member_value_traits.hpp | 3 + .../include/boost/intrusive/options.hpp | 3 + .../include/boost/intrusive/pack_options.hpp | 3 + .../boost/intrusive/parent_from_member.hpp | 3 + .../boost/intrusive/pointer_plus_bits.hpp | 3 + .../boost/intrusive/pointer_rebind.hpp | 3 + .../boost/intrusive/pointer_traits.hpp | 3 + .../boost/intrusive/priority_compare.hpp | 3 + ThirdParty/include/boost/intrusive/rbtree.hpp | 3 + .../boost/intrusive/rbtree_algorithms.hpp | 3 + ThirdParty/include/boost/intrusive/set.hpp | 3 + .../include/boost/intrusive/set_hook.hpp | 3 + ThirdParty/include/boost/intrusive/sg_set.hpp | 3 + ThirdParty/include/boost/intrusive/sgtree.hpp | 3 + .../boost/intrusive/sgtree_algorithms.hpp | 3 + ThirdParty/include/boost/intrusive/slist.hpp | 3 + .../include/boost/intrusive/slist_hook.hpp | 3 + .../include/boost/intrusive/splay_set.hpp | 3 + .../include/boost/intrusive/splaytree.hpp | 3 + .../boost/intrusive/splaytree_algorithms.hpp | 3 + ThirdParty/include/boost/intrusive/treap.hpp | 3 + .../boost/intrusive/treap_algorithms.hpp | 3 + .../include/boost/intrusive/treap_set.hpp | 3 + .../boost/intrusive/trivial_value_traits.hpp | 3 + .../include/boost/intrusive/unordered_set.hpp | 3 + .../boost/intrusive/unordered_set_hook.hpp | 3 + ThirdParty/include/boost/is_placeholder.hpp | 3 + ThirdParty/include/boost/limits.hpp | 3 + ThirdParty/include/boost/mem_fn.hpp | 3 + .../include/boost/move/adl_move_swap.hpp | 3 + .../boost/move/algo/adaptive_merge.hpp | 3 + .../include/boost/move/algo/adaptive_sort.hpp | 3 + .../move/algo/detail/adaptive_sort_merge.hpp | 3 + .../boost/move/algo/detail/basic_op.hpp | 3 + .../boost/move/algo/detail/heap_sort.hpp | 3 + .../boost/move/algo/detail/insertion_sort.hpp | 3 + .../boost/move/algo/detail/is_sorted.hpp | 3 + .../include/boost/move/algo/detail/merge.hpp | 3 + .../boost/move/algo/detail/merge_sort.hpp | 3 + .../boost/move/algo/detail/pdqsort.hpp | 3 + .../boost/move/algo/detail/set_difference.hpp | 3 + ThirdParty/include/boost/move/algo/move.hpp | 3 + .../include/boost/move/algo/predicate.hpp | 3 + ThirdParty/include/boost/move/algo/unique.hpp | 3 + ThirdParty/include/boost/move/algorithm.hpp | 3 + ThirdParty/include/boost/move/core.hpp | 3 + .../include/boost/move/default_delete.hpp | 3 + .../boost/move/detail/config_begin.hpp | 3 + .../include/boost/move/detail/config_end.hpp | 3 + .../include/boost/move/detail/destruct_n.hpp | 3 + .../include/boost/move/detail/fwd_macros.hpp | 3 + .../move/detail/iterator_to_raw_pointer.hpp | 3 + .../boost/move/detail/iterator_traits.hpp | 3 + .../include/boost/move/detail/meta_utils.hpp | 3 + .../boost/move/detail/meta_utils_core.hpp | 3 + .../boost/move/detail/move_helpers.hpp | 3 + .../boost/move/detail/placement_new.hpp | 3 + .../boost/move/detail/pointer_element.hpp | 3 + .../boost/move/detail/reverse_iterator.hpp | 3 + .../boost/move/detail/std_ns_begin.hpp | 3 + .../include/boost/move/detail/std_ns_end.hpp | 3 + .../boost/move/detail/to_raw_pointer.hpp | 3 + .../include/boost/move/detail/type_traits.hpp | 3 + .../move/detail/unique_ptr_meta_utils.hpp | 3 + .../include/boost/move/detail/workaround.hpp | 3 + ThirdParty/include/boost/move/iterator.hpp | 3 + ThirdParty/include/boost/move/make_unique.hpp | 3 + ThirdParty/include/boost/move/move.hpp | 3 + ThirdParty/include/boost/move/traits.hpp | 3 + ThirdParty/include/boost/move/unique_ptr.hpp | 3 + ThirdParty/include/boost/move/utility.hpp | 3 + .../include/boost/move/utility_core.hpp | 3 + ThirdParty/include/boost/mpl/O1_size.hpp | 3 + ThirdParty/include/boost/mpl/O1_size_fwd.hpp | 3 + ThirdParty/include/boost/mpl/accumulate.hpp | 3 + ThirdParty/include/boost/mpl/advance.hpp | 3 + ThirdParty/include/boost/mpl/advance_fwd.hpp | 3 + ThirdParty/include/boost/mpl/alias.hpp | 3 + ThirdParty/include/boost/mpl/always.hpp | 3 + ThirdParty/include/boost/mpl/and.hpp | 3 + ThirdParty/include/boost/mpl/apply.hpp | 3 + ThirdParty/include/boost/mpl/apply_fwd.hpp | 3 + ThirdParty/include/boost/mpl/apply_wrap.hpp | 3 + ThirdParty/include/boost/mpl/arg.hpp | 3 + ThirdParty/include/boost/mpl/arg_fwd.hpp | 3 + ThirdParty/include/boost/mpl/arithmetic.hpp | 3 + ThirdParty/include/boost/mpl/as_sequence.hpp | 3 + ThirdParty/include/boost/mpl/assert.hpp | 3 + ThirdParty/include/boost/mpl/at.hpp | 3 + ThirdParty/include/boost/mpl/at_fwd.hpp | 3 + .../include/boost/mpl/aux_/O1_size_impl.hpp | 3 + .../include/boost/mpl/aux_/adl_barrier.hpp | 3 + .../boost/mpl/aux_/advance_backward.hpp | 3 + .../boost/mpl/aux_/advance_forward.hpp | 3 + .../include/boost/mpl/aux_/apply_1st.hpp | 3 + .../include/boost/mpl/aux_/arg_typedef.hpp | 3 + .../include/boost/mpl/aux_/arithmetic_op.hpp | 3 + ThirdParty/include/boost/mpl/aux_/arity.hpp | 3 + .../include/boost/mpl/aux_/arity_spec.hpp | 3 + ThirdParty/include/boost/mpl/aux_/at_impl.hpp | 3 + .../include/boost/mpl/aux_/back_impl.hpp | 3 + .../include/boost/mpl/aux_/basic_bind.hpp | 3 + .../include/boost/mpl/aux_/begin_end_impl.hpp | 3 + .../include/boost/mpl/aux_/clear_impl.hpp | 3 + .../boost/mpl/aux_/common_name_wknd.hpp | 3 + .../include/boost/mpl/aux_/comparison_op.hpp | 3 + .../include/boost/mpl/aux_/config/adl.hpp | 3 + .../include/boost/mpl/aux_/config/arrays.hpp | 3 + .../include/boost/mpl/aux_/config/bcc.hpp | 3 + .../include/boost/mpl/aux_/config/bind.hpp | 3 + .../boost/mpl/aux_/config/compiler.hpp | 3 + .../include/boost/mpl/aux_/config/ctps.hpp | 3 + .../boost/mpl/aux_/config/dependent_nttp.hpp | 3 + .../mpl/aux_/config/dmc_ambiguous_ctps.hpp | 3 + .../include/boost/mpl/aux_/config/dtp.hpp | 3 + .../include/boost/mpl/aux_/config/eti.hpp | 3 + .../boost/mpl/aux_/config/forwarding.hpp | 3 + .../include/boost/mpl/aux_/config/gcc.hpp | 3 + .../include/boost/mpl/aux_/config/gpu.hpp | 3 + .../boost/mpl/aux_/config/has_apply.hpp | 3 + .../include/boost/mpl/aux_/config/has_xxx.hpp | 3 + .../boost/mpl/aux_/config/integral.hpp | 3 + .../include/boost/mpl/aux_/config/intel.hpp | 3 + .../include/boost/mpl/aux_/config/lambda.hpp | 3 + .../include/boost/mpl/aux_/config/msvc.hpp | 3 + .../boost/mpl/aux_/config/msvc_typename.hpp | 3 + .../include/boost/mpl/aux_/config/nttp.hpp | 3 + .../boost/mpl/aux_/config/operators.hpp | 3 + .../mpl/aux_/config/overload_resolution.hpp | 3 + .../boost/mpl/aux_/config/pp_counter.hpp | 3 + .../boost/mpl/aux_/config/preprocessor.hpp | 3 + .../boost/mpl/aux_/config/static_constant.hpp | 3 + .../include/boost/mpl/aux_/config/ttp.hpp | 3 + .../include/boost/mpl/aux_/config/typeof.hpp | 3 + .../mpl/aux_/config/use_preprocessed.hpp | 3 + .../boost/mpl/aux_/config/workaround.hpp | 3 + .../include/boost/mpl/aux_/contains_impl.hpp | 3 + .../include/boost/mpl/aux_/count_args.hpp | 3 + .../include/boost/mpl/aux_/count_impl.hpp | 3 + .../include/boost/mpl/aux_/empty_impl.hpp | 3 + .../include/boost/mpl/aux_/erase_impl.hpp | 3 + .../include/boost/mpl/aux_/erase_key_impl.hpp | 3 + .../include/boost/mpl/aux_/filter_iter.hpp | 3 + .../include/boost/mpl/aux_/find_if_pred.hpp | 3 + .../include/boost/mpl/aux_/fold_impl.hpp | 3 + .../include/boost/mpl/aux_/fold_impl_body.hpp | 3 + ThirdParty/include/boost/mpl/aux_/fold_op.hpp | 3 + .../include/boost/mpl/aux_/fold_pred.hpp | 3 + .../include/boost/mpl/aux_/front_impl.hpp | 3 + .../include/boost/mpl/aux_/full_lambda.hpp | 3 + .../include/boost/mpl/aux_/has_apply.hpp | 3 + .../include/boost/mpl/aux_/has_begin.hpp | 3 + .../include/boost/mpl/aux_/has_key_impl.hpp | 3 + .../include/boost/mpl/aux_/has_rebind.hpp | 3 + .../include/boost/mpl/aux_/has_size.hpp | 3 + ThirdParty/include/boost/mpl/aux_/has_tag.hpp | 3 + .../include/boost/mpl/aux_/has_type.hpp | 3 + .../boost/mpl/aux_/include_preprocessed.hpp | 3 + .../include/boost/mpl/aux_/insert_impl.hpp | 3 + .../boost/mpl/aux_/insert_range_impl.hpp | 3 + .../boost/mpl/aux_/inserter_algorithm.hpp | 3 + .../boost/mpl/aux_/integral_wrapper.hpp | 3 + .../boost/mpl/aux_/is_msvc_eti_arg.hpp | 3 + .../include/boost/mpl/aux_/iter_apply.hpp | 3 + .../boost/mpl/aux_/iter_fold_if_impl.hpp | 3 + .../include/boost/mpl/aux_/iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/iter_push_front.hpp | 3 + .../include/boost/mpl/aux_/joint_iter.hpp | 3 + .../boost/mpl/aux_/lambda_arity_param.hpp | 3 + .../include/boost/mpl/aux_/lambda_no_ctps.hpp | 3 + .../include/boost/mpl/aux_/lambda_spec.hpp | 3 + .../include/boost/mpl/aux_/lambda_support.hpp | 3 + .../include/boost/mpl/aux_/largest_int.hpp | 3 + .../include/boost/mpl/aux_/logical_op.hpp | 3 + .../include/boost/mpl/aux_/msvc_dtw.hpp | 3 + .../include/boost/mpl/aux_/msvc_eti_base.hpp | 3 + .../include/boost/mpl/aux_/msvc_is_class.hpp | 3 + .../boost/mpl/aux_/msvc_never_true.hpp | 3 + .../include/boost/mpl/aux_/msvc_type.hpp | 3 + ThirdParty/include/boost/mpl/aux_/na.hpp | 3 + .../include/boost/mpl/aux_/na_assert.hpp | 3 + ThirdParty/include/boost/mpl/aux_/na_fwd.hpp | 3 + ThirdParty/include/boost/mpl/aux_/na_spec.hpp | 3 + .../boost/mpl/aux_/nested_type_wknd.hpp | 3 + .../include/boost/mpl/aux_/nttp_decl.hpp | 3 + .../boost/mpl/aux_/numeric_cast_utils.hpp | 3 + .../include/boost/mpl/aux_/numeric_op.hpp | 3 + .../include/boost/mpl/aux_/order_impl.hpp | 3 + .../include/boost/mpl/aux_/overload_names.hpp | 3 + .../include/boost/mpl/aux_/partition_op.hpp | 3 + .../include/boost/mpl/aux_/pop_back_impl.hpp | 3 + .../include/boost/mpl/aux_/pop_front_impl.hpp | 3 + .../preprocessed/bcc/advance_backward.hpp | 3 + .../aux_/preprocessed/bcc/advance_forward.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/and.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/apply.hpp | 3 + .../mpl/aux_/preprocessed/bcc/apply_fwd.hpp | 3 + .../mpl/aux_/preprocessed/bcc/apply_wrap.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/arg.hpp | 3 + .../mpl/aux_/preprocessed/bcc/basic_bind.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/bind.hpp | 3 + .../mpl/aux_/preprocessed/bcc/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/bcc/bitand.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/bitor.hpp | 3 + .../mpl/aux_/preprocessed/bcc/bitxor.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/deque.hpp | 3 + .../mpl/aux_/preprocessed/bcc/divides.hpp | 3 + .../mpl/aux_/preprocessed/bcc/equal_to.hpp | 3 + .../mpl/aux_/preprocessed/bcc/fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/bcc/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/bcc/greater.hpp | 3 + .../aux_/preprocessed/bcc/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/bcc/inherit.hpp | 3 + .../preprocessed/bcc/iter_fold_if_impl.hpp | 3 + .../aux_/preprocessed/bcc/iter_fold_impl.hpp | 3 + .../aux_/preprocessed/bcc/lambda_no_ctps.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/less.hpp | 3 + .../mpl/aux_/preprocessed/bcc/less_equal.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/list.hpp | 3 + .../mpl/aux_/preprocessed/bcc/list_c.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/map.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/minus.hpp | 3 + .../mpl/aux_/preprocessed/bcc/modulus.hpp | 3 + .../aux_/preprocessed/bcc/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/or.hpp | 3 + .../aux_/preprocessed/bcc/placeholders.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/plus.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/quote.hpp | 3 + .../preprocessed/bcc/reverse_fold_impl.hpp | 3 + .../bcc/reverse_iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/set.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/set_c.hpp | 3 + .../mpl/aux_/preprocessed/bcc/shift_left.hpp | 3 + .../mpl/aux_/preprocessed/bcc/shift_right.hpp | 3 + .../aux_/preprocessed/bcc/template_arity.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc/times.hpp | 3 + .../mpl/aux_/preprocessed/bcc/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/bcc/vector.hpp | 3 + .../mpl/aux_/preprocessed/bcc/vector_c.hpp | 3 + .../preprocessed/bcc551/advance_backward.hpp | 3 + .../preprocessed/bcc551/advance_forward.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/and.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/apply.hpp | 3 + .../aux_/preprocessed/bcc551/apply_fwd.hpp | 3 + .../aux_/preprocessed/bcc551/apply_wrap.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/arg.hpp | 3 + .../aux_/preprocessed/bcc551/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/bind.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/bitand.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/bitor.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/deque.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/divides.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/equal_to.hpp | 3 + .../aux_/preprocessed/bcc551/fold_impl.hpp | 3 + .../aux_/preprocessed/bcc551/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/greater.hpp | 3 + .../preprocessed/bcc551/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/inherit.hpp | 3 + .../preprocessed/bcc551/iter_fold_if_impl.hpp | 3 + .../preprocessed/bcc551/iter_fold_impl.hpp | 3 + .../preprocessed/bcc551/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/less.hpp | 3 + .../aux_/preprocessed/bcc551/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/list.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/list_c.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/map.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/minus.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/modulus.hpp | 3 + .../aux_/preprocessed/bcc551/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/bcc551/or.hpp | 3 + .../aux_/preprocessed/bcc551/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/plus.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/quote.hpp | 3 + .../preprocessed/bcc551/reverse_fold_impl.hpp | 3 + .../bcc551/reverse_iter_fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/set.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/set_c.hpp | 3 + .../aux_/preprocessed/bcc551/shift_left.hpp | 3 + .../aux_/preprocessed/bcc551/shift_right.hpp | 3 + .../preprocessed/bcc551/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/times.hpp | 3 + .../aux_/preprocessed/bcc551/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/vector.hpp | 3 + .../mpl/aux_/preprocessed/bcc551/vector_c.hpp | 3 + .../bcc_pre590/advance_backward.hpp | 3 + .../bcc_pre590/advance_forward.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/and.hpp | 3 + .../aux_/preprocessed/bcc_pre590/apply.hpp | 3 + .../preprocessed/bcc_pre590/apply_fwd.hpp | 3 + .../preprocessed/bcc_pre590/apply_wrap.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/arg.hpp | 3 + .../preprocessed/bcc_pre590/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/bind.hpp | 3 + .../aux_/preprocessed/bcc_pre590/bind_fwd.hpp | 3 + .../aux_/preprocessed/bcc_pre590/bitand.hpp | 3 + .../aux_/preprocessed/bcc_pre590/bitor.hpp | 3 + .../aux_/preprocessed/bcc_pre590/bitxor.hpp | 3 + .../aux_/preprocessed/bcc_pre590/deque.hpp | 3 + .../aux_/preprocessed/bcc_pre590/divides.hpp | 3 + .../aux_/preprocessed/bcc_pre590/equal_to.hpp | 3 + .../preprocessed/bcc_pre590/fold_impl.hpp | 3 + .../preprocessed/bcc_pre590/full_lambda.hpp | 3 + .../aux_/preprocessed/bcc_pre590/greater.hpp | 3 + .../preprocessed/bcc_pre590/greater_equal.hpp | 3 + .../aux_/preprocessed/bcc_pre590/inherit.hpp | 3 + .../bcc_pre590/iter_fold_if_impl.hpp | 3 + .../bcc_pre590/iter_fold_impl.hpp | 3 + .../bcc_pre590/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/less.hpp | 3 + .../preprocessed/bcc_pre590/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/list.hpp | 3 + .../aux_/preprocessed/bcc_pre590/list_c.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/map.hpp | 3 + .../aux_/preprocessed/bcc_pre590/minus.hpp | 3 + .../aux_/preprocessed/bcc_pre590/modulus.hpp | 3 + .../preprocessed/bcc_pre590/not_equal_to.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/or.hpp | 3 + .../preprocessed/bcc_pre590/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/plus.hpp | 3 + .../aux_/preprocessed/bcc_pre590/quote.hpp | 3 + .../bcc_pre590/reverse_fold_impl.hpp | 3 + .../bcc_pre590/reverse_iter_fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/bcc_pre590/set.hpp | 3 + .../aux_/preprocessed/bcc_pre590/set_c.hpp | 3 + .../preprocessed/bcc_pre590/shift_left.hpp | 3 + .../preprocessed/bcc_pre590/shift_right.hpp | 3 + .../bcc_pre590/template_arity.hpp | 3 + .../aux_/preprocessed/bcc_pre590/times.hpp | 3 + .../preprocessed/bcc_pre590/unpack_args.hpp | 3 + .../aux_/preprocessed/bcc_pre590/vector.hpp | 3 + .../aux_/preprocessed/bcc_pre590/vector_c.hpp | 3 + .../preprocessed/dmc/advance_backward.hpp | 3 + .../aux_/preprocessed/dmc/advance_forward.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/and.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/apply.hpp | 3 + .../mpl/aux_/preprocessed/dmc/apply_fwd.hpp | 3 + .../mpl/aux_/preprocessed/dmc/apply_wrap.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/arg.hpp | 3 + .../mpl/aux_/preprocessed/dmc/basic_bind.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/bind.hpp | 3 + .../mpl/aux_/preprocessed/dmc/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/dmc/bitand.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/bitor.hpp | 3 + .../mpl/aux_/preprocessed/dmc/bitxor.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/deque.hpp | 3 + .../mpl/aux_/preprocessed/dmc/divides.hpp | 3 + .../mpl/aux_/preprocessed/dmc/equal_to.hpp | 3 + .../mpl/aux_/preprocessed/dmc/fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/dmc/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/dmc/greater.hpp | 3 + .../aux_/preprocessed/dmc/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/dmc/inherit.hpp | 3 + .../preprocessed/dmc/iter_fold_if_impl.hpp | 3 + .../aux_/preprocessed/dmc/iter_fold_impl.hpp | 3 + .../aux_/preprocessed/dmc/lambda_no_ctps.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/less.hpp | 3 + .../mpl/aux_/preprocessed/dmc/less_equal.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/list.hpp | 3 + .../mpl/aux_/preprocessed/dmc/list_c.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/map.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/minus.hpp | 3 + .../mpl/aux_/preprocessed/dmc/modulus.hpp | 3 + .../aux_/preprocessed/dmc/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/or.hpp | 3 + .../aux_/preprocessed/dmc/placeholders.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/plus.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/quote.hpp | 3 + .../preprocessed/dmc/reverse_fold_impl.hpp | 3 + .../dmc/reverse_iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/set.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/set_c.hpp | 3 + .../mpl/aux_/preprocessed/dmc/shift_left.hpp | 3 + .../mpl/aux_/preprocessed/dmc/shift_right.hpp | 3 + .../aux_/preprocessed/dmc/template_arity.hpp | 3 + .../boost/mpl/aux_/preprocessed/dmc/times.hpp | 3 + .../mpl/aux_/preprocessed/dmc/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/dmc/vector.hpp | 3 + .../mpl/aux_/preprocessed/dmc/vector_c.hpp | 3 + .../preprocessed/gcc/advance_backward.hpp | 3 + .../aux_/preprocessed/gcc/advance_forward.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/and.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/apply.hpp | 3 + .../mpl/aux_/preprocessed/gcc/apply_fwd.hpp | 3 + .../mpl/aux_/preprocessed/gcc/apply_wrap.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/arg.hpp | 3 + .../mpl/aux_/preprocessed/gcc/basic_bind.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/bind.hpp | 3 + .../mpl/aux_/preprocessed/gcc/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/gcc/bitand.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/bitor.hpp | 3 + .../mpl/aux_/preprocessed/gcc/bitxor.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/deque.hpp | 3 + .../mpl/aux_/preprocessed/gcc/divides.hpp | 3 + .../mpl/aux_/preprocessed/gcc/equal_to.hpp | 3 + .../mpl/aux_/preprocessed/gcc/fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/gcc/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/gcc/greater.hpp | 3 + .../aux_/preprocessed/gcc/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/gcc/inherit.hpp | 3 + .../preprocessed/gcc/iter_fold_if_impl.hpp | 3 + .../aux_/preprocessed/gcc/iter_fold_impl.hpp | 3 + .../aux_/preprocessed/gcc/lambda_no_ctps.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/less.hpp | 3 + .../mpl/aux_/preprocessed/gcc/less_equal.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/list.hpp | 3 + .../mpl/aux_/preprocessed/gcc/list_c.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/map.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/minus.hpp | 3 + .../mpl/aux_/preprocessed/gcc/modulus.hpp | 3 + .../aux_/preprocessed/gcc/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/or.hpp | 3 + .../aux_/preprocessed/gcc/placeholders.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/plus.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/quote.hpp | 3 + .../preprocessed/gcc/reverse_fold_impl.hpp | 3 + .../gcc/reverse_iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/set.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/set_c.hpp | 3 + .../mpl/aux_/preprocessed/gcc/shift_left.hpp | 3 + .../mpl/aux_/preprocessed/gcc/shift_right.hpp | 3 + .../aux_/preprocessed/gcc/template_arity.hpp | 3 + .../boost/mpl/aux_/preprocessed/gcc/times.hpp | 3 + .../mpl/aux_/preprocessed/gcc/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/gcc/vector.hpp | 3 + .../mpl/aux_/preprocessed/gcc/vector_c.hpp | 3 + .../preprocessed/msvc60/advance_backward.hpp | 3 + .../preprocessed/msvc60/advance_forward.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/and.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/apply.hpp | 3 + .../aux_/preprocessed/msvc60/apply_fwd.hpp | 3 + .../aux_/preprocessed/msvc60/apply_wrap.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/arg.hpp | 3 + .../aux_/preprocessed/msvc60/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/bind.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/bitand.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/bitor.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/deque.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/divides.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/equal_to.hpp | 3 + .../aux_/preprocessed/msvc60/fold_impl.hpp | 3 + .../aux_/preprocessed/msvc60/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/greater.hpp | 3 + .../preprocessed/msvc60/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/inherit.hpp | 3 + .../preprocessed/msvc60/iter_fold_if_impl.hpp | 3 + .../preprocessed/msvc60/iter_fold_impl.hpp | 3 + .../preprocessed/msvc60/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/less.hpp | 3 + .../aux_/preprocessed/msvc60/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/list.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/list_c.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/map.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/minus.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/modulus.hpp | 3 + .../aux_/preprocessed/msvc60/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/msvc60/or.hpp | 3 + .../aux_/preprocessed/msvc60/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/plus.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/quote.hpp | 3 + .../preprocessed/msvc60/reverse_fold_impl.hpp | 3 + .../msvc60/reverse_iter_fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/set.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/set_c.hpp | 3 + .../aux_/preprocessed/msvc60/shift_left.hpp | 3 + .../aux_/preprocessed/msvc60/shift_right.hpp | 3 + .../preprocessed/msvc60/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/times.hpp | 3 + .../aux_/preprocessed/msvc60/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/vector.hpp | 3 + .../mpl/aux_/preprocessed/msvc60/vector_c.hpp | 3 + .../preprocessed/msvc70/advance_backward.hpp | 3 + .../preprocessed/msvc70/advance_forward.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/and.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/apply.hpp | 3 + .../aux_/preprocessed/msvc70/apply_fwd.hpp | 3 + .../aux_/preprocessed/msvc70/apply_wrap.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/arg.hpp | 3 + .../aux_/preprocessed/msvc70/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/bind.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/bitand.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/bitor.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/deque.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/divides.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/equal_to.hpp | 3 + .../aux_/preprocessed/msvc70/fold_impl.hpp | 3 + .../aux_/preprocessed/msvc70/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/greater.hpp | 3 + .../preprocessed/msvc70/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/inherit.hpp | 3 + .../preprocessed/msvc70/iter_fold_if_impl.hpp | 3 + .../preprocessed/msvc70/iter_fold_impl.hpp | 3 + .../preprocessed/msvc70/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/less.hpp | 3 + .../aux_/preprocessed/msvc70/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/list.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/list_c.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/map.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/minus.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/modulus.hpp | 3 + .../aux_/preprocessed/msvc70/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/msvc70/or.hpp | 3 + .../aux_/preprocessed/msvc70/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/plus.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/quote.hpp | 3 + .../preprocessed/msvc70/reverse_fold_impl.hpp | 3 + .../msvc70/reverse_iter_fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/set.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/set_c.hpp | 3 + .../aux_/preprocessed/msvc70/shift_left.hpp | 3 + .../aux_/preprocessed/msvc70/shift_right.hpp | 3 + .../preprocessed/msvc70/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/times.hpp | 3 + .../aux_/preprocessed/msvc70/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/vector.hpp | 3 + .../mpl/aux_/preprocessed/msvc70/vector_c.hpp | 3 + .../preprocessed/mwcw/advance_backward.hpp | 3 + .../preprocessed/mwcw/advance_forward.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/and.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/apply.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/apply_fwd.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/apply_wrap.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/arg.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/basic_bind.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/bind.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/bitand.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/bitor.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/deque.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/divides.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/equal_to.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/fold_impl.hpp | 3 + .../aux_/preprocessed/mwcw/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/greater.hpp | 3 + .../aux_/preprocessed/mwcw/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/inherit.hpp | 3 + .../preprocessed/mwcw/iter_fold_if_impl.hpp | 3 + .../aux_/preprocessed/mwcw/iter_fold_impl.hpp | 3 + .../aux_/preprocessed/mwcw/lambda_no_ctps.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/less.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/less_equal.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/list.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/list_c.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/map.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/minus.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/modulus.hpp | 3 + .../aux_/preprocessed/mwcw/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/or.hpp | 3 + .../aux_/preprocessed/mwcw/placeholders.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/plus.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/quote.hpp | 3 + .../preprocessed/mwcw/reverse_fold_impl.hpp | 3 + .../mwcw/reverse_iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/preprocessed/mwcw/set.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/set_c.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/shift_left.hpp | 3 + .../aux_/preprocessed/mwcw/shift_right.hpp | 3 + .../aux_/preprocessed/mwcw/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/times.hpp | 3 + .../aux_/preprocessed/mwcw/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/vector.hpp | 3 + .../mpl/aux_/preprocessed/mwcw/vector_c.hpp | 3 + .../preprocessed/no_ctps/advance_backward.hpp | 3 + .../preprocessed/no_ctps/advance_forward.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/and.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/apply.hpp | 3 + .../aux_/preprocessed/no_ctps/apply_fwd.hpp | 3 + .../aux_/preprocessed/no_ctps/apply_wrap.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/arg.hpp | 3 + .../aux_/preprocessed/no_ctps/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/bind.hpp | 3 + .../aux_/preprocessed/no_ctps/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/bitand.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/bitor.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/deque.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/divides.hpp | 3 + .../aux_/preprocessed/no_ctps/equal_to.hpp | 3 + .../aux_/preprocessed/no_ctps/fold_impl.hpp | 3 + .../aux_/preprocessed/no_ctps/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/greater.hpp | 3 + .../preprocessed/no_ctps/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/inherit.hpp | 3 + .../no_ctps/iter_fold_if_impl.hpp | 3 + .../preprocessed/no_ctps/iter_fold_impl.hpp | 3 + .../preprocessed/no_ctps/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/less.hpp | 3 + .../aux_/preprocessed/no_ctps/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/list.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/list_c.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/map.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/minus.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/modulus.hpp | 3 + .../preprocessed/no_ctps/not_equal_to.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/or.hpp | 3 + .../preprocessed/no_ctps/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/plus.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/quote.hpp | 3 + .../no_ctps/reverse_fold_impl.hpp | 3 + .../no_ctps/reverse_iter_fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/set.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/set_c.hpp | 3 + .../aux_/preprocessed/no_ctps/shift_left.hpp | 3 + .../aux_/preprocessed/no_ctps/shift_right.hpp | 3 + .../preprocessed/no_ctps/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/times.hpp | 3 + .../aux_/preprocessed/no_ctps/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/no_ctps/vector.hpp | 3 + .../aux_/preprocessed/no_ctps/vector_c.hpp | 3 + .../preprocessed/no_ttp/advance_backward.hpp | 3 + .../preprocessed/no_ttp/advance_forward.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/and.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/apply.hpp | 3 + .../aux_/preprocessed/no_ttp/apply_fwd.hpp | 3 + .../aux_/preprocessed/no_ttp/apply_wrap.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/arg.hpp | 3 + .../aux_/preprocessed/no_ttp/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/bind.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/bitand.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/bitor.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/deque.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/divides.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/equal_to.hpp | 3 + .../aux_/preprocessed/no_ttp/fold_impl.hpp | 3 + .../aux_/preprocessed/no_ttp/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/greater.hpp | 3 + .../preprocessed/no_ttp/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/inherit.hpp | 3 + .../preprocessed/no_ttp/iter_fold_if_impl.hpp | 3 + .../preprocessed/no_ttp/iter_fold_impl.hpp | 3 + .../preprocessed/no_ttp/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/less.hpp | 3 + .../aux_/preprocessed/no_ttp/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/list.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/list_c.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/map.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/minus.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/modulus.hpp | 3 + .../aux_/preprocessed/no_ttp/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/no_ttp/or.hpp | 3 + .../aux_/preprocessed/no_ttp/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/plus.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/quote.hpp | 3 + .../preprocessed/no_ttp/reverse_fold_impl.hpp | 3 + .../no_ttp/reverse_iter_fold_impl.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/set.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/set_c.hpp | 3 + .../aux_/preprocessed/no_ttp/shift_left.hpp | 3 + .../aux_/preprocessed/no_ttp/shift_right.hpp | 3 + .../preprocessed/no_ttp/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/times.hpp | 3 + .../aux_/preprocessed/no_ttp/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/vector.hpp | 3 + .../mpl/aux_/preprocessed/no_ttp/vector_c.hpp | 3 + .../preprocessed/plain/advance_backward.hpp | 3 + .../preprocessed/plain/advance_forward.hpp | 3 + .../boost/mpl/aux_/preprocessed/plain/and.hpp | 3 + .../mpl/aux_/preprocessed/plain/apply.hpp | 3 + .../mpl/aux_/preprocessed/plain/apply_fwd.hpp | 3 + .../aux_/preprocessed/plain/apply_wrap.hpp | 3 + .../boost/mpl/aux_/preprocessed/plain/arg.hpp | 3 + .../aux_/preprocessed/plain/basic_bind.hpp | 3 + .../mpl/aux_/preprocessed/plain/bind.hpp | 3 + .../mpl/aux_/preprocessed/plain/bind_fwd.hpp | 3 + .../mpl/aux_/preprocessed/plain/bitand.hpp | 3 + .../mpl/aux_/preprocessed/plain/bitor.hpp | 3 + .../mpl/aux_/preprocessed/plain/bitxor.hpp | 3 + .../mpl/aux_/preprocessed/plain/deque.hpp | 3 + .../mpl/aux_/preprocessed/plain/divides.hpp | 3 + .../mpl/aux_/preprocessed/plain/equal_to.hpp | 3 + .../mpl/aux_/preprocessed/plain/fold_impl.hpp | 3 + .../aux_/preprocessed/plain/full_lambda.hpp | 3 + .../mpl/aux_/preprocessed/plain/greater.hpp | 3 + .../aux_/preprocessed/plain/greater_equal.hpp | 3 + .../mpl/aux_/preprocessed/plain/inherit.hpp | 3 + .../preprocessed/plain/iter_fold_if_impl.hpp | 3 + .../preprocessed/plain/iter_fold_impl.hpp | 3 + .../preprocessed/plain/lambda_no_ctps.hpp | 3 + .../mpl/aux_/preprocessed/plain/less.hpp | 3 + .../aux_/preprocessed/plain/less_equal.hpp | 3 + .../mpl/aux_/preprocessed/plain/list.hpp | 3 + .../mpl/aux_/preprocessed/plain/list_c.hpp | 3 + .../boost/mpl/aux_/preprocessed/plain/map.hpp | 3 + .../mpl/aux_/preprocessed/plain/minus.hpp | 3 + .../mpl/aux_/preprocessed/plain/modulus.hpp | 3 + .../aux_/preprocessed/plain/not_equal_to.hpp | 3 + .../boost/mpl/aux_/preprocessed/plain/or.hpp | 3 + .../aux_/preprocessed/plain/placeholders.hpp | 3 + .../mpl/aux_/preprocessed/plain/plus.hpp | 3 + .../mpl/aux_/preprocessed/plain/quote.hpp | 3 + .../preprocessed/plain/reverse_fold_impl.hpp | 3 + .../plain/reverse_iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/preprocessed/plain/set.hpp | 3 + .../mpl/aux_/preprocessed/plain/set_c.hpp | 3 + .../aux_/preprocessed/plain/shift_left.hpp | 3 + .../aux_/preprocessed/plain/shift_right.hpp | 3 + .../preprocessed/plain/template_arity.hpp | 3 + .../mpl/aux_/preprocessed/plain/times.hpp | 3 + .../aux_/preprocessed/plain/unpack_args.hpp | 3 + .../mpl/aux_/preprocessed/plain/vector.hpp | 3 + .../mpl/aux_/preprocessed/plain/vector_c.hpp | 3 + .../boost/mpl/aux_/preprocessor/add.hpp | 3 + .../mpl/aux_/preprocessor/def_params_tail.hpp | 3 + .../mpl/aux_/preprocessor/default_params.hpp | 3 + .../boost/mpl/aux_/preprocessor/enum.hpp | 3 + .../mpl/aux_/preprocessor/ext_params.hpp | 3 + .../mpl/aux_/preprocessor/filter_params.hpp | 3 + .../boost/mpl/aux_/preprocessor/is_seq.hpp | 3 + .../boost/mpl/aux_/preprocessor/params.hpp | 3 + .../aux_/preprocessor/partial_spec_params.hpp | 3 + .../boost/mpl/aux_/preprocessor/range.hpp | 3 + .../boost/mpl/aux_/preprocessor/repeat.hpp | 3 + .../boost/mpl/aux_/preprocessor/sub.hpp | 3 + .../mpl/aux_/preprocessor/token_equal.hpp | 3 + .../boost/mpl/aux_/preprocessor/tuple.hpp | 3 + .../include/boost/mpl/aux_/ptr_to_ref.hpp | 3 + .../include/boost/mpl/aux_/push_back_impl.hpp | 3 + .../boost/mpl/aux_/push_front_impl.hpp | 3 + .../boost/mpl/aux_/range_c/O1_size.hpp | 3 + .../include/boost/mpl/aux_/range_c/back.hpp | 3 + .../include/boost/mpl/aux_/range_c/empty.hpp | 3 + .../include/boost/mpl/aux_/range_c/front.hpp | 3 + .../boost/mpl/aux_/range_c/iterator.hpp | 3 + .../include/boost/mpl/aux_/range_c/size.hpp | 3 + .../include/boost/mpl/aux_/range_c/tag.hpp | 3 + .../boost/mpl/aux_/reverse_fold_impl.hpp | 3 + .../boost/mpl/aux_/reverse_fold_impl_body.hpp | 3 + .../boost/mpl/aux_/reverse_iter_fold_impl.hpp | 3 + .../boost/mpl/aux_/sequence_wrapper.hpp | 3 + .../include/boost/mpl/aux_/shift_op.hpp | 3 + .../boost/mpl/aux_/single_element_iter.hpp | 3 + .../include/boost/mpl/aux_/size_impl.hpp | 3 + .../include/boost/mpl/aux_/sort_impl.hpp | 3 + .../include/boost/mpl/aux_/static_cast.hpp | 3 + .../include/boost/mpl/aux_/template_arity.hpp | 3 + .../boost/mpl/aux_/template_arity_fwd.hpp | 3 + ThirdParty/include/boost/mpl/aux_/test.hpp | 3 + .../include/boost/mpl/aux_/test/assert.hpp | 3 + .../include/boost/mpl/aux_/test/data.hpp | 3 + .../include/boost/mpl/aux_/test/test_case.hpp | 3 + .../boost/mpl/aux_/traits_lambda_spec.hpp | 3 + .../include/boost/mpl/aux_/transform_iter.hpp | 3 + .../include/boost/mpl/aux_/type_wrapper.hpp | 3 + ThirdParty/include/boost/mpl/aux_/unwrap.hpp | 3 + .../include/boost/mpl/aux_/value_wknd.hpp | 3 + ThirdParty/include/boost/mpl/aux_/yes_no.hpp | 3 + ThirdParty/include/boost/mpl/back.hpp | 3 + ThirdParty/include/boost/mpl/back_fwd.hpp | 3 + .../include/boost/mpl/back_inserter.hpp | 3 + ThirdParty/include/boost/mpl/base.hpp | 3 + ThirdParty/include/boost/mpl/begin.hpp | 3 + ThirdParty/include/boost/mpl/begin_end.hpp | 3 + .../include/boost/mpl/begin_end_fwd.hpp | 3 + ThirdParty/include/boost/mpl/bind.hpp | 3 + ThirdParty/include/boost/mpl/bind_fwd.hpp | 3 + ThirdParty/include/boost/mpl/bitand.hpp | 3 + ThirdParty/include/boost/mpl/bitor.hpp | 3 + ThirdParty/include/boost/mpl/bitwise.hpp | 3 + ThirdParty/include/boost/mpl/bitxor.hpp | 3 + ThirdParty/include/boost/mpl/bool.hpp | 3 + ThirdParty/include/boost/mpl/bool_fwd.hpp | 3 + ThirdParty/include/boost/mpl/char.hpp | 3 + ThirdParty/include/boost/mpl/char_fwd.hpp | 3 + ThirdParty/include/boost/mpl/clear.hpp | 3 + ThirdParty/include/boost/mpl/clear_fwd.hpp | 3 + ThirdParty/include/boost/mpl/comparison.hpp | 3 + ThirdParty/include/boost/mpl/contains.hpp | 3 + ThirdParty/include/boost/mpl/contains_fwd.hpp | 3 + ThirdParty/include/boost/mpl/copy.hpp | 3 + ThirdParty/include/boost/mpl/copy_if.hpp | 3 + ThirdParty/include/boost/mpl/count.hpp | 3 + ThirdParty/include/boost/mpl/count_fwd.hpp | 3 + ThirdParty/include/boost/mpl/count_if.hpp | 3 + ThirdParty/include/boost/mpl/deque.hpp | 3 + ThirdParty/include/boost/mpl/deref.hpp | 3 + ThirdParty/include/boost/mpl/distance.hpp | 3 + ThirdParty/include/boost/mpl/distance_fwd.hpp | 3 + ThirdParty/include/boost/mpl/divides.hpp | 3 + ThirdParty/include/boost/mpl/empty.hpp | 3 + ThirdParty/include/boost/mpl/empty_base.hpp | 3 + ThirdParty/include/boost/mpl/empty_fwd.hpp | 3 + .../include/boost/mpl/empty_sequence.hpp | 3 + ThirdParty/include/boost/mpl/end.hpp | 3 + ThirdParty/include/boost/mpl/equal.hpp | 3 + ThirdParty/include/boost/mpl/equal_to.hpp | 3 + ThirdParty/include/boost/mpl/erase.hpp | 3 + ThirdParty/include/boost/mpl/erase_fwd.hpp | 3 + ThirdParty/include/boost/mpl/erase_key.hpp | 3 + .../include/boost/mpl/erase_key_fwd.hpp | 3 + ThirdParty/include/boost/mpl/eval_if.hpp | 3 + ThirdParty/include/boost/mpl/filter_view.hpp | 3 + ThirdParty/include/boost/mpl/find.hpp | 3 + ThirdParty/include/boost/mpl/find_if.hpp | 3 + ThirdParty/include/boost/mpl/fold.hpp | 3 + ThirdParty/include/boost/mpl/for_each.hpp | 3 + ThirdParty/include/boost/mpl/front.hpp | 3 + ThirdParty/include/boost/mpl/front_fwd.hpp | 3 + .../include/boost/mpl/front_inserter.hpp | 3 + ThirdParty/include/boost/mpl/get_tag.hpp | 3 + ThirdParty/include/boost/mpl/greater.hpp | 3 + .../include/boost/mpl/greater_equal.hpp | 3 + ThirdParty/include/boost/mpl/has_key.hpp | 3 + ThirdParty/include/boost/mpl/has_key_fwd.hpp | 3 + ThirdParty/include/boost/mpl/has_xxx.hpp | 3 + ThirdParty/include/boost/mpl/identity.hpp | 3 + ThirdParty/include/boost/mpl/if.hpp | 3 + ThirdParty/include/boost/mpl/index_if.hpp | 3 + ThirdParty/include/boost/mpl/index_of.hpp | 3 + ThirdParty/include/boost/mpl/inherit.hpp | 3 + .../include/boost/mpl/inherit_linearly.hpp | 3 + ThirdParty/include/boost/mpl/insert.hpp | 3 + ThirdParty/include/boost/mpl/insert_fwd.hpp | 3 + ThirdParty/include/boost/mpl/insert_range.hpp | 3 + .../include/boost/mpl/insert_range_fwd.hpp | 3 + ThirdParty/include/boost/mpl/inserter.hpp | 3 + ThirdParty/include/boost/mpl/int.hpp | 3 + ThirdParty/include/boost/mpl/int_fwd.hpp | 3 + ThirdParty/include/boost/mpl/integral_c.hpp | 3 + .../include/boost/mpl/integral_c_fwd.hpp | 3 + .../include/boost/mpl/integral_c_tag.hpp | 3 + .../include/boost/mpl/is_placeholder.hpp | 3 + ThirdParty/include/boost/mpl/is_sequence.hpp | 3 + ThirdParty/include/boost/mpl/iter_fold.hpp | 3 + ThirdParty/include/boost/mpl/iter_fold_if.hpp | 3 + .../include/boost/mpl/iterator_category.hpp | 3 + .../include/boost/mpl/iterator_range.hpp | 3 + .../include/boost/mpl/iterator_tags.hpp | 3 + ThirdParty/include/boost/mpl/joint_view.hpp | 3 + ThirdParty/include/boost/mpl/key_type.hpp | 3 + ThirdParty/include/boost/mpl/key_type_fwd.hpp | 3 + ThirdParty/include/boost/mpl/lambda.hpp | 3 + ThirdParty/include/boost/mpl/lambda_fwd.hpp | 3 + ThirdParty/include/boost/mpl/less.hpp | 3 + ThirdParty/include/boost/mpl/less_equal.hpp | 3 + ThirdParty/include/boost/mpl/limits/arity.hpp | 3 + ThirdParty/include/boost/mpl/limits/list.hpp | 3 + ThirdParty/include/boost/mpl/limits/map.hpp | 3 + ThirdParty/include/boost/mpl/limits/set.hpp | 3 + .../include/boost/mpl/limits/string.hpp | 3 + .../include/boost/mpl/limits/unrolling.hpp | 3 + .../include/boost/mpl/limits/vector.hpp | 3 + ThirdParty/include/boost/mpl/list.hpp | 3 + .../include/boost/mpl/list/aux_/O1_size.hpp | 3 + .../include/boost/mpl/list/aux_/begin_end.hpp | 3 + .../include/boost/mpl/list/aux_/clear.hpp | 3 + .../include/boost/mpl/list/aux_/empty.hpp | 3 + .../include/boost/mpl/list/aux_/front.hpp | 3 + .../mpl/list/aux_/include_preprocessed.hpp | 3 + .../include/boost/mpl/list/aux_/item.hpp | 3 + .../include/boost/mpl/list/aux_/iterator.hpp | 3 + .../include/boost/mpl/list/aux_/numbered.hpp | 3 + .../boost/mpl/list/aux_/numbered_c.hpp | 3 + .../include/boost/mpl/list/aux_/pop_front.hpp | 3 + .../list/aux_/preprocessed/plain/list10.hpp | 3 + .../list/aux_/preprocessed/plain/list10_c.hpp | 3 + .../list/aux_/preprocessed/plain/list20.hpp | 3 + .../list/aux_/preprocessed/plain/list20_c.hpp | 3 + .../list/aux_/preprocessed/plain/list30.hpp | 3 + .../list/aux_/preprocessed/plain/list30_c.hpp | 3 + .../list/aux_/preprocessed/plain/list40.hpp | 3 + .../list/aux_/preprocessed/plain/list40_c.hpp | 3 + .../list/aux_/preprocessed/plain/list50.hpp | 3 + .../list/aux_/preprocessed/plain/list50_c.hpp | 3 + .../include/boost/mpl/list/aux_/push_back.hpp | 3 + .../boost/mpl/list/aux_/push_front.hpp | 3 + .../include/boost/mpl/list/aux_/size.hpp | 3 + .../include/boost/mpl/list/aux_/tag.hpp | 3 + ThirdParty/include/boost/mpl/list/list0.hpp | 3 + ThirdParty/include/boost/mpl/list/list0_c.hpp | 3 + ThirdParty/include/boost/mpl/list/list10.hpp | 3 + .../include/boost/mpl/list/list10_c.hpp | 3 + ThirdParty/include/boost/mpl/list/list20.hpp | 3 + .../include/boost/mpl/list/list20_c.hpp | 3 + ThirdParty/include/boost/mpl/list/list30.hpp | 3 + .../include/boost/mpl/list/list30_c.hpp | 3 + ThirdParty/include/boost/mpl/list/list40.hpp | 3 + .../include/boost/mpl/list/list40_c.hpp | 3 + ThirdParty/include/boost/mpl/list/list50.hpp | 3 + .../include/boost/mpl/list/list50_c.hpp | 3 + ThirdParty/include/boost/mpl/list_c.hpp | 3 + ThirdParty/include/boost/mpl/logical.hpp | 3 + ThirdParty/include/boost/mpl/long.hpp | 3 + ThirdParty/include/boost/mpl/long_fwd.hpp | 3 + ThirdParty/include/boost/mpl/lower_bound.hpp | 3 + ThirdParty/include/boost/mpl/map.hpp | 3 + .../include/boost/mpl/map/aux_/at_impl.hpp | 3 + .../boost/mpl/map/aux_/begin_end_impl.hpp | 3 + .../include/boost/mpl/map/aux_/clear_impl.hpp | 3 + .../boost/mpl/map/aux_/contains_impl.hpp | 3 + .../include/boost/mpl/map/aux_/empty_impl.hpp | 3 + .../include/boost/mpl/map/aux_/erase_impl.hpp | 3 + .../boost/mpl/map/aux_/erase_key_impl.hpp | 3 + .../boost/mpl/map/aux_/has_key_impl.hpp | 3 + .../mpl/map/aux_/include_preprocessed.hpp | 3 + .../boost/mpl/map/aux_/insert_impl.hpp | 3 + .../boost/mpl/map/aux_/insert_range_impl.hpp | 3 + .../include/boost/mpl/map/aux_/item.hpp | 3 + .../include/boost/mpl/map/aux_/iterator.hpp | 3 + .../boost/mpl/map/aux_/key_type_impl.hpp | 3 + .../include/boost/mpl/map/aux_/map0.hpp | 3 + .../include/boost/mpl/map/aux_/numbered.hpp | 3 + .../map/aux_/preprocessed/no_ctps/map10.hpp | 3 + .../map/aux_/preprocessed/no_ctps/map20.hpp | 3 + .../map/aux_/preprocessed/no_ctps/map30.hpp | 3 + .../map/aux_/preprocessed/no_ctps/map40.hpp | 3 + .../map/aux_/preprocessed/no_ctps/map50.hpp | 3 + .../mpl/map/aux_/preprocessed/plain/map10.hpp | 3 + .../mpl/map/aux_/preprocessed/plain/map20.hpp | 3 + .../mpl/map/aux_/preprocessed/plain/map30.hpp | 3 + .../mpl/map/aux_/preprocessed/plain/map40.hpp | 3 + .../mpl/map/aux_/preprocessed/plain/map50.hpp | 3 + .../aux_/preprocessed/typeof_based/map10.hpp | 3 + .../aux_/preprocessed/typeof_based/map20.hpp | 3 + .../aux_/preprocessed/typeof_based/map30.hpp | 3 + .../aux_/preprocessed/typeof_based/map40.hpp | 3 + .../aux_/preprocessed/typeof_based/map50.hpp | 3 + .../include/boost/mpl/map/aux_/size_impl.hpp | 3 + ThirdParty/include/boost/mpl/map/aux_/tag.hpp | 3 + .../boost/mpl/map/aux_/value_type_impl.hpp | 3 + ThirdParty/include/boost/mpl/map/map0.hpp | 3 + ThirdParty/include/boost/mpl/map/map10.hpp | 3 + ThirdParty/include/boost/mpl/map/map20.hpp | 3 + ThirdParty/include/boost/mpl/map/map30.hpp | 3 + ThirdParty/include/boost/mpl/map/map40.hpp | 3 + ThirdParty/include/boost/mpl/map/map50.hpp | 3 + ThirdParty/include/boost/mpl/math/fixed_c.hpp | 3 + ThirdParty/include/boost/mpl/math/is_even.hpp | 3 + .../include/boost/mpl/math/rational_c.hpp | 3 + ThirdParty/include/boost/mpl/max.hpp | 3 + ThirdParty/include/boost/mpl/max_element.hpp | 3 + ThirdParty/include/boost/mpl/min.hpp | 3 + ThirdParty/include/boost/mpl/min_element.hpp | 3 + ThirdParty/include/boost/mpl/min_max.hpp | 3 + ThirdParty/include/boost/mpl/minus.hpp | 3 + ThirdParty/include/boost/mpl/modulus.hpp | 3 + ThirdParty/include/boost/mpl/multiplies.hpp | 3 + .../boost/mpl/multiset/aux_/count_impl.hpp | 3 + .../boost/mpl/multiset/aux_/insert_impl.hpp | 3 + .../include/boost/mpl/multiset/aux_/item.hpp | 3 + .../boost/mpl/multiset/aux_/multiset0.hpp | 3 + .../include/boost/mpl/multiset/aux_/tag.hpp | 3 + .../include/boost/mpl/multiset/multiset0.hpp | 3 + ThirdParty/include/boost/mpl/negate.hpp | 3 + ThirdParty/include/boost/mpl/next.hpp | 3 + ThirdParty/include/boost/mpl/next_prior.hpp | 3 + ThirdParty/include/boost/mpl/not.hpp | 3 + ThirdParty/include/boost/mpl/not_equal_to.hpp | 3 + ThirdParty/include/boost/mpl/numeric_cast.hpp | 3 + ThirdParty/include/boost/mpl/or.hpp | 3 + ThirdParty/include/boost/mpl/order.hpp | 3 + ThirdParty/include/boost/mpl/order_fwd.hpp | 3 + ThirdParty/include/boost/mpl/pair.hpp | 3 + ThirdParty/include/boost/mpl/pair_view.hpp | 3 + ThirdParty/include/boost/mpl/partition.hpp | 3 + ThirdParty/include/boost/mpl/placeholders.hpp | 3 + ThirdParty/include/boost/mpl/plus.hpp | 3 + ThirdParty/include/boost/mpl/pop_back.hpp | 3 + ThirdParty/include/boost/mpl/pop_back_fwd.hpp | 3 + ThirdParty/include/boost/mpl/pop_front.hpp | 3 + .../include/boost/mpl/pop_front_fwd.hpp | 3 + ThirdParty/include/boost/mpl/print.hpp | 3 + ThirdParty/include/boost/mpl/prior.hpp | 3 + ThirdParty/include/boost/mpl/protect.hpp | 3 + ThirdParty/include/boost/mpl/push_back.hpp | 3 + .../include/boost/mpl/push_back_fwd.hpp | 3 + ThirdParty/include/boost/mpl/push_front.hpp | 3 + .../include/boost/mpl/push_front_fwd.hpp | 3 + ThirdParty/include/boost/mpl/quote.hpp | 3 + ThirdParty/include/boost/mpl/range_c.hpp | 3 + ThirdParty/include/boost/mpl/remove.hpp | 3 + ThirdParty/include/boost/mpl/remove_if.hpp | 3 + ThirdParty/include/boost/mpl/replace.hpp | 3 + ThirdParty/include/boost/mpl/replace_if.hpp | 3 + ThirdParty/include/boost/mpl/reverse.hpp | 3 + ThirdParty/include/boost/mpl/reverse_fold.hpp | 3 + .../include/boost/mpl/reverse_iter_fold.hpp | 3 + ThirdParty/include/boost/mpl/same_as.hpp | 3 + ThirdParty/include/boost/mpl/sequence_tag.hpp | 3 + .../include/boost/mpl/sequence_tag_fwd.hpp | 3 + ThirdParty/include/boost/mpl/set.hpp | 3 + .../include/boost/mpl/set/aux_/at_impl.hpp | 3 + .../boost/mpl/set/aux_/begin_end_impl.hpp | 3 + .../include/boost/mpl/set/aux_/clear_impl.hpp | 3 + .../include/boost/mpl/set/aux_/empty_impl.hpp | 3 + .../include/boost/mpl/set/aux_/erase_impl.hpp | 3 + .../boost/mpl/set/aux_/erase_key_impl.hpp | 3 + .../boost/mpl/set/aux_/has_key_impl.hpp | 3 + .../mpl/set/aux_/include_preprocessed.hpp | 3 + .../boost/mpl/set/aux_/insert_impl.hpp | 3 + .../boost/mpl/set/aux_/insert_range_impl.hpp | 3 + .../include/boost/mpl/set/aux_/item.hpp | 3 + .../include/boost/mpl/set/aux_/iterator.hpp | 3 + .../boost/mpl/set/aux_/key_type_impl.hpp | 3 + .../include/boost/mpl/set/aux_/numbered.hpp | 3 + .../include/boost/mpl/set/aux_/numbered_c.hpp | 3 + .../mpl/set/aux_/preprocessed/plain/set10.hpp | 3 + .../set/aux_/preprocessed/plain/set10_c.hpp | 3 + .../mpl/set/aux_/preprocessed/plain/set20.hpp | 3 + .../set/aux_/preprocessed/plain/set20_c.hpp | 3 + .../mpl/set/aux_/preprocessed/plain/set30.hpp | 3 + .../set/aux_/preprocessed/plain/set30_c.hpp | 3 + .../mpl/set/aux_/preprocessed/plain/set40.hpp | 3 + .../set/aux_/preprocessed/plain/set40_c.hpp | 3 + .../mpl/set/aux_/preprocessed/plain/set50.hpp | 3 + .../set/aux_/preprocessed/plain/set50_c.hpp | 3 + .../include/boost/mpl/set/aux_/set0.hpp | 3 + .../include/boost/mpl/set/aux_/size_impl.hpp | 3 + ThirdParty/include/boost/mpl/set/aux_/tag.hpp | 3 + .../boost/mpl/set/aux_/value_type_impl.hpp | 3 + ThirdParty/include/boost/mpl/set/set0.hpp | 3 + ThirdParty/include/boost/mpl/set/set0_c.hpp | 3 + ThirdParty/include/boost/mpl/set/set10.hpp | 3 + ThirdParty/include/boost/mpl/set/set10_c.hpp | 3 + ThirdParty/include/boost/mpl/set/set20.hpp | 3 + ThirdParty/include/boost/mpl/set/set20_c.hpp | 3 + ThirdParty/include/boost/mpl/set/set30.hpp | 3 + ThirdParty/include/boost/mpl/set/set30_c.hpp | 3 + ThirdParty/include/boost/mpl/set/set40.hpp | 3 + ThirdParty/include/boost/mpl/set/set40_c.hpp | 3 + ThirdParty/include/boost/mpl/set/set50.hpp | 3 + ThirdParty/include/boost/mpl/set/set50_c.hpp | 3 + ThirdParty/include/boost/mpl/set_c.hpp | 3 + ThirdParty/include/boost/mpl/shift_left.hpp | 3 + ThirdParty/include/boost/mpl/shift_right.hpp | 3 + ThirdParty/include/boost/mpl/single_view.hpp | 3 + ThirdParty/include/boost/mpl/size.hpp | 3 + ThirdParty/include/boost/mpl/size_fwd.hpp | 3 + ThirdParty/include/boost/mpl/size_t.hpp | 3 + ThirdParty/include/boost/mpl/size_t_fwd.hpp | 3 + ThirdParty/include/boost/mpl/sizeof.hpp | 3 + ThirdParty/include/boost/mpl/sort.hpp | 3 + .../include/boost/mpl/stable_partition.hpp | 3 + ThirdParty/include/boost/mpl/string.hpp | 3 + ThirdParty/include/boost/mpl/switch.hpp | 3 + ThirdParty/include/boost/mpl/tag.hpp | 3 + ThirdParty/include/boost/mpl/times.hpp | 3 + ThirdParty/include/boost/mpl/transform.hpp | 3 + .../include/boost/mpl/transform_view.hpp | 3 + ThirdParty/include/boost/mpl/unique.hpp | 3 + ThirdParty/include/boost/mpl/unpack_args.hpp | 3 + ThirdParty/include/boost/mpl/upper_bound.hpp | 3 + ThirdParty/include/boost/mpl/value_type.hpp | 3 + .../include/boost/mpl/value_type_fwd.hpp | 3 + ThirdParty/include/boost/mpl/vector.hpp | 3 + .../include/boost/mpl/vector/aux_/O1_size.hpp | 3 + .../include/boost/mpl/vector/aux_/at.hpp | 3 + .../include/boost/mpl/vector/aux_/back.hpp | 3 + .../boost/mpl/vector/aux_/begin_end.hpp | 3 + .../include/boost/mpl/vector/aux_/clear.hpp | 3 + .../include/boost/mpl/vector/aux_/empty.hpp | 3 + .../include/boost/mpl/vector/aux_/front.hpp | 3 + .../mpl/vector/aux_/include_preprocessed.hpp | 3 + .../include/boost/mpl/vector/aux_/item.hpp | 3 + .../boost/mpl/vector/aux_/iterator.hpp | 3 + .../boost/mpl/vector/aux_/numbered.hpp | 3 + .../boost/mpl/vector/aux_/numbered_c.hpp | 3 + .../boost/mpl/vector/aux_/pop_back.hpp | 3 + .../boost/mpl/vector/aux_/pop_front.hpp | 3 + .../aux_/preprocessed/no_ctps/vector10.hpp | 3 + .../aux_/preprocessed/no_ctps/vector10_c.hpp | 3 + .../aux_/preprocessed/no_ctps/vector20.hpp | 3 + .../aux_/preprocessed/no_ctps/vector20_c.hpp | 3 + .../aux_/preprocessed/no_ctps/vector30.hpp | 3 + .../aux_/preprocessed/no_ctps/vector30_c.hpp | 3 + .../aux_/preprocessed/no_ctps/vector40.hpp | 3 + .../aux_/preprocessed/no_ctps/vector40_c.hpp | 3 + .../aux_/preprocessed/no_ctps/vector50.hpp | 3 + .../aux_/preprocessed/no_ctps/vector50_c.hpp | 3 + .../aux_/preprocessed/plain/vector10.hpp | 3 + .../aux_/preprocessed/plain/vector10_c.hpp | 3 + .../aux_/preprocessed/plain/vector20.hpp | 3 + .../aux_/preprocessed/plain/vector20_c.hpp | 3 + .../aux_/preprocessed/plain/vector30.hpp | 3 + .../aux_/preprocessed/plain/vector30_c.hpp | 3 + .../aux_/preprocessed/plain/vector40.hpp | 3 + .../aux_/preprocessed/plain/vector40_c.hpp | 3 + .../aux_/preprocessed/plain/vector50.hpp | 3 + .../aux_/preprocessed/plain/vector50_c.hpp | 3 + .../preprocessed/typeof_based/vector10.hpp | 3 + .../preprocessed/typeof_based/vector10_c.hpp | 3 + .../preprocessed/typeof_based/vector20.hpp | 3 + .../preprocessed/typeof_based/vector20_c.hpp | 3 + .../preprocessed/typeof_based/vector30.hpp | 3 + .../preprocessed/typeof_based/vector30_c.hpp | 3 + .../preprocessed/typeof_based/vector40.hpp | 3 + .../preprocessed/typeof_based/vector40_c.hpp | 3 + .../preprocessed/typeof_based/vector50.hpp | 3 + .../preprocessed/typeof_based/vector50_c.hpp | 3 + .../boost/mpl/vector/aux_/push_back.hpp | 3 + .../boost/mpl/vector/aux_/push_front.hpp | 3 + .../include/boost/mpl/vector/aux_/size.hpp | 3 + .../include/boost/mpl/vector/aux_/tag.hpp | 3 + .../include/boost/mpl/vector/aux_/vector0.hpp | 3 + .../include/boost/mpl/vector/vector0.hpp | 3 + .../include/boost/mpl/vector/vector0_c.hpp | 3 + .../include/boost/mpl/vector/vector10.hpp | 3 + .../include/boost/mpl/vector/vector10_c.hpp | 3 + .../include/boost/mpl/vector/vector20.hpp | 3 + .../include/boost/mpl/vector/vector20_c.hpp | 3 + .../include/boost/mpl/vector/vector30.hpp | 3 + .../include/boost/mpl/vector/vector30_c.hpp | 3 + .../include/boost/mpl/vector/vector40.hpp | 3 + .../include/boost/mpl/vector/vector40_c.hpp | 3 + .../include/boost/mpl/vector/vector50.hpp | 3 + .../include/boost/mpl/vector/vector50_c.hpp | 3 + ThirdParty/include/boost/mpl/vector_c.hpp | 3 + ThirdParty/include/boost/mpl/void.hpp | 3 + ThirdParty/include/boost/mpl/void_fwd.hpp | 3 + ThirdParty/include/boost/mpl/zip_view.hpp | 3 + .../boost/numeric/conversion/bounds.hpp | 3 + .../include/boost/numeric/conversion/cast.hpp | 3 + .../numeric/conversion/conversion_traits.hpp | 3 + .../boost/numeric/conversion/converter.hpp | 3 + .../numeric/conversion/converter_policies.hpp | 3 + .../numeric/conversion/detail/bounds.hpp | 3 + .../conversion/detail/conversion_traits.hpp | 3 + .../numeric/conversion/detail/converter.hpp | 3 + .../conversion/detail/int_float_mixture.hpp | 3 + .../conversion/detail/is_subranged.hpp | 3 + .../boost/numeric/conversion/detail/meta.hpp | 3 + .../conversion/detail/numeric_cast_traits.hpp | 3 + .../conversion/detail/old_numeric_cast.hpp | 3 + .../numeric_cast_traits_common.hpp | 3 + .../numeric_cast_traits_long_long.hpp | 3 + .../conversion/detail/sign_mixture.hpp | 3 + .../conversion/detail/udt_builtin_mixture.hpp | 3 + .../numeric/conversion/int_float_mixture.hpp | 3 + .../conversion/int_float_mixture_enum.hpp | 3 + .../boost/numeric/conversion/is_subranged.hpp | 3 + .../conversion/numeric_cast_traits.hpp | 3 + .../boost/numeric/conversion/sign_mixture.hpp | 3 + .../numeric/conversion/sign_mixture_enum.hpp | 3 + .../conversion/udt_builtin_mixture.hpp | 3 + .../conversion/udt_builtin_mixture_enum.hpp | 3 + ThirdParty/include/boost/numeric/interval.hpp | 3 + .../include/boost/numeric/interval/arith.hpp | 3 + .../include/boost/numeric/interval/arith2.hpp | 3 + .../include/boost/numeric/interval/arith3.hpp | 3 + .../boost/numeric/interval/checking.hpp | 3 + .../boost/numeric/interval/compare.hpp | 3 + .../numeric/interval/compare/certain.hpp | 3 + .../numeric/interval/compare/explicit.hpp | 3 + .../interval/compare/lexicographic.hpp | 3 + .../numeric/interval/compare/possible.hpp | 3 + .../boost/numeric/interval/compare/set.hpp | 3 + .../numeric/interval/compare/tribool.hpp | 3 + .../boost/numeric/interval/constants.hpp | 3 + .../detail/alpha_rounding_control.hpp | 3 + .../interval/detail/bcc_rounding_control.hpp | 3 + .../boost/numeric/interval/detail/bugs.hpp | 3 + .../interval/detail/c99_rounding_control.hpp | 3 + .../detail/c99sub_rounding_control.hpp | 3 + .../numeric/interval/detail/division.hpp | 3 + .../interval/detail/ia64_rounding_control.hpp | 3 + .../interval/detail/interval_prototype.hpp | 3 + .../interval/detail/msvc_rounding_control.hpp | 3 + .../interval/detail/ppc_rounding_control.hpp | 3 + .../detail/sparc_rounding_control.hpp | 3 + .../numeric/interval/detail/test_input.hpp | 3 + .../interval/detail/x86_rounding_control.hpp | 3 + .../detail/x86gcc_rounding_control.hpp | 3 + .../boost/numeric/interval/ext/integer.hpp | 3 + .../ext/x86_fast_rounding_control.hpp | 3 + .../boost/numeric/interval/hw_rounding.hpp | 3 + .../boost/numeric/interval/interval.hpp | 3 + .../include/boost/numeric/interval/io.hpp | 3 + .../include/boost/numeric/interval/limits.hpp | 3 + .../boost/numeric/interval/policies.hpp | 3 + .../boost/numeric/interval/rounded_arith.hpp | 3 + .../boost/numeric/interval/rounded_transc.hpp | 3 + .../boost/numeric/interval/rounding.hpp | 3 + .../include/boost/numeric/interval/transc.hpp | 3 + .../boost/numeric/interval/utility.hpp | 3 + ThirdParty/include/boost/numeric/odeint.hpp | 3 + .../odeint/algebra/algebra_dispatcher.hpp | 3 + .../numeric/odeint/algebra/array_algebra.hpp | 3 + .../odeint/algebra/default_operations.hpp | 3 + .../algebra/detail/extract_value_type.hpp | 3 + .../odeint/algebra/detail/for_each.hpp | 3 + .../numeric/odeint/algebra/detail/macros.hpp | 3 + .../odeint/algebra/detail/norm_inf.hpp | 3 + .../numeric/odeint/algebra/fusion_algebra.hpp | 3 + .../algebra/fusion_algebra_dispatcher.hpp | 3 + .../odeint/algebra/multi_array_algebra.hpp | 3 + .../odeint/algebra/norm_result_type.hpp | 3 + .../odeint/algebra/operations_dispatcher.hpp | 3 + .../numeric/odeint/algebra/range_algebra.hpp | 3 + .../odeint/algebra/vector_space_algebra.hpp | 3 + .../include/boost/numeric/odeint/config.hpp | 3 + .../blaze/blaze_algebra_dispatcher.hpp | 3 + .../odeint/external/blaze/blaze_resize.hpp | 3 + .../odeint/external/compute/compute.hpp | 3 + .../external/compute/compute_algebra.hpp | 3 + .../compute/compute_algebra_dispatcher.hpp | 3 + .../external/compute/compute_operations.hpp | 3 + .../compute/compute_operations_dispatcher.hpp | 3 + .../external/compute/compute_resize.hpp | 3 + .../numeric/odeint/external/eigen/eigen.hpp | 3 + .../odeint/external/eigen/eigen_algebra.hpp | 3 + .../eigen/eigen_algebra_dispatcher.hpp | 3 + .../odeint/external/eigen/eigen_resize.hpp | 3 + .../odeint/external/gsl/gsl_wrapper.hpp | 3 + .../odeint/external/mkl/mkl_operations.hpp | 3 + .../boost/numeric/odeint/external/mpi/mpi.hpp | 3 + .../external/mpi/mpi_nested_algebra.hpp | 3 + .../numeric/odeint/external/mpi/mpi_state.hpp | 3 + .../odeint/external/mpi/mpi_vector_state.hpp | 3 + .../external/mtl4/implicit_euler_mtl4.hpp | 3 + .../numeric/odeint/external/mtl4/mtl4.hpp | 3 + .../external/mtl4/mtl4_algebra_dispatcher.hpp | 3 + .../odeint/external/mtl4/mtl4_resize.hpp | 3 + .../external/nt2/nt2_algebra_dispatcher.hpp | 3 + .../numeric/odeint/external/nt2/nt2_copy.hpp | 3 + .../odeint/external/nt2/nt2_norm_inf.hpp | 3 + .../odeint/external/nt2/nt2_resize.hpp | 3 + .../numeric/odeint/external/openmp/openmp.hpp | 3 + .../external/openmp/openmp_nested_algebra.hpp | 3 + .../external/openmp/openmp_range_algebra.hpp | 3 + .../odeint/external/openmp/openmp_state.hpp | 3 + .../numeric/odeint/external/thrust/thrust.hpp | 3 + .../odeint/external/thrust/thrust_algebra.hpp | 3 + .../thrust/thrust_algebra_dispatcher.hpp | 3 + .../external/thrust/thrust_operations.hpp | 3 + .../thrust/thrust_operations_dispatcher.hpp | 3 + .../odeint/external/thrust/thrust_resize.hpp | 3 + .../numeric/odeint/external/vexcl/vexcl.hpp | 3 + .../odeint/external/vexcl/vexcl_abs.hpp | 3 + .../vexcl/vexcl_algebra_dispatcher.hpp | 3 + .../odeint/external/vexcl/vexcl_copy.hpp | 3 + .../odeint/external/vexcl/vexcl_norm_inf.hpp | 3 + .../odeint/external/vexcl/vexcl_resize.hpp | 3 + .../external/vexcl/vexcl_same_instance.hpp | 3 + .../external/viennacl/viennacl_operations.hpp | 3 + .../external/viennacl/viennacl_resize.hpp | 3 + .../odeint/integrate/check_adapter.hpp | 3 + .../odeint/integrate/detail/functors.hpp | 3 + .../integrate/detail/integrate_adaptive.hpp | 3 + .../integrate/detail/integrate_const.hpp | 3 + .../integrate/detail/integrate_n_steps.hpp | 3 + .../integrate/detail/integrate_times.hpp | 3 + .../numeric/odeint/integrate/integrate.hpp | 3 + .../odeint/integrate/integrate_adaptive.hpp | 3 + .../odeint/integrate/integrate_const.hpp | 3 + .../odeint/integrate/integrate_n_steps.hpp | 3 + .../odeint/integrate/integrate_times.hpp | 3 + .../odeint/integrate/max_step_checker.hpp | 3 + .../odeint/integrate/null_observer.hpp | 3 + .../odeint/integrate/observer_collection.hpp | 3 + .../odeint/iterator/adaptive_iterator.hpp | 3 + .../iterator/adaptive_time_iterator.hpp | 3 + .../odeint/iterator/const_step_iterator.hpp | 3 + .../iterator/const_step_time_iterator.hpp | 3 + .../iterator/detail/ode_iterator_base.hpp | 3 + .../iterator/impl/adaptive_iterator_impl.hpp | 3 + .../impl/const_step_iterator_impl.hpp | 3 + .../iterator/impl/n_step_iterator_impl.hpp | 3 + .../iterator/impl/times_iterator_impl.hpp | 3 + .../iterator/integrate/detail/functors.hpp | 3 + .../integrate/detail/integrate_adaptive.hpp | 3 + .../integrate/detail/integrate_const.hpp | 3 + .../integrate/detail/integrate_n_steps.hpp | 3 + .../integrate/detail/integrate_times.hpp | 3 + .../odeint/iterator/integrate/integrate.hpp | 3 + .../iterator/integrate/integrate_adaptive.hpp | 3 + .../iterator/integrate/integrate_const.hpp | 3 + .../iterator/integrate/integrate_n_steps.hpp | 3 + .../iterator/integrate/integrate_times.hpp | 3 + .../iterator/integrate/null_observer.hpp | 3 + .../integrate/observer_collection.hpp | 3 + .../odeint/iterator/n_step_iterator.hpp | 3 + .../odeint/iterator/n_step_time_iterator.hpp | 3 + .../odeint/iterator/times_iterator.hpp | 3 + .../odeint/iterator/times_time_iterator.hpp | 3 + .../odeint/stepper/adams_bashforth.hpp | 3 + .../stepper/adams_bashforth_moulton.hpp | 3 + .../numeric/odeint/stepper/adams_moulton.hpp | 3 + .../stepper/base/algebra_stepper_base.hpp | 3 + .../base/explicit_error_stepper_base.hpp | 3 + .../base/explicit_error_stepper_fsal_base.hpp | 3 + .../stepper/base/explicit_stepper_base.hpp | 3 + .../base/symplectic_rkn_stepper_base.hpp | 3 + .../numeric/odeint/stepper/bulirsch_stoer.hpp | 3 + .../stepper/bulirsch_stoer_dense_out.hpp | 3 + .../odeint/stepper/controlled_runge_kutta.hpp | 3 + .../odeint/stepper/controlled_step_result.hpp | 3 + .../stepper/dense_output_runge_kutta.hpp | 3 + .../detail/adams_bashforth_call_algebra.hpp | 3 + .../detail/adams_bashforth_coefficients.hpp | 3 + .../detail/adams_moulton_call_algebra.hpp | 3 + .../detail/adams_moulton_coefficients.hpp | 3 + .../stepper/detail/generic_rk_algorithm.hpp | 3 + .../detail/generic_rk_call_algebra.hpp | 3 + .../stepper/detail/generic_rk_operations.hpp | 3 + .../odeint/stepper/detail/rotating_buffer.hpp | 3 + .../boost/numeric/odeint/stepper/euler.hpp | 3 + .../stepper/explicit_error_generic_rk.hpp | 3 + .../odeint/stepper/explicit_generic_rk.hpp | 3 + .../odeint/stepper/extrapolation_stepper.hpp | 3 + .../numeric/odeint/stepper/generation.hpp | 3 + .../generation_controlled_runge_kutta.hpp | 3 + .../generation_dense_output_runge_kutta.hpp | 3 + .../generation/generation_rosenbrock4.hpp | 3 + .../generation_runge_kutta_cash_karp54.hpp | 3 + ...ration_runge_kutta_cash_karp54_classic.hpp | 3 + .../generation_runge_kutta_dopri5.hpp | 3 + .../generation_runge_kutta_fehlberg78.hpp | 3 + .../stepper/generation/make_controlled.hpp | 3 + .../stepper/generation/make_dense_output.hpp | 3 + .../numeric/odeint/stepper/implicit_euler.hpp | 3 + .../odeint/stepper/modified_midpoint.hpp | 3 + .../numeric/odeint/stepper/rosenbrock4.hpp | 3 + .../odeint/stepper/rosenbrock4_controller.hpp | 3 + .../stepper/rosenbrock4_dense_output.hpp | 3 + .../numeric/odeint/stepper/runge_kutta4.hpp | 3 + .../odeint/stepper/runge_kutta4_classic.hpp | 3 + .../stepper/runge_kutta_cash_karp54.hpp | 3 + .../runge_kutta_cash_karp54_classic.hpp | 3 + .../odeint/stepper/runge_kutta_dopri5.hpp | 3 + .../odeint/stepper/runge_kutta_fehlberg78.hpp | 3 + .../odeint/stepper/stepper_categories.hpp | 3 + .../odeint/stepper/symplectic_euler.hpp | 3 + .../symplectic_rkn_sb3a_m4_mclachlan.hpp | 3 + .../stepper/symplectic_rkn_sb3a_mclachlan.hpp | 3 + .../odeint/stepper/velocity_verlet.hpp | 3 + .../boost/numeric/odeint/util/bind.hpp | 3 + .../boost/numeric/odeint/util/copy.hpp | 3 + .../numeric/odeint/util/detail/is_range.hpp | 3 + .../odeint/util/detail/less_with_sign.hpp | 3 + .../boost/numeric/odeint/util/is_pair.hpp | 3 + .../numeric/odeint/util/is_resizeable.hpp | 3 + .../odeint/util/multi_array_adaption.hpp | 3 + .../numeric/odeint/util/n_ary_helper.hpp | 3 + .../numeric/odeint/util/odeint_error.hpp | 3 + .../boost/numeric/odeint/util/resize.hpp | 3 + .../boost/numeric/odeint/util/resizer.hpp | 3 + .../numeric/odeint/util/same_instance.hpp | 3 + .../boost/numeric/odeint/util/same_size.hpp | 3 + .../boost/numeric/odeint/util/split.hpp | 3 + .../numeric/odeint/util/split_adaptor.hpp | 3 + .../numeric/odeint/util/state_wrapper.hpp | 3 + .../numeric/odeint/util/stepper_traits.hpp | 3 + .../odeint/util/ublas_matrix_expression.patch | 3 + .../numeric/odeint/util/ublas_wrapper.hpp | 3 + .../boost/numeric/odeint/util/unit_helper.hpp | 3 + .../numeric/odeint/util/unwrap_reference.hpp | 3 + .../include/boost/numeric/odeint/version.hpp | 3 + .../boost/numeric/ublas/assignment.hpp | 3 + .../include/boost/numeric/ublas/banded.hpp | 3 + .../include/boost/numeric/ublas/blas.hpp | 3 + .../boost/numeric/ublas/detail/concepts.hpp | 3 + .../boost/numeric/ublas/detail/config.hpp | 3 + .../numeric/ublas/detail/definitions.hpp | 3 + .../numeric/ublas/detail/documentation.hpp | 3 + .../boost/numeric/ublas/detail/duff.hpp | 3 + .../boost/numeric/ublas/detail/iterator.hpp | 3 + .../numeric/ublas/detail/matrix_assign.hpp | 3 + .../boost/numeric/ublas/detail/raw.hpp | 3 + .../ublas/detail/returntype_deduction.hpp | 3 + .../boost/numeric/ublas/detail/temporary.hpp | 3 + .../numeric/ublas/detail/vector_assign.hpp | 3 + .../include/boost/numeric/ublas/doxydoc.hpp | 3 + .../include/boost/numeric/ublas/exception.hpp | 3 + .../ublas/experimental/sparse_view.hpp | 3 + .../boost/numeric/ublas/expression_types.hpp | 3 + .../boost/numeric/ublas/functional.hpp | 3 + .../include/boost/numeric/ublas/fwd.hpp | 3 + .../include/boost/numeric/ublas/hermitian.hpp | 3 + ThirdParty/include/boost/numeric/ublas/io.hpp | 3 + ThirdParty/include/boost/numeric/ublas/lu.hpp | 3 + .../include/boost/numeric/ublas/matrix.hpp | 3 + .../boost/numeric/ublas/matrix_expression.hpp | 3 + .../boost/numeric/ublas/matrix_proxy.hpp | 3 + .../boost/numeric/ublas/matrix_sparse.hpp | 3 + .../boost/numeric/ublas/matrix_vector.hpp | 3 + .../include/boost/numeric/ublas/operation.hpp | 3 + .../boost/numeric/ublas/operation/begin.hpp | 3 + .../boost/numeric/ublas/operation/c_array.hpp | 3 + .../boost/numeric/ublas/operation/end.hpp | 3 + .../numeric/ublas/operation/num_columns.hpp | 3 + .../numeric/ublas/operation/num_rows.hpp | 3 + .../boost/numeric/ublas/operation/size.hpp | 3 + .../boost/numeric/ublas/operation_blocked.hpp | 3 + .../boost/numeric/ublas/operation_sparse.hpp | 3 + .../boost/numeric/ublas/operations.hpp | 3 + .../include/boost/numeric/ublas/storage.hpp | 3 + .../boost/numeric/ublas/storage_sparse.hpp | 3 + .../include/boost/numeric/ublas/symmetric.hpp | 3 + .../include/boost/numeric/ublas/tags.hpp | 3 + .../include/boost/numeric/ublas/traits.hpp | 3 + .../boost/numeric/ublas/traits/c_array.hpp | 3 + .../ublas/traits/const_iterator_type.hpp | 3 + .../numeric/ublas/traits/iterator_type.hpp | 3 + .../boost/numeric/ublas/triangular.hpp | 3 + .../include/boost/numeric/ublas/vector.hpp | 3 + .../boost/numeric/ublas/vector_expression.hpp | 3 + .../boost/numeric/ublas/vector_of_vector.hpp | 3 + .../boost/numeric/ublas/vector_proxy.hpp | 3 + .../boost/numeric/ublas/vector_sparse.hpp | 3 + ThirdParty/include/boost/operators.hpp | 3 + ThirdParty/include/boost/predef.h | 3 + .../include/boost/predef/architecture.h | 3 + .../include/boost/predef/architecture/alpha.h | 3 + .../include/boost/predef/architecture/arm.h | 3 + .../boost/predef/architecture/blackfin.h | 3 + .../boost/predef/architecture/convex.h | 3 + .../include/boost/predef/architecture/ia64.h | 3 + .../include/boost/predef/architecture/m68k.h | 3 + .../include/boost/predef/architecture/mips.h | 3 + .../boost/predef/architecture/parisc.h | 3 + .../include/boost/predef/architecture/ppc.h | 3 + .../include/boost/predef/architecture/ptx.h | 3 + .../boost/predef/architecture/pyramid.h | 3 + .../include/boost/predef/architecture/rs6k.h | 3 + .../include/boost/predef/architecture/sparc.h | 3 + .../boost/predef/architecture/superh.h | 3 + .../boost/predef/architecture/sys370.h | 3 + .../boost/predef/architecture/sys390.h | 3 + .../include/boost/predef/architecture/x86.h | 3 + .../boost/predef/architecture/x86/32.h | 3 + .../boost/predef/architecture/x86/64.h | 3 + .../include/boost/predef/architecture/z.h | 3 + ThirdParty/include/boost/predef/compiler.h | 3 + .../include/boost/predef/compiler/borland.h | 3 + .../include/boost/predef/compiler/clang.h | 3 + .../include/boost/predef/compiler/comeau.h | 3 + .../include/boost/predef/compiler/compaq.h | 3 + .../include/boost/predef/compiler/diab.h | 3 + .../boost/predef/compiler/digitalmars.h | 3 + .../include/boost/predef/compiler/dignus.h | 3 + .../include/boost/predef/compiler/edg.h | 3 + .../include/boost/predef/compiler/ekopath.h | 3 + .../include/boost/predef/compiler/gcc.h | 3 + .../include/boost/predef/compiler/gcc_xml.h | 3 + .../boost/predef/compiler/greenhills.h | 3 + .../include/boost/predef/compiler/hp_acc.h | 3 + .../include/boost/predef/compiler/iar.h | 3 + .../include/boost/predef/compiler/ibm.h | 3 + .../include/boost/predef/compiler/intel.h | 3 + .../include/boost/predef/compiler/kai.h | 3 + .../include/boost/predef/compiler/llvm.h | 3 + .../include/boost/predef/compiler/metaware.h | 3 + .../boost/predef/compiler/metrowerks.h | 3 + .../include/boost/predef/compiler/microtec.h | 3 + .../include/boost/predef/compiler/mpw.h | 3 + .../include/boost/predef/compiler/nvcc.h | 3 + .../include/boost/predef/compiler/palm.h | 3 + .../include/boost/predef/compiler/pgi.h | 3 + .../boost/predef/compiler/sgi_mipspro.h | 3 + .../include/boost/predef/compiler/sunpro.h | 3 + .../include/boost/predef/compiler/tendra.h | 3 + .../include/boost/predef/compiler/visualc.h | 3 + .../include/boost/predef/compiler/watcom.h | 3 + .../include/boost/predef/detail/_cassert.h | 3 + .../include/boost/predef/detail/_exception.h | 3 + .../boost/predef/detail/comp_detected.h | 3 + .../boost/predef/detail/endian_compat.h | 3 + .../include/boost/predef/detail/os_detected.h | 3 + .../boost/predef/detail/platform_detected.h | 3 + ThirdParty/include/boost/predef/detail/test.h | 3 + .../include/boost/predef/detail/test_def.h | 3 + ThirdParty/include/boost/predef/hardware.h | 3 + .../include/boost/predef/hardware/simd.h | 3 + .../include/boost/predef/hardware/simd/arm.h | 3 + .../boost/predef/hardware/simd/arm/versions.h | 3 + .../include/boost/predef/hardware/simd/ppc.h | 3 + .../boost/predef/hardware/simd/ppc/versions.h | 3 + .../include/boost/predef/hardware/simd/x86.h | 3 + .../boost/predef/hardware/simd/x86/versions.h | 3 + .../boost/predef/hardware/simd/x86_amd.h | 3 + .../predef/hardware/simd/x86_amd/versions.h | 3 + ThirdParty/include/boost/predef/language.h | 3 + .../include/boost/predef/language/cuda.h | 3 + .../include/boost/predef/language/objc.h | 3 + .../include/boost/predef/language/stdc.h | 3 + .../include/boost/predef/language/stdcpp.h | 3 + ThirdParty/include/boost/predef/library.h | 3 + ThirdParty/include/boost/predef/library/c.h | 3 + .../include/boost/predef/library/c/_prefix.h | 3 + .../include/boost/predef/library/c/cloudabi.h | 3 + .../include/boost/predef/library/c/gnu.h | 3 + .../include/boost/predef/library/c/uc.h | 3 + .../include/boost/predef/library/c/vms.h | 3 + .../include/boost/predef/library/c/zos.h | 3 + ThirdParty/include/boost/predef/library/std.h | 3 + .../boost/predef/library/std/_prefix.h | 3 + .../include/boost/predef/library/std/cxx.h | 3 + .../boost/predef/library/std/dinkumware.h | 3 + .../boost/predef/library/std/libcomo.h | 3 + .../include/boost/predef/library/std/modena.h | 3 + .../include/boost/predef/library/std/msl.h | 3 + .../boost/predef/library/std/roguewave.h | 3 + .../include/boost/predef/library/std/sgi.h | 3 + .../boost/predef/library/std/stdcpp3.h | 3 + .../boost/predef/library/std/stlport.h | 3 + .../include/boost/predef/library/std/vacpp.h | 3 + ThirdParty/include/boost/predef/make.h | 3 + ThirdParty/include/boost/predef/os.h | 3 + ThirdParty/include/boost/predef/os/aix.h | 3 + ThirdParty/include/boost/predef/os/amigaos.h | 3 + ThirdParty/include/boost/predef/os/android.h | 3 + ThirdParty/include/boost/predef/os/beos.h | 3 + ThirdParty/include/boost/predef/os/bsd.h | 3 + ThirdParty/include/boost/predef/os/bsd/bsdi.h | 3 + .../include/boost/predef/os/bsd/dragonfly.h | 3 + ThirdParty/include/boost/predef/os/bsd/free.h | 3 + ThirdParty/include/boost/predef/os/bsd/net.h | 3 + ThirdParty/include/boost/predef/os/bsd/open.h | 3 + ThirdParty/include/boost/predef/os/cygwin.h | 3 + ThirdParty/include/boost/predef/os/haiku.h | 3 + ThirdParty/include/boost/predef/os/hpux.h | 3 + ThirdParty/include/boost/predef/os/ios.h | 3 + ThirdParty/include/boost/predef/os/irix.h | 3 + ThirdParty/include/boost/predef/os/linux.h | 3 + ThirdParty/include/boost/predef/os/macos.h | 3 + ThirdParty/include/boost/predef/os/os400.h | 3 + ThirdParty/include/boost/predef/os/qnxnto.h | 3 + ThirdParty/include/boost/predef/os/solaris.h | 3 + ThirdParty/include/boost/predef/os/unix.h | 3 + ThirdParty/include/boost/predef/os/vms.h | 3 + ThirdParty/include/boost/predef/os/windows.h | 3 + ThirdParty/include/boost/predef/other.h | 3 + .../include/boost/predef/other/endian.h | 3 + .../include/boost/predef/other/workaround.h | 3 + ThirdParty/include/boost/predef/platform.h | 3 + .../include/boost/predef/platform/cloudabi.h | 3 + .../include/boost/predef/platform/ios.h | 3 + .../include/boost/predef/platform/mingw.h | 3 + .../include/boost/predef/platform/mingw32.h | 3 + .../include/boost/predef/platform/mingw64.h | 3 + .../boost/predef/platform/windows_desktop.h | 3 + .../boost/predef/platform/windows_phone.h | 3 + .../boost/predef/platform/windows_runtime.h | 3 + .../boost/predef/platform/windows_server.h | 3 + .../boost/predef/platform/windows_store.h | 3 + .../boost/predef/platform/windows_system.h | 3 + .../boost/predef/platform/windows_uwp.h | 3 + ThirdParty/include/boost/predef/version.h | 3 + .../include/boost/predef/version_number.h | 3 + ThirdParty/include/boost/preprocessor.hpp | 3 + .../include/boost/preprocessor/arithmetic.hpp | 3 + .../boost/preprocessor/arithmetic/add.hpp | 3 + .../boost/preprocessor/arithmetic/dec.hpp | 3 + .../arithmetic/detail/div_base.hpp | 3 + .../boost/preprocessor/arithmetic/div.hpp | 3 + .../boost/preprocessor/arithmetic/inc.hpp | 3 + .../boost/preprocessor/arithmetic/mod.hpp | 3 + .../boost/preprocessor/arithmetic/mul.hpp | 3 + .../boost/preprocessor/arithmetic/sub.hpp | 3 + .../include/boost/preprocessor/array.hpp | 3 + .../include/boost/preprocessor/array/data.hpp | 3 + .../preprocessor/array/detail/get_data.hpp | 3 + .../include/boost/preprocessor/array/elem.hpp | 3 + .../include/boost/preprocessor/array/enum.hpp | 3 + .../boost/preprocessor/array/insert.hpp | 3 + .../boost/preprocessor/array/pop_back.hpp | 3 + .../boost/preprocessor/array/pop_front.hpp | 3 + .../boost/preprocessor/array/push_back.hpp | 3 + .../boost/preprocessor/array/push_front.hpp | 3 + .../boost/preprocessor/array/remove.hpp | 3 + .../boost/preprocessor/array/replace.hpp | 3 + .../boost/preprocessor/array/reverse.hpp | 3 + .../include/boost/preprocessor/array/size.hpp | 3 + .../boost/preprocessor/array/to_list.hpp | 3 + .../boost/preprocessor/array/to_seq.hpp | 3 + .../boost/preprocessor/array/to_tuple.hpp | 3 + .../include/boost/preprocessor/assert_msg.hpp | 3 + ThirdParty/include/boost/preprocessor/cat.hpp | 3 + .../include/boost/preprocessor/comma.hpp | 3 + .../include/boost/preprocessor/comma_if.hpp | 3 + .../include/boost/preprocessor/comparison.hpp | 3 + .../boost/preprocessor/comparison/equal.hpp | 3 + .../boost/preprocessor/comparison/greater.hpp | 3 + .../preprocessor/comparison/greater_equal.hpp | 3 + .../boost/preprocessor/comparison/less.hpp | 3 + .../preprocessor/comparison/less_equal.hpp | 3 + .../preprocessor/comparison/not_equal.hpp | 3 + .../boost/preprocessor/config/config.hpp | 3 + .../boost/preprocessor/config/limits.hpp | 3 + .../include/boost/preprocessor/control.hpp | 3 + .../boost/preprocessor/control/deduce_d.hpp | 3 + .../preprocessor/control/detail/dmc/while.hpp | 3 + .../preprocessor/control/detail/edg/while.hpp | 3 + .../control/detail/msvc/while.hpp | 3 + .../preprocessor/control/detail/while.hpp | 3 + .../boost/preprocessor/control/expr_if.hpp | 3 + .../boost/preprocessor/control/expr_iif.hpp | 3 + .../include/boost/preprocessor/control/if.hpp | 3 + .../boost/preprocessor/control/iif.hpp | 3 + .../boost/preprocessor/control/while.hpp | 3 + .../include/boost/preprocessor/debug.hpp | 3 + .../boost/preprocessor/debug/assert.hpp | 3 + .../boost/preprocessor/debug/error.hpp | 3 + .../include/boost/preprocessor/debug/line.hpp | 3 + ThirdParty/include/boost/preprocessor/dec.hpp | 3 + .../boost/preprocessor/detail/auto_rec.hpp | 3 + .../boost/preprocessor/detail/check.hpp | 3 + .../preprocessor/detail/dmc/auto_rec.hpp | 3 + .../boost/preprocessor/detail/is_binary.hpp | 3 + .../boost/preprocessor/detail/is_nullary.hpp | 3 + .../boost/preprocessor/detail/is_unary.hpp | 3 + .../boost/preprocessor/detail/null.hpp | 3 + .../boost/preprocessor/detail/split.hpp | 3 + .../include/boost/preprocessor/empty.hpp | 3 + .../include/boost/preprocessor/enum.hpp | 3 + .../boost/preprocessor/enum_params.hpp | 3 + .../enum_params_with_a_default.hpp | 3 + .../enum_params_with_defaults.hpp | 3 + .../boost/preprocessor/enum_shifted.hpp | 3 + .../preprocessor/enum_shifted_params.hpp | 3 + .../include/boost/preprocessor/expand.hpp | 3 + .../include/boost/preprocessor/expr_if.hpp | 3 + .../include/boost/preprocessor/facilities.hpp | 3 + .../boost/preprocessor/facilities/apply.hpp | 3 + .../facilities/detail/is_empty.hpp | 3 + .../boost/preprocessor/facilities/empty.hpp | 3 + .../boost/preprocessor/facilities/expand.hpp | 3 + .../preprocessor/facilities/identity.hpp | 3 + .../preprocessor/facilities/intercept.hpp | 3 + .../boost/preprocessor/facilities/is_1.hpp | 3 + .../preprocessor/facilities/is_empty.hpp | 3 + .../preprocessor/facilities/is_empty_or_1.hpp | 3 + .../facilities/is_empty_variadic.hpp | 3 + .../preprocessor/facilities/overload.hpp | 3 + ThirdParty/include/boost/preprocessor/for.hpp | 3 + .../include/boost/preprocessor/identity.hpp | 3 + ThirdParty/include/boost/preprocessor/if.hpp | 3 + ThirdParty/include/boost/preprocessor/inc.hpp | 3 + .../include/boost/preprocessor/iterate.hpp | 3 + .../include/boost/preprocessor/iteration.hpp | 3 + .../iteration/detail/bounds/lower1.hpp | 3 + .../iteration/detail/bounds/lower2.hpp | 3 + .../iteration/detail/bounds/lower3.hpp | 3 + .../iteration/detail/bounds/lower4.hpp | 3 + .../iteration/detail/bounds/lower5.hpp | 3 + .../iteration/detail/bounds/upper1.hpp | 3 + .../iteration/detail/bounds/upper2.hpp | 3 + .../iteration/detail/bounds/upper3.hpp | 3 + .../iteration/detail/bounds/upper4.hpp | 3 + .../iteration/detail/bounds/upper5.hpp | 3 + .../preprocessor/iteration/detail/finish.hpp | 3 + .../iteration/detail/iter/forward1.hpp | 3 + .../iteration/detail/iter/forward2.hpp | 3 + .../iteration/detail/iter/forward3.hpp | 3 + .../iteration/detail/iter/forward4.hpp | 3 + .../iteration/detail/iter/forward5.hpp | 3 + .../iteration/detail/iter/reverse1.hpp | 3 + .../iteration/detail/iter/reverse2.hpp | 3 + .../iteration/detail/iter/reverse3.hpp | 3 + .../iteration/detail/iter/reverse4.hpp | 3 + .../iteration/detail/iter/reverse5.hpp | 3 + .../preprocessor/iteration/detail/local.hpp | 3 + .../preprocessor/iteration/detail/rlocal.hpp | 3 + .../preprocessor/iteration/detail/self.hpp | 3 + .../preprocessor/iteration/detail/start.hpp | 3 + .../boost/preprocessor/iteration/iterate.hpp | 3 + .../boost/preprocessor/iteration/local.hpp | 3 + .../boost/preprocessor/iteration/self.hpp | 3 + .../include/boost/preprocessor/library.hpp | 3 + .../include/boost/preprocessor/limits.hpp | 3 + .../include/boost/preprocessor/list.hpp | 3 + .../include/boost/preprocessor/list/adt.hpp | 3 + .../boost/preprocessor/list/append.hpp | 3 + .../include/boost/preprocessor/list/at.hpp | 3 + .../include/boost/preprocessor/list/cat.hpp | 3 + .../list/detail/dmc/fold_left.hpp | 3 + .../list/detail/edg/fold_left.hpp | 3 + .../list/detail/edg/fold_right.hpp | 3 + .../preprocessor/list/detail/fold_left.hpp | 3 + .../preprocessor/list/detail/fold_right.hpp | 3 + .../include/boost/preprocessor/list/enum.hpp | 3 + .../boost/preprocessor/list/filter.hpp | 3 + .../boost/preprocessor/list/first_n.hpp | 3 + .../boost/preprocessor/list/fold_left.hpp | 3 + .../boost/preprocessor/list/fold_right.hpp | 3 + .../boost/preprocessor/list/for_each.hpp | 3 + .../boost/preprocessor/list/for_each_i.hpp | 3 + .../preprocessor/list/for_each_product.hpp | 3 + .../boost/preprocessor/list/rest_n.hpp | 3 + .../boost/preprocessor/list/reverse.hpp | 3 + .../include/boost/preprocessor/list/size.hpp | 3 + .../boost/preprocessor/list/to_array.hpp | 3 + .../boost/preprocessor/list/to_seq.hpp | 3 + .../boost/preprocessor/list/to_tuple.hpp | 3 + .../boost/preprocessor/list/transform.hpp | 3 + .../include/boost/preprocessor/logical.hpp | 3 + .../boost/preprocessor/logical/and.hpp | 3 + .../boost/preprocessor/logical/bitand.hpp | 3 + .../boost/preprocessor/logical/bitnor.hpp | 3 + .../boost/preprocessor/logical/bitor.hpp | 3 + .../boost/preprocessor/logical/bitxor.hpp | 3 + .../boost/preprocessor/logical/bool.hpp | 3 + .../boost/preprocessor/logical/compl.hpp | 3 + .../boost/preprocessor/logical/nor.hpp | 3 + .../boost/preprocessor/logical/not.hpp | 3 + .../include/boost/preprocessor/logical/or.hpp | 3 + .../boost/preprocessor/logical/xor.hpp | 3 + ThirdParty/include/boost/preprocessor/max.hpp | 3 + ThirdParty/include/boost/preprocessor/min.hpp | 3 + .../boost/preprocessor/punctuation.hpp | 3 + .../boost/preprocessor/punctuation/comma.hpp | 3 + .../preprocessor/punctuation/comma_if.hpp | 3 + .../punctuation/detail/is_begin_parens.hpp | 3 + .../punctuation/is_begin_parens.hpp | 3 + .../boost/preprocessor/punctuation/paren.hpp | 3 + .../preprocessor/punctuation/paren_if.hpp | 3 + .../punctuation/remove_parens.hpp | 3 + .../include/boost/preprocessor/repeat.hpp | 3 + .../include/boost/preprocessor/repeat_2nd.hpp | 3 + .../include/boost/preprocessor/repeat_3rd.hpp | 3 + .../boost/preprocessor/repeat_from_to.hpp | 3 + .../boost/preprocessor/repeat_from_to_2nd.hpp | 3 + .../boost/preprocessor/repeat_from_to_3rd.hpp | 3 + .../include/boost/preprocessor/repetition.hpp | 3 + .../preprocessor/repetition/deduce_r.hpp | 3 + .../preprocessor/repetition/deduce_z.hpp | 3 + .../repetition/detail/dmc/for.hpp | 3 + .../repetition/detail/edg/for.hpp | 3 + .../preprocessor/repetition/detail/for.hpp | 3 + .../repetition/detail/msvc/for.hpp | 3 + .../boost/preprocessor/repetition/enum.hpp | 3 + .../repetition/enum_binary_params.hpp | 3 + .../preprocessor/repetition/enum_params.hpp | 3 + .../repetition/enum_params_with_a_default.hpp | 3 + .../repetition/enum_params_with_defaults.hpp | 3 + .../preprocessor/repetition/enum_shifted.hpp | 3 + .../repetition/enum_shifted_binary_params.hpp | 3 + .../repetition/enum_shifted_params.hpp | 3 + .../preprocessor/repetition/enum_trailing.hpp | 3 + .../enum_trailing_binary_params.hpp | 3 + .../repetition/enum_trailing_params.hpp | 3 + .../boost/preprocessor/repetition/for.hpp | 3 + .../boost/preprocessor/repetition/repeat.hpp | 3 + .../repetition/repeat_from_to.hpp | 3 + .../include/boost/preprocessor/selection.hpp | 3 + .../boost/preprocessor/selection/max.hpp | 3 + .../boost/preprocessor/selection/min.hpp | 3 + ThirdParty/include/boost/preprocessor/seq.hpp | 3 + .../include/boost/preprocessor/seq/cat.hpp | 3 + .../seq/detail/binary_transform.hpp | 3 + .../preprocessor/seq/detail/is_empty.hpp | 3 + .../boost/preprocessor/seq/detail/split.hpp | 3 + .../preprocessor/seq/detail/to_list_msvc.hpp | 3 + .../include/boost/preprocessor/seq/elem.hpp | 3 + .../include/boost/preprocessor/seq/enum.hpp | 3 + .../include/boost/preprocessor/seq/filter.hpp | 3 + .../boost/preprocessor/seq/first_n.hpp | 3 + .../boost/preprocessor/seq/fold_left.hpp | 3 + .../boost/preprocessor/seq/fold_right.hpp | 3 + .../boost/preprocessor/seq/for_each.hpp | 3 + .../boost/preprocessor/seq/for_each_i.hpp | 3 + .../preprocessor/seq/for_each_product.hpp | 3 + .../include/boost/preprocessor/seq/insert.hpp | 3 + .../boost/preprocessor/seq/pop_back.hpp | 3 + .../boost/preprocessor/seq/pop_front.hpp | 3 + .../boost/preprocessor/seq/push_back.hpp | 3 + .../boost/preprocessor/seq/push_front.hpp | 3 + .../include/boost/preprocessor/seq/remove.hpp | 3 + .../boost/preprocessor/seq/replace.hpp | 3 + .../include/boost/preprocessor/seq/rest_n.hpp | 3 + .../boost/preprocessor/seq/reverse.hpp | 3 + .../include/boost/preprocessor/seq/seq.hpp | 3 + .../include/boost/preprocessor/seq/size.hpp | 3 + .../include/boost/preprocessor/seq/subseq.hpp | 3 + .../boost/preprocessor/seq/to_array.hpp | 3 + .../boost/preprocessor/seq/to_list.hpp | 3 + .../boost/preprocessor/seq/to_tuple.hpp | 3 + .../boost/preprocessor/seq/transform.hpp | 3 + .../preprocessor/seq/variadic_seq_to_seq.hpp | 3 + .../include/boost/preprocessor/slot.hpp | 3 + .../boost/preprocessor/slot/counter.hpp | 3 + .../preprocessor/slot/detail/counter.hpp | 3 + .../boost/preprocessor/slot/detail/def.hpp | 3 + .../boost/preprocessor/slot/detail/shared.hpp | 3 + .../boost/preprocessor/slot/detail/slot1.hpp | 3 + .../boost/preprocessor/slot/detail/slot2.hpp | 3 + .../boost/preprocessor/slot/detail/slot3.hpp | 3 + .../boost/preprocessor/slot/detail/slot4.hpp | 3 + .../boost/preprocessor/slot/detail/slot5.hpp | 3 + .../include/boost/preprocessor/slot/slot.hpp | 3 + .../include/boost/preprocessor/stringize.hpp | 3 + .../include/boost/preprocessor/tuple.hpp | 3 + .../tuple/detail/is_single_return.hpp | 3 + .../include/boost/preprocessor/tuple/eat.hpp | 3 + .../include/boost/preprocessor/tuple/elem.hpp | 3 + .../include/boost/preprocessor/tuple/enum.hpp | 3 + .../boost/preprocessor/tuple/insert.hpp | 3 + .../boost/preprocessor/tuple/pop_back.hpp | 3 + .../boost/preprocessor/tuple/pop_front.hpp | 3 + .../boost/preprocessor/tuple/push_back.hpp | 3 + .../boost/preprocessor/tuple/push_front.hpp | 3 + .../include/boost/preprocessor/tuple/rem.hpp | 3 + .../boost/preprocessor/tuple/remove.hpp | 3 + .../boost/preprocessor/tuple/replace.hpp | 3 + .../boost/preprocessor/tuple/reverse.hpp | 3 + .../include/boost/preprocessor/tuple/size.hpp | 3 + .../boost/preprocessor/tuple/to_array.hpp | 3 + .../boost/preprocessor/tuple/to_list.hpp | 3 + .../boost/preprocessor/tuple/to_seq.hpp | 3 + .../include/boost/preprocessor/variadic.hpp | 3 + .../variadic/detail/is_single_return.hpp | 3 + .../boost/preprocessor/variadic/elem.hpp | 3 + .../boost/preprocessor/variadic/size.hpp | 3 + .../boost/preprocessor/variadic/to_array.hpp | 3 + .../boost/preprocessor/variadic/to_list.hpp | 3 + .../boost/preprocessor/variadic/to_seq.hpp | 3 + .../boost/preprocessor/variadic/to_tuple.hpp | 3 + .../include/boost/preprocessor/while.hpp | 3 + .../include/boost/preprocessor/wstringize.hpp | 3 + ThirdParty/include/boost/ref.hpp | 3 + ThirdParty/include/boost/regex.h | 3 + ThirdParty/include/boost/regex.hpp | 3 + ThirdParty/include/boost/regex/concepts.hpp | 3 + ThirdParty/include/boost/regex/config.hpp | 3 + .../include/boost/regex/config/borland.hpp | 3 + .../include/boost/regex/config/cwchar.hpp | 3 + ThirdParty/include/boost/regex/icu.hpp | 3 + ThirdParty/include/boost/regex/mfc.hpp | 3 + .../include/boost/regex/pattern_except.hpp | 3 + .../boost/regex/pending/object_cache.hpp | 3 + .../boost/regex/pending/static_mutex.hpp | 3 + .../boost/regex/pending/unicode_iterator.hpp | 3 + .../include/boost/regex/regex_traits.hpp | 3 + ThirdParty/include/boost/regex/user.hpp | 3 + .../include/boost/regex/v4/basic_regex.hpp | 3 + .../boost/regex/v4/basic_regex_creator.hpp | 3 + .../boost/regex/v4/basic_regex_parser.hpp | 3 + .../include/boost/regex/v4/c_regex_traits.hpp | 3 + .../boost/regex/v4/char_regex_traits.hpp | 3 + .../boost/regex/v4/cpp_regex_traits.hpp | 3 + ThirdParty/include/boost/regex/v4/cregex.hpp | 3 + .../include/boost/regex/v4/error_type.hpp | 3 + .../include/boost/regex/v4/fileiter.hpp | 3 + .../include/boost/regex/v4/instances.hpp | 3 + .../boost/regex/v4/iterator_category.hpp | 3 + .../boost/regex/v4/iterator_traits.hpp | 3 + .../include/boost/regex/v4/match_flags.hpp | 3 + .../include/boost/regex/v4/match_results.hpp | 3 + .../boost/regex/v4/mem_block_cache.hpp | 3 + .../include/boost/regex/v4/perl_matcher.hpp | 3 + .../boost/regex/v4/perl_matcher_common.hpp | 3 + .../regex/v4/perl_matcher_non_recursive.hpp | 3 + .../boost/regex/v4/perl_matcher_recursive.hpp | 3 + .../boost/regex/v4/primary_transform.hpp | 3 + .../include/boost/regex/v4/protected_call.hpp | 3 + ThirdParty/include/boost/regex/v4/regbase.hpp | 3 + ThirdParty/include/boost/regex/v4/regex.hpp | 3 + .../include/boost/regex/v4/regex_format.hpp | 3 + .../include/boost/regex/v4/regex_fwd.hpp | 3 + .../include/boost/regex/v4/regex_grep.hpp | 3 + .../include/boost/regex/v4/regex_iterator.hpp | 3 + .../include/boost/regex/v4/regex_match.hpp | 3 + .../include/boost/regex/v4/regex_merge.hpp | 3 + .../boost/regex/v4/regex_raw_buffer.hpp | 3 + .../include/boost/regex/v4/regex_replace.hpp | 3 + .../include/boost/regex/v4/regex_search.hpp | 3 + .../include/boost/regex/v4/regex_split.hpp | 3 + .../boost/regex/v4/regex_token_iterator.hpp | 3 + .../include/boost/regex/v4/regex_traits.hpp | 3 + .../boost/regex/v4/regex_traits_defaults.hpp | 3 + .../boost/regex/v4/regex_workaround.hpp | 3 + ThirdParty/include/boost/regex/v4/states.hpp | 3 + .../include/boost/regex/v4/sub_match.hpp | 3 + .../include/boost/regex/v4/syntax_type.hpp | 3 + .../boost/regex/v4/u32regex_iterator.hpp | 3 + .../regex/v4/u32regex_token_iterator.hpp | 3 + .../boost/regex/v4/w32_regex_traits.hpp | 3 + ThirdParty/include/boost/regex_fwd.hpp | 3 + ThirdParty/include/boost/shared_ptr.hpp | 3 + ThirdParty/include/boost/smart_ptr.hpp | 3 + .../smart_ptr/allocate_local_shared_array.hpp | 3 + .../boost/smart_ptr/allocate_shared_array.hpp | 3 + .../boost/smart_ptr/atomic_shared_ptr.hpp | 3 + .../include/boost/smart_ptr/bad_weak_ptr.hpp | 3 + .../boost/smart_ptr/detail/atomic_count.hpp | 3 + .../smart_ptr/detail/atomic_count_gcc.hpp | 3 + .../smart_ptr/detail/atomic_count_gcc_x86.hpp | 3 + .../smart_ptr/detail/atomic_count_nt.hpp | 3 + .../smart_ptr/detail/atomic_count_pt.hpp | 3 + .../smart_ptr/detail/atomic_count_solaris.hpp | 3 + .../smart_ptr/detail/atomic_count_spin.hpp | 3 + .../detail/atomic_count_std_atomic.hpp | 3 + .../smart_ptr/detail/atomic_count_sync.hpp | 3 + .../smart_ptr/detail/atomic_count_win32.hpp | 3 + .../smart_ptr/detail/lightweight_mutex.hpp | 3 + .../smart_ptr/detail/local_counted_base.hpp | 3 + .../smart_ptr/detail/local_sp_deleter.hpp | 3 + .../boost/smart_ptr/detail/lwm_nop.hpp | 3 + .../boost/smart_ptr/detail/lwm_pthreads.hpp | 3 + .../boost/smart_ptr/detail/lwm_win32_cs.hpp | 3 + .../boost/smart_ptr/detail/operator_bool.hpp | 3 + .../smart_ptr/detail/quick_allocator.hpp | 3 + .../boost/smart_ptr/detail/shared_count.hpp | 3 + .../boost/smart_ptr/detail/sp_convertible.hpp | 3 + .../smart_ptr/detail/sp_counted_base.hpp | 3 + .../detail/sp_counted_base_acc_ia64.hpp | 3 + .../smart_ptr/detail/sp_counted_base_aix.hpp | 3 + .../detail/sp_counted_base_clang.hpp | 3 + .../detail/sp_counted_base_cw_ppc.hpp | 3 + .../detail/sp_counted_base_cw_x86.hpp | 3 + .../detail/sp_counted_base_gcc_ia64.hpp | 3 + .../detail/sp_counted_base_gcc_mips.hpp | 3 + .../detail/sp_counted_base_gcc_ppc.hpp | 3 + .../detail/sp_counted_base_gcc_sparc.hpp | 3 + .../detail/sp_counted_base_gcc_x86.hpp | 3 + .../smart_ptr/detail/sp_counted_base_nt.hpp | 3 + .../smart_ptr/detail/sp_counted_base_pt.hpp | 3 + .../detail/sp_counted_base_snc_ps3.hpp | 3 + .../detail/sp_counted_base_solaris.hpp | 3 + .../smart_ptr/detail/sp_counted_base_spin.hpp | 3 + .../detail/sp_counted_base_std_atomic.hpp | 3 + .../smart_ptr/detail/sp_counted_base_sync.hpp | 3 + .../detail/sp_counted_base_vacpp_ppc.hpp | 3 + .../smart_ptr/detail/sp_counted_base_w32.hpp | 3 + .../smart_ptr/detail/sp_counted_impl.hpp | 3 + .../detail/sp_disable_deprecated.hpp | 3 + .../boost/smart_ptr/detail/sp_forward.hpp | 3 + .../boost/smart_ptr/detail/sp_has_sync.hpp | 3 + .../boost/smart_ptr/detail/sp_interlocked.hpp | 3 + .../boost/smart_ptr/detail/sp_noexcept.hpp | 3 + .../boost/smart_ptr/detail/sp_nullptr_t.hpp | 3 + .../boost/smart_ptr/detail/spinlock.hpp | 3 + .../smart_ptr/detail/spinlock_gcc_arm.hpp | 3 + .../boost/smart_ptr/detail/spinlock_nt.hpp | 3 + .../boost/smart_ptr/detail/spinlock_pool.hpp | 3 + .../boost/smart_ptr/detail/spinlock_pt.hpp | 3 + .../smart_ptr/detail/spinlock_std_atomic.hpp | 3 + .../boost/smart_ptr/detail/spinlock_sync.hpp | 3 + .../boost/smart_ptr/detail/spinlock_w32.hpp | 3 + .../boost/smart_ptr/detail/yield_k.hpp | 3 + .../smart_ptr/enable_shared_from_raw.hpp | 3 + .../smart_ptr/enable_shared_from_this.hpp | 3 + .../include/boost/smart_ptr/intrusive_ptr.hpp | 3 + .../boost/smart_ptr/intrusive_ref_counter.hpp | 3 + .../boost/smart_ptr/local_shared_ptr.hpp | 3 + .../boost/smart_ptr/make_local_shared.hpp | 3 + .../smart_ptr/make_local_shared_array.hpp | 3 + .../smart_ptr/make_local_shared_object.hpp | 3 + .../include/boost/smart_ptr/make_shared.hpp | 3 + .../boost/smart_ptr/make_shared_array.hpp | 3 + .../boost/smart_ptr/make_shared_object.hpp | 3 + .../include/boost/smart_ptr/make_unique.hpp | 3 + .../include/boost/smart_ptr/owner_less.hpp | 3 + .../include/boost/smart_ptr/scoped_array.hpp | 3 + .../include/boost/smart_ptr/scoped_ptr.hpp | 3 + .../include/boost/smart_ptr/shared_array.hpp | 3 + .../include/boost/smart_ptr/shared_ptr.hpp | 3 + .../include/boost/smart_ptr/weak_ptr.hpp | 3 + ThirdParty/include/boost/static_assert.hpp | 3 + ThirdParty/include/boost/swap.hpp | 3 + .../include/boost/system/api_config.hpp | 3 + ThirdParty/include/boost/system/config.hpp | 3 + .../include/boost/system/cygwin_error.hpp | 3 + .../include/boost/system/detail/config.hpp | 3 + .../boost/system/detail/generic_category.hpp | 3 + .../system/detail/std_interoperability.hpp | 3 + .../system/detail/system_category_posix.hpp | 3 + .../system/detail/system_category_win32.hpp | 3 + .../include/boost/system/error_code.hpp | 3 + .../include/boost/system/linux_error.hpp | 3 + .../include/boost/system/system_error.hpp | 3 + .../include/boost/system/windows_error.hpp | 3 + ThirdParty/include/boost/throw_exception.hpp | 3 + .../boost/tuple/detail/tuple_basic.hpp | 3 + ThirdParty/include/boost/tuple/tuple.hpp | 3 + .../include/boost/tuple/tuple_comparison.hpp | 3 + ThirdParty/include/boost/tuple/tuple_io.hpp | 3 + ThirdParty/include/boost/type.hpp | 3 + ThirdParty/include/boost/type_traits.hpp | 3 + .../include/boost/type_traits/add_const.hpp | 3 + .../include/boost/type_traits/add_cv.hpp | 3 + .../type_traits/add_lvalue_reference.hpp | 3 + .../include/boost/type_traits/add_pointer.hpp | 3 + .../boost/type_traits/add_reference.hpp | 3 + .../type_traits/add_rvalue_reference.hpp | 3 + .../boost/type_traits/add_volatile.hpp | 3 + .../boost/type_traits/aligned_storage.hpp | 3 + .../boost/type_traits/alignment_of.hpp | 3 + .../boost/type_traits/alignment_traits.hpp | 3 + .../boost/type_traits/arithmetic_traits.hpp | 3 + .../boost/type_traits/array_traits.hpp | 3 + .../type_traits/broken_compiler_spec.hpp | 3 + .../include/boost/type_traits/common_type.hpp | 3 + .../boost/type_traits/composite_traits.hpp | 3 + .../include/boost/type_traits/conditional.hpp | 3 + .../include/boost/type_traits/config.hpp | 3 + .../boost/type_traits/conversion_traits.hpp | 3 + .../include/boost/type_traits/copy_cv.hpp | 3 + .../include/boost/type_traits/cv_traits.hpp | 3 + .../include/boost/type_traits/decay.hpp | 3 + .../include/boost/type_traits/declval.hpp | 3 + .../type_traits/detail/bool_trait_def.hpp | 3 + .../type_traits/detail/bool_trait_undef.hpp | 3 + .../detail/common_arithmetic_type.hpp | 3 + .../type_traits/detail/common_type_impl.hpp | 3 + .../detail/composite_member_pointer_type.hpp | 3 + .../detail/composite_pointer_type.hpp | 3 + .../boost/type_traits/detail/config.hpp | 3 + .../boost/type_traits/detail/detector.hpp | 3 + .../detail/has_binary_operator.hpp | 3 + .../detail/has_postfix_operator.hpp | 3 + .../detail/has_prefix_operator.hpp | 3 + .../boost/type_traits/detail/ice_and.hpp | 3 + .../boost/type_traits/detail/ice_eq.hpp | 3 + .../boost/type_traits/detail/ice_not.hpp | 3 + .../boost/type_traits/detail/ice_or.hpp | 3 + .../type_traits/detail/is_function_cxx_03.hpp | 3 + .../type_traits/detail/is_function_cxx_11.hpp | 3 + .../detail/is_function_msvc10_fix.hpp | 3 + .../detail/is_function_ptr_helper.hpp | 3 + .../detail/is_function_ptr_tester.hpp | 3 + .../type_traits/detail/is_likely_lambda.hpp | 3 + .../detail/is_mem_fun_pointer_impl.hpp | 3 + .../detail/is_mem_fun_pointer_tester.hpp | 3 + .../is_member_function_pointer_cxx_03.hpp | 3 + .../is_member_function_pointer_cxx_11.hpp | 3 + .../detail/is_rvalue_reference_msvc10_fix.hpp | 3 + .../boost/type_traits/detail/mp_defer.hpp | 3 + .../detail/template_arity_spec.hpp | 3 + .../boost/type_traits/detail/yes_no_type.hpp | 3 + .../include/boost/type_traits/detected.hpp | 3 + .../include/boost/type_traits/detected_or.hpp | 3 + .../include/boost/type_traits/enable_if.hpp | 3 + .../include/boost/type_traits/extent.hpp | 3 + .../type_traits/floating_point_promotion.hpp | 3 + .../boost/type_traits/function_traits.hpp | 3 + .../include/boost/type_traits/has_bit_and.hpp | 3 + .../boost/type_traits/has_bit_and_assign.hpp | 3 + .../include/boost/type_traits/has_bit_or.hpp | 3 + .../boost/type_traits/has_bit_or_assign.hpp | 3 + .../include/boost/type_traits/has_bit_xor.hpp | 3 + .../boost/type_traits/has_bit_xor_assign.hpp | 3 + .../boost/type_traits/has_complement.hpp | 3 + .../boost/type_traits/has_dereference.hpp | 3 + .../include/boost/type_traits/has_divides.hpp | 3 + .../boost/type_traits/has_divides_assign.hpp | 3 + .../boost/type_traits/has_equal_to.hpp | 3 + .../include/boost/type_traits/has_greater.hpp | 3 + .../boost/type_traits/has_greater_equal.hpp | 3 + .../boost/type_traits/has_left_shift.hpp | 3 + .../type_traits/has_left_shift_assign.hpp | 3 + .../include/boost/type_traits/has_less.hpp | 3 + .../boost/type_traits/has_less_equal.hpp | 3 + .../boost/type_traits/has_logical_and.hpp | 3 + .../boost/type_traits/has_logical_not.hpp | 3 + .../boost/type_traits/has_logical_or.hpp | 3 + .../include/boost/type_traits/has_minus.hpp | 3 + .../boost/type_traits/has_minus_assign.hpp | 3 + .../include/boost/type_traits/has_modulus.hpp | 3 + .../boost/type_traits/has_modulus_assign.hpp | 3 + .../boost/type_traits/has_multiplies.hpp | 3 + .../type_traits/has_multiplies_assign.hpp | 3 + .../include/boost/type_traits/has_negate.hpp | 3 + .../boost/type_traits/has_new_operator.hpp | 3 + .../boost/type_traits/has_not_equal_to.hpp | 3 + .../boost/type_traits/has_nothrow_assign.hpp | 3 + .../type_traits/has_nothrow_constructor.hpp | 3 + .../boost/type_traits/has_nothrow_copy.hpp | 3 + .../type_traits/has_nothrow_destructor.hpp | 3 + .../boost/type_traits/has_operator.hpp | 3 + .../include/boost/type_traits/has_plus.hpp | 3 + .../boost/type_traits/has_plus_assign.hpp | 3 + .../boost/type_traits/has_post_decrement.hpp | 3 + .../boost/type_traits/has_post_increment.hpp | 3 + .../boost/type_traits/has_pre_decrement.hpp | 3 + .../boost/type_traits/has_pre_increment.hpp | 3 + .../boost/type_traits/has_right_shift.hpp | 3 + .../type_traits/has_right_shift_assign.hpp | 3 + .../boost/type_traits/has_trivial_assign.hpp | 3 + .../type_traits/has_trivial_constructor.hpp | 3 + .../boost/type_traits/has_trivial_copy.hpp | 3 + .../type_traits/has_trivial_destructor.hpp | 3 + .../type_traits/has_trivial_move_assign.hpp | 3 + .../has_trivial_move_constructor.hpp | 3 + .../boost/type_traits/has_unary_minus.hpp | 3 + .../boost/type_traits/has_unary_plus.hpp | 3 + .../type_traits/has_virtual_destructor.hpp | 3 + ThirdParty/include/boost/type_traits/ice.hpp | 3 + .../boost/type_traits/integral_constant.hpp | 3 + .../boost/type_traits/integral_promotion.hpp | 3 + .../include/boost/type_traits/intrinsics.hpp | 3 + .../include/boost/type_traits/is_abstract.hpp | 3 + .../boost/type_traits/is_arithmetic.hpp | 3 + .../include/boost/type_traits/is_array.hpp | 3 + .../boost/type_traits/is_assignable.hpp | 3 + .../boost/type_traits/is_base_and_derived.hpp | 3 + .../include/boost/type_traits/is_base_of.hpp | 3 + .../boost/type_traits/is_base_of_tr1.hpp | 3 + .../include/boost/type_traits/is_class.hpp | 3 + .../include/boost/type_traits/is_complete.hpp | 3 + .../include/boost/type_traits/is_complex.hpp | 3 + .../include/boost/type_traits/is_compound.hpp | 3 + .../include/boost/type_traits/is_const.hpp | 3 + .../boost/type_traits/is_constructible.hpp | 3 + .../boost/type_traits/is_convertible.hpp | 3 + .../boost/type_traits/is_copy_assignable.hpp | 3 + .../type_traits/is_copy_constructible.hpp | 3 + .../type_traits/is_default_constructible.hpp | 3 + .../boost/type_traits/is_destructible.hpp | 3 + .../include/boost/type_traits/is_detected.hpp | 3 + .../type_traits/is_detected_convertible.hpp | 3 + .../boost/type_traits/is_detected_exact.hpp | 3 + .../include/boost/type_traits/is_empty.hpp | 3 + .../include/boost/type_traits/is_enum.hpp | 3 + .../include/boost/type_traits/is_final.hpp | 3 + .../include/boost/type_traits/is_float.hpp | 3 + .../boost/type_traits/is_floating_point.hpp | 3 + .../include/boost/type_traits/is_function.hpp | 3 + .../boost/type_traits/is_fundamental.hpp | 3 + .../include/boost/type_traits/is_integral.hpp | 3 + .../type_traits/is_list_constructible.hpp | 3 + .../boost/type_traits/is_lvalue_reference.hpp | 3 + .../is_member_function_pointer.hpp | 3 + .../type_traits/is_member_object_pointer.hpp | 3 + .../boost/type_traits/is_member_pointer.hpp | 3 + .../boost/type_traits/is_noncopyable.hpp | 3 + .../is_nothrow_move_assignable.hpp | 3 + .../is_nothrow_move_constructible.hpp | 3 + .../type_traits/is_nothrow_swappable.hpp | 3 + .../include/boost/type_traits/is_object.hpp | 3 + .../include/boost/type_traits/is_pod.hpp | 3 + .../include/boost/type_traits/is_pointer.hpp | 3 + .../boost/type_traits/is_polymorphic.hpp | 3 + .../boost/type_traits/is_reference.hpp | 3 + .../boost/type_traits/is_rvalue_reference.hpp | 3 + .../include/boost/type_traits/is_same.hpp | 3 + .../include/boost/type_traits/is_scalar.hpp | 3 + .../include/boost/type_traits/is_signed.hpp | 3 + .../boost/type_traits/is_stateless.hpp | 3 + .../include/boost/type_traits/is_union.hpp | 3 + .../include/boost/type_traits/is_unsigned.hpp | 3 + .../boost/type_traits/is_virtual_base_of.hpp | 3 + .../include/boost/type_traits/is_void.hpp | 3 + .../include/boost/type_traits/is_volatile.hpp | 3 + .../include/boost/type_traits/make_signed.hpp | 3 + .../boost/type_traits/make_unsigned.hpp | 3 + .../include/boost/type_traits/make_void.hpp | 3 + .../include/boost/type_traits/nonesuch.hpp | 3 + .../boost/type_traits/object_traits.hpp | 3 + .../include/boost/type_traits/promote.hpp | 3 + ThirdParty/include/boost/type_traits/rank.hpp | 3 + .../boost/type_traits/reference_traits.hpp | 3 + .../boost/type_traits/remove_all_extents.hpp | 3 + .../boost/type_traits/remove_bounds.hpp | 3 + .../boost/type_traits/remove_const.hpp | 3 + .../include/boost/type_traits/remove_cv.hpp | 3 + .../boost/type_traits/remove_cv_ref.hpp | 3 + .../boost/type_traits/remove_extent.hpp | 3 + .../boost/type_traits/remove_pointer.hpp | 3 + .../boost/type_traits/remove_reference.hpp | 3 + .../boost/type_traits/remove_volatile.hpp | 3 + .../include/boost/type_traits/same_traits.hpp | 3 + .../boost/type_traits/transform_traits.hpp | 3 + .../boost/type_traits/type_identity.hpp | 3 + .../boost/type_traits/type_with_alignment.hpp | 3 + .../include/boost/unordered/detail/fwd.hpp | 3 + .../boost/unordered/detail/implementation.hpp | 3 + .../include/boost/unordered/detail/map.hpp | 3 + .../include/boost/unordered/detail/set.hpp | 3 + .../include/boost/unordered/unordered_map.hpp | 3 + .../boost/unordered/unordered_map_fwd.hpp | 3 + .../include/boost/unordered/unordered_set.hpp | 3 + .../boost/unordered/unordered_set_fwd.hpp | 3 + ThirdParty/include/boost/unordered_map.hpp | 3 + ThirdParty/include/boost/unordered_set.hpp | 3 + ThirdParty/include/boost/utility.hpp | 3 + .../include/boost/utility/addressof.hpp | 3 + .../boost/utility/base_from_member.hpp | 3 + ThirdParty/include/boost/utility/binary.hpp | 3 + .../boost/utility/compare_pointees.hpp | 3 + ThirdParty/include/boost/utility/declval.hpp | 3 + .../detail/in_place_factory_prefix.hpp | 3 + .../detail/in_place_factory_suffix.hpp | 3 + .../boost/utility/detail/minstd_rand.hpp | 3 + .../utility/detail/result_of_iterate.hpp | 3 + .../include/boost/utility/enable_if.hpp | 3 + .../boost/utility/explicit_operator_bool.hpp | 3 + .../include/boost/utility/identity_type.hpp | 3 + .../boost/utility/in_place_factory.hpp | 3 + .../include/boost/utility/result_of.hpp | 3 + .../include/boost/utility/string_ref.hpp | 3 + .../include/boost/utility/string_ref_fwd.hpp | 3 + .../include/boost/utility/string_view.hpp | 3 + .../include/boost/utility/string_view_fwd.hpp | 3 + ThirdParty/include/boost/utility/swap.hpp | 3 + .../boost/utility/typed_in_place_factory.hpp | 3 + .../include/boost/utility/value_init.hpp | 3 + ThirdParty/include/boost/version.hpp | 3 + ThirdParty/include/boost/visit_each.hpp | 3 + .../include/boost/winapi/access_rights.hpp | 3 + ThirdParty/include/boost/winapi/apc.hpp | 3 + .../include/boost/winapi/basic_types.hpp | 3 + ThirdParty/include/boost/winapi/bcrypt.hpp | 3 + .../winapi/character_code_conversion.hpp | 3 + .../boost/winapi/condition_variable.hpp | 3 + ThirdParty/include/boost/winapi/config.hpp | 3 + .../include/boost/winapi/critical_section.hpp | 3 + ThirdParty/include/boost/winapi/crypt.hpp | 3 + ThirdParty/include/boost/winapi/dbghelp.hpp | 3 + ThirdParty/include/boost/winapi/debugapi.hpp | 3 + .../include/boost/winapi/detail/cast_ptr.hpp | 3 + .../boost/winapi/directory_management.hpp | 3 + ThirdParty/include/boost/winapi/dll.hpp | 3 + .../include/boost/winapi/environment.hpp | 3 + .../include/boost/winapi/error_codes.hpp | 3 + .../include/boost/winapi/error_handling.hpp | 3 + ThirdParty/include/boost/winapi/event.hpp | 3 + .../include/boost/winapi/file_management.hpp | 3 + .../include/boost/winapi/file_mapping.hpp | 3 + .../boost/winapi/get_current_process.hpp | 3 + .../boost/winapi/get_current_process_id.hpp | 3 + .../boost/winapi/get_current_thread.hpp | 3 + .../boost/winapi/get_current_thread_id.hpp | 3 + .../include/boost/winapi/get_last_error.hpp | 3 + .../boost/winapi/get_process_times.hpp | 3 + .../boost/winapi/get_system_directory.hpp | 3 + .../include/boost/winapi/get_thread_times.hpp | 3 + .../include/boost/winapi/handle_info.hpp | 3 + ThirdParty/include/boost/winapi/handles.hpp | 3 + .../include/boost/winapi/heap_memory.hpp | 3 + ThirdParty/include/boost/winapi/init_once.hpp | 3 + ThirdParty/include/boost/winapi/jobs.hpp | 3 + ThirdParty/include/boost/winapi/limits.hpp | 3 + .../include/boost/winapi/local_memory.hpp | 3 + ThirdParty/include/boost/winapi/memory.hpp | 3 + ThirdParty/include/boost/winapi/mutex.hpp | 3 + .../include/boost/winapi/overlapped.hpp | 3 + .../boost/winapi/page_protection_flags.hpp | 3 + ThirdParty/include/boost/winapi/pipes.hpp | 3 + .../include/boost/winapi/priority_class.hpp | 3 + ThirdParty/include/boost/winapi/process.hpp | 3 + ThirdParty/include/boost/winapi/security.hpp | 3 + ThirdParty/include/boost/winapi/semaphore.hpp | 3 + ThirdParty/include/boost/winapi/shell.hpp | 3 + .../include/boost/winapi/show_window.hpp | 3 + ThirdParty/include/boost/winapi/srw_lock.hpp | 3 + .../include/boost/winapi/stack_backtrace.hpp | 3 + .../include/boost/winapi/synchronization.hpp | 3 + ThirdParty/include/boost/winapi/system.hpp | 3 + ThirdParty/include/boost/winapi/thread.hpp | 3 + .../include/boost/winapi/thread_pool.hpp | 3 + ThirdParty/include/boost/winapi/time.hpp | 3 + ThirdParty/include/boost/winapi/timers.hpp | 3 + ThirdParty/include/boost/winapi/tls.hpp | 3 + ThirdParty/include/boost/winapi/wait.hpp | 3 + .../include/boost/winapi/waitable_timer.hpp | 3 + ThirdParty/include/serial/impl/unix.h | 3 + ThirdParty/include/serial/impl/win.h | 3 + ThirdParty/include/serial/serial.h | 3 + ThirdParty/include/serial/v8stdint.h | 3 + ThirdParty/lib/linux/v13/debug/libserial.a | 3 + ThirdParty/lib/linux/v13/debug/libsgconnect.a | 3 + ThirdParty/lib/linux/v13/debug/libsgcore.a | 3 + ThirdParty/lib/linux/v13/release/libserial.a | 3 + .../lib/linux/v13/release/libsgconnect.a | 3 + ThirdParty/lib/linux/v13/release/libsgcore.a | 3 + ThirdParty/lib/linux/v15/debug/libserial.a | 3 + ThirdParty/lib/linux/v15/debug/libsgconnect.a | 3 + ThirdParty/lib/linux/v15/debug/libsgcore.a | 3 + ThirdParty/lib/linux/v15/release/libserial.a | 3 + .../lib/linux/v15/release/libsgconnect.a | 3 + ThirdParty/lib/linux/v15/release/libsgcore.a | 3 + ThirdParty/lib/linux/v16/debug/libserial.a | 3 + ThirdParty/lib/linux/v16/debug/libsgconnect.a | 3 + ThirdParty/lib/linux/v16/debug/libsgcore.a | 3 + ThirdParty/lib/linux/v16/release/libserial.a | 3 + .../lib/linux/v16/release/libsgconnect.a | 3 + ThirdParty/lib/linux/v16/release/libsgcore.a | 3 + ThirdParty/lib/linux/v17/debug/libserial.a | 3 + ThirdParty/lib/linux/v17/debug/libsgconnect.a | 3 + ThirdParty/lib/linux/v17/debug/libsgcore.a | 3 + ThirdParty/lib/linux/v17/release/libserial.a | 3 + .../lib/linux/v17/release/libsgconnect.a | 3 + ThirdParty/lib/linux/v17/release/libsgcore.a | 3 + ThirdParty/lib/linux/v19/debug/libserial.a | 3 + ThirdParty/lib/linux/v19/debug/libsgconnect.a | 3 + ThirdParty/lib/linux/v19/debug/libsgcore.a | 3 + ThirdParty/lib/linux/v19/release/libserial.a | 3 + .../lib/linux/v19/release/libsgconnect.a | 3 + ThirdParty/lib/linux/v19/release/libsgcore.a | 3 + ThirdParty/lib/linux/v20/debug/libserial.a | 3 + ThirdParty/lib/linux/v20/debug/libsgconnect.a | 3 + ThirdParty/lib/linux/v20/debug/libsgcore.a | 3 + ThirdParty/lib/linux/v20/release/libserial.a | 3 + .../lib/linux/v20/release/libsgconnect.a | 3 + ThirdParty/lib/linux/v20/release/libsgcore.a | 3 + ThirdParty/lib/oculus/debug/libserial.a | 3 + ThirdParty/lib/oculus/debug/libsgconnect.a | 3 + ThirdParty/lib/oculus/debug/libsgcore.a | 3 + ThirdParty/lib/oculus/release/libserial.a | 3 + ThirdParty/lib/oculus/release/libsgconnect.a | 3 + ThirdParty/lib/oculus/release/libsgcore.a | 3 + ThirdParty/lib/win64/msvc142/debug/serial.lib | 3 + .../lib/win64/msvc142/debug/sgconnect.lib | 3 + ThirdParty/lib/win64/msvc142/debug/sgcore.lib | 3 + .../lib/win64/msvc142/release/serial.lib | 3 + .../lib/win64/msvc142/release/sgconnect.lib | 3 + .../lib/win64/msvc142/release/sgcore.lib | 3 + ThirdParty/lib/win64/msvc143/debug/serial.lib | 3 + .../lib/win64/msvc143/debug/sgconnect.lib | 3 + ThirdParty/lib/win64/msvc143/debug/sgcore.lib | 3 + .../lib/win64/msvc143/release/serial.lib | 3 + .../lib/win64/msvc143/release/sgconnect.lib | 3 + .../lib/win64/msvc143/release/sgcore.lib | 3 + 4222 files changed, 85051 insertions(+) create mode 100644 .clang-format create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE-THIRD-PARTY.md create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 Resources/Icon128.png create mode 100644 SenseGlove.uplugin create mode 100644 Source/SenseGlove/Private/SenseGlove.cpp create mode 100644 Source/SenseGlove/Private/SenseGlove.h create mode 100644 Source/SenseGlove/Private/SenseGloveModule.cpp create mode 100644 Source/SenseGlove/Private/SenseGloveModule.h create mode 100644 Source/SenseGlove/SenseGlove.Build.cs create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4263.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4264.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4706.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4800.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Connect_SGConnect.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Anatomy.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BasicHandModel.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BetaDevice.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BuzzCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceList.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceModel.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_FingerCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Fingers.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandInterpolator.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandPose.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandProfile.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGlove.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_InterpolationSet.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_JointKinematics.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Library.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGlove.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveInfo.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveVars.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Quat.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SGDevice.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseCom.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlove.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveInfo.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlovePose.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveVars.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SensorRange.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ThumperCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedThumpCommand.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Tracking.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Vect3D.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Windows.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4263.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4264.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4706.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4800.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_TEXT.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_check.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_TEXT.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_check.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.h create mode 100644 Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.cpp create mode 100644 Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4263.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4264.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4706.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4800.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_Woverloaded_virtual.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Connect_SGConnect.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Anatomy.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BasicHandModel.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BetaDevice.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BuzzCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceList.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceModel.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_FingerCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Fingers.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandInterpolator.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandPose.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandProfile.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGlove.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_InterpolationSet.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_JointKinematics.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Library.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGlove.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveInfo.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveVars.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Quat.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SGDevice.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseCom.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlove.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveInfo.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlovePose.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveVars.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SensorRange.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ThumperCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedThumpCommand.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Tracking.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Vect3D.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Windows.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4263.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4264.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4706.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4800.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_TEXT.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_Woverloaded_virtual.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_check.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_TEXT.h create mode 100644 Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_check.h create mode 100644 Source/SenseGloveBuildHacks/SenseGloveBuildHacks.Build.cs create mode 100644 Source/SenseGloveConnect/Private/SGConnect/SGConnect.cpp create mode 100644 Source/SenseGloveConnect/Private/SenseGloveConnect.cpp create mode 100644 Source/SenseGloveConnect/Private/SenseGloveConnect.h create mode 100644 Source/SenseGloveConnect/Private/SenseGloveConnectModule.cpp create mode 100644 Source/SenseGloveConnect/Private/SenseGloveConnectModule.h create mode 100644 Source/SenseGloveConnect/Public/SGConnect/SGConnect.h create mode 100644 Source/SenseGloveConnect/SenseGloveConnect.Build.cs create mode 100644 Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGConnectImpl.cpp create mode 100644 Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGExportedFunctions.cpp create mode 100644 Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.cpp create mode 100644 Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.h create mode 100644 Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.cpp create mode 100644 Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.h create mode 100644 Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGConnectImpl.h create mode 100644 Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGExportedFunctions.h create mode 100644 Source/SenseGloveConnectImpl/SenseGloveConnectImpl.Build.cs create mode 100644 Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.cpp create mode 100644 Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.h create mode 100644 Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.cpp create mode 100644 Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.h create mode 100644 Source/SenseGloveConnectKismet/SenseGloveConnectKismet.Build.cs create mode 100644 Source/SenseGloveCore/Private/SGCore/SGAnatomy.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGBasicHandModel.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGBetaDevice.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGBuzzCommand.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGCalibrationDataPoint.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGCore.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGDevice.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.h create mode 100644 Source/SenseGloveCore/Private/SGCore/SGDeviceList.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGDeviceModel.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGFingerCommand.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.h create mode 100644 Source/SenseGloveCore/Private/SGCore/SGFloatArray.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGForceFeedbackCommand.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHandInterpolator.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHandPose.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHandProfile.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGlove.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationCheck.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequence.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.h create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveCommandBuffer.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveHandProfiles.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGHapticGloveQuickCalibration.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGInterpolationSet.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGInterpolationSetArray.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGJointKinematics.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGLibrary.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGNovaGlove.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGNovaGloveCalibration.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGNovaGloveHandProfile.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGNovaGloveInfo.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGNovaGloveSensorData.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGQuatArray.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseCom.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseGlove.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseGloveHandProfile.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseGloveInfo.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseGlovePose.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseGloveSensorData.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSenseGloveVars.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGSensorRange.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGThumperCommand.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGTimedBuzzCommand.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGTimedThumpCommand.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGTracking.cpp create mode 100644 Source/SenseGloveCore/Private/SGCore/SGVectorArray.cpp create mode 100644 Source/SenseGloveCore/Private/SenseGloveCore.cpp create mode 100644 Source/SenseGloveCore/Private/SenseGloveCore.h create mode 100644 Source/SenseGloveCore/Private/SenseGloveCoreModule.cpp create mode 100644 Source/SenseGloveCore/Private/SenseGloveCoreModule.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGAnatomy.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGBasicHandModel.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGBetaDevice.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGBuzzCommand.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGCalibrationDataPoint.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGCore.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGDevice.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGDeviceList.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGDeviceModel.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGFingerCommand.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGFloatArray.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGForceFeedbackCommand.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHandInterpolator.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHandPose.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHandProfile.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHapticGlove.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationCheck.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationSequence.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHapticGloveCommandBuffer.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHapticGloveHandProfiles.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGHapticGloveQuickCalibration.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGInterpolationSet.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGInterpolationSetArray.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGJointKinematics.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGLibrary.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGNovaGlove.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGNovaGloveCalibration.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGNovaGloveHandProfile.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGNovaGloveInfo.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGNovaGloveSensorData.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGQuatArray.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseCom.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseGlove.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseGloveHandProfile.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseGloveInfo.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseGlovePose.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseGloveSensorData.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSenseGloveVars.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGSensorRange.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGThumperCommand.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGTimedBuzzCommand.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGTimedThumpCommand.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGTracking.h create mode 100644 Source/SenseGloveCore/Public/SGCore/SGVectorArray.h create mode 100644 Source/SenseGloveCore/SenseGloveCore.Build.cs create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGAnatomyImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBasicHandModelImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBetaDeviceImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCalibrationDataPointImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.h create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceListImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceModelImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGExportedFunctions.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGFingerCommandImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGForceFeedbackCommandImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandInterpolatorImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandPoseImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandProfileImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCommandBufferImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveHandProfilesImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGInterpolationSetImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGJointKinematicsImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGLibraryImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveCalibrationImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveHandProfileImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveInfoImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveSensorDataImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.h create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseComImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveHandProfileImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveInfoImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGlovePoseImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveSensorDataImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveVarsImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSensorRangeImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGThumperCommandImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedThumpCommandImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTrackingImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.h create mode 100644 Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.h create mode 100644 Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.cpp create mode 100644 Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGAnatomyImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBasicHandModelImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBetaDeviceImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBuzzCommandImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGCalibrationDataPointImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceListImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceModelImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGExportedFunctions.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGFingerCommandImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGForceFeedbackCommandImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandInterpolatorImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandPoseImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandProfileImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCommandBufferImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveHandProfilesImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGInterpolationSetImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGJointKinematicsImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGLibraryImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveCalibrationImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveHandProfileImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveInfoImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveSensorDataImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseComImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveHandProfileImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveInfoImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGlovePoseImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveSensorDataImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveVarsImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSensorRangeImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGThumperCommandImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedBuzzCommandImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedThumpCommandImpl.h create mode 100644 Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTrackingImpl.h create mode 100644 Source/SenseGloveCoreImpl/SenseGloveCoreImpl.Build.cs create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGAnatomyKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBasicHandModelKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBetaDeviceKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBuzzCommandKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGCalibrationDataPointKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceListKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceModelKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGFingerCommandKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandInterpolatorKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandPoseKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandProfileKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGInterpolationSetKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGJointKinematicsKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGLibraryKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveInfoKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseComKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveInfoKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGlovePoseKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveVarsKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSensorRangeKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGThumperCommandKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedThumpCommandKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTrackingKismetLibrary.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.h create mode 100644 Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.cpp create mode 100644 Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGAnatomyKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBasicHandModelKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBetaDeviceKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBuzzCommandKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGCalibrationDataPointKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceListKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceModelKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGFingerCommandKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandInterpolatorKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandPoseKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandProfileKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGInterpolationSetKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGJointKinematicsKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGLibraryKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveInfoKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseComKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveInfoKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGlovePoseKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveVarsKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSensorRangeKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGThumperCommandKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedThumpCommandKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTrackingKismetLibrary.h create mode 100644 Source/SenseGloveCoreKismet/SenseGloveCoreKismet.Build.cs create mode 100644 Source/SenseGloveEditor/Private/SenseGloveEditor.cpp create mode 100644 Source/SenseGloveEditor/Private/SenseGloveEditor.h create mode 100644 Source/SenseGloveEditor/Private/SenseGloveEditorModule.cpp create mode 100644 Source/SenseGloveEditor/Private/SenseGloveEditorModule.h create mode 100644 Source/SenseGloveEditor/SenseGloveEditor.Build.cs create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGBackendType.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCVar.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCalibrationStage.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGConnectionType.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGDeviceType.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFinger.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerMovement.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerSolver.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGListFormat.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaCVar.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaData.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaSensorData.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGPositionalTrackingHardware.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSVar.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSenseGloveThumperCommand.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSensorFormat.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbMovement.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbSolver.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FQuat.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBasicHandModelImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBetaDeviceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGCalibrationDataPointImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceModelImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGFingerCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGForceFeedbackCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandInterpolatorImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandPoseImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandProfileImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGInterpolationSetImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveInfoImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveInfoImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGlovePoseImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSensorRangeImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGThumperCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedThumpCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FString.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_FVector.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FQuat.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGNovaGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGSenseGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FVector.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FQuat.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FVector.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_bool.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_float.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_bool.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_float.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_int32.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.cpp create mode 100644 Source/SenseGloveInterop/Private/SGInterop/SGIC_int32_Ref.cpp create mode 100644 Source/SenseGloveInterop/Private/SenseGloveInterop.cpp create mode 100644 Source/SenseGloveInterop/Private/SenseGloveInterop.h create mode 100644 Source/SenseGloveInterop/Private/SenseGloveInteropModule.cpp create mode 100644 Source/SenseGloveInterop/Private/SenseGloveInteropModule.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGBackendType.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCVar.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCalibrationStage.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGConnectionType.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGDeviceType.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFinger.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerMovement.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerSolver.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGListFormat.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaCVar.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaData.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaSensorData.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGPositionalTrackingHardware.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSVar.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSenseGloveThumperCommand.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSensorFormat.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbMovement.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbSolver.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FQuat.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBasicHandModelImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBetaDeviceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBuzzCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGCalibrationDataPointImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceModelImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGFingerCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGForceFeedbackCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandInterpolatorImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandPoseImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandProfileImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGInterpolationSetImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveInfoImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveInfoImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGlovePoseImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSensorRangeImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGThumperCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedBuzzCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedThumpCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FString.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_FVector.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FQuat.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGNovaGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGSenseGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FVector.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FQuat.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FVector.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_bool.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_float.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_bool.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_float.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_int32.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.h create mode 100644 Source/SenseGloveInterop/Public/SGInterop/SGIC_int32_Ref.h create mode 100644 Source/SenseGloveInterop/SenseGloveInterop.Build.cs create mode 100644 Source/SenseGloveKismet/Private/SGKismet/SGBlueprintFunctionLibrary.cpp create mode 100644 Source/SenseGloveKismet/Private/SenseGloveKismet.cpp create mode 100644 Source/SenseGloveKismet/Private/SenseGloveKismet.h create mode 100644 Source/SenseGloveKismet/Private/SenseGloveKismetModule.cpp create mode 100644 Source/SenseGloveKismet/Private/SenseGloveKismetModule.h create mode 100644 Source/SenseGloveKismet/Public/SGKismet/SGBlueprintFunctionLibrary.h create mode 100644 Source/SenseGloveKismet/SenseGloveKismet.Build.cs create mode 100644 Source/SenseGloveLog/Private/SGLog/SGLog.cpp create mode 100644 Source/SenseGloveLog/Private/SenseGloveLog.cpp create mode 100644 Source/SenseGloveLog/Private/SenseGloveLog.h create mode 100644 Source/SenseGloveLog/Private/SenseGloveLogModule.cpp create mode 100644 Source/SenseGloveLog/Private/SenseGloveLogModule.h create mode 100644 Source/SenseGloveLog/Public/SGLog/SGLog.h create mode 100644 Source/SenseGloveLog/SenseGloveLog.Build.cs create mode 100644 Source/SenseGloveTypes/Private/SGTypes/SGConnectTypes.cpp create mode 100644 Source/SenseGloveTypes/Private/SGTypes/SGCoreTypes.cpp create mode 100644 Source/SenseGloveTypes/Private/SenseGloveTypes.cpp create mode 100644 Source/SenseGloveTypes/Private/SenseGloveTypes.h create mode 100644 Source/SenseGloveTypes/Private/SenseGloveTypesModule.cpp create mode 100644 Source/SenseGloveTypes/Private/SenseGloveTypesModule.h create mode 100644 Source/SenseGloveTypes/Public/SGTypes/SGConnectTypes.h create mode 100644 Source/SenseGloveTypes/Public/SGTypes/SGCoreTypes.h create mode 100644 Source/SenseGloveTypes/SenseGloveTypes.Build.cs create mode 100644 Source/SenseGloveUtils/Private/SGUtils/SGArrayUtils.cpp create mode 100644 Source/SenseGloveUtils/Private/SGUtils/SGEnumUtils.cpp create mode 100644 Source/SenseGloveUtils/Private/SenseGloveUtils.cpp create mode 100644 Source/SenseGloveUtils/Private/SenseGloveUtils.h create mode 100644 Source/SenseGloveUtils/Private/SenseGloveUtilsModule.cpp create mode 100644 Source/SenseGloveUtils/Private/SenseGloveUtilsModule.h create mode 100644 Source/SenseGloveUtils/Public/SGUtils/SGArrayUtils.h create mode 100644 Source/SenseGloveUtils/Public/SGUtils/SGEnumUtils.h create mode 100644 Source/SenseGloveUtils/SenseGloveUtils.Build.cs create mode 100644 ThirdParty/include/SenseGlove/Connect/Connection.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/ConnectionData.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/ConnectionFactory.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/ConnectionTester.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/ConnectionsTracker.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/Debugger.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/DeviceScanner.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/ExitCodes.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/IdResponse.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/IpcCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/NewSGDevice.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/Platform.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/PortInfo.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/SGConnect.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/SGDevice.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/SerialConnection.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/SerialPorts.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/SharedMem.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/StringUtils.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/TestingState.hpp create mode 100644 ThirdParty/include/SenseGlove/Connect/TransmissionMode.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Anatomy.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/BasicHandModel.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/BetaDevice.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/BuzzCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/CalibrationDataPoint.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Communications.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Debugger.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/DeviceList.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/DeviceModel.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/DeviceTypes.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/FileIO.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/FingerCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Fingers.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/FloatUtils.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/ForceFeedbackCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HandInterpolator.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HandPose.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HandProfile.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HapticGlove.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationCheck.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationSequence.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HapticGloveCommandBuffer.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HapticGloveHandProfiles.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/HapticGloveQuickCalibration.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/InterpolationSet.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/JointKinematics.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Library.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/MathDefines.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/NovaGlove.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/NovaGloveCalibration.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/NovaGloveHandProfile.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/NovaGloveInfo.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/NovaGloveSensorData.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/NovaGloveVars.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Platform.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Quat.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SGDevice.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseCom.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGlove.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGloveHandProfile.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGloveInfo.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGlovePose.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGloveSensorData.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGloveThumperCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SenseGloveVars.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SensorRange.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Serializer.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/SharedMem.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/StringUtils.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/ThumperCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/TimedBuzzCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/TimedThumpCommand.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Tracking.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Values.hpp create mode 100644 ThirdParty/include/SenseGlove/Core/Vect3D.hpp create mode 100644 ThirdParty/include/boost/asio.hpp create mode 100644 ThirdParty/include/boost/asio/associated_allocator.hpp create mode 100644 ThirdParty/include/boost/asio/associated_executor.hpp create mode 100644 ThirdParty/include/boost/asio/async_result.hpp create mode 100644 ThirdParty/include/boost/asio/basic_datagram_socket.hpp create mode 100644 ThirdParty/include/boost/asio/basic_deadline_timer.hpp create mode 100644 ThirdParty/include/boost/asio/basic_io_object.hpp create mode 100644 ThirdParty/include/boost/asio/basic_raw_socket.hpp create mode 100644 ThirdParty/include/boost/asio/basic_seq_packet_socket.hpp create mode 100644 ThirdParty/include/boost/asio/basic_serial_port.hpp create mode 100644 ThirdParty/include/boost/asio/basic_signal_set.hpp create mode 100644 ThirdParty/include/boost/asio/basic_socket.hpp create mode 100644 ThirdParty/include/boost/asio/basic_socket_acceptor.hpp create mode 100644 ThirdParty/include/boost/asio/basic_socket_iostream.hpp create mode 100644 ThirdParty/include/boost/asio/basic_socket_streambuf.hpp create mode 100644 ThirdParty/include/boost/asio/basic_stream_socket.hpp create mode 100644 ThirdParty/include/boost/asio/basic_streambuf.hpp create mode 100644 ThirdParty/include/boost/asio/basic_streambuf_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/basic_waitable_timer.hpp create mode 100644 ThirdParty/include/boost/asio/bind_executor.hpp create mode 100644 ThirdParty/include/boost/asio/buffer.hpp create mode 100644 ThirdParty/include/boost/asio/buffered_read_stream.hpp create mode 100644 ThirdParty/include/boost/asio/buffered_read_stream_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/buffered_stream.hpp create mode 100644 ThirdParty/include/boost/asio/buffered_stream_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/buffered_write_stream.hpp create mode 100644 ThirdParty/include/boost/asio/buffered_write_stream_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/buffers_iterator.hpp create mode 100644 ThirdParty/include/boost/asio/completion_condition.hpp create mode 100644 ThirdParty/include/boost/asio/connect.hpp create mode 100644 ThirdParty/include/boost/asio/coroutine.hpp create mode 100644 ThirdParty/include/boost/asio/datagram_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/deadline_timer.hpp create mode 100644 ThirdParty/include/boost/asio/deadline_timer_service.hpp create mode 100644 ThirdParty/include/boost/asio/defer.hpp create mode 100644 ThirdParty/include/boost/asio/detail/array.hpp create mode 100644 ThirdParty/include/boost/asio/detail/array_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/detail/assert.hpp create mode 100644 ThirdParty/include/boost/asio/detail/atomic_count.hpp create mode 100644 ThirdParty/include/boost/asio/detail/base_from_completion_cond.hpp create mode 100644 ThirdParty/include/boost/asio/detail/bind_handler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/buffer_resize_guard.hpp create mode 100644 ThirdParty/include/boost/asio/detail/buffer_sequence_adapter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/buffered_stream_storage.hpp create mode 100644 ThirdParty/include/boost/asio/detail/call_stack.hpp create mode 100644 ThirdParty/include/boost/asio/detail/chrono.hpp create mode 100644 ThirdParty/include/boost/asio/detail/chrono_time_traits.hpp create mode 100644 ThirdParty/include/boost/asio/detail/completion_handler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/concurrency_hint.hpp create mode 100644 ThirdParty/include/boost/asio/detail/conditionally_enabled_event.hpp create mode 100644 ThirdParty/include/boost/asio/detail/conditionally_enabled_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/config.hpp create mode 100644 ThirdParty/include/boost/asio/detail/consuming_buffers.hpp create mode 100644 ThirdParty/include/boost/asio/detail/cstddef.hpp create mode 100644 ThirdParty/include/boost/asio/detail/cstdint.hpp create mode 100644 ThirdParty/include/boost/asio/detail/date_time_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/detail/deadline_timer_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/dependent_type.hpp create mode 100644 ThirdParty/include/boost/asio/detail/descriptor_ops.hpp create mode 100644 ThirdParty/include/boost/asio/detail/descriptor_read_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/descriptor_write_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/dev_poll_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/epoll_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/event.hpp create mode 100644 ThirdParty/include/boost/asio/detail/eventfd_select_interrupter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/executor_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/fd_set_adapter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/functional.hpp create mode 100644 ThirdParty/include/boost/asio/detail/future.hpp create mode 100644 ThirdParty/include/boost/asio/detail/gcc_arm_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/gcc_hppa_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/gcc_sync_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/gcc_x86_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/global.hpp create mode 100644 ThirdParty/include/boost/asio/detail/handler_alloc_helpers.hpp create mode 100644 ThirdParty/include/boost/asio/detail/handler_cont_helpers.hpp create mode 100644 ThirdParty/include/boost/asio/detail/handler_invoke_helpers.hpp create mode 100644 ThirdParty/include/boost/asio/detail/handler_tracking.hpp create mode 100644 ThirdParty/include/boost/asio/detail/handler_type_requirements.hpp create mode 100644 ThirdParty/include/boost/asio/detail/handler_work.hpp create mode 100644 ThirdParty/include/boost/asio/detail/hash_map.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/descriptor_ops.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/epoll_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/epoll_reactor.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/handler_tracking.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/null_event.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/pipe_select_interrupter.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/posix_event.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/posix_mutex.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/posix_thread.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/posix_tss_ptr.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/reactive_descriptor_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/reactive_serial_port_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/reactive_socket_service_base.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/resolver_service_base.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/scheduler.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/select_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/select_reactor.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/service_registry.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/service_registry.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/signal_set_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/socket_ops.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/socket_select_interrupter.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/strand_executor_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/strand_executor_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/strand_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/strand_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/throw_error.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/timer_queue_ptime.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/timer_queue_set.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_event.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_iocp_handle_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_mutex.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_object_handle_service.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_static_mutex.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_thread.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/win_tss_ptr.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp create mode 100644 ThirdParty/include/boost/asio/detail/impl/winsock_init.ipp create mode 100644 ThirdParty/include/boost/asio/detail/io_control.hpp create mode 100644 ThirdParty/include/boost/asio/detail/is_buffer_sequence.hpp create mode 100644 ThirdParty/include/boost/asio/detail/is_executor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/keyword_tss_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/kqueue_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/limits.hpp create mode 100644 ThirdParty/include/boost/asio/detail/local_free_on_block_exit.hpp create mode 100644 ThirdParty/include/boost/asio/detail/macos_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/memory.hpp create mode 100644 ThirdParty/include/boost/asio/detail/mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/noncopyable.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_event.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_global.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_signal_blocker.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_static_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/null_tss_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/object_pool.hpp create mode 100644 ThirdParty/include/boost/asio/detail/old_win_sdk_compat.hpp create mode 100644 ThirdParty/include/boost/asio/detail/op_queue.hpp create mode 100644 ThirdParty/include/boost/asio/detail/operation.hpp create mode 100644 ThirdParty/include/boost/asio/detail/pipe_select_interrupter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/pop_options.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_event.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_fd_set_adapter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_global.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_signal_blocker.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_static_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/posix_tss_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/push_options.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_descriptor_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_null_buffers_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_serial_port_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_accept_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_connect_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_recv_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_send_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_sendto_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_socket_service_base.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactive_wait_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactor_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactor_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/reactor_op_queue.hpp create mode 100644 ThirdParty/include/boost/asio/detail/recycling_allocator.hpp create mode 100644 ThirdParty/include/boost/asio/detail/regex_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/detail/resolve_endpoint_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/resolve_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/resolve_query_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/resolver_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/resolver_service_base.hpp create mode 100644 ThirdParty/include/boost/asio/detail/scheduler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/scheduler_operation.hpp create mode 100644 ThirdParty/include/boost/asio/detail/scheduler_thread_info.hpp create mode 100644 ThirdParty/include/boost/asio/detail/scoped_lock.hpp create mode 100644 ThirdParty/include/boost/asio/detail/scoped_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/select_interrupter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/select_reactor.hpp create mode 100644 ThirdParty/include/boost/asio/detail/service_registry.hpp create mode 100644 ThirdParty/include/boost/asio/detail/signal_blocker.hpp create mode 100644 ThirdParty/include/boost/asio/detail/signal_handler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/signal_init.hpp create mode 100644 ThirdParty/include/boost/asio/detail/signal_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/signal_set_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/socket_holder.hpp create mode 100644 ThirdParty/include/boost/asio/detail/socket_ops.hpp create mode 100644 ThirdParty/include/boost/asio/detail/socket_option.hpp create mode 100644 ThirdParty/include/boost/asio/detail/socket_select_interrupter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/socket_types.hpp create mode 100644 ThirdParty/include/boost/asio/detail/solaris_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/static_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/std_event.hpp create mode 100644 ThirdParty/include/boost/asio/detail/std_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/std_global.hpp create mode 100644 ThirdParty/include/boost/asio/detail/std_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/std_static_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/std_thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/strand_executor_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/strand_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/string_view.hpp create mode 100644 ThirdParty/include/boost/asio/detail/thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/thread_context.hpp create mode 100644 ThirdParty/include/boost/asio/detail/thread_group.hpp create mode 100644 ThirdParty/include/boost/asio/detail/thread_info_base.hpp create mode 100644 ThirdParty/include/boost/asio/detail/throw_error.hpp create mode 100644 ThirdParty/include/boost/asio/detail/throw_exception.hpp create mode 100644 ThirdParty/include/boost/asio/detail/timer_queue.hpp create mode 100644 ThirdParty/include/boost/asio/detail/timer_queue_base.hpp create mode 100644 ThirdParty/include/boost/asio/detail/timer_queue_ptime.hpp create mode 100644 ThirdParty/include/boost/asio/detail/timer_queue_set.hpp create mode 100644 ThirdParty/include/boost/asio/detail/timer_scheduler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/timer_scheduler_fwd.hpp create mode 100644 ThirdParty/include/boost/asio/detail/tss_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/type_traits.hpp create mode 100644 ThirdParty/include/boost/asio/detail/variadic_templates.hpp create mode 100644 ThirdParty/include/boost/asio/detail/wait_handler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/wait_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_event.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_fd_set_adapter.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_fenced_block.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_global.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_handle_read_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_handle_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_handle_write_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_io_context.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_null_buffers_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_operation.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_overlapped_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_serial_port_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_accept_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_connect_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_recv_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_send_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_socket_service_base.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_thread_info.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_iocp_wait_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_object_handle_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_static_mutex.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/win_tss_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winapp_thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/wince_thread.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_async_manager.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_async_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_resolve_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_resolver_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_socket_connect_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_socket_recv_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_socket_send_op.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_ssocket_service.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_ssocket_service_base.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_timer_scheduler.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winrt_utils.hpp create mode 100644 ThirdParty/include/boost/asio/detail/winsock_init.hpp create mode 100644 ThirdParty/include/boost/asio/detail/work_dispatcher.hpp create mode 100644 ThirdParty/include/boost/asio/detail/wrapped_handler.hpp create mode 100644 ThirdParty/include/boost/asio/dispatch.hpp create mode 100644 ThirdParty/include/boost/asio/error.hpp create mode 100644 ThirdParty/include/boost/asio/execution_context.hpp create mode 100644 ThirdParty/include/boost/asio/executor.hpp create mode 100644 ThirdParty/include/boost/asio/executor_work_guard.hpp create mode 100644 ThirdParty/include/boost/asio/experimental.hpp create mode 100644 ThirdParty/include/boost/asio/experimental/co_spawn.hpp create mode 100644 ThirdParty/include/boost/asio/experimental/detached.hpp create mode 100644 ThirdParty/include/boost/asio/experimental/impl/co_spawn.hpp create mode 100644 ThirdParty/include/boost/asio/experimental/impl/detached.hpp create mode 100644 ThirdParty/include/boost/asio/experimental/impl/redirect_error.hpp create mode 100644 ThirdParty/include/boost/asio/experimental/redirect_error.hpp create mode 100644 ThirdParty/include/boost/asio/generic/basic_endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/generic/datagram_protocol.hpp create mode 100644 ThirdParty/include/boost/asio/generic/detail/endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/generic/detail/impl/endpoint.ipp create mode 100644 ThirdParty/include/boost/asio/generic/raw_protocol.hpp create mode 100644 ThirdParty/include/boost/asio/generic/seq_packet_protocol.hpp create mode 100644 ThirdParty/include/boost/asio/generic/stream_protocol.hpp create mode 100644 ThirdParty/include/boost/asio/handler_alloc_hook.hpp create mode 100644 ThirdParty/include/boost/asio/handler_continuation_hook.hpp create mode 100644 ThirdParty/include/boost/asio/handler_invoke_hook.hpp create mode 100644 ThirdParty/include/boost/asio/handler_type.hpp create mode 100644 ThirdParty/include/boost/asio/high_resolution_timer.hpp create mode 100644 ThirdParty/include/boost/asio/impl/buffered_read_stream.hpp create mode 100644 ThirdParty/include/boost/asio/impl/buffered_write_stream.hpp create mode 100644 ThirdParty/include/boost/asio/impl/connect.hpp create mode 100644 ThirdParty/include/boost/asio/impl/defer.hpp create mode 100644 ThirdParty/include/boost/asio/impl/dispatch.hpp create mode 100644 ThirdParty/include/boost/asio/impl/error.ipp create mode 100644 ThirdParty/include/boost/asio/impl/execution_context.hpp create mode 100644 ThirdParty/include/boost/asio/impl/execution_context.ipp create mode 100644 ThirdParty/include/boost/asio/impl/executor.hpp create mode 100644 ThirdParty/include/boost/asio/impl/executor.ipp create mode 100644 ThirdParty/include/boost/asio/impl/handler_alloc_hook.ipp create mode 100644 ThirdParty/include/boost/asio/impl/io_context.hpp create mode 100644 ThirdParty/include/boost/asio/impl/io_context.ipp create mode 100644 ThirdParty/include/boost/asio/impl/post.hpp create mode 100644 ThirdParty/include/boost/asio/impl/read.hpp create mode 100644 ThirdParty/include/boost/asio/impl/read_at.hpp create mode 100644 ThirdParty/include/boost/asio/impl/read_until.hpp create mode 100644 ThirdParty/include/boost/asio/impl/serial_port_base.hpp create mode 100644 ThirdParty/include/boost/asio/impl/serial_port_base.ipp create mode 100644 ThirdParty/include/boost/asio/impl/spawn.hpp create mode 100644 ThirdParty/include/boost/asio/impl/src.cpp create mode 100644 ThirdParty/include/boost/asio/impl/src.hpp create mode 100644 ThirdParty/include/boost/asio/impl/system_context.hpp create mode 100644 ThirdParty/include/boost/asio/impl/system_context.ipp create mode 100644 ThirdParty/include/boost/asio/impl/system_executor.hpp create mode 100644 ThirdParty/include/boost/asio/impl/thread_pool.hpp create mode 100644 ThirdParty/include/boost/asio/impl/thread_pool.ipp create mode 100644 ThirdParty/include/boost/asio/impl/use_future.hpp create mode 100644 ThirdParty/include/boost/asio/impl/write.hpp create mode 100644 ThirdParty/include/boost/asio/impl/write_at.hpp create mode 100644 ThirdParty/include/boost/asio/io_context.hpp create mode 100644 ThirdParty/include/boost/asio/io_context_strand.hpp create mode 100644 ThirdParty/include/boost/asio/io_service.hpp create mode 100644 ThirdParty/include/boost/asio/io_service_strand.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address_v4.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address_v4_iterator.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address_v4_range.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address_v6.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address_v6_iterator.hpp create mode 100644 ThirdParty/include/boost/asio/ip/address_v6_range.hpp create mode 100644 ThirdParty/include/boost/asio/ip/bad_address_cast.hpp create mode 100644 ThirdParty/include/boost/asio/ip/basic_endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/ip/basic_resolver.hpp create mode 100644 ThirdParty/include/boost/asio/ip/basic_resolver_entry.hpp create mode 100644 ThirdParty/include/boost/asio/ip/basic_resolver_iterator.hpp create mode 100644 ThirdParty/include/boost/asio/ip/basic_resolver_query.hpp create mode 100644 ThirdParty/include/boost/asio/ip/basic_resolver_results.hpp create mode 100644 ThirdParty/include/boost/asio/ip/detail/endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/ip/detail/impl/endpoint.ipp create mode 100644 ThirdParty/include/boost/asio/ip/detail/socket_option.hpp create mode 100644 ThirdParty/include/boost/asio/ip/host_name.hpp create mode 100644 ThirdParty/include/boost/asio/ip/icmp.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/address.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/address.ipp create mode 100644 ThirdParty/include/boost/asio/ip/impl/address_v4.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/address_v4.ipp create mode 100644 ThirdParty/include/boost/asio/ip/impl/address_v6.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/address_v6.ipp create mode 100644 ThirdParty/include/boost/asio/ip/impl/basic_endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/host_name.ipp create mode 100644 ThirdParty/include/boost/asio/ip/impl/network_v4.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/network_v4.ipp create mode 100644 ThirdParty/include/boost/asio/ip/impl/network_v6.hpp create mode 100644 ThirdParty/include/boost/asio/ip/impl/network_v6.ipp create mode 100644 ThirdParty/include/boost/asio/ip/multicast.hpp create mode 100644 ThirdParty/include/boost/asio/ip/network_v4.hpp create mode 100644 ThirdParty/include/boost/asio/ip/network_v6.hpp create mode 100644 ThirdParty/include/boost/asio/ip/resolver_base.hpp create mode 100644 ThirdParty/include/boost/asio/ip/resolver_query_base.hpp create mode 100644 ThirdParty/include/boost/asio/ip/resolver_service.hpp create mode 100644 ThirdParty/include/boost/asio/ip/tcp.hpp create mode 100644 ThirdParty/include/boost/asio/ip/udp.hpp create mode 100644 ThirdParty/include/boost/asio/ip/unicast.hpp create mode 100644 ThirdParty/include/boost/asio/ip/v6_only.hpp create mode 100644 ThirdParty/include/boost/asio/is_executor.hpp create mode 100644 ThirdParty/include/boost/asio/is_read_buffered.hpp create mode 100644 ThirdParty/include/boost/asio/is_write_buffered.hpp create mode 100644 ThirdParty/include/boost/asio/local/basic_endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/local/connect_pair.hpp create mode 100644 ThirdParty/include/boost/asio/local/datagram_protocol.hpp create mode 100644 ThirdParty/include/boost/asio/local/detail/endpoint.hpp create mode 100644 ThirdParty/include/boost/asio/local/detail/impl/endpoint.ipp create mode 100644 ThirdParty/include/boost/asio/local/stream_protocol.hpp create mode 100644 ThirdParty/include/boost/asio/packaged_task.hpp create mode 100644 ThirdParty/include/boost/asio/placeholders.hpp create mode 100644 ThirdParty/include/boost/asio/posix/basic_descriptor.hpp create mode 100644 ThirdParty/include/boost/asio/posix/basic_stream_descriptor.hpp create mode 100644 ThirdParty/include/boost/asio/posix/descriptor.hpp create mode 100644 ThirdParty/include/boost/asio/posix/descriptor_base.hpp create mode 100644 ThirdParty/include/boost/asio/posix/stream_descriptor.hpp create mode 100644 ThirdParty/include/boost/asio/posix/stream_descriptor_service.hpp create mode 100644 ThirdParty/include/boost/asio/post.hpp create mode 100644 ThirdParty/include/boost/asio/raw_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/read.hpp create mode 100644 ThirdParty/include/boost/asio/read_at.hpp create mode 100644 ThirdParty/include/boost/asio/read_until.hpp create mode 100644 ThirdParty/include/boost/asio/seq_packet_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/serial_port.hpp create mode 100644 ThirdParty/include/boost/asio/serial_port_base.hpp create mode 100644 ThirdParty/include/boost/asio/serial_port_service.hpp create mode 100644 ThirdParty/include/boost/asio/signal_set.hpp create mode 100644 ThirdParty/include/boost/asio/signal_set_service.hpp create mode 100644 ThirdParty/include/boost/asio/socket_acceptor_service.hpp create mode 100644 ThirdParty/include/boost/asio/socket_base.hpp create mode 100644 ThirdParty/include/boost/asio/spawn.hpp create mode 100644 ThirdParty/include/boost/asio/ssl.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/context.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/context_base.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/buffered_handshake_op.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/engine.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/handshake_op.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/impl/engine.ipp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/impl/openssl_init.ipp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/io.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/openssl_init.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/openssl_types.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/password_callback.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/read_op.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/shutdown_op.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/stream_core.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/verify_callback.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/detail/write_op.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/error.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/impl/context.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/impl/context.ipp create mode 100644 ThirdParty/include/boost/asio/ssl/impl/error.ipp create mode 100644 ThirdParty/include/boost/asio/ssl/impl/rfc2818_verification.ipp create mode 100644 ThirdParty/include/boost/asio/ssl/impl/src.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/rfc2818_verification.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/stream.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/stream_base.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/verify_context.hpp create mode 100644 ThirdParty/include/boost/asio/ssl/verify_mode.hpp create mode 100644 ThirdParty/include/boost/asio/steady_timer.hpp create mode 100644 ThirdParty/include/boost/asio/strand.hpp create mode 100644 ThirdParty/include/boost/asio/stream_socket_service.hpp create mode 100644 ThirdParty/include/boost/asio/streambuf.hpp create mode 100644 ThirdParty/include/boost/asio/system_context.hpp create mode 100644 ThirdParty/include/boost/asio/system_executor.hpp create mode 100644 ThirdParty/include/boost/asio/system_timer.hpp create mode 100644 ThirdParty/include/boost/asio/thread_pool.hpp create mode 100644 ThirdParty/include/boost/asio/time_traits.hpp create mode 100644 ThirdParty/include/boost/asio/ts/buffer.hpp create mode 100644 ThirdParty/include/boost/asio/ts/executor.hpp create mode 100644 ThirdParty/include/boost/asio/ts/internet.hpp create mode 100644 ThirdParty/include/boost/asio/ts/io_context.hpp create mode 100644 ThirdParty/include/boost/asio/ts/net.hpp create mode 100644 ThirdParty/include/boost/asio/ts/netfwd.hpp create mode 100644 ThirdParty/include/boost/asio/ts/socket.hpp create mode 100644 ThirdParty/include/boost/asio/ts/timer.hpp create mode 100644 ThirdParty/include/boost/asio/unyield.hpp create mode 100644 ThirdParty/include/boost/asio/use_future.hpp create mode 100644 ThirdParty/include/boost/asio/uses_executor.hpp create mode 100644 ThirdParty/include/boost/asio/version.hpp create mode 100644 ThirdParty/include/boost/asio/wait_traits.hpp create mode 100644 ThirdParty/include/boost/asio/waitable_timer_service.hpp create mode 100644 ThirdParty/include/boost/asio/windows/basic_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/basic_object_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/basic_random_access_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/basic_stream_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/object_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/object_handle_service.hpp create mode 100644 ThirdParty/include/boost/asio/windows/overlapped_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/overlapped_ptr.hpp create mode 100644 ThirdParty/include/boost/asio/windows/random_access_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/random_access_handle_service.hpp create mode 100644 ThirdParty/include/boost/asio/windows/stream_handle.hpp create mode 100644 ThirdParty/include/boost/asio/windows/stream_handle_service.hpp create mode 100644 ThirdParty/include/boost/asio/write.hpp create mode 100644 ThirdParty/include/boost/asio/write_at.hpp create mode 100644 ThirdParty/include/boost/asio/yield.hpp create mode 100644 ThirdParty/include/boost/assert.hpp create mode 100644 ThirdParty/include/boost/bind.hpp create mode 100644 ThirdParty/include/boost/bind/apply.hpp create mode 100644 ThirdParty/include/boost/bind/arg.hpp create mode 100644 ThirdParty/include/boost/bind/bind.hpp create mode 100644 ThirdParty/include/boost/bind/bind_cc.hpp create mode 100644 ThirdParty/include/boost/bind/bind_mf2_cc.hpp create mode 100644 ThirdParty/include/boost/bind/bind_mf_cc.hpp create mode 100644 ThirdParty/include/boost/bind/bind_template.hpp create mode 100644 ThirdParty/include/boost/bind/make_adaptable.hpp create mode 100644 ThirdParty/include/boost/bind/mem_fn.hpp create mode 100644 ThirdParty/include/boost/bind/mem_fn_cc.hpp create mode 100644 ThirdParty/include/boost/bind/mem_fn_template.hpp create mode 100644 ThirdParty/include/boost/bind/mem_fn_vw.hpp create mode 100644 ThirdParty/include/boost/bind/placeholders.hpp create mode 100644 ThirdParty/include/boost/bind/protect.hpp create mode 100644 ThirdParty/include/boost/bind/storage.hpp create mode 100644 ThirdParty/include/boost/cerrno.hpp create mode 100644 ThirdParty/include/boost/checked_delete.hpp create mode 100644 ThirdParty/include/boost/config.hpp create mode 100644 ThirdParty/include/boost/config/abi/borland_prefix.hpp create mode 100644 ThirdParty/include/boost/config/abi/borland_suffix.hpp create mode 100644 ThirdParty/include/boost/config/abi/msvc_prefix.hpp create mode 100644 ThirdParty/include/boost/config/abi/msvc_suffix.hpp create mode 100644 ThirdParty/include/boost/config/abi_prefix.hpp create mode 100644 ThirdParty/include/boost/config/abi_suffix.hpp create mode 100644 ThirdParty/include/boost/config/auto_link.hpp create mode 100644 ThirdParty/include/boost/config/compiler/borland.hpp create mode 100644 ThirdParty/include/boost/config/compiler/clang.hpp create mode 100644 ThirdParty/include/boost/config/compiler/codegear.hpp create mode 100644 ThirdParty/include/boost/config/compiler/comeau.hpp create mode 100644 ThirdParty/include/boost/config/compiler/common_edg.hpp create mode 100644 ThirdParty/include/boost/config/compiler/compaq_cxx.hpp create mode 100644 ThirdParty/include/boost/config/compiler/cray.hpp create mode 100644 ThirdParty/include/boost/config/compiler/diab.hpp create mode 100644 ThirdParty/include/boost/config/compiler/digitalmars.hpp create mode 100644 ThirdParty/include/boost/config/compiler/gcc.hpp create mode 100644 ThirdParty/include/boost/config/compiler/gcc_xml.hpp create mode 100644 ThirdParty/include/boost/config/compiler/greenhills.hpp create mode 100644 ThirdParty/include/boost/config/compiler/hp_acc.hpp create mode 100644 ThirdParty/include/boost/config/compiler/intel.hpp create mode 100644 ThirdParty/include/boost/config/compiler/kai.hpp create mode 100644 ThirdParty/include/boost/config/compiler/metrowerks.hpp create mode 100644 ThirdParty/include/boost/config/compiler/mpw.hpp create mode 100644 ThirdParty/include/boost/config/compiler/nvcc.hpp create mode 100644 ThirdParty/include/boost/config/compiler/pathscale.hpp create mode 100644 ThirdParty/include/boost/config/compiler/pgi.hpp create mode 100644 ThirdParty/include/boost/config/compiler/sgi_mipspro.hpp create mode 100644 ThirdParty/include/boost/config/compiler/sunpro_cc.hpp create mode 100644 ThirdParty/include/boost/config/compiler/vacpp.hpp create mode 100644 ThirdParty/include/boost/config/compiler/visualc.hpp create mode 100644 ThirdParty/include/boost/config/compiler/xlcpp.hpp create mode 100644 ThirdParty/include/boost/config/compiler/xlcpp_zos.hpp create mode 100644 ThirdParty/include/boost/config/detail/posix_features.hpp create mode 100644 ThirdParty/include/boost/config/detail/select_compiler_config.hpp create mode 100644 ThirdParty/include/boost/config/detail/select_platform_config.hpp create mode 100644 ThirdParty/include/boost/config/detail/select_stdlib_config.hpp create mode 100644 ThirdParty/include/boost/config/detail/suffix.hpp create mode 100644 ThirdParty/include/boost/config/header_deprecated.hpp create mode 100644 ThirdParty/include/boost/config/helper_macros.hpp create mode 100644 ThirdParty/include/boost/config/no_tr1/cmath.hpp create mode 100644 ThirdParty/include/boost/config/no_tr1/complex.hpp create mode 100644 ThirdParty/include/boost/config/no_tr1/functional.hpp create mode 100644 ThirdParty/include/boost/config/no_tr1/memory.hpp create mode 100644 ThirdParty/include/boost/config/no_tr1/utility.hpp create mode 100644 ThirdParty/include/boost/config/platform/aix.hpp create mode 100644 ThirdParty/include/boost/config/platform/amigaos.hpp create mode 100644 ThirdParty/include/boost/config/platform/beos.hpp create mode 100644 ThirdParty/include/boost/config/platform/bsd.hpp create mode 100644 ThirdParty/include/boost/config/platform/cloudabi.hpp create mode 100644 ThirdParty/include/boost/config/platform/cray.hpp create mode 100644 ThirdParty/include/boost/config/platform/cygwin.hpp create mode 100644 ThirdParty/include/boost/config/platform/haiku.hpp create mode 100644 ThirdParty/include/boost/config/platform/hpux.hpp create mode 100644 ThirdParty/include/boost/config/platform/irix.hpp create mode 100644 ThirdParty/include/boost/config/platform/linux.hpp create mode 100644 ThirdParty/include/boost/config/platform/macos.hpp create mode 100644 ThirdParty/include/boost/config/platform/qnxnto.hpp create mode 100644 ThirdParty/include/boost/config/platform/solaris.hpp create mode 100644 ThirdParty/include/boost/config/platform/symbian.hpp create mode 100644 ThirdParty/include/boost/config/platform/vms.hpp create mode 100644 ThirdParty/include/boost/config/platform/vxworks.hpp create mode 100644 ThirdParty/include/boost/config/platform/win32.hpp create mode 100644 ThirdParty/include/boost/config/platform/zos.hpp create mode 100644 ThirdParty/include/boost/config/pragma_message.hpp create mode 100644 ThirdParty/include/boost/config/requires_threads.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/dinkumware.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/libcomo.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/libcpp.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/libstdcpp3.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/modena.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/msl.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/roguewave.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/sgi.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/stlport.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/vacpp.hpp create mode 100644 ThirdParty/include/boost/config/stdlib/xlcpp_zos.hpp create mode 100644 ThirdParty/include/boost/config/user.hpp create mode 100644 ThirdParty/include/boost/config/warning_disable.hpp create mode 100644 ThirdParty/include/boost/config/workaround.hpp create mode 100644 ThirdParty/include/boost/container/adaptive_pool.hpp create mode 100644 ThirdParty/include/boost/container/allocator.hpp create mode 100644 ThirdParty/include/boost/container/allocator_traits.hpp create mode 100644 ThirdParty/include/boost/container/container_fwd.hpp create mode 100644 ThirdParty/include/boost/container/deque.hpp create mode 100644 ThirdParty/include/boost/container/detail/adaptive_node_pool.hpp create mode 100644 ThirdParty/include/boost/container/detail/adaptive_node_pool_impl.hpp create mode 100644 ThirdParty/include/boost/container/detail/addressof.hpp create mode 100644 ThirdParty/include/boost/container/detail/advanced_insert_int.hpp create mode 100644 ThirdParty/include/boost/container/detail/algorithm.hpp create mode 100644 ThirdParty/include/boost/container/detail/alloc_helpers.hpp create mode 100644 ThirdParty/include/boost/container/detail/alloc_lib.h create mode 100644 ThirdParty/include/boost/container/detail/allocation_type.hpp create mode 100644 ThirdParty/include/boost/container/detail/allocator_version_traits.hpp create mode 100644 ThirdParty/include/boost/container/detail/auto_link.hpp create mode 100644 ThirdParty/include/boost/container/detail/block_list.hpp create mode 100644 ThirdParty/include/boost/container/detail/block_slist.hpp create mode 100644 ThirdParty/include/boost/container/detail/compare_functors.hpp create mode 100644 ThirdParty/include/boost/container/detail/config_begin.hpp create mode 100644 ThirdParty/include/boost/container/detail/config_end.hpp create mode 100644 ThirdParty/include/boost/container/detail/construct_in_place.hpp create mode 100644 ThirdParty/include/boost/container/detail/container_or_allocator_rebind.hpp create mode 100644 ThirdParty/include/boost/container/detail/container_rebind.hpp create mode 100644 ThirdParty/include/boost/container/detail/copy_move_algo.hpp create mode 100644 ThirdParty/include/boost/container/detail/destroyers.hpp create mode 100644 ThirdParty/include/boost/container/detail/dispatch_uses_allocator.hpp create mode 100644 ThirdParty/include/boost/container/detail/dlmalloc.hpp create mode 100644 ThirdParty/include/boost/container/detail/flat_tree.hpp create mode 100644 ThirdParty/include/boost/container/detail/function_detector.hpp create mode 100644 ThirdParty/include/boost/container/detail/is_container.hpp create mode 100644 ThirdParty/include/boost/container/detail/is_contiguous_container.hpp create mode 100644 ThirdParty/include/boost/container/detail/is_sorted.hpp create mode 100644 ThirdParty/include/boost/container/detail/iterator.hpp create mode 100644 ThirdParty/include/boost/container/detail/iterator_to_raw_pointer.hpp create mode 100644 ThirdParty/include/boost/container/detail/iterators.hpp create mode 100644 ThirdParty/include/boost/container/detail/math_functions.hpp create mode 100644 ThirdParty/include/boost/container/detail/min_max.hpp create mode 100644 ThirdParty/include/boost/container/detail/minimal_char_traits_header.hpp create mode 100644 ThirdParty/include/boost/container/detail/mpl.hpp create mode 100644 ThirdParty/include/boost/container/detail/multiallocation_chain.hpp create mode 100644 ThirdParty/include/boost/container/detail/mutex.hpp create mode 100644 ThirdParty/include/boost/container/detail/next_capacity.hpp create mode 100644 ThirdParty/include/boost/container/detail/node_alloc_holder.hpp create mode 100644 ThirdParty/include/boost/container/detail/node_pool.hpp create mode 100644 ThirdParty/include/boost/container/detail/node_pool_impl.hpp create mode 100644 ThirdParty/include/boost/container/detail/pair.hpp create mode 100644 ThirdParty/include/boost/container/detail/pair_key_mapped_of_value.hpp create mode 100644 ThirdParty/include/boost/container/detail/placement_new.hpp create mode 100644 ThirdParty/include/boost/container/detail/pool_common.hpp create mode 100644 ThirdParty/include/boost/container/detail/pool_common_alloc.hpp create mode 100644 ThirdParty/include/boost/container/detail/pool_resource.hpp create mode 100644 ThirdParty/include/boost/container/detail/singleton.hpp create mode 100644 ThirdParty/include/boost/container/detail/std_fwd.hpp create mode 100644 ThirdParty/include/boost/container/detail/thread_mutex.hpp create mode 100644 ThirdParty/include/boost/container/detail/transform_iterator.hpp create mode 100644 ThirdParty/include/boost/container/detail/tree.hpp create mode 100644 ThirdParty/include/boost/container/detail/type_traits.hpp create mode 100644 ThirdParty/include/boost/container/detail/value_functors.hpp create mode 100644 ThirdParty/include/boost/container/detail/value_init.hpp create mode 100644 ThirdParty/include/boost/container/detail/variadic_templates_tools.hpp create mode 100644 ThirdParty/include/boost/container/detail/version_type.hpp create mode 100644 ThirdParty/include/boost/container/detail/workaround.hpp create mode 100644 ThirdParty/include/boost/container/flat_map.hpp create mode 100644 ThirdParty/include/boost/container/flat_set.hpp create mode 100644 ThirdParty/include/boost/container/list.hpp create mode 100644 ThirdParty/include/boost/container/map.hpp create mode 100644 ThirdParty/include/boost/container/new_allocator.hpp create mode 100644 ThirdParty/include/boost/container/node_allocator.hpp create mode 100644 ThirdParty/include/boost/container/node_handle.hpp create mode 100644 ThirdParty/include/boost/container/options.hpp create mode 100644 ThirdParty/include/boost/container/pmr/deque.hpp create mode 100644 ThirdParty/include/boost/container/pmr/flat_map.hpp create mode 100644 ThirdParty/include/boost/container/pmr/flat_set.hpp create mode 100644 ThirdParty/include/boost/container/pmr/global_resource.hpp create mode 100644 ThirdParty/include/boost/container/pmr/list.hpp create mode 100644 ThirdParty/include/boost/container/pmr/map.hpp create mode 100644 ThirdParty/include/boost/container/pmr/memory_resource.hpp create mode 100644 ThirdParty/include/boost/container/pmr/monotonic_buffer_resource.hpp create mode 100644 ThirdParty/include/boost/container/pmr/polymorphic_allocator.hpp create mode 100644 ThirdParty/include/boost/container/pmr/pool_options.hpp create mode 100644 ThirdParty/include/boost/container/pmr/resource_adaptor.hpp create mode 100644 ThirdParty/include/boost/container/pmr/set.hpp create mode 100644 ThirdParty/include/boost/container/pmr/slist.hpp create mode 100644 ThirdParty/include/boost/container/pmr/small_vector.hpp create mode 100644 ThirdParty/include/boost/container/pmr/stable_vector.hpp create mode 100644 ThirdParty/include/boost/container/pmr/string.hpp create mode 100644 ThirdParty/include/boost/container/pmr/synchronized_pool_resource.hpp create mode 100644 ThirdParty/include/boost/container/pmr/unsynchronized_pool_resource.hpp create mode 100644 ThirdParty/include/boost/container/pmr/vector.hpp create mode 100644 ThirdParty/include/boost/container/scoped_allocator.hpp create mode 100644 ThirdParty/include/boost/container/scoped_allocator_fwd.hpp create mode 100644 ThirdParty/include/boost/container/set.hpp create mode 100644 ThirdParty/include/boost/container/slist.hpp create mode 100644 ThirdParty/include/boost/container/small_vector.hpp create mode 100644 ThirdParty/include/boost/container/stable_vector.hpp create mode 100644 ThirdParty/include/boost/container/static_vector.hpp create mode 100644 ThirdParty/include/boost/container/string.hpp create mode 100644 ThirdParty/include/boost/container/throw_exception.hpp create mode 100644 ThirdParty/include/boost/container/uses_allocator.hpp create mode 100644 ThirdParty/include/boost/container/uses_allocator_fwd.hpp create mode 100644 ThirdParty/include/boost/container/vector.hpp create mode 100644 ThirdParty/include/boost/container_hash/detail/float_functions.hpp create mode 100644 ThirdParty/include/boost/container_hash/detail/hash_float.hpp create mode 100644 ThirdParty/include/boost/container_hash/detail/limits.hpp create mode 100644 ThirdParty/include/boost/container_hash/extensions.hpp create mode 100644 ThirdParty/include/boost/container_hash/hash.hpp create mode 100644 ThirdParty/include/boost/container_hash/hash_fwd.hpp create mode 100644 ThirdParty/include/boost/core/addressof.hpp create mode 100644 ThirdParty/include/boost/core/checked_delete.hpp create mode 100644 ThirdParty/include/boost/core/demangle.hpp create mode 100644 ThirdParty/include/boost/core/empty_value.hpp create mode 100644 ThirdParty/include/boost/core/enable_if.hpp create mode 100644 ThirdParty/include/boost/core/exchange.hpp create mode 100644 ThirdParty/include/boost/core/explicit_operator_bool.hpp create mode 100644 ThirdParty/include/boost/core/ignore_unused.hpp create mode 100644 ThirdParty/include/boost/core/is_same.hpp create mode 100644 ThirdParty/include/boost/core/lightweight_test.hpp create mode 100644 ThirdParty/include/boost/core/lightweight_test_trait.hpp create mode 100644 ThirdParty/include/boost/core/no_exceptions_support.hpp create mode 100644 ThirdParty/include/boost/core/noncopyable.hpp create mode 100644 ThirdParty/include/boost/core/null_deleter.hpp create mode 100644 ThirdParty/include/boost/core/pointer_traits.hpp create mode 100644 ThirdParty/include/boost/core/quick_exit.hpp create mode 100644 ThirdParty/include/boost/core/ref.hpp create mode 100644 ThirdParty/include/boost/core/scoped_enum.hpp create mode 100644 ThirdParty/include/boost/core/swap.hpp create mode 100644 ThirdParty/include/boost/core/typeinfo.hpp create mode 100644 ThirdParty/include/boost/core/underlying_type.hpp create mode 100644 ThirdParty/include/boost/cstdint.hpp create mode 100644 ThirdParty/include/boost/current_function.hpp create mode 100644 ThirdParty/include/boost/date_time.hpp create mode 100644 ThirdParty/include/boost/date_time/adjust_functors.hpp create mode 100644 ThirdParty/include/boost/date_time/c_local_time_adjustor.hpp create mode 100644 ThirdParty/include/boost/date_time/c_time.hpp create mode 100644 ThirdParty/include/boost/date_time/compiler_config.hpp create mode 100644 ThirdParty/include/boost/date_time/constrained_value.hpp create mode 100644 ThirdParty/include/boost/date_time/date.hpp create mode 100644 ThirdParty/include/boost/date_time/date_clock_device.hpp create mode 100644 ThirdParty/include/boost/date_time/date_defs.hpp create mode 100644 ThirdParty/include/boost/date_time/date_duration.hpp create mode 100644 ThirdParty/include/boost/date_time/date_duration_types.hpp create mode 100644 ThirdParty/include/boost/date_time/date_facet.hpp create mode 100644 ThirdParty/include/boost/date_time/date_format_simple.hpp create mode 100644 ThirdParty/include/boost/date_time/date_formatting.hpp create mode 100644 ThirdParty/include/boost/date_time/date_formatting_limited.hpp create mode 100644 ThirdParty/include/boost/date_time/date_formatting_locales.hpp create mode 100644 ThirdParty/include/boost/date_time/date_generator_formatter.hpp create mode 100644 ThirdParty/include/boost/date_time/date_generator_parser.hpp create mode 100644 ThirdParty/include/boost/date_time/date_generators.hpp create mode 100644 ThirdParty/include/boost/date_time/date_iterator.hpp create mode 100644 ThirdParty/include/boost/date_time/date_names_put.hpp create mode 100644 ThirdParty/include/boost/date_time/date_parsing.hpp create mode 100644 ThirdParty/include/boost/date_time/dst_rules.hpp create mode 100644 ThirdParty/include/boost/date_time/dst_transition_generators.hpp create mode 100644 ThirdParty/include/boost/date_time/filetime_functions.hpp create mode 100644 ThirdParty/include/boost/date_time/format_date_parser.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/conversion.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/formatters.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/formatters_limited.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_calendar.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_date.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_day.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_day_of_year.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_duration.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_duration_types.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_facet.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_month.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_serialize.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_weekday.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_year.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/greg_ymd.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/gregorian.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/gregorian_io.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/gregorian_types.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian/parsers.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian_calendar.hpp create mode 100644 ThirdParty/include/boost/date_time/gregorian_calendar.ipp create mode 100644 ThirdParty/include/boost/date_time/int_adapter.hpp create mode 100644 ThirdParty/include/boost/date_time/iso_format.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/conversion.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/custom_time_zone.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/date_duration_operators.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/dst_transition_day_rules.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/local_date_time.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/local_time.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/local_time_io.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/local_time_types.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/posix_time_zone.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time/tz_database.hpp create mode 100644 ThirdParty/include/boost/date_time/local_time_adjustor.hpp create mode 100644 ThirdParty/include/boost/date_time/local_timezone_defs.hpp create mode 100644 ThirdParty/include/boost/date_time/locale_config.hpp create mode 100644 ThirdParty/include/boost/date_time/microsec_time_clock.hpp create mode 100644 ThirdParty/include/boost/date_time/parse_format_base.hpp create mode 100644 ThirdParty/include/boost/date_time/period.hpp create mode 100644 ThirdParty/include/boost/date_time/period_formatter.hpp create mode 100644 ThirdParty/include/boost/date_time/period_parser.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/conversion.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/date_duration_operators.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time_config.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time_duration.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time_io.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time_legacy_io.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time_system.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/posix_time_types.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/ptime.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/time_formatters.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/time_formatters_limited.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/time_parsers.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/time_period.hpp create mode 100644 ThirdParty/include/boost/date_time/posix_time/time_serialize.hpp create mode 100644 ThirdParty/include/boost/date_time/special_defs.hpp create mode 100644 ThirdParty/include/boost/date_time/special_values_formatter.hpp create mode 100644 ThirdParty/include/boost/date_time/special_values_parser.hpp create mode 100644 ThirdParty/include/boost/date_time/string_convert.hpp create mode 100644 ThirdParty/include/boost/date_time/string_parse_tree.hpp create mode 100644 ThirdParty/include/boost/date_time/strings_from_facet.hpp create mode 100644 ThirdParty/include/boost/date_time/time.hpp create mode 100644 ThirdParty/include/boost/date_time/time_clock.hpp create mode 100644 ThirdParty/include/boost/date_time/time_defs.hpp create mode 100644 ThirdParty/include/boost/date_time/time_duration.hpp create mode 100644 ThirdParty/include/boost/date_time/time_facet.hpp create mode 100644 ThirdParty/include/boost/date_time/time_formatting_streams.hpp create mode 100644 ThirdParty/include/boost/date_time/time_iterator.hpp create mode 100644 ThirdParty/include/boost/date_time/time_parsing.hpp create mode 100644 ThirdParty/include/boost/date_time/time_resolution_traits.hpp create mode 100644 ThirdParty/include/boost/date_time/time_system_counted.hpp create mode 100644 ThirdParty/include/boost/date_time/time_system_split.hpp create mode 100644 ThirdParty/include/boost/date_time/time_zone_base.hpp create mode 100644 ThirdParty/include/boost/date_time/time_zone_names.hpp create mode 100644 ThirdParty/include/boost/date_time/tz_db_base.hpp create mode 100644 ThirdParty/include/boost/date_time/wrapping_int.hpp create mode 100644 ThirdParty/include/boost/date_time/year_month_day.hpp create mode 100644 ThirdParty/include/boost/detail/algorithm.hpp create mode 100644 ThirdParty/include/boost/detail/allocator_utilities.hpp create mode 100644 ThirdParty/include/boost/detail/atomic_count.hpp create mode 100644 ThirdParty/include/boost/detail/basic_pointerbuf.hpp create mode 100644 ThirdParty/include/boost/detail/binary_search.hpp create mode 100644 ThirdParty/include/boost/detail/bitmask.hpp create mode 100644 ThirdParty/include/boost/detail/call_traits.hpp create mode 100644 ThirdParty/include/boost/detail/catch_exceptions.hpp create mode 100644 ThirdParty/include/boost/detail/compressed_pair.hpp create mode 100644 ThirdParty/include/boost/detail/container_fwd.hpp create mode 100644 ThirdParty/include/boost/detail/endian.hpp create mode 100644 ThirdParty/include/boost/detail/fenv.hpp create mode 100644 ThirdParty/include/boost/detail/has_default_constructor.hpp create mode 100644 ThirdParty/include/boost/detail/identifier.hpp create mode 100644 ThirdParty/include/boost/detail/indirect_traits.hpp create mode 100644 ThirdParty/include/boost/detail/interlocked.hpp create mode 100644 ThirdParty/include/boost/detail/is_incrementable.hpp create mode 100644 ThirdParty/include/boost/detail/is_sorted.hpp create mode 100644 ThirdParty/include/boost/detail/is_xxx.hpp create mode 100644 ThirdParty/include/boost/detail/iterator.hpp create mode 100644 ThirdParty/include/boost/detail/lcast_precision.hpp create mode 100644 ThirdParty/include/boost/detail/lightweight_main.hpp create mode 100644 ThirdParty/include/boost/detail/lightweight_mutex.hpp create mode 100644 ThirdParty/include/boost/detail/lightweight_test.hpp create mode 100644 ThirdParty/include/boost/detail/lightweight_test_report.hpp create mode 100644 ThirdParty/include/boost/detail/lightweight_thread.hpp create mode 100644 ThirdParty/include/boost/detail/named_template_params.hpp create mode 100644 ThirdParty/include/boost/detail/no_exceptions_support.hpp create mode 100644 ThirdParty/include/boost/detail/numeric_traits.hpp create mode 100644 ThirdParty/include/boost/detail/ob_compressed_pair.hpp create mode 100644 ThirdParty/include/boost/detail/quick_allocator.hpp create mode 100644 ThirdParty/include/boost/detail/reference_content.hpp create mode 100644 ThirdParty/include/boost/detail/scoped_enum_emulation.hpp create mode 100644 ThirdParty/include/boost/detail/select_type.hpp create mode 100644 ThirdParty/include/boost/detail/sp_typeinfo.hpp create mode 100644 ThirdParty/include/boost/detail/templated_streams.hpp create mode 100644 ThirdParty/include/boost/detail/utf8_codecvt_facet.hpp create mode 100644 ThirdParty/include/boost/detail/utf8_codecvt_facet.ipp create mode 100644 ThirdParty/include/boost/detail/winapi/access_rights.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/apc.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/basic_types.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/bcrypt.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/character_code_conversion.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/condition_variable.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/config.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/critical_section.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/crypt.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/dbghelp.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/debugapi.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/detail/deprecated_namespace.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/directory_management.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/dll.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/environment.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/error_codes.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/error_handling.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/event.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/file_management.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/file_mapping.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_current_process.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_current_process_id.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_current_thread.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_current_thread_id.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_last_error.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_process_times.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_system_directory.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/get_thread_times.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/handle_info.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/handles.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/heap_memory.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/init_once.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/jobs.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/limits.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/local_memory.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/memory.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/mutex.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/overlapped.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/page_protection_flags.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/pipes.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/priority_class.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/process.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/security.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/semaphore.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/shell.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/show_window.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/srw_lock.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/stack_backtrace.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/synchronization.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/system.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/thread.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/thread_pool.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/time.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/timers.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/tls.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/wait.hpp create mode 100644 ThirdParty/include/boost/detail/winapi/waitable_timer.hpp create mode 100644 ThirdParty/include/boost/detail/workaround.hpp create mode 100644 ThirdParty/include/boost/exception/all.hpp create mode 100644 ThirdParty/include/boost/exception/current_exception_cast.hpp create mode 100644 ThirdParty/include/boost/exception/detail/clone_current_exception.hpp create mode 100644 ThirdParty/include/boost/exception/detail/error_info_impl.hpp create mode 100644 ThirdParty/include/boost/exception/detail/exception_ptr.hpp create mode 100644 ThirdParty/include/boost/exception/detail/is_output_streamable.hpp create mode 100644 ThirdParty/include/boost/exception/detail/object_hex_dump.hpp create mode 100644 ThirdParty/include/boost/exception/detail/shared_ptr.hpp create mode 100644 ThirdParty/include/boost/exception/detail/type_info.hpp create mode 100644 ThirdParty/include/boost/exception/diagnostic_information.hpp create mode 100644 ThirdParty/include/boost/exception/enable_current_exception.hpp create mode 100644 ThirdParty/include/boost/exception/enable_error_info.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_api_function.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_at_line.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_errno.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_file_handle.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_file_name.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_file_open_mode.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_nested_exception.hpp create mode 100644 ThirdParty/include/boost/exception/errinfo_type_info_name.hpp create mode 100644 ThirdParty/include/boost/exception/error_info.hpp create mode 100644 ThirdParty/include/boost/exception/exception.hpp create mode 100644 ThirdParty/include/boost/exception/get_error_info.hpp create mode 100644 ThirdParty/include/boost/exception/info.hpp create mode 100644 ThirdParty/include/boost/exception/info_tuple.hpp create mode 100644 ThirdParty/include/boost/exception/to_string.hpp create mode 100644 ThirdParty/include/boost/exception/to_string_stub.hpp create mode 100644 ThirdParty/include/boost/functional.hpp create mode 100644 ThirdParty/include/boost/functional/factory.hpp create mode 100644 ThirdParty/include/boost/functional/forward_adapter.hpp create mode 100644 ThirdParty/include/boost/functional/hash.hpp create mode 100644 ThirdParty/include/boost/functional/hash/extensions.hpp create mode 100644 ThirdParty/include/boost/functional/hash/hash.hpp create mode 100644 ThirdParty/include/boost/functional/hash/hash_fwd.hpp create mode 100644 ThirdParty/include/boost/functional/hash_fwd.hpp create mode 100644 ThirdParty/include/boost/functional/lightweight_forward_adapter.hpp create mode 100644 ThirdParty/include/boost/functional/overloaded_function.hpp create mode 100644 ThirdParty/include/boost/functional/overloaded_function/config.hpp create mode 100644 ThirdParty/include/boost/functional/overloaded_function/detail/base.hpp create mode 100644 ThirdParty/include/boost/functional/overloaded_function/detail/function_type.hpp create mode 100644 ThirdParty/include/boost/functional/value_factory.hpp create mode 100644 ThirdParty/include/boost/get_pointer.hpp create mode 100644 ThirdParty/include/boost/integer.hpp create mode 100644 ThirdParty/include/boost/integer/common_factor.hpp create mode 100644 ThirdParty/include/boost/integer/common_factor_ct.hpp create mode 100644 ThirdParty/include/boost/integer/common_factor_rt.hpp create mode 100644 ThirdParty/include/boost/integer/integer_log2.hpp create mode 100644 ThirdParty/include/boost/integer/integer_mask.hpp create mode 100644 ThirdParty/include/boost/integer/static_log2.hpp create mode 100644 ThirdParty/include/boost/integer/static_min_max.hpp create mode 100644 ThirdParty/include/boost/integer_fwd.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/adaptive_pool.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/allocator.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/cached_adaptive_pool.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/cached_node_allocator.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/detail/adaptive_node_pool.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/detail/allocator_common.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/detail/node_pool.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/detail/node_tools.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/node_allocator.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/private_adaptive_pool.hpp create mode 100644 ThirdParty/include/boost/interprocess/allocators/private_node_allocator.hpp create mode 100644 ThirdParty/include/boost/interprocess/anonymous_shared_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/allocation_type.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/containers_fwd.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/deque.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/flat_map.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/flat_set.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/list.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/map.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/pair.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/set.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/slist.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/stable_vector.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/string.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/vector.hpp create mode 100644 ThirdParty/include/boost/interprocess/containers/version_type.hpp create mode 100644 ThirdParty/include/boost/interprocess/creation_tags.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/atomic.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/cast_tags.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/config_begin.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/config_end.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/config_external_begin.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/config_external_end.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/file_locking_helpers.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/file_wrapper.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/in_place_interface.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/intermodule_singleton.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/intermodule_singleton_common.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/interprocess_tester.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/intersegment_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/managed_global_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/managed_memory_impl.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/managed_multi_shared_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/managed_open_or_create_impl.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/math_functions.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/min_max.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/move.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/mpl.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/named_proxy.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/nothrow.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/os_file_functions.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/os_thread_functions.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/pointer_type.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/portable_intermodule_singleton.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/posix_time_types_wrk.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/ptime_wrk.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/robust_emulation.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/segment_manager_helper.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/shared_dir_helpers.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/simple_swap.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/std_fwd.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/transform_iterator.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/type_traits.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/utilities.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/variadic_templates_tools.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/win32_api.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/windows_intermodule_singleton.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/workaround.hpp create mode 100644 ThirdParty/include/boost/interprocess/detail/xsi_shared_memory_file_wrapper.hpp create mode 100644 ThirdParty/include/boost/interprocess/errors.hpp create mode 100644 ThirdParty/include/boost/interprocess/exceptions.hpp create mode 100644 ThirdParty/include/boost/interprocess/file_mapping.hpp create mode 100644 ThirdParty/include/boost/interprocess/indexes/flat_map_index.hpp create mode 100644 ThirdParty/include/boost/interprocess/indexes/iset_index.hpp create mode 100644 ThirdParty/include/boost/interprocess/indexes/iunordered_set_index.hpp create mode 100644 ThirdParty/include/boost/interprocess/indexes/map_index.hpp create mode 100644 ThirdParty/include/boost/interprocess/indexes/null_index.hpp create mode 100644 ThirdParty/include/boost/interprocess/indexes/unordered_map_index.hpp create mode 100644 ThirdParty/include/boost/interprocess/interprocess_fwd.hpp create mode 100644 ThirdParty/include/boost/interprocess/ipc/message_queue.hpp create mode 100644 ThirdParty/include/boost/interprocess/managed_external_buffer.hpp create mode 100644 ThirdParty/include/boost/interprocess/managed_heap_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/managed_mapped_file.hpp create mode 100644 ThirdParty/include/boost/interprocess/managed_shared_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/managed_windows_shared_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/managed_xsi_shared_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/mapped_region.hpp create mode 100644 ThirdParty/include/boost/interprocess/mem_algo/detail/mem_algo_common.hpp create mode 100644 ThirdParty/include/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp create mode 100644 ThirdParty/include/boost/interprocess/mem_algo/rbtree_best_fit.hpp create mode 100644 ThirdParty/include/boost/interprocess/mem_algo/simple_seq_fit.hpp create mode 100644 ThirdParty/include/boost/interprocess/offset_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/permissions.hpp create mode 100644 ThirdParty/include/boost/interprocess/segment_manager.hpp create mode 100644 ThirdParty/include/boost/interprocess/shared_memory_object.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/deleter.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/detail/shared_count.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/enable_shared_from_this.hpp create mode 100755 ThirdParty/include/boost/interprocess/smart_ptr/intrusive_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/scoped_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/shared_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/unique_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/smart_ptr/weak_ptr.hpp create mode 100644 ThirdParty/include/boost/interprocess/streams/bufferstream.hpp create mode 100644 ThirdParty/include/boost/interprocess/streams/vectorstream.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/detail/common_algorithms.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/detail/condition_any_algorithm.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/detail/locks.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/file_lock.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_condition_any.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_sharable_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/interprocess_upgradable_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/lock_options.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/mutex_family.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_condition_any.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_sharable_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/named_upgradable_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/null_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/named_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/named_semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/pthread_helpers.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/ptime_to_timespec.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/posix/semaphore_wrapper.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/scoped_lock.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/sharable_lock.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_condition_any.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_creation_functor.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/shm/named_upgradable_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/spin/condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/spin/interprocess_barrier.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/spin/mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/spin/recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/spin/semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/spin/wait.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/upgradable_lock.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/named_condition.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/named_condition_any.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/named_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/named_recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/named_semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/named_sync.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/recursive_mutex.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/semaphore.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/sync_utils.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp create mode 100644 ThirdParty/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp create mode 100644 ThirdParty/include/boost/interprocess/windows_shared_memory.hpp create mode 100644 ThirdParty/include/boost/interprocess/xsi_key.hpp create mode 100644 ThirdParty/include/boost/interprocess/xsi_shared_memory.hpp create mode 100644 ThirdParty/include/boost/intrusive/any_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/avl_set.hpp create mode 100644 ThirdParty/include/boost/intrusive/avl_set_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/avltree.hpp create mode 100644 ThirdParty/include/boost/intrusive/avltree_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/bs_set.hpp create mode 100644 ThirdParty/include/boost/intrusive/bs_set_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/bstree.hpp create mode 100644 ThirdParty/include/boost/intrusive/bstree_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/circular_list_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/circular_slist_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/derivation_value_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/algo_type.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/algorithm.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/any_node_and_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/array_initializer.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/assert.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/avltree_node.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/bstree_algorithms_base.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/common_slist_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/config_begin.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/config_end.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/default_header_holder.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/ebo_functor_holder.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/empty_node_checker.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/equal_to_value.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/exception_disposer.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/function_detector.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/generic_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/get_value_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/has_member_function_callable_with.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/hashtable_node.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/hook_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/iiterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/is_stateful_value_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/iterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/key_nodeptr_comp.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/list_iterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/list_node.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/math.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/minimal_less_equal_header.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/minimal_pair_header.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/mpl.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/node_cloner_disposer.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/node_holder.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/node_to_value.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/parent_from_member.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/rbtree_node.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/reverse_iterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/simple_disposers.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/size_holder.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/slist_iterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/slist_node.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/std_fwd.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/transform_iterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/tree_iterator.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/tree_node.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/tree_value_compare.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/uncast.hpp create mode 100644 ThirdParty/include/boost/intrusive/detail/workaround.hpp create mode 100644 ThirdParty/include/boost/intrusive/hashtable.hpp create mode 100644 ThirdParty/include/boost/intrusive/intrusive_fwd.hpp create mode 100644 ThirdParty/include/boost/intrusive/linear_slist_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/link_mode.hpp create mode 100644 ThirdParty/include/boost/intrusive/list.hpp create mode 100644 ThirdParty/include/boost/intrusive/list_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/member_value_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/options.hpp create mode 100644 ThirdParty/include/boost/intrusive/pack_options.hpp create mode 100644 ThirdParty/include/boost/intrusive/parent_from_member.hpp create mode 100644 ThirdParty/include/boost/intrusive/pointer_plus_bits.hpp create mode 100644 ThirdParty/include/boost/intrusive/pointer_rebind.hpp create mode 100644 ThirdParty/include/boost/intrusive/pointer_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/priority_compare.hpp create mode 100644 ThirdParty/include/boost/intrusive/rbtree.hpp create mode 100644 ThirdParty/include/boost/intrusive/rbtree_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/set.hpp create mode 100644 ThirdParty/include/boost/intrusive/set_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/sg_set.hpp create mode 100644 ThirdParty/include/boost/intrusive/sgtree.hpp create mode 100644 ThirdParty/include/boost/intrusive/sgtree_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/slist.hpp create mode 100644 ThirdParty/include/boost/intrusive/slist_hook.hpp create mode 100644 ThirdParty/include/boost/intrusive/splay_set.hpp create mode 100644 ThirdParty/include/boost/intrusive/splaytree.hpp create mode 100644 ThirdParty/include/boost/intrusive/splaytree_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/treap.hpp create mode 100644 ThirdParty/include/boost/intrusive/treap_algorithms.hpp create mode 100644 ThirdParty/include/boost/intrusive/treap_set.hpp create mode 100644 ThirdParty/include/boost/intrusive/trivial_value_traits.hpp create mode 100644 ThirdParty/include/boost/intrusive/unordered_set.hpp create mode 100644 ThirdParty/include/boost/intrusive/unordered_set_hook.hpp create mode 100644 ThirdParty/include/boost/is_placeholder.hpp create mode 100644 ThirdParty/include/boost/limits.hpp create mode 100644 ThirdParty/include/boost/mem_fn.hpp create mode 100644 ThirdParty/include/boost/move/adl_move_swap.hpp create mode 100644 ThirdParty/include/boost/move/algo/adaptive_merge.hpp create mode 100644 ThirdParty/include/boost/move/algo/adaptive_sort.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/adaptive_sort_merge.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/basic_op.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/heap_sort.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/insertion_sort.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/is_sorted.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/merge.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/merge_sort.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/pdqsort.hpp create mode 100644 ThirdParty/include/boost/move/algo/detail/set_difference.hpp create mode 100644 ThirdParty/include/boost/move/algo/move.hpp create mode 100644 ThirdParty/include/boost/move/algo/predicate.hpp create mode 100644 ThirdParty/include/boost/move/algo/unique.hpp create mode 100644 ThirdParty/include/boost/move/algorithm.hpp create mode 100644 ThirdParty/include/boost/move/core.hpp create mode 100644 ThirdParty/include/boost/move/default_delete.hpp create mode 100644 ThirdParty/include/boost/move/detail/config_begin.hpp create mode 100644 ThirdParty/include/boost/move/detail/config_end.hpp create mode 100644 ThirdParty/include/boost/move/detail/destruct_n.hpp create mode 100644 ThirdParty/include/boost/move/detail/fwd_macros.hpp create mode 100644 ThirdParty/include/boost/move/detail/iterator_to_raw_pointer.hpp create mode 100644 ThirdParty/include/boost/move/detail/iterator_traits.hpp create mode 100644 ThirdParty/include/boost/move/detail/meta_utils.hpp create mode 100644 ThirdParty/include/boost/move/detail/meta_utils_core.hpp create mode 100644 ThirdParty/include/boost/move/detail/move_helpers.hpp create mode 100644 ThirdParty/include/boost/move/detail/placement_new.hpp create mode 100644 ThirdParty/include/boost/move/detail/pointer_element.hpp create mode 100644 ThirdParty/include/boost/move/detail/reverse_iterator.hpp create mode 100644 ThirdParty/include/boost/move/detail/std_ns_begin.hpp create mode 100644 ThirdParty/include/boost/move/detail/std_ns_end.hpp create mode 100644 ThirdParty/include/boost/move/detail/to_raw_pointer.hpp create mode 100644 ThirdParty/include/boost/move/detail/type_traits.hpp create mode 100644 ThirdParty/include/boost/move/detail/unique_ptr_meta_utils.hpp create mode 100644 ThirdParty/include/boost/move/detail/workaround.hpp create mode 100644 ThirdParty/include/boost/move/iterator.hpp create mode 100644 ThirdParty/include/boost/move/make_unique.hpp create mode 100644 ThirdParty/include/boost/move/move.hpp create mode 100644 ThirdParty/include/boost/move/traits.hpp create mode 100644 ThirdParty/include/boost/move/unique_ptr.hpp create mode 100644 ThirdParty/include/boost/move/utility.hpp create mode 100644 ThirdParty/include/boost/move/utility_core.hpp create mode 100644 ThirdParty/include/boost/mpl/O1_size.hpp create mode 100644 ThirdParty/include/boost/mpl/O1_size_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/accumulate.hpp create mode 100644 ThirdParty/include/boost/mpl/advance.hpp create mode 100644 ThirdParty/include/boost/mpl/advance_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/alias.hpp create mode 100644 ThirdParty/include/boost/mpl/always.hpp create mode 100644 ThirdParty/include/boost/mpl/and.hpp create mode 100644 ThirdParty/include/boost/mpl/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/arg_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/arithmetic.hpp create mode 100644 ThirdParty/include/boost/mpl/as_sequence.hpp create mode 100644 ThirdParty/include/boost/mpl/assert.hpp create mode 100644 ThirdParty/include/boost/mpl/at.hpp create mode 100644 ThirdParty/include/boost/mpl/at_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/O1_size_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/adl_barrier.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/apply_1st.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/arg_typedef.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/arithmetic_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/arity_spec.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/at_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/back_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/begin_end_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/clear_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/common_name_wknd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/comparison_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/adl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/arrays.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/bcc.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/compiler.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/dependent_nttp.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/dtp.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/eti.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/forwarding.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/gcc.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/gpu.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/has_apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/has_xxx.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/integral.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/intel.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/msvc.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/msvc_typename.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/nttp.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/operators.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/overload_resolution.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/pp_counter.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/preprocessor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/static_constant.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/ttp.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/typeof.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/use_preprocessed.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/config/workaround.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/contains_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/count_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/count_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/empty_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/erase_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/erase_key_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/filter_iter.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/find_if_pred.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/fold_impl_body.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/fold_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/fold_pred.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/front_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_begin.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_key_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_rebind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_size.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_tag.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/has_type.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/include_preprocessed.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/insert_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/insert_range_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/inserter_algorithm.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/integral_wrapper.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/is_msvc_eti_arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/iter_apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/iter_push_front.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/joint_iter.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/lambda_arity_param.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/lambda_spec.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/lambda_support.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/largest_int.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/logical_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/msvc_dtw.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/msvc_eti_base.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/msvc_is_class.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/msvc_never_true.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/msvc_type.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/na.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/na_assert.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/na_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/na_spec.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/nested_type_wknd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/nttp_decl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/numeric_cast_utils.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/numeric_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/order_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/overload_names.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/partition_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/pop_back_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/pop_front_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/and.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/arg.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/map.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/or.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/times.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/add.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/default_params.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/enum.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/ext_params.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/filter_params.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/is_seq.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/params.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/range.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/repeat.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/sub.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/token_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/preprocessor/tuple.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/ptr_to_ref.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/push_back_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/push_front_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/O1_size.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/back.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/empty.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/front.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/iterator.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/size.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/range_c/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/reverse_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/reverse_fold_impl_body.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/sequence_wrapper.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/shift_op.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/single_element_iter.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/size_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/sort_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/static_cast.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/template_arity.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/template_arity_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/test.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/test/assert.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/test/data.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/test/test_case.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/traits_lambda_spec.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/transform_iter.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/type_wrapper.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/unwrap.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/value_wknd.hpp create mode 100644 ThirdParty/include/boost/mpl/aux_/yes_no.hpp create mode 100644 ThirdParty/include/boost/mpl/back.hpp create mode 100644 ThirdParty/include/boost/mpl/back_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/back_inserter.hpp create mode 100644 ThirdParty/include/boost/mpl/base.hpp create mode 100644 ThirdParty/include/boost/mpl/begin.hpp create mode 100644 ThirdParty/include/boost/mpl/begin_end.hpp create mode 100644 ThirdParty/include/boost/mpl/begin_end_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/bind.hpp create mode 100644 ThirdParty/include/boost/mpl/bind_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/bitand.hpp create mode 100644 ThirdParty/include/boost/mpl/bitor.hpp create mode 100644 ThirdParty/include/boost/mpl/bitwise.hpp create mode 100644 ThirdParty/include/boost/mpl/bitxor.hpp create mode 100644 ThirdParty/include/boost/mpl/bool.hpp create mode 100644 ThirdParty/include/boost/mpl/bool_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/char.hpp create mode 100644 ThirdParty/include/boost/mpl/char_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/clear.hpp create mode 100644 ThirdParty/include/boost/mpl/clear_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/comparison.hpp create mode 100644 ThirdParty/include/boost/mpl/contains.hpp create mode 100644 ThirdParty/include/boost/mpl/contains_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/copy.hpp create mode 100644 ThirdParty/include/boost/mpl/copy_if.hpp create mode 100644 ThirdParty/include/boost/mpl/count.hpp create mode 100644 ThirdParty/include/boost/mpl/count_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/count_if.hpp create mode 100644 ThirdParty/include/boost/mpl/deque.hpp create mode 100644 ThirdParty/include/boost/mpl/deref.hpp create mode 100644 ThirdParty/include/boost/mpl/distance.hpp create mode 100644 ThirdParty/include/boost/mpl/distance_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/divides.hpp create mode 100644 ThirdParty/include/boost/mpl/empty.hpp create mode 100644 ThirdParty/include/boost/mpl/empty_base.hpp create mode 100644 ThirdParty/include/boost/mpl/empty_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/empty_sequence.hpp create mode 100644 ThirdParty/include/boost/mpl/end.hpp create mode 100644 ThirdParty/include/boost/mpl/equal.hpp create mode 100644 ThirdParty/include/boost/mpl/equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/erase.hpp create mode 100644 ThirdParty/include/boost/mpl/erase_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/erase_key.hpp create mode 100644 ThirdParty/include/boost/mpl/erase_key_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/eval_if.hpp create mode 100644 ThirdParty/include/boost/mpl/filter_view.hpp create mode 100644 ThirdParty/include/boost/mpl/find.hpp create mode 100644 ThirdParty/include/boost/mpl/find_if.hpp create mode 100644 ThirdParty/include/boost/mpl/fold.hpp create mode 100644 ThirdParty/include/boost/mpl/for_each.hpp create mode 100644 ThirdParty/include/boost/mpl/front.hpp create mode 100644 ThirdParty/include/boost/mpl/front_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/front_inserter.hpp create mode 100644 ThirdParty/include/boost/mpl/get_tag.hpp create mode 100644 ThirdParty/include/boost/mpl/greater.hpp create mode 100644 ThirdParty/include/boost/mpl/greater_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/has_key.hpp create mode 100644 ThirdParty/include/boost/mpl/has_key_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/has_xxx.hpp create mode 100644 ThirdParty/include/boost/mpl/identity.hpp create mode 100644 ThirdParty/include/boost/mpl/if.hpp create mode 100644 ThirdParty/include/boost/mpl/index_if.hpp create mode 100644 ThirdParty/include/boost/mpl/index_of.hpp create mode 100644 ThirdParty/include/boost/mpl/inherit.hpp create mode 100644 ThirdParty/include/boost/mpl/inherit_linearly.hpp create mode 100644 ThirdParty/include/boost/mpl/insert.hpp create mode 100644 ThirdParty/include/boost/mpl/insert_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/insert_range.hpp create mode 100644 ThirdParty/include/boost/mpl/insert_range_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/inserter.hpp create mode 100644 ThirdParty/include/boost/mpl/int.hpp create mode 100644 ThirdParty/include/boost/mpl/int_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/integral_c.hpp create mode 100644 ThirdParty/include/boost/mpl/integral_c_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/integral_c_tag.hpp create mode 100644 ThirdParty/include/boost/mpl/is_placeholder.hpp create mode 100644 ThirdParty/include/boost/mpl/is_sequence.hpp create mode 100644 ThirdParty/include/boost/mpl/iter_fold.hpp create mode 100644 ThirdParty/include/boost/mpl/iter_fold_if.hpp create mode 100644 ThirdParty/include/boost/mpl/iterator_category.hpp create mode 100644 ThirdParty/include/boost/mpl/iterator_range.hpp create mode 100644 ThirdParty/include/boost/mpl/iterator_tags.hpp create mode 100644 ThirdParty/include/boost/mpl/joint_view.hpp create mode 100644 ThirdParty/include/boost/mpl/key_type.hpp create mode 100644 ThirdParty/include/boost/mpl/key_type_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/lambda.hpp create mode 100644 ThirdParty/include/boost/mpl/lambda_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/less.hpp create mode 100644 ThirdParty/include/boost/mpl/less_equal.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/arity.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/list.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/map.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/set.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/string.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/unrolling.hpp create mode 100644 ThirdParty/include/boost/mpl/limits/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/list.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/O1_size.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/begin_end.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/clear.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/empty.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/front.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/include_preprocessed.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/item.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/iterator.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/numbered.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/numbered_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/pop_front.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/push_back.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/push_front.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/size.hpp create mode 100644 ThirdParty/include/boost/mpl/list/aux_/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list0.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list0_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list10.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list20.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list30.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list40.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list50.hpp create mode 100644 ThirdParty/include/boost/mpl/list/list50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/list_c.hpp create mode 100644 ThirdParty/include/boost/mpl/logical.hpp create mode 100644 ThirdParty/include/boost/mpl/long.hpp create mode 100644 ThirdParty/include/boost/mpl/long_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/lower_bound.hpp create mode 100644 ThirdParty/include/boost/mpl/map.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/at_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/begin_end_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/clear_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/contains_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/empty_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/erase_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/erase_key_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/has_key_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/include_preprocessed.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/insert_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/insert_range_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/item.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/iterator.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/key_type_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/map0.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/numbered.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/size_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/map/aux_/value_type_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/map/map0.hpp create mode 100644 ThirdParty/include/boost/mpl/map/map10.hpp create mode 100644 ThirdParty/include/boost/mpl/map/map20.hpp create mode 100644 ThirdParty/include/boost/mpl/map/map30.hpp create mode 100644 ThirdParty/include/boost/mpl/map/map40.hpp create mode 100644 ThirdParty/include/boost/mpl/map/map50.hpp create mode 100644 ThirdParty/include/boost/mpl/math/fixed_c.hpp create mode 100644 ThirdParty/include/boost/mpl/math/is_even.hpp create mode 100644 ThirdParty/include/boost/mpl/math/rational_c.hpp create mode 100644 ThirdParty/include/boost/mpl/max.hpp create mode 100644 ThirdParty/include/boost/mpl/max_element.hpp create mode 100644 ThirdParty/include/boost/mpl/min.hpp create mode 100644 ThirdParty/include/boost/mpl/min_element.hpp create mode 100644 ThirdParty/include/boost/mpl/min_max.hpp create mode 100644 ThirdParty/include/boost/mpl/minus.hpp create mode 100644 ThirdParty/include/boost/mpl/modulus.hpp create mode 100644 ThirdParty/include/boost/mpl/multiplies.hpp create mode 100644 ThirdParty/include/boost/mpl/multiset/aux_/count_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/multiset/aux_/insert_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/multiset/aux_/item.hpp create mode 100644 ThirdParty/include/boost/mpl/multiset/aux_/multiset0.hpp create mode 100644 ThirdParty/include/boost/mpl/multiset/aux_/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/multiset/multiset0.hpp create mode 100644 ThirdParty/include/boost/mpl/negate.hpp create mode 100644 ThirdParty/include/boost/mpl/next.hpp create mode 100644 ThirdParty/include/boost/mpl/next_prior.hpp create mode 100644 ThirdParty/include/boost/mpl/not.hpp create mode 100644 ThirdParty/include/boost/mpl/not_equal_to.hpp create mode 100644 ThirdParty/include/boost/mpl/numeric_cast.hpp create mode 100644 ThirdParty/include/boost/mpl/or.hpp create mode 100644 ThirdParty/include/boost/mpl/order.hpp create mode 100644 ThirdParty/include/boost/mpl/order_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/pair.hpp create mode 100644 ThirdParty/include/boost/mpl/pair_view.hpp create mode 100644 ThirdParty/include/boost/mpl/partition.hpp create mode 100644 ThirdParty/include/boost/mpl/placeholders.hpp create mode 100644 ThirdParty/include/boost/mpl/plus.hpp create mode 100644 ThirdParty/include/boost/mpl/pop_back.hpp create mode 100644 ThirdParty/include/boost/mpl/pop_back_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/pop_front.hpp create mode 100644 ThirdParty/include/boost/mpl/pop_front_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/print.hpp create mode 100644 ThirdParty/include/boost/mpl/prior.hpp create mode 100644 ThirdParty/include/boost/mpl/protect.hpp create mode 100644 ThirdParty/include/boost/mpl/push_back.hpp create mode 100644 ThirdParty/include/boost/mpl/push_back_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/push_front.hpp create mode 100644 ThirdParty/include/boost/mpl/push_front_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/quote.hpp create mode 100644 ThirdParty/include/boost/mpl/range_c.hpp create mode 100644 ThirdParty/include/boost/mpl/remove.hpp create mode 100644 ThirdParty/include/boost/mpl/remove_if.hpp create mode 100644 ThirdParty/include/boost/mpl/replace.hpp create mode 100644 ThirdParty/include/boost/mpl/replace_if.hpp create mode 100644 ThirdParty/include/boost/mpl/reverse.hpp create mode 100644 ThirdParty/include/boost/mpl/reverse_fold.hpp create mode 100644 ThirdParty/include/boost/mpl/reverse_iter_fold.hpp create mode 100644 ThirdParty/include/boost/mpl/same_as.hpp create mode 100644 ThirdParty/include/boost/mpl/sequence_tag.hpp create mode 100644 ThirdParty/include/boost/mpl/sequence_tag_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/set.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/at_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/begin_end_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/clear_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/empty_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/erase_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/erase_key_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/has_key_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/include_preprocessed.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/insert_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/insert_range_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/item.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/iterator.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/key_type_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/numbered.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/numbered_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/set0.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/size_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/set/aux_/value_type_impl.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set0.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set0_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set10.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set20.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set30.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set40.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set50.hpp create mode 100644 ThirdParty/include/boost/mpl/set/set50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/set_c.hpp create mode 100644 ThirdParty/include/boost/mpl/shift_left.hpp create mode 100644 ThirdParty/include/boost/mpl/shift_right.hpp create mode 100644 ThirdParty/include/boost/mpl/single_view.hpp create mode 100644 ThirdParty/include/boost/mpl/size.hpp create mode 100644 ThirdParty/include/boost/mpl/size_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/size_t.hpp create mode 100644 ThirdParty/include/boost/mpl/size_t_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/sizeof.hpp create mode 100644 ThirdParty/include/boost/mpl/sort.hpp create mode 100644 ThirdParty/include/boost/mpl/stable_partition.hpp create mode 100644 ThirdParty/include/boost/mpl/string.hpp create mode 100644 ThirdParty/include/boost/mpl/switch.hpp create mode 100644 ThirdParty/include/boost/mpl/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/times.hpp create mode 100644 ThirdParty/include/boost/mpl/transform.hpp create mode 100644 ThirdParty/include/boost/mpl/transform_view.hpp create mode 100644 ThirdParty/include/boost/mpl/unique.hpp create mode 100644 ThirdParty/include/boost/mpl/unpack_args.hpp create mode 100644 ThirdParty/include/boost/mpl/upper_bound.hpp create mode 100644 ThirdParty/include/boost/mpl/value_type.hpp create mode 100644 ThirdParty/include/boost/mpl/value_type_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/vector.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/O1_size.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/at.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/back.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/begin_end.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/clear.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/empty.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/front.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/include_preprocessed.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/item.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/iterator.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/numbered.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/numbered_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/pop_back.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/pop_front.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/push_back.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/push_front.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/size.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/tag.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/aux_/vector0.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector0.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector0_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector10.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector10_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector20.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector20_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector30.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector30_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector40.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector40_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector50.hpp create mode 100644 ThirdParty/include/boost/mpl/vector/vector50_c.hpp create mode 100644 ThirdParty/include/boost/mpl/vector_c.hpp create mode 100644 ThirdParty/include/boost/mpl/void.hpp create mode 100644 ThirdParty/include/boost/mpl/void_fwd.hpp create mode 100644 ThirdParty/include/boost/mpl/zip_view.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/bounds.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/cast.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/conversion_traits.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/converter.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/converter_policies.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/bounds.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/conversion_traits.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/converter.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/int_float_mixture.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/is_subranged.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/meta.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/old_numeric_cast.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/sign_mixture.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/int_float_mixture.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/int_float_mixture_enum.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/is_subranged.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/numeric_cast_traits.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/sign_mixture.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/sign_mixture_enum.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture.hpp create mode 100644 ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp create mode 100644 ThirdParty/include/boost/numeric/interval.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/arith.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/arith2.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/arith3.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/checking.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare/certain.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare/explicit.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare/lexicographic.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare/possible.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare/set.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/compare/tribool.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/constants.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/alpha_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/bcc_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/bugs.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/c99_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/c99sub_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/division.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/ia64_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/interval_prototype.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/msvc_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/ppc_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/sparc_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/test_input.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/x86_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/detail/x86gcc_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/ext/integer.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/ext/x86_fast_rounding_control.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/hw_rounding.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/interval.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/io.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/limits.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/policies.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/rounded_arith.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/rounded_transc.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/rounding.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/transc.hpp create mode 100644 ThirdParty/include/boost/numeric/interval/utility.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/array_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/default_operations.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/detail/extract_value_type.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/detail/for_each.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/detail/macros.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/detail/norm_inf.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/multi_array_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/norm_result_type.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/operations_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/range_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/config.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/compute/compute.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/compute/compute_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/eigen/eigen.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mpi/mpi.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_state.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_copy.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/openmp/openmp.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_state.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/thrust/thrust.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/check_adapter.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/detail/functors.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/integrate.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/integrate_const.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/integrate_times.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/max_step_checker.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/null_observer.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/integrate/observer_collection.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/adaptive_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/const_step_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/const_step_time_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/functors.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_const.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_times.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/null_observer.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/integrate/observer_collection.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/n_step_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/n_step_time_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/times_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/iterator/times_time_iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/adams_moulton.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/controlled_step_result.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/euler.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/extrapolation_stepper.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/implicit_euler.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/modified_midpoint.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/stepper_categories.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/symplectic_euler.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/stepper/velocity_verlet.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/bind.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/copy.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/detail/is_range.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/detail/less_with_sign.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/is_pair.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/is_resizeable.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/multi_array_adaption.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/n_ary_helper.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/odeint_error.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/resize.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/resizer.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/same_instance.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/same_size.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/split.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/split_adaptor.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/state_wrapper.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/stepper_traits.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/ublas_matrix_expression.patch create mode 100644 ThirdParty/include/boost/numeric/odeint/util/ublas_wrapper.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/unit_helper.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/util/unwrap_reference.hpp create mode 100644 ThirdParty/include/boost/numeric/odeint/version.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/assignment.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/banded.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/blas.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/concepts.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/config.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/definitions.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/documentation.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/duff.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/iterator.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/matrix_assign.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/raw.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/returntype_deduction.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/temporary.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/detail/vector_assign.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/doxydoc.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/exception.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/experimental/sparse_view.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/expression_types.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/functional.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/fwd.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/hermitian.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/io.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/lu.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/matrix.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/matrix_expression.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/matrix_proxy.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/matrix_sparse.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/matrix_vector.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation/begin.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation/c_array.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation/end.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation/num_columns.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation/num_rows.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation/size.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation_blocked.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operation_sparse.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/operations.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/storage.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/storage_sparse.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/symmetric.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/tags.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/traits.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/traits/c_array.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/traits/const_iterator_type.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/traits/iterator_type.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/triangular.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/vector.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/vector_expression.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/vector_of_vector.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/vector_proxy.hpp create mode 100644 ThirdParty/include/boost/numeric/ublas/vector_sparse.hpp create mode 100644 ThirdParty/include/boost/operators.hpp create mode 100644 ThirdParty/include/boost/predef.h create mode 100644 ThirdParty/include/boost/predef/architecture.h create mode 100644 ThirdParty/include/boost/predef/architecture/alpha.h create mode 100644 ThirdParty/include/boost/predef/architecture/arm.h create mode 100644 ThirdParty/include/boost/predef/architecture/blackfin.h create mode 100644 ThirdParty/include/boost/predef/architecture/convex.h create mode 100644 ThirdParty/include/boost/predef/architecture/ia64.h create mode 100644 ThirdParty/include/boost/predef/architecture/m68k.h create mode 100644 ThirdParty/include/boost/predef/architecture/mips.h create mode 100644 ThirdParty/include/boost/predef/architecture/parisc.h create mode 100644 ThirdParty/include/boost/predef/architecture/ppc.h create mode 100644 ThirdParty/include/boost/predef/architecture/ptx.h create mode 100644 ThirdParty/include/boost/predef/architecture/pyramid.h create mode 100644 ThirdParty/include/boost/predef/architecture/rs6k.h create mode 100644 ThirdParty/include/boost/predef/architecture/sparc.h create mode 100644 ThirdParty/include/boost/predef/architecture/superh.h create mode 100644 ThirdParty/include/boost/predef/architecture/sys370.h create mode 100644 ThirdParty/include/boost/predef/architecture/sys390.h create mode 100644 ThirdParty/include/boost/predef/architecture/x86.h create mode 100644 ThirdParty/include/boost/predef/architecture/x86/32.h create mode 100644 ThirdParty/include/boost/predef/architecture/x86/64.h create mode 100644 ThirdParty/include/boost/predef/architecture/z.h create mode 100644 ThirdParty/include/boost/predef/compiler.h create mode 100644 ThirdParty/include/boost/predef/compiler/borland.h create mode 100644 ThirdParty/include/boost/predef/compiler/clang.h create mode 100644 ThirdParty/include/boost/predef/compiler/comeau.h create mode 100644 ThirdParty/include/boost/predef/compiler/compaq.h create mode 100644 ThirdParty/include/boost/predef/compiler/diab.h create mode 100644 ThirdParty/include/boost/predef/compiler/digitalmars.h create mode 100644 ThirdParty/include/boost/predef/compiler/dignus.h create mode 100644 ThirdParty/include/boost/predef/compiler/edg.h create mode 100644 ThirdParty/include/boost/predef/compiler/ekopath.h create mode 100644 ThirdParty/include/boost/predef/compiler/gcc.h create mode 100644 ThirdParty/include/boost/predef/compiler/gcc_xml.h create mode 100644 ThirdParty/include/boost/predef/compiler/greenhills.h create mode 100644 ThirdParty/include/boost/predef/compiler/hp_acc.h create mode 100644 ThirdParty/include/boost/predef/compiler/iar.h create mode 100644 ThirdParty/include/boost/predef/compiler/ibm.h create mode 100644 ThirdParty/include/boost/predef/compiler/intel.h create mode 100644 ThirdParty/include/boost/predef/compiler/kai.h create mode 100644 ThirdParty/include/boost/predef/compiler/llvm.h create mode 100644 ThirdParty/include/boost/predef/compiler/metaware.h create mode 100644 ThirdParty/include/boost/predef/compiler/metrowerks.h create mode 100644 ThirdParty/include/boost/predef/compiler/microtec.h create mode 100644 ThirdParty/include/boost/predef/compiler/mpw.h create mode 100644 ThirdParty/include/boost/predef/compiler/nvcc.h create mode 100644 ThirdParty/include/boost/predef/compiler/palm.h create mode 100644 ThirdParty/include/boost/predef/compiler/pgi.h create mode 100644 ThirdParty/include/boost/predef/compiler/sgi_mipspro.h create mode 100644 ThirdParty/include/boost/predef/compiler/sunpro.h create mode 100644 ThirdParty/include/boost/predef/compiler/tendra.h create mode 100644 ThirdParty/include/boost/predef/compiler/visualc.h create mode 100644 ThirdParty/include/boost/predef/compiler/watcom.h create mode 100644 ThirdParty/include/boost/predef/detail/_cassert.h create mode 100644 ThirdParty/include/boost/predef/detail/_exception.h create mode 100644 ThirdParty/include/boost/predef/detail/comp_detected.h create mode 100644 ThirdParty/include/boost/predef/detail/endian_compat.h create mode 100644 ThirdParty/include/boost/predef/detail/os_detected.h create mode 100644 ThirdParty/include/boost/predef/detail/platform_detected.h create mode 100644 ThirdParty/include/boost/predef/detail/test.h create mode 100644 ThirdParty/include/boost/predef/detail/test_def.h create mode 100644 ThirdParty/include/boost/predef/hardware.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/arm.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/arm/versions.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/ppc.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/ppc/versions.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/x86.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/x86/versions.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/x86_amd.h create mode 100644 ThirdParty/include/boost/predef/hardware/simd/x86_amd/versions.h create mode 100644 ThirdParty/include/boost/predef/language.h create mode 100644 ThirdParty/include/boost/predef/language/cuda.h create mode 100644 ThirdParty/include/boost/predef/language/objc.h create mode 100644 ThirdParty/include/boost/predef/language/stdc.h create mode 100644 ThirdParty/include/boost/predef/language/stdcpp.h create mode 100644 ThirdParty/include/boost/predef/library.h create mode 100644 ThirdParty/include/boost/predef/library/c.h create mode 100644 ThirdParty/include/boost/predef/library/c/_prefix.h create mode 100644 ThirdParty/include/boost/predef/library/c/cloudabi.h create mode 100644 ThirdParty/include/boost/predef/library/c/gnu.h create mode 100644 ThirdParty/include/boost/predef/library/c/uc.h create mode 100644 ThirdParty/include/boost/predef/library/c/vms.h create mode 100644 ThirdParty/include/boost/predef/library/c/zos.h create mode 100644 ThirdParty/include/boost/predef/library/std.h create mode 100644 ThirdParty/include/boost/predef/library/std/_prefix.h create mode 100644 ThirdParty/include/boost/predef/library/std/cxx.h create mode 100644 ThirdParty/include/boost/predef/library/std/dinkumware.h create mode 100644 ThirdParty/include/boost/predef/library/std/libcomo.h create mode 100644 ThirdParty/include/boost/predef/library/std/modena.h create mode 100644 ThirdParty/include/boost/predef/library/std/msl.h create mode 100644 ThirdParty/include/boost/predef/library/std/roguewave.h create mode 100644 ThirdParty/include/boost/predef/library/std/sgi.h create mode 100644 ThirdParty/include/boost/predef/library/std/stdcpp3.h create mode 100644 ThirdParty/include/boost/predef/library/std/stlport.h create mode 100644 ThirdParty/include/boost/predef/library/std/vacpp.h create mode 100644 ThirdParty/include/boost/predef/make.h create mode 100644 ThirdParty/include/boost/predef/os.h create mode 100644 ThirdParty/include/boost/predef/os/aix.h create mode 100644 ThirdParty/include/boost/predef/os/amigaos.h create mode 100644 ThirdParty/include/boost/predef/os/android.h create mode 100644 ThirdParty/include/boost/predef/os/beos.h create mode 100644 ThirdParty/include/boost/predef/os/bsd.h create mode 100644 ThirdParty/include/boost/predef/os/bsd/bsdi.h create mode 100644 ThirdParty/include/boost/predef/os/bsd/dragonfly.h create mode 100644 ThirdParty/include/boost/predef/os/bsd/free.h create mode 100644 ThirdParty/include/boost/predef/os/bsd/net.h create mode 100644 ThirdParty/include/boost/predef/os/bsd/open.h create mode 100644 ThirdParty/include/boost/predef/os/cygwin.h create mode 100644 ThirdParty/include/boost/predef/os/haiku.h create mode 100644 ThirdParty/include/boost/predef/os/hpux.h create mode 100644 ThirdParty/include/boost/predef/os/ios.h create mode 100644 ThirdParty/include/boost/predef/os/irix.h create mode 100644 ThirdParty/include/boost/predef/os/linux.h create mode 100644 ThirdParty/include/boost/predef/os/macos.h create mode 100644 ThirdParty/include/boost/predef/os/os400.h create mode 100644 ThirdParty/include/boost/predef/os/qnxnto.h create mode 100644 ThirdParty/include/boost/predef/os/solaris.h create mode 100644 ThirdParty/include/boost/predef/os/unix.h create mode 100644 ThirdParty/include/boost/predef/os/vms.h create mode 100644 ThirdParty/include/boost/predef/os/windows.h create mode 100644 ThirdParty/include/boost/predef/other.h create mode 100644 ThirdParty/include/boost/predef/other/endian.h create mode 100644 ThirdParty/include/boost/predef/other/workaround.h create mode 100644 ThirdParty/include/boost/predef/platform.h create mode 100644 ThirdParty/include/boost/predef/platform/cloudabi.h create mode 100644 ThirdParty/include/boost/predef/platform/ios.h create mode 100644 ThirdParty/include/boost/predef/platform/mingw.h create mode 100644 ThirdParty/include/boost/predef/platform/mingw32.h create mode 100644 ThirdParty/include/boost/predef/platform/mingw64.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_desktop.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_phone.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_runtime.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_server.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_store.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_system.h create mode 100644 ThirdParty/include/boost/predef/platform/windows_uwp.h create mode 100644 ThirdParty/include/boost/predef/version.h create mode 100644 ThirdParty/include/boost/predef/version_number.h create mode 100644 ThirdParty/include/boost/preprocessor.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/add.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/dec.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/detail/div_base.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/div.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/inc.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/mod.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/mul.hpp create mode 100644 ThirdParty/include/boost/preprocessor/arithmetic/sub.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/data.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/detail/get_data.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/elem.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/enum.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/insert.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/pop_back.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/pop_front.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/push_back.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/push_front.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/remove.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/replace.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/reverse.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/size.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/to_list.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/to_seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/array/to_tuple.hpp create mode 100644 ThirdParty/include/boost/preprocessor/assert_msg.hpp create mode 100644 ThirdParty/include/boost/preprocessor/cat.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comma.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comma_if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison/equal.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison/greater.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison/greater_equal.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison/less.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison/less_equal.hpp create mode 100644 ThirdParty/include/boost/preprocessor/comparison/not_equal.hpp create mode 100644 ThirdParty/include/boost/preprocessor/config/config.hpp create mode 100644 ThirdParty/include/boost/preprocessor/config/limits.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/deduce_d.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/detail/dmc/while.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/detail/edg/while.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/detail/msvc/while.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/detail/while.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/expr_if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/expr_iif.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/iif.hpp create mode 100644 ThirdParty/include/boost/preprocessor/control/while.hpp create mode 100644 ThirdParty/include/boost/preprocessor/debug.hpp create mode 100644 ThirdParty/include/boost/preprocessor/debug/assert.hpp create mode 100644 ThirdParty/include/boost/preprocessor/debug/error.hpp create mode 100644 ThirdParty/include/boost/preprocessor/debug/line.hpp create mode 100644 ThirdParty/include/boost/preprocessor/dec.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/auto_rec.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/check.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/dmc/auto_rec.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/is_binary.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/is_nullary.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/is_unary.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/null.hpp create mode 100644 ThirdParty/include/boost/preprocessor/detail/split.hpp create mode 100644 ThirdParty/include/boost/preprocessor/empty.hpp create mode 100644 ThirdParty/include/boost/preprocessor/enum.hpp create mode 100644 ThirdParty/include/boost/preprocessor/enum_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/enum_params_with_a_default.hpp create mode 100644 ThirdParty/include/boost/preprocessor/enum_params_with_defaults.hpp create mode 100644 ThirdParty/include/boost/preprocessor/enum_shifted.hpp create mode 100644 ThirdParty/include/boost/preprocessor/enum_shifted_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/expand.hpp create mode 100644 ThirdParty/include/boost/preprocessor/expr_if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/apply.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/detail/is_empty.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/empty.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/expand.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/identity.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/intercept.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/is_1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/is_empty.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/is_empty_or_1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/is_empty_variadic.hpp create mode 100644 ThirdParty/include/boost/preprocessor/facilities/overload.hpp create mode 100644 ThirdParty/include/boost/preprocessor/for.hpp create mode 100644 ThirdParty/include/boost/preprocessor/identity.hpp create mode 100644 ThirdParty/include/boost/preprocessor/if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/inc.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iterate.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/finish.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward2.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward3.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward4.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward5.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/local.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/rlocal.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/self.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/detail/start.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/iterate.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/local.hpp create mode 100644 ThirdParty/include/boost/preprocessor/iteration/self.hpp create mode 100644 ThirdParty/include/boost/preprocessor/library.hpp create mode 100644 ThirdParty/include/boost/preprocessor/limits.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/adt.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/append.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/at.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/cat.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/detail/dmc/fold_left.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/detail/edg/fold_left.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/detail/edg/fold_right.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/detail/fold_left.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/detail/fold_right.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/enum.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/filter.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/first_n.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/fold_left.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/fold_right.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/for_each.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/for_each_i.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/for_each_product.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/rest_n.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/reverse.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/size.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/to_array.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/to_seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/to_tuple.hpp create mode 100644 ThirdParty/include/boost/preprocessor/list/transform.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/and.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/bitand.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/bitnor.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/bitor.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/bitxor.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/bool.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/compl.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/nor.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/not.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/or.hpp create mode 100644 ThirdParty/include/boost/preprocessor/logical/xor.hpp create mode 100644 ThirdParty/include/boost/preprocessor/max.hpp create mode 100644 ThirdParty/include/boost/preprocessor/min.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/comma.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/comma_if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/is_begin_parens.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/paren.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/paren_if.hpp create mode 100644 ThirdParty/include/boost/preprocessor/punctuation/remove_parens.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repeat.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repeat_2nd.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repeat_3rd.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repeat_from_to.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repeat_from_to_2nd.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repeat_from_to_3rd.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/deduce_r.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/deduce_z.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/detail/dmc/for.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/detail/edg/for.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/detail/for.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/detail/msvc/for.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_binary_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_shifted.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_shifted_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_trailing.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/enum_trailing_params.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/for.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/repeat.hpp create mode 100644 ThirdParty/include/boost/preprocessor/repetition/repeat_from_to.hpp create mode 100644 ThirdParty/include/boost/preprocessor/selection.hpp create mode 100644 ThirdParty/include/boost/preprocessor/selection/max.hpp create mode 100644 ThirdParty/include/boost/preprocessor/selection/min.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/cat.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/detail/binary_transform.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/detail/is_empty.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/detail/split.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/detail/to_list_msvc.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/elem.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/enum.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/filter.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/first_n.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/fold_left.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/fold_right.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/for_each.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/for_each_i.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/for_each_product.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/insert.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/pop_back.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/pop_front.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/push_back.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/push_front.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/remove.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/replace.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/rest_n.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/reverse.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/size.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/subseq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/to_array.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/to_list.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/to_tuple.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/transform.hpp create mode 100644 ThirdParty/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/counter.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/counter.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/def.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/shared.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/slot1.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/slot2.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/slot3.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/slot4.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/detail/slot5.hpp create mode 100644 ThirdParty/include/boost/preprocessor/slot/slot.hpp create mode 100644 ThirdParty/include/boost/preprocessor/stringize.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/detail/is_single_return.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/eat.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/elem.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/enum.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/insert.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/pop_back.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/pop_front.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/push_back.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/push_front.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/rem.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/remove.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/replace.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/reverse.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/size.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/to_array.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/to_list.hpp create mode 100644 ThirdParty/include/boost/preprocessor/tuple/to_seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/detail/is_single_return.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/elem.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/size.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/to_array.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/to_list.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/to_seq.hpp create mode 100644 ThirdParty/include/boost/preprocessor/variadic/to_tuple.hpp create mode 100644 ThirdParty/include/boost/preprocessor/while.hpp create mode 100644 ThirdParty/include/boost/preprocessor/wstringize.hpp create mode 100644 ThirdParty/include/boost/ref.hpp create mode 100644 ThirdParty/include/boost/regex.h create mode 100644 ThirdParty/include/boost/regex.hpp create mode 100644 ThirdParty/include/boost/regex/concepts.hpp create mode 100644 ThirdParty/include/boost/regex/config.hpp create mode 100644 ThirdParty/include/boost/regex/config/borland.hpp create mode 100644 ThirdParty/include/boost/regex/config/cwchar.hpp create mode 100644 ThirdParty/include/boost/regex/icu.hpp create mode 100644 ThirdParty/include/boost/regex/mfc.hpp create mode 100644 ThirdParty/include/boost/regex/pattern_except.hpp create mode 100644 ThirdParty/include/boost/regex/pending/object_cache.hpp create mode 100644 ThirdParty/include/boost/regex/pending/static_mutex.hpp create mode 100644 ThirdParty/include/boost/regex/pending/unicode_iterator.hpp create mode 100644 ThirdParty/include/boost/regex/regex_traits.hpp create mode 100644 ThirdParty/include/boost/regex/user.hpp create mode 100644 ThirdParty/include/boost/regex/v4/basic_regex.hpp create mode 100644 ThirdParty/include/boost/regex/v4/basic_regex_creator.hpp create mode 100644 ThirdParty/include/boost/regex/v4/basic_regex_parser.hpp create mode 100644 ThirdParty/include/boost/regex/v4/c_regex_traits.hpp create mode 100644 ThirdParty/include/boost/regex/v4/char_regex_traits.hpp create mode 100644 ThirdParty/include/boost/regex/v4/cpp_regex_traits.hpp create mode 100644 ThirdParty/include/boost/regex/v4/cregex.hpp create mode 100644 ThirdParty/include/boost/regex/v4/error_type.hpp create mode 100644 ThirdParty/include/boost/regex/v4/fileiter.hpp create mode 100644 ThirdParty/include/boost/regex/v4/instances.hpp create mode 100644 ThirdParty/include/boost/regex/v4/iterator_category.hpp create mode 100644 ThirdParty/include/boost/regex/v4/iterator_traits.hpp create mode 100644 ThirdParty/include/boost/regex/v4/match_flags.hpp create mode 100644 ThirdParty/include/boost/regex/v4/match_results.hpp create mode 100644 ThirdParty/include/boost/regex/v4/mem_block_cache.hpp create mode 100644 ThirdParty/include/boost/regex/v4/perl_matcher.hpp create mode 100644 ThirdParty/include/boost/regex/v4/perl_matcher_common.hpp create mode 100644 ThirdParty/include/boost/regex/v4/perl_matcher_non_recursive.hpp create mode 100644 ThirdParty/include/boost/regex/v4/perl_matcher_recursive.hpp create mode 100644 ThirdParty/include/boost/regex/v4/primary_transform.hpp create mode 100644 ThirdParty/include/boost/regex/v4/protected_call.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regbase.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_format.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_fwd.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_grep.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_iterator.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_match.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_merge.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_raw_buffer.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_replace.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_search.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_split.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_token_iterator.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_traits.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_traits_defaults.hpp create mode 100644 ThirdParty/include/boost/regex/v4/regex_workaround.hpp create mode 100644 ThirdParty/include/boost/regex/v4/states.hpp create mode 100644 ThirdParty/include/boost/regex/v4/sub_match.hpp create mode 100644 ThirdParty/include/boost/regex/v4/syntax_type.hpp create mode 100644 ThirdParty/include/boost/regex/v4/u32regex_iterator.hpp create mode 100644 ThirdParty/include/boost/regex/v4/u32regex_token_iterator.hpp create mode 100644 ThirdParty/include/boost/regex/v4/w32_regex_traits.hpp create mode 100644 ThirdParty/include/boost/regex_fwd.hpp create mode 100644 ThirdParty/include/boost/shared_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/allocate_local_shared_array.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/allocate_shared_array.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/atomic_shared_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/bad_weak_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_nt.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_pt.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_solaris.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_spin.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_sync.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/atomic_count_win32.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/lightweight_mutex.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/local_counted_base.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/local_sp_deleter.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/lwm_nop.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/lwm_pthreads.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/lwm_win32_cs.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/operator_bool.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/quick_allocator.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/shared_count.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_convertible.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_counted_impl.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_forward.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_has_sync.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_interlocked.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_noexcept.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/sp_nullptr_t.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_nt.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_pool.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_pt.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_sync.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/spinlock_w32.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/detail/yield_k.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/enable_shared_from_raw.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/enable_shared_from_this.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/intrusive_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/intrusive_ref_counter.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/local_shared_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_local_shared.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_local_shared_array.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_local_shared_object.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_shared.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_shared_array.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_shared_object.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/make_unique.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/owner_less.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/scoped_array.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/scoped_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/shared_array.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/shared_ptr.hpp create mode 100644 ThirdParty/include/boost/smart_ptr/weak_ptr.hpp create mode 100644 ThirdParty/include/boost/static_assert.hpp create mode 100644 ThirdParty/include/boost/swap.hpp create mode 100644 ThirdParty/include/boost/system/api_config.hpp create mode 100644 ThirdParty/include/boost/system/config.hpp create mode 100644 ThirdParty/include/boost/system/cygwin_error.hpp create mode 100644 ThirdParty/include/boost/system/detail/config.hpp create mode 100644 ThirdParty/include/boost/system/detail/generic_category.hpp create mode 100644 ThirdParty/include/boost/system/detail/std_interoperability.hpp create mode 100644 ThirdParty/include/boost/system/detail/system_category_posix.hpp create mode 100644 ThirdParty/include/boost/system/detail/system_category_win32.hpp create mode 100644 ThirdParty/include/boost/system/error_code.hpp create mode 100644 ThirdParty/include/boost/system/linux_error.hpp create mode 100644 ThirdParty/include/boost/system/system_error.hpp create mode 100644 ThirdParty/include/boost/system/windows_error.hpp create mode 100644 ThirdParty/include/boost/throw_exception.hpp create mode 100644 ThirdParty/include/boost/tuple/detail/tuple_basic.hpp create mode 100644 ThirdParty/include/boost/tuple/tuple.hpp create mode 100644 ThirdParty/include/boost/tuple/tuple_comparison.hpp create mode 100644 ThirdParty/include/boost/tuple/tuple_io.hpp create mode 100644 ThirdParty/include/boost/type.hpp create mode 100644 ThirdParty/include/boost/type_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_const.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_cv.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_lvalue_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_pointer.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_rvalue_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/add_volatile.hpp create mode 100644 ThirdParty/include/boost/type_traits/aligned_storage.hpp create mode 100644 ThirdParty/include/boost/type_traits/alignment_of.hpp create mode 100644 ThirdParty/include/boost/type_traits/alignment_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/arithmetic_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/array_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/broken_compiler_spec.hpp create mode 100644 ThirdParty/include/boost/type_traits/common_type.hpp create mode 100644 ThirdParty/include/boost/type_traits/composite_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/conditional.hpp create mode 100644 ThirdParty/include/boost/type_traits/config.hpp create mode 100644 ThirdParty/include/boost/type_traits/conversion_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/copy_cv.hpp create mode 100644 ThirdParty/include/boost/type_traits/cv_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/decay.hpp create mode 100644 ThirdParty/include/boost/type_traits/declval.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/bool_trait_def.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/bool_trait_undef.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/common_arithmetic_type.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/common_type_impl.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/composite_member_pointer_type.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/composite_pointer_type.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/config.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/detector.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/has_binary_operator.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/has_postfix_operator.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/has_prefix_operator.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/ice_and.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/ice_eq.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/ice_not.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/ice_or.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_function_cxx_03.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_function_cxx_11.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_function_msvc10_fix.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_function_ptr_helper.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_function_ptr_tester.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_likely_lambda.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/mp_defer.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/template_arity_spec.hpp create mode 100644 ThirdParty/include/boost/type_traits/detail/yes_no_type.hpp create mode 100644 ThirdParty/include/boost/type_traits/detected.hpp create mode 100644 ThirdParty/include/boost/type_traits/detected_or.hpp create mode 100644 ThirdParty/include/boost/type_traits/enable_if.hpp create mode 100644 ThirdParty/include/boost/type_traits/extent.hpp create mode 100644 ThirdParty/include/boost/type_traits/floating_point_promotion.hpp create mode 100644 ThirdParty/include/boost/type_traits/function_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_bit_and.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_bit_and_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_bit_or.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_bit_or_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_bit_xor.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_bit_xor_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_complement.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_dereference.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_divides.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_divides_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_equal_to.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_greater.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_greater_equal.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_left_shift.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_left_shift_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_less.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_less_equal.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_logical_and.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_logical_not.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_logical_or.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_minus.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_minus_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_modulus.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_modulus_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_multiplies.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_multiplies_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_negate.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_new_operator.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_not_equal_to.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_nothrow_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_nothrow_constructor.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_nothrow_copy.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_nothrow_destructor.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_operator.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_plus.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_plus_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_post_decrement.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_post_increment.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_pre_decrement.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_pre_increment.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_right_shift.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_right_shift_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_trivial_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_trivial_constructor.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_trivial_copy.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_trivial_destructor.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_trivial_move_assign.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_trivial_move_constructor.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_unary_minus.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_unary_plus.hpp create mode 100644 ThirdParty/include/boost/type_traits/has_virtual_destructor.hpp create mode 100644 ThirdParty/include/boost/type_traits/ice.hpp create mode 100644 ThirdParty/include/boost/type_traits/integral_constant.hpp create mode 100644 ThirdParty/include/boost/type_traits/integral_promotion.hpp create mode 100644 ThirdParty/include/boost/type_traits/intrinsics.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_abstract.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_arithmetic.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_array.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_assignable.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_base_and_derived.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_base_of.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_base_of_tr1.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_class.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_complete.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_complex.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_compound.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_const.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_constructible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_convertible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_copy_assignable.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_copy_constructible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_default_constructible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_destructible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_detected.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_detected_convertible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_detected_exact.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_empty.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_enum.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_final.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_float.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_floating_point.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_function.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_fundamental.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_integral.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_list_constructible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_lvalue_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_member_function_pointer.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_member_object_pointer.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_member_pointer.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_noncopyable.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_nothrow_move_assignable.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_nothrow_move_constructible.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_nothrow_swappable.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_object.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_pod.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_pointer.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_polymorphic.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_rvalue_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_same.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_scalar.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_signed.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_stateless.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_union.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_unsigned.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_virtual_base_of.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_void.hpp create mode 100644 ThirdParty/include/boost/type_traits/is_volatile.hpp create mode 100644 ThirdParty/include/boost/type_traits/make_signed.hpp create mode 100644 ThirdParty/include/boost/type_traits/make_unsigned.hpp create mode 100644 ThirdParty/include/boost/type_traits/make_void.hpp create mode 100644 ThirdParty/include/boost/type_traits/nonesuch.hpp create mode 100644 ThirdParty/include/boost/type_traits/object_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/promote.hpp create mode 100644 ThirdParty/include/boost/type_traits/rank.hpp create mode 100644 ThirdParty/include/boost/type_traits/reference_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_all_extents.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_bounds.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_const.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_cv.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_cv_ref.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_extent.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_pointer.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_reference.hpp create mode 100644 ThirdParty/include/boost/type_traits/remove_volatile.hpp create mode 100644 ThirdParty/include/boost/type_traits/same_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/transform_traits.hpp create mode 100644 ThirdParty/include/boost/type_traits/type_identity.hpp create mode 100644 ThirdParty/include/boost/type_traits/type_with_alignment.hpp create mode 100644 ThirdParty/include/boost/unordered/detail/fwd.hpp create mode 100644 ThirdParty/include/boost/unordered/detail/implementation.hpp create mode 100644 ThirdParty/include/boost/unordered/detail/map.hpp create mode 100644 ThirdParty/include/boost/unordered/detail/set.hpp create mode 100644 ThirdParty/include/boost/unordered/unordered_map.hpp create mode 100644 ThirdParty/include/boost/unordered/unordered_map_fwd.hpp create mode 100644 ThirdParty/include/boost/unordered/unordered_set.hpp create mode 100644 ThirdParty/include/boost/unordered/unordered_set_fwd.hpp create mode 100644 ThirdParty/include/boost/unordered_map.hpp create mode 100644 ThirdParty/include/boost/unordered_set.hpp create mode 100644 ThirdParty/include/boost/utility.hpp create mode 100644 ThirdParty/include/boost/utility/addressof.hpp create mode 100644 ThirdParty/include/boost/utility/base_from_member.hpp create mode 100644 ThirdParty/include/boost/utility/binary.hpp create mode 100644 ThirdParty/include/boost/utility/compare_pointees.hpp create mode 100644 ThirdParty/include/boost/utility/declval.hpp create mode 100644 ThirdParty/include/boost/utility/detail/in_place_factory_prefix.hpp create mode 100644 ThirdParty/include/boost/utility/detail/in_place_factory_suffix.hpp create mode 100644 ThirdParty/include/boost/utility/detail/minstd_rand.hpp create mode 100644 ThirdParty/include/boost/utility/detail/result_of_iterate.hpp create mode 100644 ThirdParty/include/boost/utility/enable_if.hpp create mode 100644 ThirdParty/include/boost/utility/explicit_operator_bool.hpp create mode 100644 ThirdParty/include/boost/utility/identity_type.hpp create mode 100644 ThirdParty/include/boost/utility/in_place_factory.hpp create mode 100644 ThirdParty/include/boost/utility/result_of.hpp create mode 100644 ThirdParty/include/boost/utility/string_ref.hpp create mode 100644 ThirdParty/include/boost/utility/string_ref_fwd.hpp create mode 100644 ThirdParty/include/boost/utility/string_view.hpp create mode 100644 ThirdParty/include/boost/utility/string_view_fwd.hpp create mode 100644 ThirdParty/include/boost/utility/swap.hpp create mode 100644 ThirdParty/include/boost/utility/typed_in_place_factory.hpp create mode 100644 ThirdParty/include/boost/utility/value_init.hpp create mode 100644 ThirdParty/include/boost/version.hpp create mode 100644 ThirdParty/include/boost/visit_each.hpp create mode 100644 ThirdParty/include/boost/winapi/access_rights.hpp create mode 100644 ThirdParty/include/boost/winapi/apc.hpp create mode 100644 ThirdParty/include/boost/winapi/basic_types.hpp create mode 100644 ThirdParty/include/boost/winapi/bcrypt.hpp create mode 100644 ThirdParty/include/boost/winapi/character_code_conversion.hpp create mode 100644 ThirdParty/include/boost/winapi/condition_variable.hpp create mode 100644 ThirdParty/include/boost/winapi/config.hpp create mode 100644 ThirdParty/include/boost/winapi/critical_section.hpp create mode 100644 ThirdParty/include/boost/winapi/crypt.hpp create mode 100644 ThirdParty/include/boost/winapi/dbghelp.hpp create mode 100644 ThirdParty/include/boost/winapi/debugapi.hpp create mode 100644 ThirdParty/include/boost/winapi/detail/cast_ptr.hpp create mode 100644 ThirdParty/include/boost/winapi/directory_management.hpp create mode 100644 ThirdParty/include/boost/winapi/dll.hpp create mode 100644 ThirdParty/include/boost/winapi/environment.hpp create mode 100644 ThirdParty/include/boost/winapi/error_codes.hpp create mode 100644 ThirdParty/include/boost/winapi/error_handling.hpp create mode 100644 ThirdParty/include/boost/winapi/event.hpp create mode 100644 ThirdParty/include/boost/winapi/file_management.hpp create mode 100644 ThirdParty/include/boost/winapi/file_mapping.hpp create mode 100644 ThirdParty/include/boost/winapi/get_current_process.hpp create mode 100644 ThirdParty/include/boost/winapi/get_current_process_id.hpp create mode 100644 ThirdParty/include/boost/winapi/get_current_thread.hpp create mode 100644 ThirdParty/include/boost/winapi/get_current_thread_id.hpp create mode 100644 ThirdParty/include/boost/winapi/get_last_error.hpp create mode 100644 ThirdParty/include/boost/winapi/get_process_times.hpp create mode 100644 ThirdParty/include/boost/winapi/get_system_directory.hpp create mode 100644 ThirdParty/include/boost/winapi/get_thread_times.hpp create mode 100644 ThirdParty/include/boost/winapi/handle_info.hpp create mode 100644 ThirdParty/include/boost/winapi/handles.hpp create mode 100644 ThirdParty/include/boost/winapi/heap_memory.hpp create mode 100644 ThirdParty/include/boost/winapi/init_once.hpp create mode 100644 ThirdParty/include/boost/winapi/jobs.hpp create mode 100644 ThirdParty/include/boost/winapi/limits.hpp create mode 100644 ThirdParty/include/boost/winapi/local_memory.hpp create mode 100644 ThirdParty/include/boost/winapi/memory.hpp create mode 100644 ThirdParty/include/boost/winapi/mutex.hpp create mode 100644 ThirdParty/include/boost/winapi/overlapped.hpp create mode 100644 ThirdParty/include/boost/winapi/page_protection_flags.hpp create mode 100644 ThirdParty/include/boost/winapi/pipes.hpp create mode 100644 ThirdParty/include/boost/winapi/priority_class.hpp create mode 100644 ThirdParty/include/boost/winapi/process.hpp create mode 100644 ThirdParty/include/boost/winapi/security.hpp create mode 100644 ThirdParty/include/boost/winapi/semaphore.hpp create mode 100644 ThirdParty/include/boost/winapi/shell.hpp create mode 100644 ThirdParty/include/boost/winapi/show_window.hpp create mode 100644 ThirdParty/include/boost/winapi/srw_lock.hpp create mode 100644 ThirdParty/include/boost/winapi/stack_backtrace.hpp create mode 100644 ThirdParty/include/boost/winapi/synchronization.hpp create mode 100644 ThirdParty/include/boost/winapi/system.hpp create mode 100644 ThirdParty/include/boost/winapi/thread.hpp create mode 100644 ThirdParty/include/boost/winapi/thread_pool.hpp create mode 100644 ThirdParty/include/boost/winapi/time.hpp create mode 100644 ThirdParty/include/boost/winapi/timers.hpp create mode 100644 ThirdParty/include/boost/winapi/tls.hpp create mode 100644 ThirdParty/include/boost/winapi/wait.hpp create mode 100644 ThirdParty/include/boost/winapi/waitable_timer.hpp create mode 100644 ThirdParty/include/serial/impl/unix.h create mode 100644 ThirdParty/include/serial/impl/win.h create mode 100644 ThirdParty/include/serial/serial.h create mode 100644 ThirdParty/include/serial/v8stdint.h create mode 100644 ThirdParty/lib/linux/v13/debug/libserial.a create mode 100644 ThirdParty/lib/linux/v13/debug/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v13/debug/libsgcore.a create mode 100644 ThirdParty/lib/linux/v13/release/libserial.a create mode 100644 ThirdParty/lib/linux/v13/release/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v13/release/libsgcore.a create mode 100644 ThirdParty/lib/linux/v15/debug/libserial.a create mode 100644 ThirdParty/lib/linux/v15/debug/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v15/debug/libsgcore.a create mode 100644 ThirdParty/lib/linux/v15/release/libserial.a create mode 100644 ThirdParty/lib/linux/v15/release/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v15/release/libsgcore.a create mode 100644 ThirdParty/lib/linux/v16/debug/libserial.a create mode 100644 ThirdParty/lib/linux/v16/debug/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v16/debug/libsgcore.a create mode 100644 ThirdParty/lib/linux/v16/release/libserial.a create mode 100644 ThirdParty/lib/linux/v16/release/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v16/release/libsgcore.a create mode 100644 ThirdParty/lib/linux/v17/debug/libserial.a create mode 100644 ThirdParty/lib/linux/v17/debug/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v17/debug/libsgcore.a create mode 100644 ThirdParty/lib/linux/v17/release/libserial.a create mode 100644 ThirdParty/lib/linux/v17/release/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v17/release/libsgcore.a create mode 100644 ThirdParty/lib/linux/v19/debug/libserial.a create mode 100644 ThirdParty/lib/linux/v19/debug/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v19/debug/libsgcore.a create mode 100644 ThirdParty/lib/linux/v19/release/libserial.a create mode 100644 ThirdParty/lib/linux/v19/release/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v19/release/libsgcore.a create mode 100644 ThirdParty/lib/linux/v20/debug/libserial.a create mode 100644 ThirdParty/lib/linux/v20/debug/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v20/debug/libsgcore.a create mode 100644 ThirdParty/lib/linux/v20/release/libserial.a create mode 100644 ThirdParty/lib/linux/v20/release/libsgconnect.a create mode 100644 ThirdParty/lib/linux/v20/release/libsgcore.a create mode 100644 ThirdParty/lib/oculus/debug/libserial.a create mode 100644 ThirdParty/lib/oculus/debug/libsgconnect.a create mode 100644 ThirdParty/lib/oculus/debug/libsgcore.a create mode 100644 ThirdParty/lib/oculus/release/libserial.a create mode 100644 ThirdParty/lib/oculus/release/libsgconnect.a create mode 100644 ThirdParty/lib/oculus/release/libsgcore.a create mode 100644 ThirdParty/lib/win64/msvc142/debug/serial.lib create mode 100644 ThirdParty/lib/win64/msvc142/debug/sgconnect.lib create mode 100644 ThirdParty/lib/win64/msvc142/debug/sgcore.lib create mode 100644 ThirdParty/lib/win64/msvc142/release/serial.lib create mode 100644 ThirdParty/lib/win64/msvc142/release/sgconnect.lib create mode 100644 ThirdParty/lib/win64/msvc142/release/sgcore.lib create mode 100644 ThirdParty/lib/win64/msvc143/debug/serial.lib create mode 100644 ThirdParty/lib/win64/msvc143/debug/sgconnect.lib create mode 100644 ThirdParty/lib/win64/msvc143/debug/sgcore.lib create mode 100644 ThirdParty/lib/win64/msvc143/release/serial.lib create mode 100644 ThirdParty/lib/win64/msvc143/release/sgconnect.lib create mode 100644 ThirdParty/lib/win64/msvc143/release/sgcore.lib diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..071b93f3 --- /dev/null +++ b/.clang-format @@ -0,0 +1,64 @@ +--- +Language: Cpp +BasedOnStyle: LLVM +AccessModifierOffset: -4 +AlignOperands: false +AlignTrailingComments: false +AlwaysBreakTemplateDeclarations: Yes +BraceWrapping: + AfterCaseLabel: true + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterStruct: true + AfterUnion: true + AfterExternBlock: false + BeforeCatch: true + BeforeElse: true + BeforeLambdaBody: true + BeforeWhile: true + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBraces: Custom +BreakConstructorInitializers: BeforeColon +ColumnLimit: 120 +IncludeCategories: + - Regex: '^<.*' + Priority: 1 + - Regex: '^".*' + Priority: 2 + - Regex: '.*' + Priority: 3 +IncludeIsMainRegex: '([-_](test|unittest))?$' +IndentCaseBlocks: true +IndentWidth: 4 +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 2 +NamespaceIndentation: All +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PointerAlignment: Left +ReflowComments: false +SpaceAfterCStyleCast: true +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 0 +SpacesInAngles: false +SpacesInCStyleCastParentheses: false +SpacesInContainerLiterals: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +TabWidth: 4 +UseTab: Never +... diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..e18ea6e6 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,59 @@ +################################################################################ +# Generic Settings +################################################################################ + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +insert_final_newline = false +max_line_length = 120 +tab_width = 4 +trim_trailing_whitespace = true +ij_continuation_indent_size = 8 +ij_formatter_off_tag = @formatter:off +ij_formatter_on_tag = @formatter:on +ij_formatter_tags_enabled = false +ij_smart_tabs = false +ij_visual_guides = none +ij_wrap_on_typing = false + +################################################################################ +# Markdown +################################################################################ + +[*.{.markdown,md,mdx}] +trim_trailing_whitespace = false +ij_markdown_force_one_space_after_blockquote_symbol = true +ij_markdown_force_one_space_after_header_symbol = true +ij_markdown_force_one_space_after_list_bullet = true +ij_markdown_force_one_space_between_words = true +ij_markdown_insert_quote_arrows_on_wrap = true +ij_markdown_keep_indents_on_empty_lines = false +ij_markdown_keep_line_breaks_inside_text_blocks = true +ij_markdown_max_lines_around_block_elements = 1 +ij_markdown_max_lines_around_header = 1 +ij_markdown_max_lines_between_paragraphs = 1 +ij_markdown_min_lines_around_block_elements = 1 +ij_markdown_min_lines_around_header = 1 +ij_markdown_min_lines_between_paragraphs = 1 +ij_markdown_wrap_text_if_long = true +ij_markdown_wrap_text_inside_blockquotes = true + +################################################################################ +# MSBuild +################################################################################ + +[*.{csproj,proj,projitems,shproj,fsproj,target,props}] +indent_style = space +indent_size = 2 + +################################################################################ +# Unreal Engine Project Files +################################################################################ + +[*.uproject] +indent_style = tab diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..a6652f71 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,40 @@ +# Keep CRLF out of the repository +* text=auto + +# In case the git binary/text auto-detection algorithm fails, in order to avoid +# line-ending normalization, treat these files as binary no matter what +*.{uasset,umap,3ds,fbx,flac,gif,jif,jiff,jpe,jpeg,jpg,m4a,mp3,mp4,ogg,png,psd,ttf,wav,webp,xcf} binary + +# LFS: UE4 file types +*.uasset filter=lfs diff=lfs merge=lfs -text +*.umap filter=lfs diff=lfs merge=lfs -text + +# LFS: raw content types +*.3ds filter=lfs diff=lfs merge=lfs -text +*.fbx filter=lfs diff=lfs merge=lfs -text +*.flac filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.jif filter=lfs diff=lfs merge=lfs -text +*.jiff filter=lfs diff=lfs merge=lfs -text +*.jpe filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.m4a filter=lfs diff=lfs merge=lfs -text +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.ogg filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.psd filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.wav filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text +*.xcf filter=lfs diff=lfs merge=lfs -text + +# LFS: everything under Content/ +Content/**/* filter=lfs diff=lfs merge=lfs -text + +# LFS: everything under Resources/ +Resources/**/* filter=lfs diff=lfs merge=lfs -text + +# LFS: everything under ThirdParty/ +ThirdParty/**/* filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..36d86a54 --- /dev/null +++ b/.gitignore @@ -0,0 +1,127 @@ +# Explcitly ignore annoying Windows files, regardless of where they are +[Dd]esktop.ini +Thumbs.db + +# Explcitly ignore annoying macOS files, regardless of where they are +.DS_Store + +# Makefile; only in the project root +/Makefile + +# CMake; only in the project root +/CMakeLists.txt + +# QMake / Qt Creator +*.pro +*Config.pri +*Defines.pri +*Header.pri +*Includes.pri +*Source.pri +.qmake.stash +*.autosave +*.pro.user +*.pro.user.* +CMakeLists.txt.user +CMakeLists.txt.user.* + +# Visual Studio +.vs/ +*.sln +*.suo +*.opensdf +*.sdf +*.VC.db +*.VC.opendb + +# Visual Studio Code +.vscode/ +*.code-workspace + +# Code::Blocks +*.workspace + +# CodeLite +*CodeLitePreProcessor.txt + +# KDevelop +.kdev4/ +*.kdev4 + +# CLion +*CodeCompletionFolders.txt + +# IntelliJ IDE +.idea/ + +# Xcode +*.xcodeproj +*.xcworkspace + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app +*.ipa + +# Precompiled Assets +SourceArt/**/*.png +SourceArt/**/*.tga + +# Binary Files +Binaries/* +Plugins/*/Binaries/* + +# Builds +Build/* + +# Whitelist PakBlacklist-.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + +# Don't ignore icon files in Build +!Build/**/*.ico + +# Built data for maps +*_BuiltData.uasset + +# Configuration files generated by the Editor +Saved/* + +# Compiled source files for the engine to use +Intermediate/* +Plugins/*/Intermediate/* + +# Cache files for the editor to use +DerivedDataCache/* + +# Misc +.ignore + +# Do not ignore anything inside the ThirdParty directory at all +!ThirdParty/**/* diff --git a/LICENSE-THIRD-PARTY.md b/LICENSE-THIRD-PARTY.md new file mode 100644 index 00000000..657c9d2a --- /dev/null +++ b/LICENSE-THIRD-PARTY.md @@ -0,0 +1,43 @@ +# Third Party Licenses + +Please note that while the SenseGlove plug-in for Unreal Engine is made available under the [MIT License](LICENSE.md), it utilizes a few third-party libraries with permissive free licenses as well, in order to power various components. For a list of these libraries and their own respective open-source licenses take a look at [LICENSE-THIRD-PARTY.md](LICENSE-THIRD-PARTY.md), please. + +## Boost C++ Libraries License + +``` +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +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, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +``` + +## Serial Communication Library License + +``` +Copyright (c) 2012 William Woodall, John Harrison + +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. +``` diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..b51f1fe4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,29 @@ +# SenseGlove Unreal Engine Plug-in License + +The SenseGlove plug-in for Unreal Engine is licensed under the terms of the MIT License. Below is the MIT License: + +``` +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. +``` + +Please note that while the SenseGlove plug-in for Unreal Engine is made available under the [MIT License](LICENSE.md), it utilizes a few third-party libraries with permissive free licenses as well, in order to power various components. For a list of these libraries and their own respective open-source licenses take a look at [LICENSE-THIRD-PARTY.md](LICENSE-THIRD-PARTY.md), please. diff --git a/README.md b/README.md new file mode 100644 index 00000000..56795ebd --- /dev/null +++ b/README.md @@ -0,0 +1,167 @@ +# SenseGlove Unreal Engine Plugin + +## ⚠️ DISCLAIMER: Experimental Release + +This is an initial experimental release for public evaluation and may not be considered *production ready*, yet. This repository is under active development and there might be known or unknown bugs lurking around. Use it at your own risk. + +## Platform Support Matrix + +| | **Windows
(MSVC 2019)** | **Windows
(MSVC 2022)** | **Linux
(Native Toolchain)** | **macOS** | **Oculus Mobile
(Android NDK r21b)** | +|----------|:--------------------------:|:--------------------------:|:-------------------------------:|:---------:|:---------------------------------------:| +| **4.22** | ✅ | ❌ | ✅ | ❌ | ❌ | +| **4.23** | ✅ | ❌ | ✅ | ❌ | ❌ | +| **4.24** | ✅ | ❌ | ✅ | ❌ | ❌ | +| **4.25** | ✅ | ❌ | ✅ | ❌ | ❓ | +| **4.26** | ✅ | ❌ | ✅ | ❌ | ❓ | +| **4.27** | ✅ | ✅ | ✅ | ❌ | ❓ | +| **5.0** | ✅ | ✅ | ✅ | ❌ | ❓ | +| **5.1** | ✅ | ✅ | ✅ | ❌ | ❓ | + +* Supported +* Not Supported +* Unknown or Untested + +Remarks: +* Microsoft Visual Studio 2022 is not supported by Unreal Engine 4.22 through 4.26. +* All third-party libraries on Windows built against Windows SDK 10.0. +* Oculus support is only provided through the recommended Android NDK r21b by Epic Games. +* Supporting Unreal Engine 4.22 through 4.24 for Oculus development is a huge challenge due to limited Android NDK support (r14b to r18b); firstly, because of uncomplete C++11 standard library support, and second, as a result of a known bug in Unreal Engine, which falsely detects NDK r18b as unsupported r18c. Thus, only Unreal Engine 4.25+ support is provided for Android/Oculus development. Third, [wjwwood/serial](https://github.com/wjwwood/serial) requires Android NDK API Level 28+ in order to be built successfully, thus some older NDKs such as r14b, which is the recommended NDK by Epic Games for 4.22 to 4.24 cannot build the serial library. +* All third-party libraries target Android NDK API Level 29, thus any project relying on the plug-in should be build with the same NDK API Level. + +## Documentation + +The Blueprints documentation will be coming soon. + +For the C++ documentation, since this plugin builds on top of [SGConnect](https://senseglove.gitlab.io/SenseGloveDocs/native/core-api-intro.html#sgconnect) and [SGCoreCpp](https://senseglove.gitlab.io/SenseGloveDocs/native/core-api-intro.html#sgcorecpp) third-party C++ libraries, please refer to [the upstream documentation](https://senseglove.gitlab.io/SenseGloveDocs/native/cpp-reference.html). + +Also, you could refer to the header files in every module for extensive documentation, or the equivalent Blueprints documentation. + +The following modules are intended to be used by the C++ users of this plugin: + +* SenseGloveConnect module which only uses a very small subset of the Core SGConnect libary. + +* SenseGloveCore module which is mostly a one-on-one wrapper call to most of the SGCoreCpp library with slight differences. + +Please note that modules postfixed with **Impl** are intended for interal use and are discouraged to be used by the users of the API. The modules postfixed with **Kismet** are exposing the functionality of the equivalent modules to Blueprints. For other modules descriptions, please see [the Directory Structure section](#directory-structure). + +## Directory Structure + +``` +Source + │ + ├── Resources + │ + ├── Source (various plug-in modules) + │ │ + │ ├── SenseGlove (the UE-specific high-level API) + │ │ + │ ├── SenseGloveBuildHacks (uses Excepttions and RTTI, internally used for compiler-specific build hacks) + │ │ + │ ├── SenseGloveConnect (exposes part of the SGConnect low-level API to C++ and Blueprints) + │ │ + │ ├── SenseGloveConnectImpl (uses Excepttions and RTTI, intended for internal use only) + │ │ + │ ├── SenseGloveConnectKismet (SGConnect functionality exposed to Blueprints) + │ │ + │ ├── SenseGloveCore (exposes part of the SGCoreCpp low-level API to C++ and Blueprints) + │ │ + │ ├── SenseGloveCoreImpl (uses Excepttions and RTTI, intended for internal use only) + │ │ + │ ├── SenseGloveCoreKismet (SGCoreCpp functionality exposed to Blueprints) + │ │ + │ ├── SenseGloveEditor (the Editor module) + │ │ + │ ├── SenseGloveInterop (internally used for interoperability between RTTI disabled/enabled modules) + │ │ + │ ├── SenseGloveKismet(exposes Blueprints-specific functionality from the SenseGlove module) + │ │ + │ ├── SenseGloveLog (internal log module) + │ │ + │ ├── SenseGloveTypes (exposes various enums from the backend libraries) + │ │ + │ └── SenseGloveUtils (internal utility module) + │ + └── ThirdParty (3rd-party dependencies) + │ + ├── include (header files) + │ │ + │ ├── boost + │ │ + │ ├── SenseGlove + │ │ │ + │ │ ├── Connect (SGConnect headers) + │ │ │ + │ │ └── Core (SGCoreCpp headers) + │ │ + │ └── serial + │ + └── lib (platform-specific pre-built binary dependencies) + │ + ├── linux + │ │ + │ ├── v13 (UE 4.22 Linux dependencies) + │ │ │ + │ │ ├── debug + │ │ │ + │ │ └── release + │ │ + │ ├── v15 (UE 4.23 and 4.24 Linux dependencies) + │ │ │ + │ │ ├── debug + │ │ │ + │ │ └── release + │ │ + │ ├── v16 (UE 4.25 Linux dependencies) + │ │ │ + │ │ ├── debug + │ │ │ + │ │ └── release + │ │ + │ ├── v17 (UE 4.26 Linux dependencies) + │ │ │ + │ │ ├── debug + │ │ │ + │ │ └── release + │ │ + │ ├── v19 (UE 4.27 Linux dependencies) + │ │ │ + │ │ ├── debug + │ │ │ + │ │ └── release + │ │ + │ └── v20 (UE 5.0 Linux dependencies) + │ │ + │ ├── debug + │ │ + │ └── release + │ + ├── oculus + │ │ + │ ├── debug + │ │ + │ └── release + │ + └── win64 + │ + ├── msvc142 (Microsoft Visual Studio 2019 dependencies) + │ │ + │ ├── debug + │ │ + │ └── release + │ + └── msvc143 (Microsoft Visual Studio 2022 dependencies) + │ + ├── debug + │ + └── release +``` + +## Licenses + +### SenseGlove Unreal Engine Plug-in License + +The SenseGlove plug-in for Unreal Engine is licensed under the terms of the [MIT License](LICENSE.md). + +### Third-Party Licenses + +Please note that while the SenseGlove plug-in for Unreal Engine is made available under the [MIT License](LICENSE.md), it utilizes a few third-party libraries with permissive free licenses as well, in order to power various components. For a list of these libraries and their own respective open-source licenses take a look at [LICENSE-THIRD-PARTY.md](LICENSE-THIRD-PARTY.md), please. diff --git a/Resources/Icon128.png b/Resources/Icon128.png new file mode 100644 index 00000000..59687cba --- /dev/null +++ b/Resources/Icon128.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21dd03aae60812bdd01f6afe261accd4d3152be594e097c30f5abf0b5afa5d75 +size 11743 diff --git a/SenseGlove.uplugin b/SenseGlove.uplugin new file mode 100644 index 00000000..5d30bd3a --- /dev/null +++ b/SenseGlove.uplugin @@ -0,0 +1,103 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "SenseGlove", + "Description": "SenseGlove Controller", + "Category": "Virtual Reality", + "CreatedBy": "SenseGlove", + "CreatedByURL": "https://www.senseglove.com/", + "DocsURL": "", + "MarketplaceURL": "", + "SupportURL": "", + "CanContainContent": true, + "IsBetaVersion": false, + "IsExperimentalVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "SenseGlove", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveBuildHacks", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveConnect", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveConnectImpl", + "Type": "Runtime", + "LoadingPhase": "Default", + "WhitelistPlatforms": [ + "Android", + "Linux", + "Win64" + ] + }, + { + "Name": "SenseGloveConnectKismet", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveCore", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveCoreImpl", + "Type": "Runtime", + "LoadingPhase": "Default", + "WhitelistPlatforms": [ + "Android", + "Linux", + "Win64" + ] + }, + { + "Name": "SenseGloveCoreKismet", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveEditor", + "Type": "Runtime", + "LoadingPhase": "Default", + "WhitelistPlatforms": [ + "Linux", + "Win64" + ] + }, + { + "Name": "SenseGloveInterop", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveKismet", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveLog", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveTypes", + "Type": "Runtime", + "LoadingPhase": "Default" + }, + { + "Name": "SenseGloveUtils", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ] +} diff --git a/Source/SenseGlove/Private/SenseGlove.cpp b/Source/SenseGlove/Private/SenseGlove.cpp new file mode 100644 index 00000000..4f59bce1 --- /dev/null +++ b/Source/SenseGlove/Private/SenseGlove.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGlove.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveModule.h" + +IMPLEMENT_MODULE(FSenseGloveModule, SenseGlove) diff --git a/Source/SenseGlove/Private/SenseGlove.h b/Source/SenseGlove/Private/SenseGlove.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGlove/Private/SenseGlove.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGlove/Private/SenseGloveModule.cpp b/Source/SenseGlove/Private/SenseGloveModule.cpp new file mode 100644 index 00000000..57f984cc --- /dev/null +++ b/Source/SenseGlove/Private/SenseGloveModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveModule" + +void FSenseGloveModule::StartupModule() +{ + SGLOG("Starting up SenseGlove module..."); +} + +void FSenseGloveModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGlove module..."); +} + +void FSenseGloveModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGlove module has succeeded!"); +} + +void FSenseGloveModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGlove module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGlove/Private/SenseGloveModule.h b/Source/SenseGlove/Private/SenseGloveModule.h new file mode 100644 index 00000000..ec2a437b --- /dev/null +++ b/Source/SenseGlove/Private/SenseGloveModule.h @@ -0,0 +1,49 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + * + * + */ + + +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleInterface.h" + +class FSenseGloveModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; diff --git a/Source/SenseGlove/SenseGlove.Build.cs b/Source/SenseGlove/SenseGlove.Build.cs new file mode 100644 index 00000000..7e781b18 --- /dev/null +++ b/Source/SenseGlove/SenseGlove.Build.cs @@ -0,0 +1,64 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGlove : ModuleRules +{ + public SenseGlove(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "SenseGloveConnect", + "SenseGloveCore", + "SenseGloveLog", + "SenseGloveTypes", + } + ); + } +} diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4263.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4263.cpp new file mode 100644 index 00000000..88914d61 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4263.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGDisable_C4263.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4264.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4264.cpp new file mode 100644 index 00000000..a4157087 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4264.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGDisable_C4264.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4706.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4706.cpp new file mode 100644 index 00000000..41b898fa --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4706.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGDisable_C4706.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4800.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4800.cpp new file mode 100644 index 00000000..9a9439a5 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGDisable_C4800.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGDisable_C4800.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Connect_SGConnect.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Connect_SGConnect.cpp new file mode 100644 index 00000000..7feebda6 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Connect_SGConnect.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Connect_SGConnect.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Anatomy.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Anatomy.cpp new file mode 100644 index 00000000..8ca0a9f9 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Anatomy.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_Anatomy.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BasicHandModel.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BasicHandModel.cpp new file mode 100644 index 00000000..8b64e11c --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BasicHandModel.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_BasicHandModel.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BetaDevice.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BetaDevice.cpp new file mode 100644 index 00000000..d2496f6e --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BetaDevice.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_BetaDevice.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BuzzCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BuzzCommand.cpp new file mode 100644 index 00000000..a882f6d5 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_BuzzCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_BuzzCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.cpp new file mode 100644 index 00000000..69406d54 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceList.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceList.cpp new file mode 100644 index 00000000..030bd8a7 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceList.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_DeviceList.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceModel.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceModel.cpp new file mode 100644 index 00000000..134351b6 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_DeviceModel.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_DeviceModel.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_FingerCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_FingerCommand.cpp new file mode 100644 index 00000000..04cfadca --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_FingerCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_FingerCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Fingers.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Fingers.cpp new file mode 100644 index 00000000..bfdc09f8 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Fingers.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_Fingers.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.cpp new file mode 100644 index 00000000..2cc47eb9 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandInterpolator.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandInterpolator.cpp new file mode 100644 index 00000000..6685c37c --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandInterpolator.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HandInterpolator.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandPose.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandPose.cpp new file mode 100644 index 00000000..06292109 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandPose.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HandPose.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandProfile.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandProfile.cpp new file mode 100644 index 00000000..690d3e86 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HandProfile.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HandProfile.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGlove.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGlove.cpp new file mode 100644 index 00000000..29ef1766 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGlove.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HapticGlove.h" diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.cpp new file mode 100644 index 00000000..bda0979b --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.cpp new file mode 100644 index 00000000..a15da420 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.cpp new file mode 100644 index 00000000..5e3da8d9 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.cpp new file mode 100644 index 00000000..dc2681f8 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.cpp new file mode 100644 index 00000000..f7a8e338 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_InterpolationSet.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_InterpolationSet.cpp new file mode 100644 index 00000000..e37cc684 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_InterpolationSet.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_InterpolationSet.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_JointKinematics.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_JointKinematics.cpp new file mode 100644 index 00000000..1962ac83 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_JointKinematics.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_JointKinematics.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Library.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Library.cpp new file mode 100644 index 00000000..7b1393a1 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Library.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_Library.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGlove.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGlove.cpp new file mode 100644 index 00000000..c4a6f2ca --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGlove.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_NovaGlove.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.cpp new file mode 100644 index 00000000..987a6189 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_NovaGloveCalibration.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.cpp new file mode 100644 index 00000000..62ea26b2 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveInfo.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveInfo.cpp new file mode 100644 index 00000000..f5f58079 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveInfo.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_NovaGloveInfo.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.cpp new file mode 100644 index 00000000..27b12ce1 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveVars.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveVars.cpp new file mode 100644 index 00000000..8ab91d16 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_NovaGloveVars.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_NovaGloveVars.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Quat.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Quat.cpp new file mode 100644 index 00000000..194de180 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Quat.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_Quat.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SGDevice.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SGDevice.cpp new file mode 100644 index 00000000..aec355cd --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SGDevice.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SGDevice.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseCom.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseCom.cpp new file mode 100644 index 00000000..394fbde9 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseCom.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseCom.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlove.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlove.cpp new file mode 100644 index 00000000..b1ef5e1b --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlove.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGlove.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.cpp new file mode 100644 index 00000000..85c73a8b --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveInfo.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveInfo.cpp new file mode 100644 index 00000000..c21eb809 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveInfo.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGloveInfo.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlovePose.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlovePose.cpp new file mode 100644 index 00000000..b393299c --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGlovePose.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGlovePose.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.cpp new file mode 100644 index 00000000..63378099 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.cpp new file mode 100644 index 00000000..eb5224c4 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveVars.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveVars.cpp new file mode 100644 index 00000000..b7664bcc --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SenseGloveVars.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SenseGloveVars.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SensorRange.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SensorRange.cpp new file mode 100644 index 00000000..f6aded61 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_SensorRange.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_SensorRange.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ThumperCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ThumperCommand.cpp new file mode 100644 index 00000000..62c4c2c6 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_ThumperCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_ThumperCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.cpp new file mode 100644 index 00000000..7bc4b1c5 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedThumpCommand.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedThumpCommand.cpp new file mode 100644 index 00000000..e502568f --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_TimedThumpCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_TimedThumpCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Tracking.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Tracking.cpp new file mode 100644 index 00000000..2c7f8361 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Tracking.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_Tracking.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Vect3D.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Vect3D.cpp new file mode 100644 index 00000000..6140cc26 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Core_Vect3D.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Core_Vect3D.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Windows.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Windows.cpp new file mode 100644 index 00000000..947ca182 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGInclude_Windows.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGInclude_Windows.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4263.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4263.cpp new file mode 100644 index 00000000..3cbfbfbf --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4263.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGRestore_C4263.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4264.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4264.cpp new file mode 100644 index 00000000..e6c171ab --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4264.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGRestore_C4264.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4706.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4706.cpp new file mode 100644 index 00000000..1d4e8aa8 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4706.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGRestore_C4706.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4800.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4800.cpp new file mode 100644 index 00000000..542051ca --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_C4800.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGRestore_C4800.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_TEXT.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_TEXT.cpp new file mode 100644 index 00000000..58abdec2 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_TEXT.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_check.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_check.cpp new file mode 100644 index 00000000..b44adb46 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGRestore_check.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGRestore_check.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_TEXT.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_TEXT.cpp new file mode 100644 index 00000000..50a5c9a4 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_TEXT.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGUndef_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_check.cpp b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_check.cpp new file mode 100644 index 00000000..89ad64bf --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SGBuildHacks/SGUndef_check.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBuildHacks/SGUndef_check.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.cpp b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.cpp new file mode 100644 index 00000000..d6cb5efc --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveBuildHacks.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveBuildHacksModule.h" + +IMPLEMENT_MODULE(FSenseGloveBuildHacksModule, SenseGloveBuildHacks) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.h b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.h new file mode 100644 index 00000000..d445de63 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacks.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.cpp b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.cpp new file mode 100644 index 00000000..65d1b8f6 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveBuildHacksModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveBuildHacksModule" + +void FSenseGloveBuildHacksModule::StartupModule() +{ + SGLOG("Starting up SenseGloveBuildHacks module..."); +} + +void FSenseGloveBuildHacksModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveBuildHacks module..."); +} + +void FSenseGloveBuildHacksModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveBuildHacks module has succeeded!"); +} + +void FSenseGloveBuildHacksModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveBuildHacks module..."); +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.h b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.h new file mode 100644 index 00000000..4c39c066 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Private/SenseGloveBuildHacksModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveBuildHacks" + +class FSenseGloveBuildHacksModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4263.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4263.h new file mode 100644 index 00000000..743560c1 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4263.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(disable: 4263) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4264.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4264.h new file mode 100644 index 00000000..43665ae8 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4264.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(disable: 4264) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4706.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4706.h new file mode 100644 index 00000000..452c9b43 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4706.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(disable: 4706) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4800.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4800.h new file mode 100644 index 00000000..80e26247 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_C4800.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(disable: 4800) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_Woverloaded_virtual.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_Woverloaded_virtual.h new file mode 100644 index 00000000..945a3968 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGDisable_Woverloaded_virtual.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#if ! PLATFORM_WINDOWS + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Woverloaded-virtual" + +#endif /* ! PLATFORM_WINDOWS */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Connect_SGConnect.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Connect_SGConnect.h new file mode 100644 index 00000000..17df8631 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Connect_SGConnect.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Connect/SGConnect.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Anatomy.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Anatomy.h new file mode 100644 index 00000000..b0f18bfd --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Anatomy.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/Anatomy.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BasicHandModel.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BasicHandModel.h new file mode 100644 index 00000000..1b58134d --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BasicHandModel.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/BasicHandModel.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BetaDevice.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BetaDevice.h new file mode 100644 index 00000000..0333e61d --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BetaDevice.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/BetaDevice.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BuzzCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BuzzCommand.h new file mode 100644 index 00000000..acbab7df --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_BuzzCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/BuzzCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h new file mode 100644 index 00000000..33f5c6b9 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/CalibrationDataPoint.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceList.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceList.h new file mode 100644 index 00000000..4d60b23c --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceList.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/DeviceList.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceModel.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceModel.h new file mode 100644 index 00000000..fc8d2b26 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_DeviceModel.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/DeviceModel.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_FingerCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_FingerCommand.h new file mode 100644 index 00000000..33d6c154 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_FingerCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/FingerCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Fingers.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Fingers.h new file mode 100644 index 00000000..3a542435 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Fingers.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/Fingers.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h new file mode 100644 index 00000000..8516d0b5 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/ForceFeedbackCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandInterpolator.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandInterpolator.h new file mode 100644 index 00000000..0e71223c --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandInterpolator.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HandInterpolator.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandPose.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandPose.h new file mode 100644 index 00000000..af87147b --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandPose.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HandPose.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandProfile.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandProfile.h new file mode 100644 index 00000000..05d1ed96 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HandProfile.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HandProfile.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGlove.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGlove.h new file mode 100644 index 00000000..a1500a63 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGlove.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HapticGlove.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h new file mode 100644 index 00000000..6bdb045d --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HapticGloveCalibrationCheck.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.h new file mode 100644 index 00000000..e05ab159 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HapticGloveCalibrationSequence.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.h new file mode 100644 index 00000000..23c1aec3 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HapticGloveCommandBuffer.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.h new file mode 100644 index 00000000..f1b40538 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HapticGloveHandProfiles.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h new file mode 100644 index 00000000..318356b1 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/HapticGloveQuickCalibration.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_InterpolationSet.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_InterpolationSet.h new file mode 100644 index 00000000..5ca2cf05 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_InterpolationSet.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/InterpolationSet.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_JointKinematics.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_JointKinematics.h new file mode 100644 index 00000000..e63fde8f --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_JointKinematics.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/JointKinematics.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Library.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Library.h new file mode 100644 index 00000000..27b1ddf5 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Library.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/Library.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGlove.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGlove.h new file mode 100644 index 00000000..ee9fc3eb --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGlove.h @@ -0,0 +1,52 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +#include "SGBuildHacks/SGDisable_C4263.h" +#include "SGBuildHacks/SGDisable_C4264.h" +#include "SGBuildHacks/SGDisable_Woverloaded_virtual.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/NovaGlove.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_C4263.h" +#include "SGBuildHacks/SGRestore_C4264.h" +#include "SGBuildHacks/SGRestore_Woverloaded_virtual.h" + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.h new file mode 100644 index 00000000..6ec4ac6f --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveCalibration.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/NovaGloveCalibration.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h new file mode 100644 index 00000000..d5ba3cf5 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/NovaGloveHandProfile.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveInfo.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveInfo.h new file mode 100644 index 00000000..2aaed038 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveInfo.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/NovaGloveInfo.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h new file mode 100644 index 00000000..cbc0d361 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/NovaGloveSensorData.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveVars.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveVars.h new file mode 100644 index 00000000..fd61703b --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_NovaGloveVars.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/NovaGloveVars.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Quat.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Quat.h new file mode 100644 index 00000000..c2c5ca32 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Quat.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/Quat.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SGDevice.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SGDevice.h new file mode 100644 index 00000000..00b8d99f --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SGDevice.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SGDevice.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseCom.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseCom.h new file mode 100644 index 00000000..e1fbb74a --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseCom.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseCom.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlove.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlove.h new file mode 100644 index 00000000..171381c3 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlove.h @@ -0,0 +1,52 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +#include "SGBuildHacks/SGDisable_C4263.h" +#include "SGBuildHacks/SGDisable_C4264.h" +#include "SGBuildHacks/SGDisable_Woverloaded_virtual.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGlove.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_C4263.h" +#include "SGBuildHacks/SGRestore_C4264.h" +#include "SGBuildHacks/SGRestore_Woverloaded_virtual.h" + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h new file mode 100644 index 00000000..4cfe0c81 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGloveHandProfile.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveInfo.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveInfo.h new file mode 100644 index 00000000..998a8e5d --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveInfo.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGloveInfo.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlovePose.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlovePose.h new file mode 100644 index 00000000..0336778a --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGlovePose.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGlovePose.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h new file mode 100644 index 00000000..36558240 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGloveSensorData.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.h new file mode 100644 index 00000000..27485540 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveThumperCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGloveThumperCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveVars.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveVars.h new file mode 100644 index 00000000..e1109202 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SenseGloveVars.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SenseGloveVars.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SensorRange.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SensorRange.h new file mode 100644 index 00000000..72029c09 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_SensorRange.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/SensorRange.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ThumperCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ThumperCommand.h new file mode 100644 index 00000000..80a77074 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_ThumperCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/ThumperCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h new file mode 100644 index 00000000..de4ae391 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/TimedBuzzCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedThumpCommand.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedThumpCommand.h new file mode 100644 index 00000000..223e833f --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_TimedThumpCommand.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/TimedThumpCommand.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Tracking.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Tracking.h new file mode 100644 index 00000000..5e21ffa3 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Tracking.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/Tracking.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Vect3D.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Vect3D.h new file mode 100644 index 00000000..25aeb775 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Core_Vect3D.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#include "SGBuildHacks/SGUndef_TEXT.h" + +THIRD_PARTY_INCLUDES_START +#include "SenseGlove/Core/Vect3D.hpp" +THIRD_PARTY_INCLUDES_END + +#include "SGBuildHacks/SGRestore_TEXT.h" \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Windows.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Windows.h new file mode 100644 index 00000000..159c74d1 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGInclude_Windows.h @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#if PLATFORM_WINDOWS + +#include + +THIRD_PARTY_INCLUDES_START + +#include +#include +#include + +THIRD_PARTY_INCLUDES_END + +#undef CopyFile +#undef CreateDirectory +#undef DeleteFile +#undef DrawText +#undef GetObject +#undef InterlockedAdd +#undef InterlockedDecrement +#undef InterlockedExchange +#undef InterlockedIncrement +#undef MoveFile +#undef TEXT +#undef UpdateResource + +#include + +#endif /* PLATFORM_WINDOWS */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4263.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4263.h new file mode 100644 index 00000000..81e05a9b --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4263.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(default: 4263) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4264.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4264.h new file mode 100644 index 00000000..9043af8e --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4264.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(default: 4264) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4706.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4706.h new file mode 100644 index 00000000..cd0caecc --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4706.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(default: 4706) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4800.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4800.h new file mode 100644 index 00000000..943c0762 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_C4800.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 warning(default: 4800) \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_TEXT.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_TEXT.h new file mode 100644 index 00000000..c29c460f --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_TEXT.h @@ -0,0 +1,39 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + * + * + */ + + +#ifdef SENSEGLOVEBUILDHACKS_RESTORE_TEXT +#pragma pop_macro("TEXT") +#undef SENSEGLOVEBUILDHACKS_RESTORE_TEXT +#endif /* SENSEGLOVEBUILDHACKS_RESTORE_TEXT */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_Woverloaded_virtual.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_Woverloaded_virtual.h new file mode 100644 index 00000000..0281d192 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_Woverloaded_virtual.h @@ -0,0 +1,42 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +#if ! PLATFORM_WINDOWS + +#pragma clang diagnostic pop + +#endif /* ! PLATFORM_WINDOWS */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_check.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_check.h new file mode 100644 index 00000000..99f6a874 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGRestore_check.h @@ -0,0 +1,39 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + * + * + */ + + +#ifdef SENSEGLOVEBUILDHACKS_RESTORE_check +#pragma pop_macro("check") +#undef SENSEGLOVEBUILDHACKS_RESTORE_check +#endif /* SENSEGLOVEBUILDHACKS_RESTORE_check */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_TEXT.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_TEXT.h new file mode 100644 index 00000000..941589c0 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_TEXT.h @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + * + * + */ + + +#ifdef TEXT +#pragma push_macro("TEXT") +#undef TEXT +#define SENSEGLOVEBUILDHACKS_RESTORE_TEXT +#endif /* TEXT */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_check.h b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_check.h new file mode 100644 index 00000000..59b34ff0 --- /dev/null +++ b/Source/SenseGloveBuildHacks/Public/SGBuildHacks/SGUndef_check.h @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + * + * + */ + + +#ifdef check +#pragma push_macro("check") +#undef check +#define SENSEGLOVEBUILDHACKS_RESTORE_check +#endif /* check */ \ No newline at end of file diff --git a/Source/SenseGloveBuildHacks/SenseGloveBuildHacks.Build.cs b/Source/SenseGloveBuildHacks/SenseGloveBuildHacks.Build.cs new file mode 100644 index 00000000..d4d7c751 --- /dev/null +++ b/Source/SenseGloveBuildHacks/SenseGloveBuildHacks.Build.cs @@ -0,0 +1,74 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 System.IO; +using UnrealBuildTool; + +public class SenseGloveBuildHacks : ModuleRules +{ + public SenseGloveBuildHacks(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + bEnableExceptions = true; + bUseRTTI = true; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "SenseGloveLog", + } + ); + + AddConnectHeaders(); + } + + private void AddConnectHeaders() + { + string PluginRootDirectory = Path.GetFullPath(Path.Combine(ModuleDirectory, "..", "..")); + string ThirdPartyDirectory = Path.GetFullPath(Path.Combine(PluginRootDirectory, "ThirdParty")); + string IncludePath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "include")); + + PrivateIncludePaths.Add(IncludePath); + } +} \ No newline at end of file diff --git a/Source/SenseGloveConnect/Private/SGConnect/SGConnect.cpp b/Source/SenseGloveConnect/Private/SGConnect/SGConnect.cpp new file mode 100644 index 00000000..d6340c2d --- /dev/null +++ b/Source/SenseGloveConnect/Private/SGConnect/SGConnect.cpp @@ -0,0 +1,55 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGConnect/SGConnect.h" +#include "SGConnectImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FString.h" + +int32 USGConnect::Init() +{ + return SGConnect_Init(); +} + +int32 USGConnect::Dispose() +{ + return SGConnect_Dispose(); +} + +FString USGConnect::GetLibraryVersion() +{ + FSGIC_FString Container; + SGConnect_GetLibraryVersion(&Container); + return Container.String; +} \ No newline at end of file diff --git a/Source/SenseGloveConnect/Private/SenseGloveConnect.cpp b/Source/SenseGloveConnect/Private/SenseGloveConnect.cpp new file mode 100644 index 00000000..203e8317 --- /dev/null +++ b/Source/SenseGloveConnect/Private/SenseGloveConnect.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnect.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveConnectModule.h" + +IMPLEMENT_MODULE(FSenseGloveConnectModule, SenseGloveConnect) diff --git a/Source/SenseGloveConnect/Private/SenseGloveConnect.h b/Source/SenseGloveConnect/Private/SenseGloveConnect.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveConnect/Private/SenseGloveConnect.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveConnect/Private/SenseGloveConnectModule.cpp b/Source/SenseGloveConnect/Private/SenseGloveConnectModule.cpp new file mode 100644 index 00000000..1acd1aa6 --- /dev/null +++ b/Source/SenseGloveConnect/Private/SenseGloveConnectModule.cpp @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectModule.h" +#include "Containers/UnrealString.h" +#include "SGConnect/SGConnect.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveConnectModule" + +void FSenseGloveConnectModule::StartupModule() +{ + SGLOG("Starting up SenseGloveConnect module..."); + SGLOG(FString::Printf(TEXT("The Unreal Engine implementation of '%s' has been loaded successfully!"), *USGConnect:: + GetLibraryVersion())); +} + +void FSenseGloveConnectModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveConnect module..."); +} + +void FSenseGloveConnectModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveConnect module has succeeded!"); +} + +void FSenseGloveConnectModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveConnect module..."); +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveConnect/Private/SenseGloveConnectModule.h b/Source/SenseGloveConnect/Private/SenseGloveConnectModule.h new file mode 100644 index 00000000..6489a216 --- /dev/null +++ b/Source/SenseGloveConnect/Private/SenseGloveConnectModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnect" + +class FSenseGloveConnectModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveConnect/Public/SGConnect/SGConnect.h b/Source/SenseGloveConnect/Public/SGConnect/SGConnect.h new file mode 100644 index 00000000..58004a3e --- /dev/null +++ b/Source/SenseGloveConnect/Public/SGConnect/SGConnect.h @@ -0,0 +1,80 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "UObject/Object.h" +#include "UObject/ObjectMacros.h" +#include "SGConnect.generated.h" + +UCLASS(BlueprintType) +class SENSEGLOVECONNECT_API USGConnect: public UObject +{ + GENERATED_BODY() + +public: + /** + * Begin Scanning for Sense Glove Devices and set up communications with them. + * + * @return + * -3 : An Unexpected error occured. Please try again. + * -2 : Device Scanning is already running within a different program. + * -1 : Device Scanning already being initialized (function called twice in short succession). + * 0 : Device Scanning is already running in within this program. + * 1 : Successfully started up DeviceScanning from the current program. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Connect") + static int32 Init(); + + /** + * Dispose of unmanaged resources and finalize Sense Glove devices. + * + * @return + * -3 : An Unexpected error occured. Please try again. + * -2 : Not allowed to dispose of Device Scanning because this is not the program which started it. + * -1 : Device Scanning is currently being disposed off. This takes a second or two. (function called twice in short succession). + * 0 : There is no deviceScanner running from any program, so disposing is skipped. + * 1 : Successfully disposed of DeviceScanner resources. + * @remark If the Dispose function returns 1, the resources were neatly disposed of. Only a value of -3 is cause for concern. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Connect") + static int32 Dispose(); + + /** + * Check which version of SGConnect you are using. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Connect") + static FString GetLibraryVersion(); +}; diff --git a/Source/SenseGloveConnect/SenseGloveConnect.Build.cs b/Source/SenseGloveConnect/SenseGloveConnect.Build.cs new file mode 100644 index 00000000..35b4632a --- /dev/null +++ b/Source/SenseGloveConnect/SenseGloveConnect.Build.cs @@ -0,0 +1,63 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveConnect : ModuleRules +{ + public SenseGloveConnect(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "SenseGloveConnectImpl", + "SenseGloveInterop", + "SenseGloveLog", + "SenseGloveTypes", + } + ); + } +} diff --git a/Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGConnectImpl.cpp b/Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGConnectImpl.cpp new file mode 100644 index 00000000..98461151 --- /dev/null +++ b/Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGConnectImpl.cpp @@ -0,0 +1,55 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGConnectImpl/SGConnectImpl.h" +#include +#include "SGBuildHacks/SGInclude_Connect_SGConnect.h" + +int32 FSGConnectImpl::Init() +{ + return SGConnect::Init(); +} + +int32 FSGConnectImpl::Dispose() +{ + return SGConnect::Dispose(); +} + +FString FSGConnectImpl::GetLibraryVersion() +{ + std::string version; + SGConnect::GetLibraryVersion(&version); + return UTF8_TO_TCHAR(version.c_str()); +} \ No newline at end of file diff --git a/Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGExportedFunctions.cpp b/Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGExportedFunctions.cpp new file mode 100644 index 00000000..47630d65 --- /dev/null +++ b/Source/SenseGloveConnectImpl/Private/SGConnectImpl/SGExportedFunctions.cpp @@ -0,0 +1,54 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGConnectImpl/SGExportedFunctions.h" +#include "Templates/UnrealTemplate.h" +#include "SGConnectImpl/SGConnectImpl.h" +#include "SGInterop/SGIC_FString.h" + +int32 SGConnect_Init() +{ + return FSGConnectImpl::Init(); +} + +int32 SGConnect_Dispose() +{ + return FSGConnectImpl::Dispose(); +} + +void SGConnect_GetLibraryVersion(void* OutVersion) +{ + StaticCast(OutVersion)->String = FSGConnectImpl::GetLibraryVersion(); +} \ No newline at end of file diff --git a/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.cpp b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.cpp new file mode 100644 index 00000000..918f01e3 --- /dev/null +++ b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectImpl.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveConnectImplModule.h" + +IMPLEMENT_MODULE(FSenseGloveConnectImplModule, SenseGloveConnectImpl) diff --git a/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.h b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImpl.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.cpp b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.cpp new file mode 100644 index 00000000..2217790e --- /dev/null +++ b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.cpp @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectImplModule.h" +#include "Containers/UnrealString.h" +#include "SGConnectImpl/SGConnectImpl.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveConnectImplModule" + +void FSenseGloveConnectImplModule::StartupModule() +{ + SGLOG("Starting up SenseGloveConnectImpl module..."); + SGLOG(FString::Printf(TEXT("The low-level implementation of '%s' has been loaded successfully!"), *FSGConnectImpl:: + GetLibraryVersion())); +} + +void FSenseGloveConnectImplModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveConnectImpl module..."); +} + +void FSenseGloveConnectImplModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveConnectImpl module has succeeded!"); +} + +void FSenseGloveConnectImplModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveConnectImpl module..."); +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.h b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.h new file mode 100644 index 00000000..e91bf75d --- /dev/null +++ b/Source/SenseGloveConnectImpl/Private/SenseGloveConnectImplModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectImpl" + +class FSenseGloveConnectImplModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGConnectImpl.h b/Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGConnectImpl.h new file mode 100644 index 00000000..fee6e307 --- /dev/null +++ b/Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGConnectImpl.h @@ -0,0 +1,72 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" + +class SENSEGLOVECONNECTIMPL_API FSGConnectImpl +{ +public: + /** + * Begin Scanning for Sense Glove Devices and set up communications with them. + * + * @return + * -3 : An Unexpected error occured. Please try again. + * -2 : Device Scanning is already running within a different program. + * -1 : Device Scanning already being initialized (function called twice in short succession). + * 0 : Device Scanning is already running in within this program. + * 1 : Successfully started up DeviceScanning from the current program. + */ + static int32 Init(); + + /** + * Dispose of unmanaged resources and finalize Sense Glove devices. + * + * @return + * -3 : An Unexpected error occured. Please try again. + * -2 : Not allowed to dispose of Device Scanning because this is not the program which started it. + * -1 : Device Scanning is currently being disposed off. This takes a second or two. (function called twice in short succession). + * 0 : There is no deviceScanner running from any program, so disposing is skipped. + * 1 : Successfully disposed of DeviceScanner resources. + * @remark If the Dispose function returns 1, the resources were neatly disposed of. Only a value of -3 is cause for concern. + */ + static int32 Dispose(); + + /** + * Check which version of SGConnect you are using. + */ + static FString GetLibraryVersion(); +}; \ No newline at end of file diff --git a/Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGExportedFunctions.h b/Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGExportedFunctions.h new file mode 100644 index 00000000..1590ed19 --- /dev/null +++ b/Source/SenseGloveConnectImpl/Public/SGConnectImpl/SGExportedFunctions.h @@ -0,0 +1,74 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + +/* Defines a C++ like static_assert. */ +#if __cplusplus +#include +#else +#include +#endif /* __cplusplus */ + +/* Contains __bool_true_false_are_defined macro that can be used in order to + check whether boolean type is supported by the compiler or not. */ +#include + +#include + +/* Check at compile time whether the C compiler has support for bool, true, + and false macros. */ +static_assert(__bool_true_false_are_defined, "Error: bool, true, and false are not defined!"); + +#if defined ( SENSEGLOVE_BUILDING_CONNECT_IMPL_MODULE ) +#define SENSEGLOVECONNECTIMPL_PUBLIC_API DLLEXPORT +#else +#define SENSEGLOVECONNECTIMPL_PUBLIC_API DLLIMPORT +#endif /* defined ( SENSEGLOVE_BUILDING_CONNECT_IMPL_MODULE ) */ + +/* If C++ is used, switch to C mode in order to prevent C++'s name mangling of + method names. */ +#if __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* SGConnect.h */ +SENSEGLOVECONNECTIMPL_PUBLIC_API int32 SGConnect_Init(); +SENSEGLOVECONNECTIMPL_PUBLIC_API int32 SGConnect_Dispose(); +SENSEGLOVECONNECTIMPL_PUBLIC_API void SGConnect_GetLibraryVersion(void* OutVersion); + +#if __cplusplus +} +#endif /* __cplusplus */ \ No newline at end of file diff --git a/Source/SenseGloveConnectImpl/SenseGloveConnectImpl.Build.cs b/Source/SenseGloveConnectImpl/SenseGloveConnectImpl.Build.cs new file mode 100644 index 00000000..4ac02692 --- /dev/null +++ b/Source/SenseGloveConnectImpl/SenseGloveConnectImpl.Build.cs @@ -0,0 +1,251 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using UnrealBuildTool; + +public class SenseGloveConnectImpl : ModuleRules +{ + public SenseGloveConnectImpl(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + bEnableExceptions = true; + bUseRTTI = true; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "SenseGloveBuildHacks", + "SenseGloveInterop", + "SenseGloveLog", + "SenseGloveTypes", + "SenseGloveUtils", + } + ); + + AddConnectLibrary(Target); + AddSerialLibrary(Target); + + PublicDefinitions.Add("SENSEGLOVE_BUILDING_CONNECT_IMPL_MODULE"); + PublicDefinitions.Add("SENSEGLOVE_UNREAL_ENGINE_PLUGIN"); + } + + private void AddConnectLibrary(ReadOnlyTargetRules Target) + { + string PluginRootDirectory = Path.GetFullPath(Path.Combine(ModuleDirectory, "..", "..")); + string ThirdPartyDirectory = Path.GetFullPath(Path.Combine(PluginRootDirectory, "ThirdParty")); + string LibraryPath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "lib")); + string LibraryName = "sgconnect"; + + if (Target.Platform == UnrealTargetPlatform.Android) + { + IAndroidToolChain ToolChain = AndroidExports.CreateToolChain(Target.ProjectFile); + List Architectures = ToolChain.GetAllArchitectures(); + foreach (string Arch in Architectures) + { + if (Arch != "-arm64") + { + Debug.Assert(false, "Only AArch64/ARM64 variant of Android is supported!"); + } + } + + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "oculus")); + LibraryName = string.Format("lib{0}.a", LibraryName); + } + else if (Target.Platform == UnrealTargetPlatform.Linux) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); + LibraryName = string.Format("lib{0}.a", LibraryName); + +#if UE_5_0_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v20")); +#elif UE_4_27_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v19")); +#elif UE_4_26_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v17")); +#elif UE_4_25_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v16")); +#elif UE_4_24_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v15")); +#elif UE_4_23_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v15")); +#elif UE_4_22_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v13")); +#else + Debug.Assert(false, "Unsupported compiler!"); +#endif + } + else if (Target.Platform == UnrealTargetPlatform.Win64) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "win64")); + switch (Target.WindowsPlatform.Compiler) + { +#if UE_4_27_OR_LATER + case WindowsCompiler.VisualStudio2022: + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "msvc143")); + break; +#endif +#if UE_4_22_OR_LATER + case WindowsCompiler.VisualStudio2019: + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "msvc142")); + break; +#endif + default: + Debug.Assert(false, "Unsupported compiler!"); + break; + } + LibraryName = string.Format("{0}.lib", LibraryName); + } + else + { + Debug.Assert(false, "Unsupported platform!"); + } + + bool bDebug = (Target.Configuration == UnrealTargetConfiguration.Debug); + if (bDebug) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "debug")); + } + else + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "release")); + } + + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, LibraryName)); + string IncludePath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "include")); + + PrivateIncludePaths.Add(IncludePath); + PublicAdditionalLibraries.Add(LibraryPath); + } + + private void AddSerialLibrary(ReadOnlyTargetRules Target) + { + string PluginRootDirectory = Path.GetFullPath(Path.Combine(ModuleDirectory, "..", "..")); + string ThirdPartyDirectory = Path.GetFullPath(Path.Combine(PluginRootDirectory, "ThirdParty")); + string LibraryPath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "lib")); + string LibraryName = "serial"; + + if (Target.Platform == UnrealTargetPlatform.Android) + { + IAndroidToolChain ToolChain = AndroidExports.CreateToolChain(Target.ProjectFile); + List Architectures = ToolChain.GetAllArchitectures(); + foreach (string Arch in Architectures) + { + if (Arch != "-arm64") + { + Debug.Assert(false, "Only AArch64/ARM64 variant of Android is supported!"); + } + } + + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "oculus")); + LibraryName = string.Format("lib{0}.a", LibraryName); + } + else if (Target.Platform == UnrealTargetPlatform.Linux) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); + LibraryName = string.Format("lib{0}.a", LibraryName); + +#if UE_5_0_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v20")); +#elif UE_4_27_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v19")); +#elif UE_4_26_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v17")); +#elif UE_4_25_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v16")); +#elif UE_4_24_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v15")); +#elif UE_4_23_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v15")); +#elif UE_4_22_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v13")); +#else + Debug.Assert(false, "Unsupported compiler!"); +#endif + } + else if (Target.Platform == UnrealTargetPlatform.Win64) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "win64")); + switch (Target.WindowsPlatform.Compiler) + { +#if UE_4_27_OR_LATER + case WindowsCompiler.VisualStudio2022: + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "msvc143")); + break; +#endif +#if UE_4_22_OR_LATER + case WindowsCompiler.VisualStudio2019: + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "msvc142")); + break; +#endif + default: + Debug.Assert(false, "Unsupported compiler!"); + break; + } + LibraryName = string.Format("{0}.lib", LibraryName); + } + else + { + Debug.Assert(false, "Unsupported platform!"); + } + + bool bDebug = (Target.Configuration == UnrealTargetConfiguration.Debug); + if (bDebug) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "debug")); + } + else + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "release")); + } + + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, LibraryName)); + string IncludePath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "include")); + + PrivateIncludePaths.Add(IncludePath); + PublicAdditionalLibraries.Add(LibraryPath); + } +} \ No newline at end of file diff --git a/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.cpp b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.cpp new file mode 100644 index 00000000..c4dc9c50 --- /dev/null +++ b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectKismet.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveConnectKismetModule.h" + +IMPLEMENT_MODULE(FSenseGloveConnectKismetModule, SenseGloveConnectKismet) diff --git a/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.h b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismet.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.cpp b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.cpp new file mode 100644 index 00000000..885eb41b --- /dev/null +++ b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectKismetModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveConnectKismetModule" + +void FSenseGloveConnectKismetModule::StartupModule() +{ + SGLOG("Starting up SenseGloveConnectKismet module..."); +} + +void FSenseGloveConnectKismetModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveConnectKismet module..."); +} + +void FSenseGloveConnectKismetModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveConnectKismet module has succeeded!"); +} + +void FSenseGloveConnectKismetModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveConnectKismet module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.h b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.h new file mode 100644 index 00000000..3edb8fa5 --- /dev/null +++ b/Source/SenseGloveConnectKismet/Private/SenseGloveConnectKismetModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveConnectKismet" + +class FSenseGloveConnectKismetModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveConnectKismet/SenseGloveConnectKismet.Build.cs b/Source/SenseGloveConnectKismet/SenseGloveConnectKismet.Build.cs new file mode 100644 index 00000000..b872baa2 --- /dev/null +++ b/Source/SenseGloveConnectKismet/SenseGloveConnectKismet.Build.cs @@ -0,0 +1,70 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveConnectKismet : ModuleRules +{ + public SenseGloveConnectKismet(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "SenseGloveConnect", + "SenseGloveLog", + "SenseGloveTypes", + } + ); + + PrivateIncludePathModuleNames.AddRange( + new string[] + { + "SenseGloveKismet", + } + ); + } +} diff --git a/Source/SenseGloveCore/Private/SGCore/SGAnatomy.cpp b/Source/SenseGloveCore/Private/SGCore/SGAnatomy.cpp new file mode 100644 index 00000000..2c8c3d2f --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGAnatomy.cpp @@ -0,0 +1,107 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGAnatomy.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" + +float FSGAnatomy::GetTotalFingerFlexion() +{ + return SGCoreImpl_FSGAnatomyImpl_GetTotalFingerFlexion(); +} + +float FSGAnatomy::GetTotalFingerExtension() +{ + return SGCoreImpl_FSGAnatomyImpl_GetTotalFingerExtension(); +} + +float FSGAnatomy::GetTotalThumbFlexion() +{ + return SGCoreImpl_FSGAnatomyImpl_GetTotalThumbFlexion(); +} + +float FSGAnatomy::GetTotalThumbExtension() +{ + return SGCoreImpl_FSGAnatomyImpl_GetTotalThumbExtension(); +} + +float FSGAnatomy::GetFingerJointLimit(const bool bRightHanded, const int32 Joint, const int32 Movement, const bool bMax) +{ + return SGCoreImpl_FSGAnatomyImpl_GetFingerJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float FSGAnatomy::GetThumbJointLimit(const bool bRightHanded, const int32 Joint, const int32 Movement, const bool bMax) +{ + return SGCoreImpl_FSGAnatomyImpl_GetThumbJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float FSGAnatomy::NormalizeFingerFlex(const float FlexionInRadians) +{ + return SGCoreImpl_FSGAnatomyImpl_NormalizeFingerFlex(FlexionInRadians); +} + +float FSGAnatomy::NormalizeThumbFlex(float FlexionInRadians) +{ + return SGCoreImpl_FSGAnatomyImpl_NormalizeThumbFlex(FlexionInRadians); +} + +TArray> FSGAnatomy::GetDefaultHandAngles(const bool bRightHanded) +{ + FSGIC_TArray_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGAnatomyImpl_GetDefaultHandAngles(&OutAnglesContainer, bRightHanded); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray> FSGAnatomy::GetFlatHandAngles(bool bRightHanded) +{ + FSGIC_TArray_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGAnatomyImpl_GetFlatHandAngles(&OutAnglesContainer, bRightHanded); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray> FSGAnatomy::GetThumbsUpHandAngles(bool bRightHanded) +{ + FSGIC_TArray_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGAnatomyImpl_GetThumbsUpHandAngles(&OutAnglesContainer, bRightHanded); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray> FSGAnatomy::GetFistHandAngles(bool bRightHanded) +{ + FSGIC_TArray_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGAnatomyImpl_GetFistHandAngles(&OutAnglesContainer, bRightHanded); + return MoveTemp(OutAnglesContainer.Array); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGBasicHandModel.cpp b/Source/SenseGloveCore/Private/SGCore/SGBasicHandModel.cpp new file mode 100644 index 00000000..75bdd455 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGBasicHandModel.cpp @@ -0,0 +1,577 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGBasicHandModel.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_float.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_float.h" + +struct USGBasicHandModel::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGBasicHandModelImpl BasicHandModelImpl; + + /************************ + * Owner object + ************************/ + + USGBasicHandModel* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGBasicHandModel* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGBasicHandModel* USGBasicHandModel::NewBasicHandModel(UObject* Outer, const FSGBasicHandModelImpl& BasicHandModelImpl) +{ + USGBasicHandModel* Instance = NewObject(Outer); + Instance->SetBasicHandModelImpl(BasicHandModelImpl); + return Instance; +} + +USGBasicHandModel* USGBasicHandModel::NewBasicHandModel(UObject* Outer) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + SGCoreImpl_FSGBasicHandModelImpl_ctor(&OutBasicHandModelImplContainer); + + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl)); +} + +USGBasicHandModel* USGBasicHandModel::NewBasicHandModel(UObject* Outer, const bool bRightHanded, + const TArray>& Lengths, + const TArray& StartPositions) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{Lengths}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPosition( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, &StartPositionsContainer); + + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl)); +} + +USGBasicHandModel* USGBasicHandModel::NewBasicHandModel(UObject* Outer, const bool bRightHanded, + const TArray& Lengths, + const TArray& StartPositions) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{ + FSGArrayUtils::FromBPNestedArray(Lengths) + }; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPosition( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, &StartPositionsContainer); + + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl)); +} + +USGBasicHandModel* USGBasicHandModel::NewBasicHandModel(UObject* Outer, const bool bRightHanded, + const TArray>& Lengths, + const TArray& StartPositions, + const TArray& StartRotations) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{Lengths}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPositions_StartRotations( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, + &StartPositionsContainer, &StartRotationsContainer); + + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl)); +} + +USGBasicHandModel* USGBasicHandModel::NewBasicHandModel(UObject* Outer, const bool bRightHanded, + const TArray& Lengths, + const TArray& StartPositions, + const TArray& StartRotations) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{ + FSGArrayUtils::FromBPNestedArray(Lengths) + }; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPositions_StartRotations( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, + &StartPositionsContainer, &StartRotationsContainer); + + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl)); +} + +USGBasicHandModel* USGBasicHandModel::Default(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + SGCoreImpl_FSGBasicHandModelImpl_Default(&OutBasicHandModelImplContainer, bRightHanded); + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl)); +} + +USGBasicHandModel* USGBasicHandModel::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGBasicHandModelImpl_Deserialize(&OutBasicHandModelContainer, &SerializedStringContainer); + return NewBasicHandModel(Outer, MoveTemp(OutBasicHandModelContainer.BasicHandModelImpl));; +} + +TArray> USGBasicHandModel::GetBaseFingerLengths() +{ + FSGIC_TArray_TArray_float OutLengthsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetBaseFingerLengths(&OutLengthsContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +TArray USGBasicHandModel::GetBaseJointPositions() +{ + FSGIC_TArray_FVector OutPositionsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetBaseJointPositions(&OutPositionsContainer); + return MoveTemp(OutPositionsContainer.Array); +} + +TArray USGBasicHandModel::GetBaseJointRotations() +{ + FSGIC_TArray_FVector OutRotationsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetBaseJointRotations(&OutRotationsContainer); + return MoveTemp(OutRotationsContainer.Array); +} + +USGBasicHandModel::USGBasicHandModel() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + SGCoreImpl_FSGBasicHandModelImpl_ctor(&OutBasicHandModelImplContainer); + + Pimpl->BasicHandModelImpl = MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl); + Pimpl->SyncUProperties(); +} + +USGBasicHandModel::USGBasicHandModel(const bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{Lengths}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPosition( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, &StartPositionsContainer); + + Pimpl->BasicHandModelImpl = MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl); + Pimpl->SyncUProperties(); +} + +USGBasicHandModel::USGBasicHandModel(bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{ + FSGArrayUtils::FromBPNestedArray(Lengths) + }; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPosition( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, &StartPositionsContainer); + + Pimpl->BasicHandModelImpl = MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl); + Pimpl->SyncUProperties(); +} + +USGBasicHandModel::USGBasicHandModel(const bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions, const TArray& StartRotations) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{Lengths}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPositions_StartRotations( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, + &StartPositionsContainer, &StartRotationsContainer); + + Pimpl->BasicHandModelImpl = MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl); + Pimpl->SyncUProperties(); +} + +USGBasicHandModel::USGBasicHandModel(bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions, const TArray& StartRotations) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelImplContainer; + FSGIC_TArray_TArray_float LengthsContainer{ + FSGArrayUtils::FromBPNestedArray(Lengths) + }; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPositions_StartRotations( + &OutBasicHandModelImplContainer, bRightHanded, &LengthsContainer, + &StartPositionsContainer, &StartRotationsContainer); + + Pimpl->BasicHandModelImpl = MoveTemp(OutBasicHandModelImplContainer.BasicHandModelImpl); + Pimpl->SyncUProperties(); +} + +USGBasicHandModel::USGBasicHandModel(const FSGBasicHandModelImpl& BasicHandModelImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetBasicHandModelImpl(BasicHandModelImpl); + Pimpl->SyncUProperties(); +} + +USGBasicHandModel::~USGBasicHandModel() = default; + +void USGBasicHandModel::SetBasicHandModelImpl(const FSGBasicHandModelImpl& BasicHandModelImpl) +{ + FSGIC_FSGBasicHandModelImpl OutBasicHandModelContainer; + FSGIC_FSGBasicHandModelImpl RhsContainer{BasicHandModelImpl}; + SGCoreImpl_FSGBasicHandModelImpl_ctor_copy(&OutBasicHandModelContainer, &RhsContainer); + Pimpl->BasicHandModelImpl = MoveTemp(OutBasicHandModelContainer.BasicHandModelImpl); +} + +const FSGBasicHandModelImpl& USGBasicHandModel::ToBasicHandModelImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->BasicHandModelImpl; +} + +FSGBasicHandModelImpl& USGBasicHandModel::ToBasicHandModelImpl() +{ + Pimpl->SyncImplObject(); + return Pimpl->BasicHandModelImpl; +} + +bool USGBasicHandModel::IsRight() const +{ + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + return SGCoreImpl_FSGBasicHandModelImpl_IsRight(&InstanceContainer); +} + +TArray> USGBasicHandModel::GetFingerLengths() const +{ + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_TArray_float OutLengthsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetFingerLengths(&InstanceContainer, &OutLengthsContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +TArray USGBasicHandModel::GetFingerLengths(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_float OutLengthsContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBasicHandModelImpl_GetFingerLengths_Finger(&InstanceContainer, &OutLengthsContainer, + &FingerContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +void USGBasicHandModel::SetFingerLengths(const ESGFinger Finger, const TArray& Lengths) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_TArray_float LengthsContainer{Lengths}; + SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths_ESGFinger(&InstanceContainer, &FingerContainer, + &LengthsContainer); + + Pimpl->SyncUProperties(); +} + +void USGBasicHandModel::SetFingerLengths(const uint8 Finger, const TArray& Lengths) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_float LengthsContainer{Lengths}; + SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths_uint8Finger(&InstanceContainer, Finger, &LengthsContainer); + + Pimpl->SyncUProperties(); +} + +TArray> USGBasicHandModel::GetFingerRatios() const +{ + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_TArray_float OutRatiosContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetFingerRatios(&InstanceContainer, &OutRatiosContainer); + return MoveTemp(OutRatiosContainer.Array); +} + +TArray USGBasicHandModel::GetFingerRatios(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_TArray_float OutRatiosContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetFingerRatios_Finger(&InstanceContainer, &OutRatiosContainer, + &FingerContainer); + return MoveTemp(OutRatiosContainer.Array); +} + +TArray USGBasicHandModel::GetStartJointPositions() const +{ + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_FVector OutPositionsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetStartJointPositions(&InstanceContainer, &OutPositionsContainer); + return MoveTemp(OutPositionsContainer.Array); +} + +void USGBasicHandModel::SetStartJointPosition(const ESGFinger Finger, const FVector& Position) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_FVector PositionContainer{Position}; + SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPosition_ESGFinger(&InstanceContainer, &FingerContainer, + &PositionContainer); + + Pimpl->SyncUProperties(); +} + +void USGBasicHandModel::SetStartJointPosition(const uint8 Finger, const FVector& Position) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FVector PositionContainer{Position}; + SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPosition_uin8Finger(&InstanceContainer, Finger, &PositionContainer); + + Pimpl->SyncUProperties(); +} + +TArray USGBasicHandModel::GetStartJointRotations() const +{ + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_FQuat OutRotationsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetStartJointRotations(&InstanceContainer, &OutRotationsContainer); + return MoveTemp(OutRotationsContainer.Array); +} + +FVector USGBasicHandModel::GetJointPosition(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FVector OutPositionContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBasicHandModelImpl_GetJointPosition(&InstanceContainer, &OutPositionContainer, &FingerContainer); + + return MoveTemp(OutPositionContainer.Vector); +} + +void USGBasicHandModel::SetJointPosition(const FVector& NewPosition, const ESGFinger Finger) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FVector NewPositionContainer{NewPosition}; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBasicHandModelImpl_SetJointPosition(&InstanceContainer, &NewPositionContainer, &FingerContainer); + + Pimpl->SyncUProperties(); +} + +FQuat USGBasicHandModel::GetJointRotation(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FQuat OutRotationContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBasicHandModelImpl_GetJointRotation(&InstanceContainer, &OutRotationContainer, &FingerContainer); + + return MoveTemp(OutRotationContainer.Quat); +} + +void USGBasicHandModel::SetJointRotation(const FQuat& NewRotation, const ESGFinger Finger) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FQuat NewRotationContainer{NewRotation}; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBasicHandModelImpl_SetJointRotation(&InstanceContainer, &NewRotationContainer, &FingerContainer); + + Pimpl->SyncUProperties(); +} + +TArray USGBasicHandModel::GetTotalLengths() const +{ + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_float OutLengthsContainer; + SGCoreImpl_FSGBasicHandModelImpl_GetTotalLengths(&InstanceContainer, &OutLengthsContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +float USGBasicHandModel::GetTotalLength(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + return SGCoreImpl_FSGBasicHandModelImpl_GetTotalLength(&InstanceContainer, &FingerContainer); +} + +TArray USGBasicHandModel::Get3DLengths(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_TArray_FVector OutLengthsContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBasicHandModelImpl_Get3DLengths(&InstanceContainer, &OutLengthsContainer, + &FingerContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +bool USGBasicHandModel::Equals(const USGBasicHandModel* BasicHandModel) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FSGBasicHandModelImpl BasicHandModelContainer{BasicHandModel->ToBasicHandModelImpl()}; + return SGCoreImpl_FSGBasicHandModelImpl_Equals(&InstanceContainer, &BasicHandModelContainer); +} + +FString USGBasicHandModel::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGBasicHandModelImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGBasicHandModel::ToString(const bool bLengthsOnly) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGBasicHandModelImpl_ToString_bLengthsOnly(&InstanceContainer, &OutStringContainer, bLengthsOnly); + return MoveTemp(OutStringContainer.String); +} + +FString USGBasicHandModel::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGBasicHandModelImpl InstanceContainer{ToBasicHandModelImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGBasicHandModelImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGBasicHandModel::FImpl::FImpl(USGBasicHandModel* InOwner) + : Owner(InOwner) +{ +} + +USGBasicHandModel::FImpl::~FImpl() = default; + +void USGBasicHandModel::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGBasicHandModel::FImpl::SyncUProperties() +{ +} + +void USGBasicHandModel::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGBetaDevice.cpp b/Source/SenseGloveCore/Private/SGCore/SGBetaDevice.cpp new file mode 100644 index 00000000..5be21dad --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGBetaDevice.cpp @@ -0,0 +1,322 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGBetaDevice.h" + +#include "Engine/World.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCore/SGDeviceImplCast.h" +#include "SGCoreImpl/SGBetaDeviceImpl.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h" + +struct USGBetaDevice::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGDevice* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGBetaDevice* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGBetaDevice* USGBetaDevice::NewBetaDevice(UObject* Outer, const FSGBetaDeviceImpl& BetaDeviceImpl) +{ + USGBetaDevice* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(BetaDeviceImpl); + return Instance; +} + +USGBetaDevice* USGBetaDevice::NewBetaDevice(UObject* Outer, TSharedRef BetaDeviceImpl) +{ + USGBetaDevice* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(MoveTemp(BetaDeviceImpl)); + return Instance; +} + +USGBetaDevice* USGBetaDevice::NewBetaDevice(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + SGCoreImpl_FSGBetaDeviceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewBetaDevice(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBetaDevice* USGBetaDevice::NewBetaDevice(UObject* Outer, const FString& ConstantsString, const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion) +{ + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + FSGIC_FString ConstantsStringContainer{ConstantsString}; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGBetaDeviceImpl_ctor_ConstantsString_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_MakeShared( + &OutSharedPtrContainer, &ConstantsStringContainer, &DeviceIdContainer, + &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion); + + return NewBetaDevice(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBetaDevice* USGBetaDevice::Parse(UObject* Outer, const FString& String) +{ + FSGIC_FString StringContainer{String}; + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + SGCoreImpl_FSGBetaDeviceImpl_Parse(&OutSharedPtrContainer, &StringContainer); + + return NewBetaDevice(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBetaDevice::USGBetaDevice() + : USGDevice(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + SGCoreImpl_FSGBetaDeviceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGBetaDevice::USGBetaDevice(const FString& ConstantsString, const FString& DeviceId, + const FString& HardwareVersion, + const int32 FirmwareVersion, const int32 SubFirmwareVersion) + : USGDevice(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + FSGIC_FString ConstantsStringContainer{ConstantsString}; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGBetaDeviceImpl_ctor_ConstantsString_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_MakeShared( + &OutSharedPtrContainer, &ConstantsStringContainer, &DeviceIdContainer, + &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGBetaDevice::USGBetaDevice(const FSGBetaDeviceImpl& BetaDeviceImpl) + : USGDevice(BetaDeviceImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGBetaDevice::USGBetaDevice(TSharedRef BetaDeviceImpl) + : USGDevice(MoveTemp(BetaDeviceImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGBetaDevice::~USGBetaDevice() = default; + +TSharedRef USGBetaDevice::ToBetaDeviceImpl() const +{ + SyncImplObject(); + return FSGDeviceImplCast::ToBetaDeviceImpl(ToSGDeviceImpl()); +} + +void USGBetaDevice::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGBetaDevice::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +ESGDeviceType USGBetaDevice::GetDeviceType() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_ESGDeviceType OutTypeContainer; + SGCoreImpl_FSGBetaDeviceImpl_GetDeviceType(&InstanceContainer, &OutTypeContainer); + return OutTypeContainer.Type; +} + +FString USGBetaDevice::GetDeviceId() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGBetaDeviceImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGBetaDevice::GetHardwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString VersionContainer; + SGCoreImpl_FSGBetaDeviceImpl_GetHardwareVersion(&InstanceContainer, &VersionContainer); + return VersionContainer.String; +} + +int32 USGBetaDevice::GetFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + return SGCoreImpl_FSGBetaDeviceImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGBetaDevice::GetSubFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + return SGCoreImpl_FSGBetaDeviceImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +FString USGBetaDevice::GetConstantsString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGBetaDeviceImpl_GetConstantsString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGBetaDevice::GetSensorData() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString OutDataContainer; + SGCoreImpl_FSGBetaDeviceImpl_GetSensorData(&InstanceContainer, &OutDataContainer); + return MoveTemp(OutDataContainer.String); +} + +FString USGBetaDevice::GetLastCommand() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString OutCommandContainer; + SGCoreImpl_FSGBetaDeviceImpl_GetLastCommand(&InstanceContainer, &OutCommandContainer); + return MoveTemp(OutCommandContainer.String); +} + +bool USGBetaDevice::SendHaptics(const FString& Command) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString CommandContainer{Command}; + return SGCoreImpl_FSGBetaDeviceImpl_SendHaptics(&InstanceContainer, &CommandContainer); +} + +FString USGBetaDevice::ToString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBetaDeviceImpl InstanceContainer{ToBetaDeviceImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGBetaDeviceImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGBetaDevice::FImpl::FImpl(USGBetaDevice* InOwner) + : Owner(InOwner) +{ +} + +USGBetaDevice::FImpl::~FImpl() = default; + +void USGBetaDevice::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGBetaDevice::FImpl::SyncUProperties() +{ +} + +void USGBetaDevice::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGBuzzCommand.cpp b/Source/SenseGloveCore/Private/SGCore/SGBuzzCommand.cpp new file mode 100644 index 00000000..5f915235 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGBuzzCommand.cpp @@ -0,0 +1,289 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGBuzzCommand.h" + +#include "SGFingerCommandImplCast.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_int32.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h" + +struct USGBuzzCommand::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGBuzzCommand* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGBuzzCommand* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGBuzzCommand* USGBuzzCommand::NewBuzzCommand(UObject* Outer, const FSGBuzzCommandImpl& BuzzCommandImpl) +{ + USGBuzzCommand* Instance = NewObject(Outer); + Instance->SetFingerCommandImpl(BuzzCommandImpl); + return Instance; +} + +USGBuzzCommand* USGBuzzCommand::NewBuzzCommand(UObject* Outer, TSharedRef BuzzCommandImpl) +{ + USGBuzzCommand* Instance = NewObject(Outer); + Instance->SetFingerCommandImpl(MoveTemp(BuzzCommandImpl)); + return Instance; +} + +USGBuzzCommand* USGBuzzCommand::NewBuzzCommand(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGBuzzCommandImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBuzzCommand* USGBuzzCommand::NewBuzzCommand(UObject* Outer, const TArray& BuzzLevels) +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + FSGIC_TArray_int32 BuzzLevelsContainer{BuzzLevels}; + SGCoreImpl_FSGBuzzCommandImpl_ctor_BuzzLevels_MakeShared( + &OutSharedPtrContainer, &BuzzLevelsContainer); + + return NewBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBuzzCommand* USGBuzzCommand::NewBuzzCommand(UObject* Outer, const int32 Thumb, const int32 Index, const int32 Middle, + const int32 Ring, const int32 Pinky) +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGBuzzCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + &OutSharedPtrContainer, Thumb, Index, Middle, Ring, Pinky); + + return NewBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBuzzCommand* USGBuzzCommand::NewBuzzCommand(UObject* Outer, const ESGFinger Finger, const int32 BuzzLevel) +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBuzzCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + &OutSharedPtrContainer, &FingerContainer, BuzzLevel); + + return NewBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGBuzzCommand* USGBuzzCommand::Off(UObject* Outer) +{ + FSGIC_FSGBuzzCommandImpl OutContainer; + SGCoreImpl_FSGBuzzCommandImpl_Off(&OutContainer); + return NewBuzzCommand(Outer, OutContainer.BuzzCommandImpl); +} + +USGBuzzCommand::USGBuzzCommand() + : USGFingerCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGBuzzCommandImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGBuzzCommand::USGBuzzCommand(const TArray& BuzzLevels) + : USGFingerCommand(BuzzLevels), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + FSGIC_TArray_int32 BuzzLevelsContainer{BuzzLevels}; + SGCoreImpl_FSGBuzzCommandImpl_ctor_BuzzLevels_MakeShared( + &OutSharedPtrContainer, &BuzzLevelsContainer); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGBuzzCommand::USGBuzzCommand( + const int32 Thumb, const int32 Index, const int32 Middle, const int32 Ring, const int32 Pinky) + : USGFingerCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGBuzzCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + &OutSharedPtrContainer, Thumb, Index, Middle, Ring, Pinky); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGBuzzCommand::USGBuzzCommand(const ESGFinger Finger, const int32 BuzzLevel) + : USGFingerCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGBuzzCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + &OutSharedPtrContainer, &FingerContainer, BuzzLevel); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGBuzzCommand::USGBuzzCommand(const FSGBuzzCommandImpl& BuzzCommandImpl) + : USGFingerCommand(BuzzCommandImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGBuzzCommand::USGBuzzCommand(TSharedRef BuzzCommandImpl) + : USGFingerCommand(MoveTemp(BuzzCommandImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGBuzzCommand::~USGBuzzCommand() = default; + +TSharedRef USGBuzzCommand::ToBuzzCommandImpl() const +{ + SyncImplObject(); + return FSGFingerCommandImplCast::ToBuzzCommandImpl(ToFingerCommandImpl()); +} + +void USGBuzzCommand::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGBuzzCommand::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +USGBuzzCommand* USGBuzzCommand::Copy(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBuzzCommandImpl InstanceContainer{ToBuzzCommandImpl()}; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + SGCoreImpl_FSGBuzzCommandImpl_Copy(&InstanceContainer, &OutBuzzCommandImplContainer); + return NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); +} + +USGBuzzCommand* USGBuzzCommand::Merge(UObject* Outer, const USGBuzzCommand* BuzzCommand) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGBuzzCommandImpl InstanceContainer{ToBuzzCommandImpl()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandImplContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + SGCoreImpl_FSGBuzzCommandImpl_Merge(&InstanceContainer, &OutBuzzCommandImplContainer, &BuzzCommandImplContainer); + return NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); +} + +USGBuzzCommand::FImpl::FImpl(USGBuzzCommand* InOwner) + : Owner(InOwner) +{ +} + +USGBuzzCommand::FImpl::~FImpl() = default; + +void USGBuzzCommand::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGBuzzCommand::FImpl::SyncUProperties() +{ +} + +void USGBuzzCommand::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGCalibrationDataPoint.cpp b/Source/SenseGloveCore/Private/SGCore/SGCalibrationDataPoint.cpp new file mode 100644 index 00000000..ed0ad21e --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGCalibrationDataPoint.cpp @@ -0,0 +1,210 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGCalibrationDataPoint.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGCalibrationDataPointImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_FVector.h" + +struct USGCalibrationDataPoint::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGCalibrationDataPointImpl CalibrationDataPointImpl; + + /************************ + * Owner object + ************************/ + + USGCalibrationDataPoint* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGCalibrationDataPoint* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGCalibrationDataPoint* USGCalibrationDataPoint::NewCalibrationDataPoint( + UObject* Outer, const FSGCalibrationDataPointImpl& CalibrationDataPointImpl) +{ + USGCalibrationDataPoint* Instance = NewObject(Outer); + Instance->SetCalibrationDataPointImpl(CalibrationDataPointImpl); + return Instance; +} + +USGCalibrationDataPoint* USGCalibrationDataPoint::NewCalibrationDataPoint(UObject* Outer) +{ + FSGIC_FSGCalibrationDataPointImpl OutCalibrationDataPointImplContainer; + SGCoreImpl_FSGCalibrationDataPointImpl_ctor(&OutCalibrationDataPointImplContainer); + + return NewCalibrationDataPoint(Outer, MoveTemp(OutCalibrationDataPointImplContainer.CalibrationDataPointImpl)); +} + +USGCalibrationDataPoint* USGCalibrationDataPoint::NewCalibrationDataPoint( + UObject* Outer, const int32 CurrentStage, const TArray& CalibrationValues) +{ + FSGIC_FSGCalibrationDataPointImpl OutCalibrationDataPointImplContainer; + FSGIC_TArray_FVector CalibrationValuesContainer{CalibrationValues}; + SGCoreImpl_FSGCalibrationDataPointImpl_ctor_CurrentStage_CalibrationValues( + &OutCalibrationDataPointImplContainer, CurrentStage, &CalibrationValuesContainer); + + return NewCalibrationDataPoint(Outer, MoveTemp(OutCalibrationDataPointImplContainer.CalibrationDataPointImpl)); +} + +USGCalibrationDataPoint::USGCalibrationDataPoint() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGCalibrationDataPointImpl OutCalibrationDataPointImplContainer; + SGCoreImpl_FSGCalibrationDataPointImpl_ctor(&OutCalibrationDataPointImplContainer); + + Pimpl->CalibrationDataPointImpl = MoveTemp(OutCalibrationDataPointImplContainer.CalibrationDataPointImpl); + Pimpl->SyncUProperties(); +} + +USGCalibrationDataPoint::USGCalibrationDataPoint(const int32 CurrentStage, const TArray& CalibrationValues) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGCalibrationDataPointImpl OutCalibrationDataPointImplContainer; + FSGIC_TArray_FVector CalibrationValuesContainer{CalibrationValues}; + SGCoreImpl_FSGCalibrationDataPointImpl_ctor_CurrentStage_CalibrationValues( + &OutCalibrationDataPointImplContainer, CurrentStage, &CalibrationValuesContainer); + + Pimpl->CalibrationDataPointImpl = MoveTemp(OutCalibrationDataPointImplContainer.CalibrationDataPointImpl); + Pimpl->SyncUProperties(); +} + +USGCalibrationDataPoint::USGCalibrationDataPoint(const FSGCalibrationDataPointImpl& CalibrationDataPointImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetCalibrationDataPointImpl(CalibrationDataPointImpl); + Pimpl->SyncUProperties(); +} + +USGCalibrationDataPoint::~USGCalibrationDataPoint() = default; + +void USGCalibrationDataPoint::SetCalibrationDataPointImpl(const FSGCalibrationDataPointImpl& CalibrationDataPointImpl) +{ + FSGIC_FSGCalibrationDataPointImpl OutCalibrationDataPointContainer; + FSGIC_FSGCalibrationDataPointImpl RhsContainer{CalibrationDataPointImpl}; + SGCoreImpl_FSGCalibrationDataPointImpl_ctor_copy(&OutCalibrationDataPointContainer, &RhsContainer); + Pimpl->CalibrationDataPointImpl = MoveTemp(OutCalibrationDataPointContainer.CalibrationDataPointImpl); +} + +const FSGCalibrationDataPointImpl& USGCalibrationDataPoint::ToCalibrationDataPointImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->CalibrationDataPointImpl; +} + +TArray USGCalibrationDataPoint::GetCalibrationValues() const +{ + FSGIC_FSGCalibrationDataPointImpl InstanceContainer{ToCalibrationDataPointImpl()}; + FSGIC_TArray_FVector OutValuesContainer; + SGCoreImpl_FSGCalibrationDataPointImpl_GetCalibrationValues(&InstanceContainer, &OutValuesContainer); + return MoveTemp(OutValuesContainer.Array); +} + +int32 USGCalibrationDataPoint::GetStage() const +{ + FSGIC_FSGCalibrationDataPointImpl InstanceContainer{ToCalibrationDataPointImpl()}; + return SGCoreImpl_FSGCalibrationDataPointImpl_GetStage(&InstanceContainer); +} + +FString USGCalibrationDataPoint::ToLogData(const FString& Delimiter) const +{ + FSGIC_FSGCalibrationDataPointImpl InstanceContainer{Pimpl->CalibrationDataPointImpl}; + FSGIC_FString DelimiterContainer{Delimiter}; + FSGIC_FString OutDataContainer; + SGCoreImpl_FSGCalibrationDataPointImpl_ToLogData(&InstanceContainer, &OutDataContainer, &DelimiterContainer); + return MoveTemp(OutDataContainer.String); +} + +USGCalibrationDataPoint::FImpl::FImpl(USGCalibrationDataPoint* InOwner) + : Owner(InOwner) +{ +} + +USGCalibrationDataPoint::FImpl::~FImpl() = default; + +void USGCalibrationDataPoint::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGCalibrationDataPoint::FImpl::SyncUProperties() +{ +} + +void USGCalibrationDataPoint::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGCore.cpp b/Source/SenseGloveCore/Private/SGCore/SGCore.cpp new file mode 100644 index 00000000..db5d7982 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGCore.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGCore.h" \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp b/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp new file mode 100644 index 00000000..0ae40b0b --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp @@ -0,0 +1,507 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGDevice.h" + +#include "Engine/Engine.h" +#include "Engine/GameViewportClient.h" +#include "Engine/World.h" +#include "Kismet/GameplayStatics.h" +#include "Runtime/Launch/Resources/Version.h" +#include "SGCoreImpl/SGBetaDeviceImpl.h" + +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGConnectionType.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_FSGBetaDeviceImpl.h" +#include "SGInterop/SGIC_FSGDeviceImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h" + +struct USGDevice::FImpl +{ + /************************ + * Member variables + ************************/ + + TSharedPtr SGDeviceImpl; + + /************************ + * Owner object + ************************/ + + USGDevice* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGDevice* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +void USGDevice::ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion) +{ + FSGIC_FString RawFirmwareContainer{RawFirmware}; + SGCoreImpl_FSGDeviceImpl_ParseFirmware(&RawFirmwareContainer, &OutMainVersion, &OutSubVersion); +} + +FString USGDevice::ToString(const ESGDeviceType DeviceType) +{ + FSGIC_ESGDeviceType DeviceTypeContainer{DeviceType}; + FSGIC_FString OutString; + SGCoreImpl_FSGDeviceImpl_ToString(&DeviceTypeContainer, &OutString); + return MoveTemp(OutString.String); +} + +USGDevice::USGDevice() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGDeviceImpl OutSharedPtrContainer; + SGCoreImpl_FSGDeviceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(const FSGDeviceImpl& SGDeviceImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGDeviceImpl OutSharedPtrContainer; + FSGIC_FSGDeviceImpl RhsContainer{SGDeviceImpl}; + SGCoreImpl_FSGDeviceImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(const FSGBetaDeviceImpl& BetaDeviceImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + FSGIC_FSGBetaDeviceImpl RhsContainer{BetaDeviceImpl}; + SGCoreImpl_FSGBetaDeviceImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +USGDevice::USGDevice(const FSGHapticGloveImpl& HapticGloveImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtrContainer; + FSGIC_FSGHapticGloveImpl RhsContainer{HapticGloveImpl}; + SGCoreImpl_FSGHapticGloveImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(const FSGNovaGloveImpl& NovaGloveImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + FSGIC_FSGNovaGloveImpl RhsContainer{NovaGloveImpl}; + SGCoreImpl_FSGNovaGloveImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(const FSGSenseGloveImpl& SenseGloveImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + FSGIC_FSGSenseGloveImpl RhsContainer{SenseGloveImpl}; + SGCoreImpl_FSGSenseGloveImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(TSharedRef SGDeviceImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SGDeviceImpl = MoveTemp(SGDeviceImpl); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(TSharedRef BetaDeviceImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SGDeviceImpl = MoveTemp(BetaDeviceImpl); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(TSharedRef HapticGloveImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SGDeviceImpl = MoveTemp(HapticGloveImpl); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(TSharedRef NovaGloveImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SGDeviceImpl = MoveTemp(NovaGloveImpl); + Pimpl->SyncUProperties(); +} + +USGDevice::USGDevice(TSharedRef SenseGloveImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SGDeviceImpl = MoveTemp(SenseGloveImpl); + Pimpl->SyncUProperties(); +} + +USGDevice::~USGDevice() = default; + +void USGDevice::SetSGDeviceImpl(const FSGDeviceImpl& SGDeviceImpl) +{ + FSGIC_TSharedPtr_FSGDeviceImpl OutSharedPtrContainer; + FSGIC_FSGDeviceImpl RhsContainer{SGDeviceImpl}; + SGCoreImpl_FSGDeviceImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGDevice::SetSGDeviceImpl(const FSGBetaDeviceImpl& BetaDeviceImpl) +{ + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + FSGIC_FSGBetaDeviceImpl RhsContainer{BetaDeviceImpl}; + SGCoreImpl_FSGBetaDeviceImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGDevice::SetSGDeviceImpl(const FSGHapticGloveImpl& HapticGloveImpl) +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtrContainer; + FSGIC_FSGHapticGloveImpl RhsContainer{HapticGloveImpl}; + SGCoreImpl_FSGHapticGloveImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGDevice::SetSGDeviceImpl(const FSGNovaGloveImpl& NovaGloveImpl) +{ + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + FSGIC_FSGNovaGloveImpl RhsContainer{NovaGloveImpl}; + SGCoreImpl_FSGNovaGloveImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGDevice::SetSGDeviceImpl(const FSGSenseGloveImpl& SenseGloveImpl) +{ + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + FSGIC_FSGSenseGloveImpl RhsContainer{SenseGloveImpl}; + SGCoreImpl_FSGSenseGloveImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->SGDeviceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGDevice::SetSGDeviceImpl(TSharedRef SGDeviceImpl) +{ + Pimpl->SGDeviceImpl = MoveTemp(SGDeviceImpl); +} + +void USGDevice::SetSGDeviceImpl(TSharedRef BetaDeviceImpl) +{ + Pimpl->SGDeviceImpl = MoveTemp(BetaDeviceImpl); +} + +void USGDevice::SetSGDeviceImpl(TSharedRef HapticGloveImpl) +{ + Pimpl->SGDeviceImpl = MoveTemp(HapticGloveImpl); +} + +void USGDevice::SetSGDeviceImpl(TSharedRef NovaGloveImpl) +{ + Pimpl->SGDeviceImpl = MoveTemp(NovaGloveImpl); +} + +void USGDevice::SetSGDeviceImpl(TSharedRef SenseGloveImpl) +{ + Pimpl->SGDeviceImpl = MoveTemp(SenseGloveImpl); +} + +TSharedRef USGDevice::ToSGDeviceImpl() const +{ + SyncImplObject(); + return Pimpl->SGDeviceImpl.ToSharedRef(); +} + +void USGDevice::SyncImplObject() const +{ + Pimpl->SyncImplObject(); +} + +void USGDevice::SyncUProperties() +{ + Pimpl->SyncUProperties(); +} + +ESGDeviceType USGDevice::GetDeviceType() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + FSGIC_ESGDeviceType OutTypeContainer; + SGCoreImpl_FSGDeviceImpl_GetDeviceType(&InstanceContainer, &OutTypeContainer); + return OutTypeContainer.Type; +} + +int32 USGDevice::GetSubFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +FString USGDevice::GetFirmwareString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGDeviceImpl_GetFirmwareString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGDevice::GetAddress() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + FSGIC_FString AddressContainer; + SGCoreImpl_FSGDeviceImpl_GetAddress(&InstanceContainer, &AddressContainer); + return AddressContainer.String; +} + +bool USGDevice::IsConnected() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_IsConnected(&InstanceContainer); +} + +ESGConnectionType USGDevice::GetConnectionType() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + FSGIC_ESGConnectionType OutTypeContainer; + SGCoreImpl_FSGDeviceImpl_GetConnectionType(&InstanceContainer, &OutTypeContainer); + return OutTypeContainer.Type; +} + +int32 USGDevice::PacketsPerSecondReceived() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_PacketsPerSecondReceived(&InstanceContainer); +} + +int32 USGDevice::PacketsPerSecondSent() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_PacketsPerSecondSent(&InstanceContainer); +} + +int32 USGDevice::GetDeviceIndex() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_GetDeviceIndex(&InstanceContainer); +} + +void USGDevice::SetDeviceIndex(const int32 Index) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + SGCoreImpl_FSGDeviceImpl_SetDeviceIndex(&InstanceContainer, Index); + + SyncUProperties(); +} + +bool USGDevice::IsWireless() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_IsWireless(&InstanceContainer); +} + +bool USGDevice::HasBattery() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + return SGCoreImpl_FSGDeviceImpl_HasBattery(&InstanceContainer); +} + +bool USGDevice::IsCharging() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + const bool bResult = SGCoreImpl_FSGDeviceImpl_IsCharging(&InstanceContainer); + + SyncUProperties(); + + return bResult; +} + +bool USGDevice::GetBatteryLevel(float& OutLevel) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + const bool bResult = SGCoreImpl_FSGDeviceImpl_GetBatteryLevel(&InstanceContainer, &OutLevel); + + SyncUProperties(); + + return bResult; +} + +FString USGDevice::ToString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGDeviceImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGDevice::FImpl::FImpl(USGDevice* InOwner) + : Owner(InOwner) +{ +} + +USGDevice::FImpl::~FImpl() = default; + +void USGDevice::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGDevice::FImpl::SyncUProperties() +{ +} + +void USGDevice::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.cpp b/Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.cpp new file mode 100644 index 00000000..94a8dc43 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.cpp @@ -0,0 +1,80 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGDeviceImplCast.h" + +#include "SGCoreImpl/SGBetaDeviceImpl.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGNovaGloveImpl.h" +#include "SGCoreImpl/SGSenseGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h" + +TSharedRef FSGDeviceImplCast::ToBetaDeviceImpl(TSharedRef SGDeviceImpl) +{ + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{MoveTemp(SGDeviceImpl)}; + FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtrContainer; + SGCoreImpl_FSGDeviceImpl_ToBetaDeviceImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} + +TSharedRef FSGDeviceImplCast::ToHapticGloveImpl(TSharedRef SGDeviceImpl) +{ + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{MoveTemp(SGDeviceImpl)}; + FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGDeviceImpl_ToHapticGloveImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} + +TSharedRef FSGDeviceImplCast::ToNovaGloveImpl(TSharedRef SGDeviceImpl) +{ + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{MoveTemp(SGDeviceImpl)}; + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGDeviceImpl_ToNovaGloveImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} + +TSharedRef FSGDeviceImplCast::ToSenseGloveImpl(TSharedRef SGDeviceImpl) +{ + FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{MoveTemp(SGDeviceImpl)}; + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGDeviceImpl_ToSenseGloveImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.h b/Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.h new file mode 100644 index 00000000..da264b6e --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGDeviceImplCast.h @@ -0,0 +1,56 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Templates/SharedPointer.h" + +class FSGBetaDeviceImpl; +class FSGDeviceImpl; +class FSGHapticGloveImpl; +class FSGNovaGloveImpl; +class FSGSenseGloveImpl; + +class SENSEGLOVECORE_API FSGDeviceImplCast +{ +public: + static TSharedRef ToBetaDeviceImpl(TSharedRef SGDeviceImpl); + + static TSharedRef ToHapticGloveImpl(TSharedRef SGDeviceImpl); + + static TSharedRef ToNovaGloveImpl(TSharedRef SGDeviceImpl); + + static TSharedRef ToSenseGloveImpl(TSharedRef SGDeviceImpl); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGDeviceList.cpp b/Source/SenseGloveCore/Private/SGCore/SGDeviceList.cpp new file mode 100644 index 00000000..6b491e53 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGDeviceList.cpp @@ -0,0 +1,215 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGDeviceList.h" + +#include "SGCore/SGBetaDevice.h" +#include "SGCore/SGDevice.h" +#include "SGCore/SGDeviceImplCast.h" +#include "SGCore/SGNovaGlove.h" +#include "SGCore/SGSenseGlove.h" +#include "SGCoreImpl/SGBetaDeviceImpl.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGNovaGloveImpl.h" +#include "SGCoreImpl/SGSenseGloveImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGConnectionType.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h" + +int32 FSGDeviceList::ActiveDevices() +{ + return SGCoreImpl_FSGDeviceListImpl_ActiveDevices(); +} + +bool FSGDeviceList::SenseCommRunning() +{ + return SGCoreImpl_FSGDeviceListImpl_SenseCommRunning(); +} + +void FSGDeviceList::Dispose() +{ + SGCoreImpl_FSGDeviceListImpl_Dispose(); +} + +void FSGDeviceList::Reinitialize() +{ + SGCoreImpl_FSGDeviceListImpl_Reinitialize(); +} + +TArray FSGDeviceList::GetDevices(UObject* Outer) +{ + FSGIC_TArray_TSharedRef_FSGDeviceListImpl DeviceImplsArrayContainer; + SGCoreImpl_FSGDeviceListImpl_GetDevices(&DeviceImplsArrayContainer); + + TArray Devices; + + for (TSharedRef DeviceImpl: DeviceImplsArrayContainer.Array) + { + FSGIC_TSharedPtr_FSGDeviceImpl DeviceImplContainer{DeviceImpl}; + FSGIC_ESGDeviceType DeviceTypeContainer; + SGCoreImpl_FSGDeviceImpl_GetDeviceType(&DeviceImplContainer, &DeviceTypeContainer); + switch (DeviceTypeContainer.Type) + { + case ESGDeviceType::BetaDevice: + { + TSharedRef BetaDeviceImpl{FSGDeviceImplCast::ToBetaDeviceImpl(DeviceImpl)}; + USGBetaDevice* BetaDevice = USGBetaDevice::NewBetaDevice(Outer, MoveTemp(BetaDeviceImpl)); + Devices.Push(BetaDevice); + } + break; + case ESGDeviceType::Nova: + { + TSharedRef NovaGloveImpl{FSGDeviceImplCast::ToNovaGloveImpl(DeviceImpl)}; + USGNovaGlove* NovaGlove = USGNovaGlove::NewNovaGlove(Outer, MoveTemp(NovaGloveImpl)); + Devices.Push(NovaGlove); + } + break; + case ESGDeviceType::SenseGlove: + { + TSharedRef SenseGloveImpl{FSGDeviceImplCast::ToSenseGloveImpl(DeviceImpl)}; + USGSenseGlove* SenseGlove = USGSenseGlove::NewSenseGlove(Outer, MoveTemp(SenseGloveImpl)); + Devices.Push(SenseGlove); + } + break; + default: + ensureAlwaysMsgf(false, TEXT("Unknown SenseGlove device!")); + break; + } + } + + return Devices; +} + +TArray FSGDeviceList::GetDevices(UObject* Outer, const TSubclassOf& DeviceType) +{ + ensureAlwaysMsgf(IsValid(DeviceType.GetDefaultObject()), TEXT("Invalid default object!")); + const UClass* ClassFilter = DeviceType->StaticClass(); + + const TArray CurrentDevices = GetDevices(Outer); + TArray Devices; + + for (USGDevice* Device: CurrentDevices) + { + ensureAlwaysMsgf(IsValid(Device), TEXT("Invalid device!")); + + const UClass* DeviceClass = Device->StaticClass(); + if (DeviceClass == ClassFilter) + { + Devices.Push(Device); + } + } + + return Devices; +} + +TArray FSGDeviceList::GetDevices(UObject* Outer, const ESGDeviceType DeviceType) +{ + const TArray CurrentDevices = GetDevices(Outer); + TArray Devices; + + for (USGDevice* Device: CurrentDevices) + { + ensureAlwaysMsgf(IsValid(Device), TEXT("Invalid device!")); + + if (Device->GetDeviceType() == DeviceType) + { + Devices.Push(Device); + } + } + + return Devices; +} + +bool FSGDeviceList::GetSensorDataString(const int32 IpcIndex, const FString& IpcAddress, FString& OutString) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + FSGIC_FString OutStringContainer; + const bool bReturn = SGCoreImpl_FSGDeviceListImpl_GetSensorDataString( + IpcIndex, &IpcAddressContainer, &OutStringContainer); + OutString = OutStringContainer.String; + return bReturn; +} + +bool FSGDeviceList::SendHaptics(const int32 IpcIndex, const FString& IpcAddress, const FString& Commands) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + FSGIC_FString CommandsContainer{Commands}; + return SGCoreImpl_FSGDeviceListImpl_SendHaptics(IpcIndex, &IpcAddressContainer, &CommandsContainer); +} + +FString FSGDeviceList::GetDeviceStringAt(const int32 IpcIndex, const FString& IpcAddress, const int32 Index) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGDeviceListImpl_GetDeviceStringAt(&OutStringContainer, IpcIndex, &IpcAddressContainer, Index); + return OutStringContainer.String; +} + +FString FSGDeviceList::GetAddress(const int32 IpcIndex, const FString& IpcAddress) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGDeviceListImpl_GetAddress(&OutStringContainer, IpcIndex, &IpcAddressContainer); + return OutStringContainer.String; +} + +ESGConnectionType FSGDeviceList::GetConnectionType(const int32 IpcIndex, const FString& IpcAddress) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + FSGIC_ESGConnectionType OutTypeContainer; + SGCoreImpl_FSGDeviceListImpl_GetConnectionType(&OutTypeContainer, IpcIndex, &IpcAddressContainer); + return OutTypeContainer.Type; +} + +bool FSGDeviceList::IsConnected(const int32 IpcIndex, const FString& IpcAddress) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + return SGCoreImpl_FSGDeviceListImpl_IsConnected(IpcIndex, &IpcAddressContainer); +} + +int32 FSGDeviceList::PacketsPerSecondReceived(const int32 IpcIndex, const FString& IpcAddress) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + return SGCoreImpl_FSGDeviceListImpl_PacketsPerSecondReceived(IpcIndex, &IpcAddressContainer); +} + +int32 FSGDeviceList::PacketsPerSecondSent(const int32 IpcIndex, const FString& IpcAddress) +{ + FSGIC_FString IpcAddressContainer{IpcAddress}; + return SGCoreImpl_FSGDeviceListImpl_PacketsPerSecondSent(IpcIndex, &IpcAddressContainer); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGDeviceModel.cpp b/Source/SenseGloveCore/Private/SGCore/SGDeviceModel.cpp new file mode 100644 index 00000000..0a51979d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGDeviceModel.cpp @@ -0,0 +1,236 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGDeviceModel.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGDeviceModelImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_bool.h" + +struct USGDeviceModel::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGDeviceModelImpl DeviceModelImpl; + + /************************ + * Owner object + ************************/ + + USGDeviceModel* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGDeviceModel* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGDeviceModel* USGDeviceModel::NewDeviceModel(UObject* Outer, const FSGDeviceModelImpl& DeviceModelImpl) +{ + USGDeviceModel* Instance = NewObject(Outer); + Instance->SetDeviceModelImpl(DeviceModelImpl); + return Instance; +} + +USGDeviceModel* USGDeviceModel::NewDeviceModel(UObject* Outer) +{ + FSGIC_FSGDeviceModelImpl OutDeviceModelImplContainer; + SGCoreImpl_FSGDeviceModelImpl_ctor(&OutDeviceModelImplContainer); + + return NewDeviceModel(Outer, MoveTemp(OutDeviceModelImplContainer.DeviceModelImpl)); +} + +USGDeviceModel* USGDeviceModel::NewDeviceModel( + UObject* Outer, + const FString& Id, const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion) +{ + FSGIC_FSGDeviceModelImpl OutDeviceModelImplContainer; + FSGIC_FString IdContainer{Id}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGDeviceModelImpl_ctor_Id_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + &OutDeviceModelImplContainer, &IdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion); + + return NewDeviceModel(Outer, MoveTemp(OutDeviceModelImplContainer.DeviceModelImpl)); +} + +TArray USGDeviceModel::ParseFunctions(const int32 Value, const int32 Size) +{ + FSGIC_TArray_bool OutParseFunctionsContainer; + SGCoreImpl_FSGDeviceModelImpl_ParseFunctions(&OutParseFunctionsContainer, Value, Size); + return MoveTemp(OutParseFunctionsContainer.Array); +} + +void USGDeviceModel::ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion) +{ + FSGIC_FString RawFirmwareContainer{RawFirmware}; + SGCoreImpl_FSGDeviceModelImpl_ParseFirmware(&RawFirmwareContainer, &OutMainVersion, &OutSubVersion); +} + +USGDeviceModel::USGDeviceModel() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGDeviceModelImpl OutDeviceModelImplContainer; + SGCoreImpl_FSGDeviceModelImpl_ctor(&OutDeviceModelImplContainer); + + Pimpl->DeviceModelImpl = MoveTemp(OutDeviceModelImplContainer.DeviceModelImpl); + Pimpl->SyncUProperties(); +} + +USGDeviceModel::USGDeviceModel(const FString& Id, const FString& HardwareVersion, + const int32 FirmwareVersion, const int32 SubFirmwareVersion) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGDeviceModelImpl OutDeviceModelImplContainer; + FSGIC_FString IdContainer{Id}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGDeviceModelImpl_ctor_Id_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + &OutDeviceModelImplContainer, &IdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion); + + Pimpl->DeviceModelImpl = MoveTemp(OutDeviceModelImplContainer.DeviceModelImpl); + Pimpl->SyncUProperties(); +} + +USGDeviceModel::USGDeviceModel(const FSGDeviceModelImpl& DeviceModelImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetDeviceModelImpl(DeviceModelImpl); + Pimpl->SyncUProperties(); +} + +USGDeviceModel::~USGDeviceModel() = default; + +void USGDeviceModel::SetDeviceModelImpl(const FSGDeviceModelImpl& DeviceModelImpl) +{ + FSGIC_FSGDeviceModelImpl OutDeviceModelContainer; + FSGIC_FSGDeviceModelImpl RhsContainer{DeviceModelImpl}; + SGCoreImpl_FSGDeviceModelImpl_ctor_copy(&OutDeviceModelContainer, &RhsContainer); + Pimpl->DeviceModelImpl = MoveTemp(OutDeviceModelContainer.DeviceModelImpl); +} + +const FSGDeviceModelImpl& USGDeviceModel::ToDeviceModelImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->DeviceModelImpl; +} + +FSGDeviceModelImpl& USGDeviceModel::ToDeviceModelImpl() +{ + Pimpl->SyncImplObject(); + return Pimpl->DeviceModelImpl; +} + +FString USGDeviceModel::GetDeviceId() const +{ + FSGIC_FSGDeviceModelImpl InstanceContainer{ToDeviceModelImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGDeviceModelImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGDeviceModel::GetHardwareVersion() const +{ + FSGIC_FSGDeviceModelImpl InstanceContainer{ToDeviceModelImpl()}; + FSGIC_FString OutVersionContainer; + SGCoreImpl_FSGDeviceModelImpl_GetHardwareVersion(&InstanceContainer, &OutVersionContainer); + return MoveTemp(OutVersionContainer.String); +} + +int32 USGDeviceModel::GetFirmwareVersion() const +{ + FSGIC_FSGDeviceModelImpl InstanceContainer{ToDeviceModelImpl()}; + return SGCoreImpl_FSGDeviceModelImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGDeviceModel::GetSubFirmwareVersion() const +{ + FSGIC_FSGDeviceModelImpl InstanceContainer{ToDeviceModelImpl()}; + return SGCoreImpl_FSGDeviceModelImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +USGDeviceModel::FImpl::FImpl(USGDeviceModel* InOwner) + : Owner(InOwner) +{ +} + +USGDeviceModel::FImpl::~FImpl() = default; + +void USGDeviceModel::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGDeviceModel::FImpl::SyncUProperties() +{ +} + +void USGDeviceModel::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGFingerCommand.cpp b/Source/SenseGloveCore/Private/SGCore/SGFingerCommand.cpp new file mode 100644 index 00000000..6c7ec715 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGFingerCommand.cpp @@ -0,0 +1,372 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGFingerCommand.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedBuzzCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_int32.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h" + +struct USGFingerCommand::FImpl +{ + /************************ + * Member variables + ************************/ + + TSharedPtr FingerCommandImpl; + + /************************ + * Owner object + ************************/ + + USGFingerCommand* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGFingerCommand* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGFingerCommand::USGFingerCommand() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGFingerCommandImpl_ctor_MakeShared(&OutSharedPtrContainer); + + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(const TArray& InLevels) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl OutSharedPtrContainer; + FSGIC_TArray_int32 LevelsContainer{InLevels}; + SGCoreImpl_FSGFingerCommandImpl_ctor_Levels_MakeShared(&OutSharedPtrContainer, &LevelsContainer); + + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(const FSGFingerCommandImpl& FingerCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl OutSharedPtrContainer; + FSGIC_FSGFingerCommandImpl RhsContainer{FingerCommandImpl}; + SGCoreImpl_FSGFingerCommandImpl_ctor_copy_MakeShared( + &OutSharedPtrContainer, &RhsContainer); + + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(const FSGBuzzCommandImpl& BuzzCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + FSGIC_FSGBuzzCommandImpl RhsContainer{BuzzCommandImpl}; + SGCoreImpl_FSGBuzzCommandImpl_ctor_copy_MakeShared( + &OutSharedPtrContainer, &RhsContainer); + + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + FSGIC_FSGForceFeedbackCommandImpl RhsContainer{ForceFeedbackCommandImpl}; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy_MakeShared( + &OutSharedPtrContainer, &RhsContainer); + + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + FSGIC_FSGTimedBuzzCommandImpl RhsContainer{TimedBuzzCommandImpl}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy_MakeShared( + &OutSharedPtrContainer, &RhsContainer); + + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(TSharedRef FingerCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->FingerCommandImpl = MoveTemp(FingerCommandImpl); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(TSharedRef BuzzCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->FingerCommandImpl = MoveTemp(BuzzCommandImpl); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(TSharedRef ForceFeedbackCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->FingerCommandImpl = MoveTemp(ForceFeedbackCommandImpl); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::USGFingerCommand(TSharedRef TimedBuzzCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->FingerCommandImpl = MoveTemp(TimedBuzzCommandImpl); + Pimpl->SyncUProperties(); +} + +USGFingerCommand::~USGFingerCommand() = default; + +void USGFingerCommand::SetFingerCommandImpl(const FSGFingerCommandImpl& FingerCommandImpl) +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl OutSharedPtrContainer; + FSGIC_FSGFingerCommandImpl RhsContainer{FingerCommandImpl}; + SGCoreImpl_FSGFingerCommandImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGFingerCommand::SetFingerCommandImpl(const FSGBuzzCommandImpl& BuzzCommandImpl) +{ + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + FSGIC_FSGBuzzCommandImpl RhsContainer{BuzzCommandImpl}; + SGCoreImpl_FSGBuzzCommandImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGFingerCommand::SetFingerCommandImpl(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl) +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + FSGIC_FSGForceFeedbackCommandImpl RhsContainer{ForceFeedbackCommandImpl}; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGFingerCommand::SetFingerCommandImpl(const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl) +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + FSGIC_FSGTimedBuzzCommandImpl RhsContainer{TimedBuzzCommandImpl}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->FingerCommandImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGFingerCommand::SetFingerCommandImpl(TSharedRef FingerCommandImpl) +{ + Pimpl->FingerCommandImpl = MoveTemp(FingerCommandImpl); +} + +void USGFingerCommand::SetFingerCommandImpl(TSharedRef BuzzCommandImpl) +{ + Pimpl->FingerCommandImpl = MoveTemp(BuzzCommandImpl); +} + +void USGFingerCommand::SetFingerCommandImpl(TSharedRef ForceFeedbackCommandImpl) +{ + Pimpl->FingerCommandImpl = MoveTemp(ForceFeedbackCommandImpl); +} + +void USGFingerCommand::SetFingerCommandImpl(TSharedRef TimedBuzzCommandImpl) +{ + Pimpl->FingerCommandImpl = MoveTemp(TimedBuzzCommandImpl); +} + +TSharedRef USGFingerCommand::ToFingerCommandImpl() const +{ + SyncImplObject(); + return Pimpl->FingerCommandImpl.ToSharedRef(); +} + +void USGFingerCommand::SyncImplObject() const +{ + Pimpl->SyncImplObject(); +} + +void USGFingerCommand::SyncUProperties() +{ + Pimpl->SyncUProperties(); +} + +TArray USGFingerCommand::GetLevels() const +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{ToFingerCommandImpl()}; + FSGIC_TArray_int32 OutLevelsContainer; + SGCoreImpl_FSGFingerCommandImpl_GetLevels(&InstanceContainer, &OutLevelsContainer); + return MoveTemp(OutLevelsContainer.Array); +} + +int32 USGFingerCommand::GetLevel(const int32 Finger) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{ToFingerCommandImpl()}; + const int32 Level = SGCoreImpl_FSGFingerCommandImpl_GetLevel(&InstanceContainer, Finger); + + return Level; +} + +void USGFingerCommand::SetLevel(const int32 Finger, const int32 Value) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{ToFingerCommandImpl()}; + SGCoreImpl_FSGFingerCommandImpl_SetLevel(&InstanceContainer, Finger, Value); + + SyncUProperties(); +} + +bool USGFingerCommand::Equals(const USGFingerCommand* FingerCommand) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{ToFingerCommandImpl()}; + FSGIC_FSGFingerCommandImpl FingerCommandImplContainer{FingerCommand->ToFingerCommandImpl().Get()}; + const bool bEquals = SGCoreImpl_FSGFingerCommandImpl_Equals(&InstanceContainer, &FingerCommandImplContainer); + return bEquals; +} + +FString USGFingerCommand::ToString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{ToFingerCommandImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGFingerCommandImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGFingerCommand::FImpl::FImpl(USGFingerCommand* InOwner) + : Owner(InOwner) +{ +} + +USGFingerCommand::FImpl::~FImpl() = default; + +void USGFingerCommand::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGFingerCommand::FImpl::SyncUProperties() +{ +} + +void USGFingerCommand::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.cpp b/Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.cpp new file mode 100644 index 00000000..ff3bb48f --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.cpp @@ -0,0 +1,70 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGFingerCommandImplCast.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGFingerCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h" + +TSharedRef FSGFingerCommandImplCast::ToBuzzCommandImpl( + TSharedRef FingerCommandImpl) +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{MoveTemp(FingerCommandImpl)}; + FSGIC_TSharedPtr_FSGBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGFingerCommandImpl_ToBuzzCommandImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} + +TSharedRef FSGFingerCommandImplCast::ToForceFeedbackCommandImpl( + TSharedRef FingerCommandImpl) +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{MoveTemp(FingerCommandImpl)}; + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGFingerCommandImpl_ToForceFeedbackCommandImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} + +TSharedRef FSGFingerCommandImplCast::ToTimedBuzzCommandImpl( + TSharedRef FingerCommandImpl) +{ + FSGIC_TSharedPtr_FSGFingerCommandImpl InstanceContainer{MoveTemp(FingerCommandImpl)}; + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGFingerCommandImpl_ToTimedBuzzCommandImplRef(&InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.h b/Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.h new file mode 100644 index 00000000..6cd4a9c8 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGFingerCommandImplCast.h @@ -0,0 +1,55 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Templates/SharedPointer.h" + +class FSGFingerCommandImpl; +class FSGBuzzCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGTimedBuzzCommandImpl; + +class SENSEGLOVECORE_API FSGFingerCommandImplCast +{ +public: + static TSharedRef ToBuzzCommandImpl(TSharedRef FingerCommandImpl); + + static TSharedRef ToForceFeedbackCommandImpl( + TSharedRef FingerCommandImpl); + + static TSharedRef ToTimedBuzzCommandImpl( + TSharedRef FingerCommandImpl); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGFloatArray.cpp b/Source/SenseGloveCore/Private/SGCore/SGFloatArray.cpp new file mode 100644 index 00000000..f1ebe7c1 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGFloatArray.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGFloatArray.h" \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGForceFeedbackCommand.cpp b/Source/SenseGloveCore/Private/SGCore/SGForceFeedbackCommand.cpp new file mode 100644 index 00000000..fabdb153 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGForceFeedbackCommand.cpp @@ -0,0 +1,296 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGForceFeedbackCommand.h" + +#include "SGFingerCommandImplCast.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_TArray_int32.h" +#include "SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h" + +struct USGForceFeedbackCommand::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGForceFeedbackCommand* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGForceFeedbackCommand* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGForceFeedbackCommand* USGForceFeedbackCommand::NewForceFeedbackCommand(UObject* Outer, + const FSGForceFeedbackCommandImpl& + ForceFeedbackCommandImpl) +{ + USGForceFeedbackCommand* Instance = NewObject(Outer); + Instance->SetFingerCommandImpl(ForceFeedbackCommandImpl); + return Instance; +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::NewForceFeedbackCommand(UObject* Outer, + TSharedRef + ForceFeedbackCommandImpl) +{ + USGForceFeedbackCommand* Instance = NewObject(Outer); + Instance->SetFingerCommandImpl(MoveTemp(ForceFeedbackCommandImpl)); + return Instance; +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::NewForceFeedbackCommand(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewForceFeedbackCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::NewForceFeedbackCommand( + UObject* Outer, const TArray& ForceFeedbackLevels) +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + FSGIC_TArray_int32 ForceFeedbackLevelsContainer{ForceFeedbackLevels}; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_ForceFeedbackLevels_MakeShared( + &OutSharedPtrContainer, &ForceFeedbackLevelsContainer); + + return NewForceFeedbackCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::NewForceFeedbackCommand( + UObject* Outer, const int32 Thumb, const int32 Index, const int32 Middle, const int32 Ring, const int32 Pinky) +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + &OutSharedPtrContainer, Thumb, Index, Middle, Ring, Pinky); + + return NewForceFeedbackCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::NewForceFeedbackCommand( + UObject* Outer, ESGFinger Finger, const int32 BuzzLevel) +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + &OutSharedPtrContainer, &FingerContainer, BuzzLevel); + + return NewForceFeedbackCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::Off(UObject* Outer) +{ + FSGIC_FSGForceFeedbackCommandImpl OutContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_Off(&OutContainer); + return NewForceFeedbackCommand(Outer, OutContainer.ForceFeedbackCommandImpl); +} + +USGForceFeedbackCommand::USGForceFeedbackCommand() + : USGFingerCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand::USGForceFeedbackCommand(const TArray& ForceFeedbackLevels) + : USGFingerCommand(ForceFeedbackLevels), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + FSGIC_TArray_int32 ForceFeedbackLevelsContainer{ForceFeedbackLevels}; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_ForceFeedbackLevels_MakeShared( + &OutSharedPtrContainer, &ForceFeedbackLevelsContainer); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand::USGForceFeedbackCommand( + const int32 Thumb, const int32 Index, const int32 Middle, const int32 Ring, const int32 Pinky) + : USGFingerCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + &OutSharedPtrContainer, Thumb, Index, Middle, Ring, Pinky); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand::USGForceFeedbackCommand(const ESGFinger Finger, const int32 BuzzLevel) + : USGFingerCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl OutSharedPtrContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + &OutSharedPtrContainer, &FingerContainer, BuzzLevel); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand::USGForceFeedbackCommand(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl) + : USGFingerCommand(ForceFeedbackCommandImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand::USGForceFeedbackCommand(TSharedRef ForceFeedbackCommandImpl) + : USGFingerCommand(MoveTemp(ForceFeedbackCommandImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand::~USGForceFeedbackCommand() = default; + +TSharedRef USGForceFeedbackCommand::ToForceFeedbackCommandImpl() const +{ + SyncImplObject(); + return FSGFingerCommandImplCast::ToForceFeedbackCommandImpl(ToFingerCommandImpl()); +} + +void USGForceFeedbackCommand::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGForceFeedbackCommand::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::Copy(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl InstanceContainer{ToForceFeedbackCommandImpl()}; + FSGIC_FSGForceFeedbackCommandImpl OutForceFeedbackCommandImplContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_Copy(&InstanceContainer, &OutForceFeedbackCommandImplContainer); + return NewForceFeedbackCommand(Outer, MoveTemp(OutForceFeedbackCommandImplContainer.ForceFeedbackCommandImpl)); +} + +USGForceFeedbackCommand* USGForceFeedbackCommand::Merge(UObject* Outer, + const USGForceFeedbackCommand* ForceFeedbackCommand) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl InstanceContainer{ToForceFeedbackCommandImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandImplContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGForceFeedbackCommandImpl OutForceFeedbackCommandImplContainer; + SGCoreImpl_FSGForceFeedbackCommandImpl_Merge(&InstanceContainer, &OutForceFeedbackCommandImplContainer, + &ForceFeedbackCommandImplContainer); + return NewForceFeedbackCommand(Outer, MoveTemp(OutForceFeedbackCommandImplContainer.ForceFeedbackCommandImpl)); +} + +USGForceFeedbackCommand::FImpl::FImpl(USGForceFeedbackCommand* InOwner) + : Owner(InOwner) +{ +} + +USGForceFeedbackCommand::FImpl::~FImpl() = default; + +void USGForceFeedbackCommand::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGForceFeedbackCommand::FImpl::SyncUProperties() +{ +} + +void USGForceFeedbackCommand::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHandInterpolator.cpp b/Source/SenseGloveCore/Private/SGCore/SGHandInterpolator.cpp new file mode 100644 index 00000000..5c3161bc --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHandInterpolator.cpp @@ -0,0 +1,503 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHandInterpolator.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGInterpolationSetImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGHandInterpolatorImpl.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_ESGFingerMovement.h" +#include "SGInterop/SGIC_ESGThumbMovement.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGHandInterpolatorImpl.h" +#include "SGInterop/SGIC_FSGInterpolationSetImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" +#include "SGUtils/SGArrayUtils.h" + +struct USGHandInterpolator::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGHandInterpolatorImpl HandInterpolatorImpl; + + /************************ + * Owner object + ************************/ + + USGHandInterpolator* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHandInterpolator* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGHandInterpolator* USGHandInterpolator::NewHandInterpolator( + UObject* Outer, const FSGHandInterpolatorImpl& HandInterpolatorImpl) +{ + USGHandInterpolator* Instance = NewObject(Outer); + Instance->SetHandInterpolatorImpl(HandInterpolatorImpl); + return Instance; +} + +USGHandInterpolator* USGHandInterpolator::NewHandInterpolator(UObject* Outer) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + SGCoreImpl_FSGHandInterpolatorImpl_ctor(&OutHandInterpolatorImplContainer); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +USGHandInterpolator* USGHandInterpolator::NewHandInterpolator( + UObject* Outer, + const TArray>& JointInterpolations) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType(JointInterpolations)}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations(&OutHandInterpolatorImplContainer, + &JointInterpolationsContainer); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +USGHandInterpolator* USGHandInterpolator::NewHandInterpolator( + UObject* Outer, + const TArray& JointInterpolations) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType< + USGInterpolationSet, FSGInterpolationSetImpl, + &USGInterpolationSet::ToInterpolationSetImpl, + FSGInterpolationSetArray, &FSGInterpolationSetArray::InterpolationSetArray>( + JointInterpolations)}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations(&OutHandInterpolatorImplContainer, + &JointInterpolationsContainer); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +USGHandInterpolator* USGHandInterpolator::NewHandInterpolator( + UObject* Outer, + const TArray>& JointInterpolations, const FQuat& CmcStartRotation) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType(JointInterpolations)}; + FSGIC_FQuat CmcStartRotationContainer{CmcStartRotation}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations_CmcStartRotation( + &OutHandInterpolatorImplContainer, &JointInterpolationsContainer, &CmcStartRotationContainer); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +USGHandInterpolator* USGHandInterpolator::NewHandInterpolator( + UObject* Outer, + const TArray& JointInterpolations, const FQuat& CmcStartRotation) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType< + USGInterpolationSet, FSGInterpolationSetImpl, + &USGInterpolationSet::ToInterpolationSetImpl, + FSGInterpolationSetArray, &FSGInterpolationSetArray::InterpolationSetArray>( + JointInterpolations)}; + FSGIC_FQuat CmcStartRotationContainer{CmcStartRotation}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations_CmcStartRotation( + &OutHandInterpolatorImplContainer, &JointInterpolationsContainer, &CmcStartRotationContainer); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +USGHandInterpolator* USGHandInterpolator::Default(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + SGCoreImpl_FSGHandInterpolatorImpl_Default(&OutHandInterpolatorImplContainer, bRightHanded); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +USGHandInterpolator* USGHandInterpolator::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGHandInterpolatorImpl_Deserialize(&OutHandInterpolatorImplContainer, &SerializedStringContainer); + + return NewHandInterpolator(Outer, MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl)); +} + +TArray USGHandInterpolator::InterpolateFingerAngles(const ESGFinger Finger, + const USGHandInterpolator* Interpolator, + const FVector& TotalGloveAngles) +{ + FSGIC_TArray_FVector OutAnglesContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + FSGIC_FVector TotalGloveAnglesContainer{TotalGloveAngles}; + SGCoreImpl_FSGHandInterpolatorImpl_InterpolateFingerAngles(&OutAnglesContainer, &FingerContainer, + &InterpolatorContainer, &TotalGloveAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray USGHandInterpolator::InterpolateThumbAngles(const USGHandInterpolator* Interpolator, + const FVector& TotalGloveAngles) +{ + FSGIC_TArray_FVector OutAnglesContainer; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + FSGIC_FVector TotalGloveAnglesContainer{TotalGloveAngles}; + SGCoreImpl_FSGHandInterpolatorImpl_InterpolateThumbAngles(&OutAnglesContainer, &InterpolatorContainer, + &TotalGloveAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray> USGHandInterpolator::InterpolateHandAngles(const USGHandInterpolator* Interpolator, + const TArray& TotalAngles) +{ + FSGIC_TArray_TArray_FVector OutAnglesContainer; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + FSGIC_TArray_FVector TotalAnglesContainer{TotalAngles}; + SGCoreImpl_FSGHandInterpolatorImpl_InterpolateHandAngles(&OutAnglesContainer, &InterpolatorContainer, + &TotalAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +USGHandInterpolator::USGHandInterpolator() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + SGCoreImpl_FSGHandInterpolatorImpl_ctor(&OutHandInterpolatorImplContainer); + + Pimpl->HandInterpolatorImpl = MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl); + Pimpl->SyncUProperties(); +} + +USGHandInterpolator::USGHandInterpolator(const TArray>& JointInterpolations) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType(JointInterpolations)}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations(&OutHandInterpolatorImplContainer, + &JointInterpolationsContainer); + + Pimpl->HandInterpolatorImpl = MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl); + Pimpl->SyncUProperties(); +} + +USGHandInterpolator::USGHandInterpolator(const TArray& JointInterpolations) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType< + USGInterpolationSet, FSGInterpolationSetImpl, + &USGInterpolationSet::ToInterpolationSetImpl, + FSGInterpolationSetArray, &FSGInterpolationSetArray::InterpolationSetArray>( + JointInterpolations)}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations(&OutHandInterpolatorImplContainer, + &JointInterpolationsContainer); + + Pimpl->HandInterpolatorImpl = MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl); + Pimpl->SyncUProperties(); +} + +USGHandInterpolator::USGHandInterpolator(const TArray>& JointInterpolations, + const FQuat& CmcStartRotation) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType(JointInterpolations)}; + FSGIC_FQuat CmcStartRotationContainer{CmcStartRotation}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations_CmcStartRotation( + &OutHandInterpolatorImplContainer, &JointInterpolationsContainer, &CmcStartRotationContainer); + + Pimpl->HandInterpolatorImpl = MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl); + Pimpl->SyncUProperties(); +} + +USGHandInterpolator::USGHandInterpolator(const TArray& JointInterpolations, + const FQuat& CmcStartRotation) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorImplContainer; + FSGIC_TArray_TArray_FSGInterpolationSetImpl JointInterpolationsContainer{ + FSGArrayUtils::ToImplType< + USGInterpolationSet, FSGInterpolationSetImpl, + &USGInterpolationSet::ToInterpolationSetImpl, + FSGInterpolationSetArray, &FSGInterpolationSetArray::InterpolationSetArray>( + JointInterpolations)}; + FSGIC_FQuat CmcStartRotationContainer{CmcStartRotation}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations_CmcStartRotation( + &OutHandInterpolatorImplContainer, &JointInterpolationsContainer, &CmcStartRotationContainer); + + Pimpl->HandInterpolatorImpl = MoveTemp(OutHandInterpolatorImplContainer.HandInterpolatorImpl); + Pimpl->SyncUProperties(); +} + +USGHandInterpolator::USGHandInterpolator(const FSGHandInterpolatorImpl& HandInterpolatorImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetHandInterpolatorImpl(HandInterpolatorImpl); + Pimpl->SyncUProperties(); +} + +USGHandInterpolator::~USGHandInterpolator() = default; + +void USGHandInterpolator::SetHandInterpolatorImpl(const FSGHandInterpolatorImpl& HandInterpolatorImpl) +{ + FSGIC_FSGHandInterpolatorImpl OutHandInterpolatorContainer; + FSGIC_FSGHandInterpolatorImpl RhsContainer{HandInterpolatorImpl}; + SGCoreImpl_FSGHandInterpolatorImpl_ctor_copy(&OutHandInterpolatorContainer, &RhsContainer); + Pimpl->HandInterpolatorImpl = MoveTemp(OutHandInterpolatorContainer.HandInterpolatorImpl); +} + +const FSGHandInterpolatorImpl& USGHandInterpolator::ToHandInterpolatorImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->HandInterpolatorImpl; +} + +TArray> USGHandInterpolator::GetJointInterpolations(UObject* Outer) const +{ + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_TArray_TArray_FSGInterpolationSetImpl OutInterpolationsContainer; + SGCoreImpl_FSGHandInterpolatorImpl_GetJointInterpolations(&InstanceContainer, &OutInterpolationsContainer); + + TArray> JointInterpolations{ + FSGArrayUtils::FromImplType( + Outer, MoveTemp(OutInterpolationsContainer.Array)) + }; + + return JointInterpolations; +} + +FQuat USGHandInterpolator::GetCmcStartRotation() const +{ + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGHandInterpolatorImpl_GetCmcStartRotation(&InstanceContainer, &OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +float USGHandInterpolator::CalculateAngle(const ESGFinger Finger, const int32 Movement, const float Value) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + const float Angle = SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_int32Movement_Value( + &InstanceContainer, &FingerContainer, Movement, Value); + return Angle; +} + +float USGHandInterpolator::CalculateAngle(const ESGFinger Finger, const ESGFingerMovement Movement, + const float Value) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_ESGFingerMovement MovementContainer{Movement}; + const float Angle = SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_ESGFingerMovement_Value( + &InstanceContainer, &FingerContainer, &MovementContainer, Value); + return Angle; +} + +float USGHandInterpolator::CalculateAngle(const ESGFinger Finger, const ESGThumbMovement Movement, + const float Value) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_ESGThumbMovement MovementContainer{Movement}; + const float Angle = SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_ESGThumbMovement_Value( + &InstanceContainer, &FingerContainer, &MovementContainer, Value); + return Angle; +} + +void USGHandInterpolator::SetInterpolation(const int32 Finger, const int32 Movement, const float InputAt0, + const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_int32Finger_int32Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + &InstanceContainer, Finger, Movement, InputAt0, InputAt1, AngleAt0, AngleAt1); + + Pimpl->SyncUProperties(); +} + +void USGHandInterpolator::SetInterpolation(const ESGFinger Finger, const ESGFingerMovement Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, + const float AngleAt1) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_ESGFingerMovement MovementContainer{Movement}; + SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_ESGFinger_ESGFingerMovement_InputAt0_InputAt1_AngleAt0_AngleAt1( + &InstanceContainer, &FingerContainer, &MovementContainer, InputAt0, InputAt1, AngleAt0, AngleAt1); + + Pimpl->SyncUProperties(); +} + +void USGHandInterpolator::SetInterpolation(const ESGThumbMovement Movement, const float InputAt0, const float InputAt1, + const float AngleAt0, const float AngleAt1) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_ESGThumbMovement MovementContainer{Movement}; + SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + &InstanceContainer, &MovementContainer, InputAt0, InputAt1, AngleAt0, AngleAt1); + + Pimpl->SyncUProperties(); +} + +USGInterpolationSet* USGHandInterpolator::GetInterpolation(UObject* Outer, + const int32 Finger, const int32 Movement) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_FSGInterpolationSetImpl OutInterpolationContainer; + SGCoreImpl_FSGHandInterpolatorImpl_GetInterpolation(&InstanceContainer, &OutInterpolationContainer, Finger, + Movement); + return USGInterpolationSet::NewInterpolationSet(Outer, MoveTemp(OutInterpolationContainer.InterpolationSetImpl)); +} + +bool USGHandInterpolator::Equals(const USGHandInterpolator* HandInterpolator) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_FSGHandInterpolatorImpl HandInterpolatorContainer{HandInterpolator->ToHandInterpolatorImpl()}; + const bool bEquals = SGCoreImpl_FSGHandInterpolatorImpl_Equals(&InstanceContainer, &HandInterpolatorContainer); + return bEquals; +} + +FString USGHandInterpolator::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandInterpolatorImpl InstanceContainer{ToHandInterpolatorImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGHandInterpolatorImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGHandInterpolator::FImpl::FImpl(USGHandInterpolator* InOwner) + : Owner(InOwner) +{ +} + +USGHandInterpolator::FImpl::~FImpl() = default; + +void USGHandInterpolator::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHandInterpolator::FImpl::SyncUProperties() +{ +} + +void USGHandInterpolator::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHandPose.cpp b/Source/SenseGloveCore/Private/SGCore/SGHandPose.cpp new file mode 100644 index 00000000..b3c48c0d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHandPose.cpp @@ -0,0 +1,432 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHandPose.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGHandPoseImpl.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_float.h" +#include "SGInterop/SGIC_TArray_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" + +struct USGHandPose::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGHandPoseImpl HandPoseImpl; + + /************************ + * Owner object + ************************/ + + USGHandPose* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHandPose* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGHandPose* USGHandPose::NewHandPose(UObject* Outer, const FSGHandPoseImpl& HandPoseImpl) +{ + USGHandPose* Instance = NewObject(Outer); + Instance->SetHandPoseImpl(HandPoseImpl); + return Instance; +} + +USGHandPose* USGHandPose::NewHandPose(UObject* Outer) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + SGCoreImpl_FSGHandPoseImpl_ctor(&OutHandPoseImplContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::NewHandPose( + UObject* Outer, + const bool bRightHanded, const TArray>& JointPositions, const TArray>& JointRotations, + const TArray>& HandAngles) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{JointPositions}; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{JointRotations}; + FSGIC_TArray_TArray_FVector HandAnglesContainer{HandAngles}; + SGCoreImpl_FSGHandPoseImpl_ctor_bRightHanded_JointPositions_JointRotations_HandAngles( + &OutHandPoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &HandAnglesContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::NewHandPose( + UObject* Outer, + const bool bRightHanded, const TArray& JointPositions, const TArray& JointRotations, + const TArray& HandAngles) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{ + FSGArrayUtils::FromBPNestedArray(JointPositions) + }; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{ + FSGArrayUtils::FromBPNestedArray(JointRotations) + }; + FSGIC_TArray_TArray_FVector HandAnglesContainer{ + FSGArrayUtils::FromBPNestedArray(HandAngles) + }; + SGCoreImpl_FSGHandPoseImpl_ctor_bRightHanded_JointPositions_JointRotations_HandAngles( + &OutHandPoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &HandAnglesContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGHandPoseImpl_Deserialize(&OutHandPoseImplContainer, &SerializedStringContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::FromHandAngles(UObject* Outer, + const TArray>& HandAngles, const bool bRightHanded, + const USGBasicHandModel* HandDimensions) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_TArray_TArray_FVector HandAnglesContainer{HandAngles}; + FSGIC_FSGBasicHandModelImpl HandDimensionsContainer{HandDimensions->ToBasicHandModelImpl()}; + SGCoreImpl_FSGHandPoseImpl_FromHandAngles_HandAngles_bRightHanded_HandDimensions( + &OutHandPoseImplContainer, &HandAnglesContainer, bRightHanded, &HandAnglesContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::FromHandAngles(UObject* Outer, + const TArray>& HandAngles, const bool bRightHanded) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_TArray_TArray_FVector HandAnglesContainer{HandAngles}; + SGCoreImpl_FSGHandPoseImpl_FromHandAngles_HandAngles_bRightHanded( + &OutHandPoseImplContainer, &HandAnglesContainer, bRightHanded); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::DefaultIdle(UObject* Outer, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_FSGBasicHandModelImpl HandDimensionsContainer{HandDimensions->ToBasicHandModelImpl()}; + SGCoreImpl_FSGHandPoseImpl_DefaultIdle_bRightHanded_HandDimensions( + &OutHandPoseImplContainer, bRightHanded, &HandDimensionsContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::DefaultIdle(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + SGCoreImpl_FSGHandPoseImpl_DefaultIdle_bRightHanded(&OutHandPoseImplContainer, bRightHanded); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::FlatHand(UObject* Outer, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_FSGBasicHandModelImpl HandDimensionsContainer{HandDimensions->ToBasicHandModelImpl()}; + SGCoreImpl_FSGHandPoseImpl_FlatHand_bRightHanded_HandDimensions( + &OutHandPoseImplContainer, bRightHanded, &HandDimensionsContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::FlatHand(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + SGCoreImpl_FSGHandPoseImpl_FlatHand_bRightHanded(&OutHandPoseImplContainer, bRightHanded); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::ThumbsUp(UObject* Outer, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_FSGBasicHandModelImpl HandDimensionsContainer{HandDimensions->ToBasicHandModelImpl()}; + SGCoreImpl_FSGHandPoseImpl_ThumbsUp_bRightHanded_HandDimensions( + &OutHandPoseImplContainer, bRightHanded, &HandDimensionsContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::ThumbsUp(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + SGCoreImpl_FSGHandPoseImpl_ThumbsUp_bRightHanded(&OutHandPoseImplContainer, bRightHanded); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::Fist(UObject* Outer, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_FSGBasicHandModelImpl HandDimensionsContainer{HandDimensions->ToBasicHandModelImpl()}; + SGCoreImpl_FSGHandPoseImpl_Fist_bRightHanded_HandDimensions( + &OutHandPoseImplContainer, bRightHanded, &HandDimensionsContainer); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose* USGHandPose::Fist(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + SGCoreImpl_FSGHandPoseImpl_Fist_bRightHanded(&OutHandPoseImplContainer, bRightHanded); + + return NewHandPose(Outer, MoveTemp(OutHandPoseImplContainer.HandPoseImpl)); +} + +USGHandPose::USGHandPose() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + SGCoreImpl_FSGHandPoseImpl_ctor(&OutHandPoseImplContainer); + + Pimpl->HandPoseImpl = MoveTemp(OutHandPoseImplContainer.HandPoseImpl); + Pimpl->SyncUProperties(); +} + +USGHandPose::USGHandPose(const bool bRightHanded, const TArray>& JointPositions, + const TArray>& JointRotations, const TArray>& HandAngles) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{JointPositions}; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{JointRotations}; + FSGIC_TArray_TArray_FVector HandAnglesContainer{HandAngles}; + SGCoreImpl_FSGHandPoseImpl_ctor_bRightHanded_JointPositions_JointRotations_HandAngles( + &OutHandPoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &HandAnglesContainer); + + Pimpl->HandPoseImpl = MoveTemp(OutHandPoseImplContainer.HandPoseImpl); + Pimpl->SyncUProperties(); +} + +USGHandPose::USGHandPose(const bool bRightHanded, const TArray& JointPositions, + const TArray& JointRotations, const TArray& HandAngles) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandPoseImpl OutHandPoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{ + FSGArrayUtils::FromBPNestedArray(JointPositions) + }; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{ + FSGArrayUtils::FromBPNestedArray(JointRotations) + }; + FSGIC_TArray_TArray_FVector HandAnglesContainer{ + FSGArrayUtils::FromBPNestedArray(HandAngles) + }; + SGCoreImpl_FSGHandPoseImpl_ctor_bRightHanded_JointPositions_JointRotations_HandAngles( + &OutHandPoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &HandAnglesContainer); + + Pimpl->HandPoseImpl = MoveTemp(OutHandPoseImplContainer.HandPoseImpl); + Pimpl->SyncUProperties(); +} + +USGHandPose::USGHandPose(const FSGHandPoseImpl& HandPoseImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetHandPoseImpl(HandPoseImpl); + Pimpl->SyncUProperties(); +} + +USGHandPose::~USGHandPose() = default; + +void USGHandPose::SetHandPoseImpl(const FSGHandPoseImpl& HandPoseImpl) +{ + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + FSGIC_FSGHandPoseImpl RhsContainer{HandPoseImpl}; + SGCoreImpl_FSGHandPoseImpl_ctor_copy(&OutHandPoseContainer, &RhsContainer); + Pimpl->HandPoseImpl = MoveTemp(OutHandPoseContainer.HandPoseImpl); +} + +const FSGHandPoseImpl& USGHandPose::ToHandPoseImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->HandPoseImpl; +} + +bool USGHandPose::IsRight() const +{ + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + return SGCoreImpl_FSGHandPoseImpl_IsRight(&InstanceContainer); +} + +TArray> USGHandPose::GetJointPositions() const +{ + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_TArray_TArray_FVector OutPositionsContainer; + SGCoreImpl_FSGHandPoseImpl_GetJointPositions(&InstanceContainer, &OutPositionsContainer); + return MoveTemp(OutPositionsContainer.Array); +} + +TArray> USGHandPose::GetJointRotations() const +{ + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_TArray_TArray_FQuat OutRotationsContainer; + SGCoreImpl_FSGHandPoseImpl_GetJointRotations(&InstanceContainer, &OutRotationsContainer); + return MoveTemp(OutRotationsContainer.Array); +} + +TArray> USGHandPose::GetHandAngles() const +{ + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_TArray_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGHandPoseImpl_GetHandAngles(&InstanceContainer, &OutAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +bool USGHandPose::Equals(const USGHandPose* HandPose) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_FSGHandPoseImpl HandPoseContainer{HandPose->ToHandPoseImpl()}; + return SGCoreImpl_FSGHandPoseImpl_Equals(&InstanceContainer, &HandPoseContainer); +} + +float USGHandPose::GetNormalizedFlexion(const ESGFinger Finger, const bool bClamp01) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + return SGCoreImpl_FSGHandPoseImpl_GetNormalizedFlexion_Finger_bClamp01( + &InstanceContainer, &FingerContainer, bClamp01); +} + +TArray USGHandPose::GetNormalizedFlexion(const bool bClamp01) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_TArray_float OutFlexionContainer; + SGCoreImpl_FSGHandPoseImpl_GetNormalizedFlexion_bClamp01(&InstanceContainer, &OutFlexionContainer, bClamp01); + return MoveTemp(OutFlexionContainer.Array); +} + +FString USGHandPose::ToString(const bool bShortFormat) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGHandPoseImpl_ToString(&InstanceContainer, &OutStringContainer, bShortFormat); + return MoveTemp(OutStringContainer.String); +} + +FString USGHandPose::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandPoseImpl InstanceContainer{ToHandPoseImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGHandPoseImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGHandPose::FImpl::FImpl(USGHandPose* InOwner) + : Owner(InOwner) +{ +} + +USGHandPose::FImpl::~FImpl() = default; + +void USGHandPose::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHandPose::FImpl::SyncUProperties() +{ +} + +void USGHandPose::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHandProfile.cpp b/Source/SenseGloveCore/Private/SGCore/SGHandProfile.cpp new file mode 100644 index 00000000..19b630a3 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHandProfile.cpp @@ -0,0 +1,324 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHandProfile.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FString.h" + +struct USGHandProfile::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGHandProfileImpl HandProfileImpl; + + /************************ + * Owner object + ************************/ + + USGHandProfile* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHandProfile* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGHandProfile* USGHandProfile::NewHandProfile(UObject* Outer, const FSGHandProfileImpl& HandProfileImpl) +{ + USGHandProfile* Instance = NewObject(Outer); + Instance->SetHandProfileImpl(HandProfileImpl); + return Instance; +} + +USGHandProfile* USGHandProfile::NewHandProfile(UObject* Outer) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + SGCoreImpl_FSGHandProfileImpl_ctor(&OutHandProfileImplContainer); + + return NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +USGHandProfile* USGHandProfile::NewHandProfile(UObject* Outer, const bool bRightHanded, + const USGSenseGloveHandProfile* SenseGloveHandProfile, + const USGNovaGloveHandProfile* NovaGloveHandProfile) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + FSGIC_FSGSenseGloveHandProfileImpl SenseGloveHandProfileContainer + {SenseGloveHandProfile->ToSenseGloveHandProfileImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl NovaGloveHandProfileContainer + {NovaGloveHandProfile->ToNovaGloveHandProfileImpl()}; + SGCoreImpl_FSGHandProfileImpl_ctor_bRightHanded_SenseGloveHandProfile_NovaGloveHandProfile( + &OutHandProfileImplContainer, bRightHanded, &SenseGloveHandProfileContainer, &NovaGloveHandProfileContainer); + + return NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +USGHandProfile* USGHandProfile::Default(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + SGCoreImpl_FSGHandProfileImpl_Default(&OutHandProfileImplContainer, bRightHanded); + + return NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +USGHandProfile* USGHandProfile::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGHandProfileImpl_Deserialize(&OutHandProfileImplContainer, + &SerializedStringContainer); + + return NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +FString USGHandProfile::GetProfileDirectory() +{ + FSGIC_FString OutDirectoryContainer; + SGCoreImpl_FSGHandProfileImpl_GetProfileDirectory(&OutDirectoryContainer); + return MoveTemp(OutDirectoryContainer.String); +} + +FString USGHandProfile::GetLeftHandFileName() +{ + FSGIC_FString OutFileName; + SGCoreImpl_FSGHandProfileImpl_GetLeftHandFileName(&OutFileName); + return MoveTemp(OutFileName.String); +} + +FString USGHandProfile::GetRightHandFileName() +{ + FSGIC_FString OutFileName; + SGCoreImpl_FSGHandProfileImpl_GetRightHandFileName(&OutFileName); + return MoveTemp(OutFileName.String); +} + +FString USGHandProfile::GetProfileFileName(const bool bRightHanded) +{ + FSGIC_FString OutFileName; + SGCoreImpl_FSGHandProfileImpl_GetProfileFileName(&OutFileName, bRightHanded); + return MoveTemp(OutFileName.String); +} + +bool USGHandProfile::GetLatestProfile(UObject* Outer, const bool bRightHanded, USGHandProfile*& OutLatestProfile) +{ + FSGIC_FSGHandProfileImpl OutLatestProfileContainer; + const bool bResult = SGCoreImpl_FSGHandProfileImpl_GetLatestProfile(bRightHanded, &OutLatestProfileContainer); + if (bResult) + { + OutLatestProfile = NewHandProfile(Outer, MoveTemp(OutLatestProfileContainer.HandProfileImpl)); + } + return bResult; +} + +bool USGHandProfile::StoreProfile(const USGHandProfile* ProfileToStore) +{ + FSGIC_FSGHandProfileImpl ProfileToStoreContainer{ProfileToStore->ToHandProfileImpl()}; + return SGCoreImpl_FSGHandProfileImpl_StoreProfile(&ProfileToStoreContainer); +} + +bool USGHandProfile::ResetCalibration(const bool bRightHanded, const bool bOnDisk) +{ + return SGCoreImpl_FSGHandProfileImpl_ResetCalibration_bRightHanded_bOnDisk(bRightHanded, bOnDisk); +} + +void USGHandProfile::ResetCalibration(const bool bOnDisk) +{ + return SGCoreImpl_FSGHandProfileImpl_ResetCalibration_bOnDisk(bOnDisk); +} + +USGHandProfile::USGHandProfile() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + SGCoreImpl_FSGHandProfileImpl_ctor(&OutHandProfileImplContainer); + + Pimpl->HandProfileImpl = MoveTemp(OutHandProfileImplContainer.HandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGHandProfile::USGHandProfile(const bool bRightHanded, + const USGSenseGloveHandProfile* SenseGloveHandProfile, + const USGNovaGloveHandProfile* NovaGloveHandProfile) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + FSGIC_FSGSenseGloveHandProfileImpl SenseGloveHandProfileContainer + {SenseGloveHandProfile->ToSenseGloveHandProfileImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl NovaGloveHandProfileContainer + {NovaGloveHandProfile->ToNovaGloveHandProfileImpl()}; + SGCoreImpl_FSGHandProfileImpl_ctor_bRightHanded_SenseGloveHandProfile_NovaGloveHandProfile( + &OutHandProfileImplContainer, bRightHanded, &SenseGloveHandProfileContainer, &NovaGloveHandProfileContainer); + + Pimpl->HandProfileImpl = MoveTemp(OutHandProfileImplContainer.HandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGHandProfile::USGHandProfile(const FSGHandProfileImpl& HandProfileImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetHandProfileImpl(HandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGHandProfile::~USGHandProfile() = default; + +void USGHandProfile::SetHandProfileImpl(const FSGHandProfileImpl& HandProfileImpl) +{ + FSGIC_FSGHandProfileImpl OutHandProfileContainer; + FSGIC_FSGHandProfileImpl RhsContainer{HandProfileImpl}; + SGCoreImpl_FSGHandProfileImpl_ctor_copy(&OutHandProfileContainer, &RhsContainer); + Pimpl->HandProfileImpl = MoveTemp(OutHandProfileContainer.HandProfileImpl); +} + +const FSGHandProfileImpl& USGHandProfile::ToHandProfileImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->HandProfileImpl; +} + +bool USGHandProfile::IsRight() const +{ + FSGIC_FSGHandProfileImpl InstanceContainer{ToHandProfileImpl()}; + return SGCoreImpl_FSGHandProfileImpl_IsRight(&InstanceContainer); +} + +USGSenseGloveHandProfile* USGHandProfile::GetSenseGloveHandProfile(UObject* Outer) const +{ + FSGIC_FSGHandProfileImpl InstanceContainer{ToHandProfileImpl()}; + FSGIC_FSGSenseGloveHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGHandProfileImpl_GetSenseGloveHandProfile(&InstanceContainer, &OutProfileContainer); + + return USGSenseGloveHandProfile::NewSenseGloveHandProfile( + Outer, MoveTemp(OutProfileContainer.SenseGloveHandProfileImpl)); +} + +USGNovaGloveHandProfile* USGHandProfile::GetNovaGloveHandProfile(UObject* Outer) const +{ + FSGIC_FSGHandProfileImpl InstanceContainer{ToHandProfileImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGHandProfileImpl_GetNovaGloveHandProfile(&InstanceContainer, &OutProfileContainer); + + return USGNovaGloveHandProfile::NewNovaGloveHandProfile( + Outer, MoveTemp(OutProfileContainer.NovaGloveHandProfileImpl)); +} + +bool USGHandProfile::Equals(const USGHandProfile* HandProfile) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandProfileImpl InstanceContainer{ToHandProfileImpl()}; + FSGIC_FSGHandProfileImpl HandProfileContainer{HandProfile->ToHandProfileImpl()}; + return SGCoreImpl_FSGHandProfileImpl_Equals(&InstanceContainer, &HandProfileContainer); +} + +void USGHandProfile::Reset() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandProfileImpl InstanceContainer{ToHandProfileImpl()}; + SGCoreImpl_FSGHandProfileImpl_Reset(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +FString USGHandProfile::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHandProfileImpl InstanceContainer{ToHandProfileImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGHandProfileImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGHandProfile::FImpl::FImpl(USGHandProfile* InOwner) + : Owner(InOwner) +{ +} + +USGHandProfile::FImpl::~FImpl() = default; + +void USGHandProfile::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHandProfile::FImpl::SyncUProperties() +{ +} + +void USGHandProfile::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGlove.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGlove.cpp new file mode 100644 index 00000000..fe2f101a --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGlove.cpp @@ -0,0 +1,672 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGlove.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGDeviceImplCast.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_ESGPositionalTrackingHardware.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" + +struct USGHapticGlove::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGDevice* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHapticGlove* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGHapticGlove* USGHapticGlove::NewHapticGlove(UObject* Outer, const FSGHapticGloveImpl& HapticGloveImpl) +{ + USGHapticGlove* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(HapticGloveImpl); + return Instance; +} + +USGHapticGlove* USGHapticGlove::NewHapticGlove(UObject* Outer, TSharedRef HapticGloveImpl) +{ + USGHapticGlove* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(MoveTemp(HapticGloveImpl)); + return Instance; +} + +USGHapticGlove* USGHapticGlove::NewHapticGlove(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGBetaDeviceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewHapticGlove(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +TArray USGHapticGlove::GetHapticGloves(UObject* Outer) +{ + FSGIC_TArray_TSharedRef_FSGHapticGloveImpl OutGlovesContainer; + SGCoreImpl_FSGHapticGloveImpl_GetHapticGloves(&OutGlovesContainer); + TArray HapticGloves; + for (TSharedRef HapticGloveImpl: OutGlovesContainer.Array) + { + HapticGloves.Add(NewHapticGlove(Outer, MoveTemp(HapticGloveImpl))); + } + return HapticGloves; +} + +bool USGHapticGlove::GetGlove(UObject* Outer, USGHapticGlove*& OutGlove) +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl OutGloveContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetGlove_OutGlove(&OutGloveContainer); + + if (bResult) + { + OutGlove = NewHapticGlove(Outer, OutGloveContainer.Ptr.ToSharedRef()); + } + + return bResult; +} + +bool USGHapticGlove::GetGlove(UObject* Outer, const bool bRightHanded, USGHapticGlove*& OutGlove) +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl OutGloveContainer; + + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetGlove_bRightHanded_OutGlove(bRightHanded, &OutGloveContainer); + if (bResult) + { + OutGlove = NewHapticGlove(Outer, OutGloveContainer.Ptr.ToSharedRef()); + } + + return bResult; +} + +USGHapticGlove::USGHapticGlove() + : USGDevice(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGBetaDeviceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(const FSGDeviceImpl& SGDeviceImpl) + : USGDevice(SGDeviceImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(const FSGHapticGloveImpl& HapticGloveImpl) + : USGDevice(HapticGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(const FSGNovaGloveImpl& NovaGloveImpl) + : USGDevice(NovaGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(const FSGSenseGloveImpl& SenseGloveImpl) + : USGDevice(SenseGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(TSharedRef SGDeviceImpl) + : USGDevice(MoveTemp(SGDeviceImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(TSharedRef HapticGloveImpl) + : USGDevice(MoveTemp(HapticGloveImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(TSharedRef NovaGloveImpl) + : USGDevice(MoveTemp(NovaGloveImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::USGHapticGlove(TSharedRef SenseGloveImpl) + : USGDevice(MoveTemp(SenseGloveImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove::~USGHapticGlove() = default; + +TSharedRef USGHapticGlove::ToHapticGloveImpl() const +{ + SyncImplObject(); + return FSGDeviceImplCast::ToHapticGloveImpl(ToSGDeviceImpl()); +} + +void USGHapticGlove::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGHapticGlove::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +ESGDeviceType USGHapticGlove::GetDeviceType() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_ESGDeviceType OutTypeContainer; + SGCoreImpl_FSGHapticGloveImpl_GetDeviceType(&InstanceContainer, &OutTypeContainer); + return OutTypeContainer.Type; +} + +FString USGHapticGlove::GetDeviceId() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGHapticGloveImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGHapticGlove::GetHardwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FString OutVersionContainer; + SGCoreImpl_FSGHapticGloveImpl_GetHardwareVersion(&InstanceContainer, &OutVersionContainer); + return MoveTemp(OutVersionContainer.String); +} + +int32 USGHapticGlove::GetFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + return SGCoreImpl_FSGHapticGloveImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGHapticGlove::GetSubFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + return SGCoreImpl_FSGHapticGloveImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +bool USGHapticGlove::IsRight() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + return SGCoreImpl_FSGHapticGloveImpl_IsRight(&InstanceContainer); +} + +bool USGHapticGlove::GetImuRotation(FQuat& OutImu) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FQuat OutImuContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetImuRotation(&InstanceContainer, &OutImuContainer); + + SyncUProperties(); + + if (bResult) + { + OutImu = MoveTemp(OutImuContainer.Quat); + } + + return bResult; +} + +bool USGHapticGlove::GetHandPose( + UObject* Outer, + const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGBasicHandModelImpl HandGeometryContainer{HandGeometry->ToBasicHandModelImpl()}; + FSGIC_FSGHandProfileImpl HandProfileContainer{HandProfile->ToHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + &InstanceContainer, &HandGeometryContainer, &HandProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGHapticGlove::GetHandPose(UObject* Outer, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGHandProfileImpl HandProfileContainer{HandProfile->ToHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandProfile_OutHandPose( + &InstanceContainer, &HandProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGHapticGlove::GetHandPose(UObject* Outer, const USGBasicHandModel* HandGeometry, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGBasicHandModelImpl HandGeometryContainer{HandGeometry->ToBasicHandModelImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandGeometry_OutHandPose( + &InstanceContainer, &HandGeometryContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGHapticGlove::GetHandPose(UObject* Outer, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetHandPose_OutHandPose( + &InstanceContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +void USGHapticGlove::StopHaptics() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveImpl_StopHaptics(&InstanceContainer); + + SyncUProperties(); +} + +void USGHapticGlove::StopVibrations() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveImpl_StopVibrations(&InstanceContainer); + + SyncUProperties(); +} + +void USGHapticGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand(&InstanceContainer, &ForceFeedbackCommandContainer); + + SyncUProperties(); +} + +void USGHapticGlove::SendHaptics(const USGBuzzCommand* BuzzCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + SGCoreImpl_FSGHapticGloveImpl_SendHaptics_BuzzCommand(&InstanceContainer, &BuzzCommandContainer); + + SyncUProperties(); +} + +void USGHapticGlove::SendHaptics(const USGThumperCommand* ThumperCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGThumperCommandImpl ThumperCommandContainer{ThumperCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ThumperCommand(&InstanceContainer, &ThumperCommandContainer); + + SyncUProperties(); +} + +void USGHapticGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand( + &InstanceContainer, &ForceFeedbackCommandContainer, &BuzzCommandContainer); + + SyncUProperties(); +} + +void USGHapticGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + FSGIC_FSGThumperCommandImpl ThumperCommandContainer{ThumperCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + &InstanceContainer, &ForceFeedbackCommandContainer, &BuzzCommandContainer, &ThumperCommandContainer); + + SyncUProperties(); +} + +bool USGHapticGlove::GetCalibrationValues(TArray& OutValues) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_TArray_FVector OutValuesContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveImpl_GetCalibrationValues(&InstanceContainer, &OutValuesContainer); + + SyncUProperties(); + + if (bResult) + { + OutValues = MoveTemp(OutValuesContainer.Array); + } + + return bResult; +} + +void USGHapticGlove::ResetCalibrationRange() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveImpl_ResetCalibrationRange(&InstanceContainer); + + SyncUProperties(); +} + +void USGHapticGlove::UpdateCalibrationRange() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveImpl_UpdateCalibrationRange(&InstanceContainer); + + SyncUProperties(); +} + +void USGHapticGlove::UpdateCalibrationRange(const TArray& CalibrationValues) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_TArray_FVector CalibrationValuesContainer{CalibrationValues}; + SGCoreImpl_FSGHapticGloveImpl_UpdateCalibrationRange_CalibrationValues( + &InstanceContainer, &CalibrationValuesContainer); + + SyncUProperties(); +} + +void USGHapticGlove::GetCalibrationRange(TArray& OutMinValues, TArray& OutMaxValues) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_TArray_FVector OutMinValuesContainer; + FSGIC_TArray_FVector OutMaxValuesContainer; + SGCoreImpl_FSGHapticGloveImpl_GetCalibrationRange(&InstanceContainer, &OutMinValues, &OutMaxValues); + + SyncUProperties(); + + OutMinValues = MoveTemp(OutMinValuesContainer.Array); + OutMaxValues = MoveTemp(OutMaxValuesContainer.Array); +} + +void USGHapticGlove::UpdateCalibration(UObject* Outer, USGHandProfile*& OutProfile) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGHapticGloveImpl_UpdateCalibration(&InstanceContainer, &OutProfileContainer); + + SyncUProperties(); + + OutProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); +} + +void USGHapticGlove::ApplyCalibration(UObject* Outer, USGHandProfile*& OutProfile) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGHapticGloveImpl_ApplyCalibration(&InstanceContainer, &OutProfileContainer); + + OutProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); +} + +void USGHapticGlove::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutWristPositionContainer; + FSGIC_FQuat OutWristRotationContainer; + SGCoreImpl_FSGHapticGloveImpl_GetWristLocation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &OutWristPositionContainer, &OutWristRotationContainer); + + OutWristPosition = MoveTemp(OutWristPositionContainer.Vector); + OutWristRotation = MoveTemp(OutWristRotationContainer.Quat); +} + +void USGHapticGlove::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveImpl InstanceContainer{ToHapticGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutGlovePositionContainer; + FSGIC_FQuat OutGloveRotationContainer; + + SGCoreImpl_FSGHapticGloveImpl_GetGloveLocation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &OutGlovePositionContainer, &OutGloveRotationContainer); + + OutGlovePosition = MoveTemp(OutGlovePositionContainer.Vector); + OutGloveRotation = MoveTemp(OutGloveRotationContainer.Quat); +} + +USGHapticGlove::FImpl::FImpl(USGHapticGlove* InOwner) + : Owner(InOwner) +{ +} + +USGHapticGlove::FImpl::~FImpl() = default; + +void USGHapticGlove::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHapticGlove::FImpl::SyncUProperties() +{ +} + +void USGHapticGlove::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationCheck.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationCheck.cpp new file mode 100644 index 00000000..42feb34d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationCheck.cpp @@ -0,0 +1,311 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveCalibrationCheck.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGCalibrationStage.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h" +#include "SGInterop/SGIC_FSGSensorRangeImpl.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGUtils/SGArrayUtils.h" + +struct USGHapticGloveCalibrationCheck::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGHapticGloveCalibrationCheckImpl HapticGloveCalibrationCheckImpl; + + /************************ + * Owner object + ************************/ + + USGHapticGloveCalibrationCheck* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHapticGloveCalibrationCheck* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGHapticGloveCalibrationCheck* USGHapticGloveCalibrationCheck::NewHapticGloveCalibrationCheck( + UObject* Outer, const FSGHapticGloveCalibrationCheckImpl& HapticGloveCalibrationCheckImpl) +{ + USGHapticGloveCalibrationCheck* Instance = NewObject(Outer); + Instance->SetHapticGloveCalibrationCheckImpl(HapticGloveCalibrationCheckImpl); + return Instance; +} + +USGHapticGloveCalibrationCheck* USGHapticGloveCalibrationCheck::NewHapticGloveCalibrationCheck(UObject* Outer) +{ + FSGIC_FSGHapticGloveCalibrationCheckImpl OutHapticGloveCalibrationCheckImplContainer; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor(&OutHapticGloveCalibrationCheckImplContainer); + + return NewHapticGloveCalibrationCheck( + Outer, MoveTemp(OutHapticGloveCalibrationCheckImplContainer.HapticGloveCalibrationCheckImpl)); +} + +USGHapticGloveCalibrationCheck* USGHapticGloveCalibrationCheck::NewHapticGloveCalibrationCheck( + UObject* Outer, const USGSensorRange* LastCalibrationRange) +{ + FSGIC_FSGHapticGloveCalibrationCheckImpl OutHapticGloveCalibrationCheckImplContainer; + FSGIC_FSGSensorRangeImpl LastCalibrationRangeContainer{LastCalibrationRange->ToSensorRangeImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_LastCalibrationRange( + &OutHapticGloveCalibrationCheckImplContainer, &LastCalibrationRangeContainer); + + return NewHapticGloveCalibrationCheck( + Outer, MoveTemp(OutHapticGloveCalibrationCheckImplContainer.HapticGloveCalibrationCheckImpl)); +} + +float USGHapticGloveCalibrationCheck::GetSenseGloveThreshold() +{ + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveThreshold(); +} + +float USGHapticGloveCalibrationCheck::GetNovaGloveThreshold() +{ + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveThreshold(); +} + +float USGHapticGloveCalibrationCheck::GetSenseGloveMinFlexion() +{ + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveMinFlexion(); +} + +float USGHapticGloveCalibrationCheck::GetNovaGloveMinFlexion() +{ + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveMinFlexion(); +} + +float USGHapticGloveCalibrationCheck::GetSenseGloveMinAbduction() +{ + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveMinAbduction(); +} + +float USGHapticGloveCalibrationCheck::GetNovaGloveMinAbduction() +{ + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveMinAbduction(); +} + +bool USGHapticGloveCalibrationCheck::NeedsCheck(const ESGDeviceType DeviceType) +{ + FSGIC_ESGDeviceType DeviceTypeContainer{DeviceType}; + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_NeedsCheck(&DeviceTypeContainer); +} + +int32 USGHapticGloveCalibrationCheck::OutOfBounds( + const USGSensorRange* PreviousRange, const TArray& CurrentValues, const ESGDeviceType DeviceType) +{ + FSGIC_FSGSensorRangeImpl PreviousRangeContainer{PreviousRange->ToSensorRangeImpl()}; + FSGIC_TArray_FVector CurrentValuesContainer{CurrentValues}; + FSGIC_ESGDeviceType DeviceTypeContainer{DeviceType}; + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_OutOfBounds( + &PreviousRangeContainer, &CurrentValuesContainer, &DeviceTypeContainer); +} + +bool USGHapticGloveCalibrationCheck::MovedMinimum(const TArray& CurrentRange, const ESGDeviceType DeviceType) +{ + FSGIC_TArray_FVector CurrentRangeContainer{CurrentRange}; + FSGIC_ESGDeviceType DeviceTypeContainer{DeviceType}; + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_MovedMinimum(&CurrentRangeContainer, &DeviceTypeContainer); +} + +bool USGHapticGloveCalibrationCheck::MatchesLast(const TArray& CurrentRange, const TArray& LastRange, + const ESGDeviceType DeviceType) +{ + FSGIC_TArray_FVector CurrentRangeContainer{CurrentRange}; + FSGIC_TArray_FVector LastRangeContainer{LastRange}; + FSGIC_ESGDeviceType DeviceTypeContainer{DeviceType}; + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_MatchesLast( + &CurrentRangeContainer, &LastRangeContainer, &DeviceTypeContainer); +} + +USGHapticGloveCalibrationCheck::USGHapticGloveCalibrationCheck() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHapticGloveCalibrationCheckImpl OutHapticGloveCalibrationCheckImplContainer; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor(&OutHapticGloveCalibrationCheckImplContainer); + + Pimpl->HapticGloveCalibrationCheckImpl = MoveTemp( + OutHapticGloveCalibrationCheckImplContainer.HapticGloveCalibrationCheckImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationCheck::USGHapticGloveCalibrationCheck(const USGSensorRange* LastCalibrationRange) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHapticGloveCalibrationCheckImpl OutHapticGloveCalibrationCheckImplContainer; + FSGIC_FSGSensorRangeImpl LastCalibrationRangeContainer{LastCalibrationRange->ToSensorRangeImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_LastCalibrationRange( + &OutHapticGloveCalibrationCheckImplContainer, &LastCalibrationRangeContainer); + + Pimpl->HapticGloveCalibrationCheckImpl = MoveTemp( + OutHapticGloveCalibrationCheckImplContainer.HapticGloveCalibrationCheckImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationCheck::USGHapticGloveCalibrationCheck( + const FSGHapticGloveCalibrationCheckImpl& HapticGloveCalibrationCheckImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetHapticGloveCalibrationCheckImpl(HapticGloveCalibrationCheckImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationCheck::~USGHapticGloveCalibrationCheck() = default; + +void USGHapticGloveCalibrationCheck::SetHapticGloveCalibrationCheckImpl( + const FSGHapticGloveCalibrationCheckImpl& HapticGloveCalibrationCheckImpl) +{ + FSGIC_FSGHapticGloveCalibrationCheckImpl OutHapticGloveCalibrationCheckContainer; + FSGIC_FSGHapticGloveCalibrationCheckImpl RhsContainer{HapticGloveCalibrationCheckImpl}; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_copy(&OutHapticGloveCalibrationCheckContainer, &RhsContainer); + Pimpl->HapticGloveCalibrationCheckImpl = MoveTemp( + OutHapticGloveCalibrationCheckContainer.HapticGloveCalibrationCheckImpl); +} + +const FSGHapticGloveCalibrationCheckImpl& USGHapticGloveCalibrationCheck::ToHapticGloveCalibrationCheckImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->HapticGloveCalibrationCheckImpl; +} + +USGSensorRange* USGHapticGloveCalibrationCheck::GetLastSensorRange(UObject* Outer) const +{ + FSGIC_FSGHapticGloveCalibrationCheckImpl InstanceContainer{ToHapticGloveCalibrationCheckImpl()}; + FSGIC_FSGSensorRangeImpl OutLastSensorRangeContainer; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetLastSensorRange(&InstanceContainer, &OutLastSensorRangeContainer); + return USGSensorRange::NewSensorRange(Outer, MoveTemp(OutLastSensorRangeContainer.SensorRangeImpl)); +} + +ESGCalibrationStage USGHapticGloveCalibrationCheck::GetCalibrationStage() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCalibrationCheckImpl InstanceContainer{ToHapticGloveCalibrationCheckImpl()}; + FSGIC_ESGCalibrationStage OutStageContainer; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetCalibrationStage(&InstanceContainer, &OutStageContainer); + + return MoveTemp(OutStageContainer.Stage); +} + +bool USGHapticGloveCalibrationCheck::ReachedConclusion() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCalibrationCheckImpl InstanceContainer{ToHapticGloveCalibrationCheckImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ReachedConclusion(&InstanceContainer); +} + +void USGHapticGloveCalibrationCheck::Reset() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCalibrationCheckImpl InstanceContainer{ToHapticGloveCalibrationCheckImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_Reset(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCalibrationCheck::CheckRange( + const TArray& CurrentValues, const float DeltaSeconds, const ESGDeviceType DeviceType) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCalibrationCheckImpl InstanceContainer{ToHapticGloveCalibrationCheckImpl()}; + FSGIC_TArray_FVector CurrentValuesContainer{CurrentValues}; + FSGIC_ESGDeviceType DeviceTypeContainer{DeviceType}; + SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_CheckRange(&InstanceContainer, &CurrentValuesContainer, + DeltaSeconds, &DeviceTypeContainer); + + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationCheck::FImpl::FImpl(USGHapticGloveCalibrationCheck* InOwner) + : Owner(InOwner) +{ +} + +USGHapticGloveCalibrationCheck::FImpl::~FImpl() = default; + +void USGHapticGloveCalibrationCheck::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHapticGloveCalibrationCheck::FImpl::SyncUProperties() +{ +} + +void USGHapticGloveCalibrationCheck::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequence.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequence.cpp new file mode 100644 index 00000000..78d8ed7d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequence.cpp @@ -0,0 +1,525 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveCalibrationSequence.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h" +#include "SGInterop/SGIC_FSGSensorRangeImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct USGHapticGloveCalibrationSequence::FImpl +{ + /************************ + * Member variables + ************************/ + + TSharedPtr HapticGloveCalibrationSequenceImpl; + + /************************ + * Owner object + ************************/ + + USGHapticGloveCalibrationSequence* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHapticGloveCalibrationSequence* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGHapticGloveCalibrationSequence* USGHapticGloveCalibrationSequence::NewHapticGloveCalibrationSequence(UObject* Outer, + const FSGHapticGloveCalibrationSequenceImpl& HapticGloveCalibrationSequence) +{ + USGHapticGloveCalibrationSequence* Instance = NewObject(Outer); + Instance->SetHapticGloveCalibrationSequenceImpl(HapticGloveCalibrationSequence); + return Instance; +} + +USGHapticGloveCalibrationSequence* USGHapticGloveCalibrationSequence::NewHapticGloveCalibrationSequence(UObject* Outer, + TSharedRef HapticGloveCalibrationSequence) +{ + USGHapticGloveCalibrationSequence* Instance = NewObject(Outer); + Instance->SetHapticGloveCalibrationSequenceImpl(MoveTemp(HapticGloveCalibrationSequence)); + return Instance; +} + +USGHapticGloveCalibrationSequence* USGHapticGloveCalibrationSequence::NewHapticGloveCalibrationSequence(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl OutSharedPtrContainer; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewHapticGloveCalibrationSequence(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGHapticGloveCalibrationSequence* USGHapticGloveCalibrationSequence::NewHapticGloveCalibrationSequence(UObject* Outer, + const USGHapticGlove* LinkedGlove) +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl OutSharedPtrContainer; + FSGIC_TSharedPtr_FSGHapticGloveImpl LinkedGloveContainer{LinkedGlove->ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_LinkedGlove_MakeShared( + &OutSharedPtrContainer, &LinkedGloveContainer); + + return NewHapticGloveCalibrationSequence(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +int32 USGHapticGloveCalibrationSequence::GetMaxDataPoints() +{ + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetMaxDataPoints(); +} + +bool USGHapticGloveCalibrationSequence::CompileProfile(UObject* Outer, + const USGSensorRange* SensorRange, const ESGDeviceType ForDevice, + const bool bRightHanded, USGHandProfile*& OutProfile) +{ + FSGIC_FSGSensorRangeImpl SensorRangeContainer{SensorRange->ToSensorRangeImpl()}; + FSGIC_ESGDeviceType ForDeviceContainer{ForDevice}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + const bool bResult = + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileProfile_SensorRange_ForDevice_bRightHanded_OutProfile( + &SensorRangeContainer, &ForDeviceContainer, bRightHanded, &OutProfileContainer); + + if (bResult) + { + OutProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); + } + + return bResult; +} + +USGHapticGloveCalibrationSequence::USGHapticGloveCalibrationSequence() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl OutSharedPtrContainer; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_MakeShared(&OutSharedPtrContainer); + + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationSequence::USGHapticGloveCalibrationSequence(const USGHapticGlove* LinkedGlove) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl OutSharedPtrContainer; + FSGIC_TSharedPtr_FSGHapticGloveImpl LinkedGloveContainer{LinkedGlove->ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_LinkedGlove_MakeShared( + &OutSharedPtrContainer, &LinkedGloveContainer); + + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationSequence::USGHapticGloveCalibrationSequence( + const FSGHapticGloveCalibrationSequenceImpl& HapticGloveCalibrationSequenceImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl OutSharedPtrContainer; + FSGIC_FSGHapticGloveCalibrationSequenceImpl RhsContainer{HapticGloveCalibrationSequenceImpl}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy_MakeShared( + &OutSharedPtrContainer, &RhsContainer); + + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationSequence::USGHapticGloveCalibrationSequence( + const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibrationImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + FSGIC_FSGHapticGloveQuickCalibrationImpl RhsContainer{HapticGloveQuickCalibrationImpl}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy_MakeShared( + &OutSharedPtrContainer, &RhsContainer); + + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(OutSharedPtrContainer.Ptr); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationSequence::USGHapticGloveCalibrationSequence( + TSharedRef HapticGloveCalibrationSequenceImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(HapticGloveCalibrationSequenceImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationSequence::USGHapticGloveCalibrationSequence( + TSharedRef HapticGloveQuickCalibrationImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(HapticGloveQuickCalibrationImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCalibrationSequence::~USGHapticGloveCalibrationSequence() = default; + +void USGHapticGloveCalibrationSequence::SetHapticGloveCalibrationSequenceImpl( + const FSGHapticGloveCalibrationSequenceImpl& HapticGloveCalibrationSequenceImpl) +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl OutSharedPtrContainer; + FSGIC_FSGHapticGloveCalibrationSequenceImpl RhsContainer{HapticGloveCalibrationSequenceImpl}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGHapticGloveCalibrationSequence::SetHapticGloveCalibrationSequenceImpl( + const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibrationImpl) +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + FSGIC_FSGHapticGloveQuickCalibrationImpl RhsContainer{HapticGloveQuickCalibrationImpl}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy_MakeShared(&OutSharedPtrContainer, &RhsContainer); + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(OutSharedPtrContainer.Ptr); +} + +void USGHapticGloveCalibrationSequence::SetHapticGloveCalibrationSequenceImpl( + TSharedRef HapticGloveCalibrationSequenceImpl) +{ + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(HapticGloveCalibrationSequenceImpl); +} + +void USGHapticGloveCalibrationSequence::SetHapticGloveCalibrationSequenceImpl( + TSharedRef HapticGloveQuickCalibrationImpl) +{ + Pimpl->HapticGloveCalibrationSequenceImpl = MoveTemp(HapticGloveQuickCalibrationImpl); +} + +TSharedRef +USGHapticGloveCalibrationSequence::ToHapticGloveCalibrationSequenceImpl() const +{ + SyncImplObject(); + return Pimpl->HapticGloveCalibrationSequenceImpl.ToSharedRef(); +} + +void USGHapticGloveCalibrationSequence::SyncImplObject() const +{ + Pimpl->SyncImplObject(); +} + +void USGHapticGloveCalibrationSequence::SyncUProperties() +{ + Pimpl->SyncUProperties(); +} + +USGHapticGlove* USGHapticGloveCalibrationSequence::GetLinkedGlove(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_TSharedPtr_FSGHapticGloveImpl OutGloveContainer; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetLinkedGlove(&InstanceContainer, &OutGloveContainer); + return USGHapticGlove::NewHapticGlove(Outer, OutGloveContainer.Ptr.ToSharedRef()); +} + +void USGHapticGloveCalibrationSequence::SetLinkedGlove(const USGHapticGlove* LinkedGlove) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_TSharedPtr_FSGHapticGloveImpl LinkedGloveContainer{LinkedGlove->ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_SetLinkedGlove(&InstanceContainer, &LinkedGloveContainer); + + SyncUProperties(); +} + +TArray USGHapticGloveCalibrationSequence::GetCalibrationPoints(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_TArray_FSGCalibrationDataPointImpl OutPoints; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCalibrationPoints(&InstanceContainer, &OutPoints); + + TArray Points{ + FSGArrayUtils::FromImplType( + Outer, MoveTemp(OutPoints.Array)) + }; + + return MoveTemp(Points); +} + +float USGHapticGloveCalibrationSequence::GetElapsedTime() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetElapsedTime(&InstanceContainer); +} + +bool USGHapticGloveCalibrationSequence::IsManuallyCompleted() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_IsManuallyCompleted(&InstanceContainer); +} + +int32 USGHapticGloveCalibrationSequence::GetCurrentStage() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCurrentStage(&InstanceContainer); +} + +SIZE_T USGHapticGloveCalibrationSequence::GetCalibrationPointsCount() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCalibrationPointsCount(&InstanceContainer); +} + +bool USGHapticGloveCalibrationSequence::AutoCompleted() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_AutoCompleted(&InstanceContainer); +} + +bool USGHapticGloveCalibrationSequence::Completed() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + return SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Completed(&InstanceContainer); +} + +void USGHapticGloveCalibrationSequence::Reset() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Reset(&InstanceContainer); + + SyncUProperties(); +} + +void USGHapticGloveCalibrationSequence::AddDataPoint(const TArray& CalibrationPoints) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_TArray_FVector CalibrationPointsContainer{CalibrationPoints}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_AddDataPoint(&InstanceContainer, &CalibrationPointsContainer); + + SyncUProperties(); +} + +void USGHapticGloveCalibrationSequence::Update(const float DeltaSeconds) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Update(&InstanceContainer, DeltaSeconds); + + SyncUProperties(); +} + +void USGHapticGloveCalibrationSequence::ConfirmCurrentStep() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ConfirmCurrentStep(&InstanceContainer); + + SyncUProperties(); +} + +bool USGHapticGloveCalibrationSequence::CompileRange(UObject* Outer, USGSensorRange*& OutSensorRange) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_FSGSensorRangeImpl OutSensorRangeContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileRange( + &InstanceContainer, &OutSensorRangeContainer); + + if (bResult) + { + OutSensorRange = USGSensorRange::NewSensorRange(Outer, MoveTemp(OutSensorRangeContainer.SensorRangeImpl)); + } + + return bResult; +} + +bool USGHapticGloveCalibrationSequence::CompileProfile(UObject* Outer, + const ESGDeviceType ForDevice, const bool bRightHanded, + USGHandProfile*& OutProfile) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_ESGDeviceType ForDeviceContainer{ForDevice}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + const bool bResult = + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileProfile_ForDevice_bRightHanded_OutProfile( + &InstanceContainer, &ForDeviceContainer, bRightHanded, &OutProfileContainer); + + if (bResult) + { + OutProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); + } + + return bResult; +} + +bool USGHapticGloveCalibrationSequence::GetHandPose(UObject* Outer, USGHandPose*& OutCurrentHandPose) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_FSGHandPoseImpl OutCurrentHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetHandPose_OutCurrentHandPose( + &InstanceContainer, &OutCurrentHandPoseContainer); + + if (bResult) + { + OutCurrentHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutCurrentHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGHapticGloveCalibrationSequence::GetHandPose(UObject* Outer, + const bool bRightHanded, USGHandPose*& OutCurrentHandPose) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_FSGHandPoseImpl OutCurrentHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetHandPose_bRightHanded_OutCurrentHandPose( + &InstanceContainer, bRightHanded, &OutCurrentHandPoseContainer); + + if (bResult) + { + OutCurrentHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutCurrentHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +FString USGHapticGloveCalibrationSequence::GetCurrentInstruction(const FString& NextStepKey) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ToHapticGloveCalibrationSequenceImpl()}; + FSGIC_FString OutInstructionContainer; + FSGIC_FString NextStepKeyContainer{NextStepKey}; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCurrentInstruction( + &InstanceContainer, &OutInstructionContainer, &NextStepKeyContainer); + + return MoveTemp(OutInstructionContainer.String); +} + +USGHapticGloveCalibrationSequence::FImpl::FImpl(USGHapticGloveCalibrationSequence* InOwner) + : Owner(InOwner) +{ +} + +USGHapticGloveCalibrationSequence::FImpl::~FImpl() = default; + +void USGHapticGloveCalibrationSequence::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHapticGloveCalibrationSequence::FImpl::SyncUProperties() +{ +} + +void USGHapticGloveCalibrationSequence::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.cpp new file mode 100644 index 00000000..91f433f3 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.cpp @@ -0,0 +1,55 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveCalibrationSequenceImplCast.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h" +#include "SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h" + +TSharedRef FSGHapticGloveCalibrationSequenceImplCast:: +ToHapticGloveQuickCalibrationImpl( + TSharedRef HapticGloveCalibrationSequenceImpl) +{ + FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl InstanceContainer{ + MoveTemp(HapticGloveCalibrationSequenceImpl) + }; + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ToHapticGloveQuickCalibrationImplRef( + &InstanceContainer, &OutSharedPtrContainer); + return OutSharedPtrContainer.Ptr.ToSharedRef(); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.h b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.h new file mode 100644 index 00000000..49e45db2 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCalibrationSequenceImplCast.h @@ -0,0 +1,48 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Templates/SharedPointer.h" + +class FSGHapticGloveCalibrationSequenceImpl; +class FSGHapticGloveQuickCalibrationImpl; + +class SENSEGLOVECORE_API FSGHapticGloveCalibrationSequenceImplCast +{ +public: + static TSharedRef ToHapticGloveQuickCalibrationImpl( + TSharedRef HapticGloveCalibrationSequenceImpl); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCommandBuffer.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCommandBuffer.cpp new file mode 100644 index 00000000..4c8b1d1d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveCommandBuffer.cpp @@ -0,0 +1,423 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveCommandBuffer.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGTimedBuzzCommand.h" +#include "SGCore/SGThumperCommand.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedThumpCommandImpl.h" +#include "SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h" +#include "SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct USGHapticGloveCommandBuffer::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGHapticGloveCommandBufferImpl HapticGloveCommandBufferImpl; + + /************************ + * Owner object + ************************/ + + USGHapticGloveCommandBuffer* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHapticGloveCommandBuffer* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGHapticGloveCommandBuffer* USGHapticGloveCommandBuffer::NewHapticGloveCommandBuffer( + UObject* Outer, const FSGHapticGloveCommandBufferImpl& HapticGloveCommandBufferImpl) +{ + USGHapticGloveCommandBuffer* Instance = NewObject(Outer); + Instance->SetHapticGloveCommandBufferImpl(HapticGloveCommandBufferImpl); + return Instance; +} + +USGHapticGloveCommandBuffer* USGHapticGloveCommandBuffer::NewHapticGloveCommandBuffer(UObject* Outer) +{ + FSGIC_FSGHapticGloveCommandBufferImpl OutHapticGloveCommandBufferImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor(&OutHapticGloveCommandBufferImplContainer); + + return NewHapticGloveCommandBuffer( + Outer, MoveTemp(OutHapticGloveCommandBufferImplContainer.HapticGloveCommandBufferImpl)); +} + +int32 USGHapticGloveCommandBuffer::GetMaxForceFeedbackCommands() +{ + return SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxForceFeedbackCommands(); +} + +int32 USGHapticGloveCommandBuffer::GetMaxBuzzCommands() +{ + return SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxBuzzCommands(); +} + +int32 USGHapticGloveCommandBuffer::GetMaxThumpCommands() +{ + return SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxThumpCommands(); +} + +USGHapticGloveCommandBuffer::USGHapticGloveCommandBuffer() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGHapticGloveCommandBufferImpl OutHapticGloveCommandBufferImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor(&OutHapticGloveCommandBufferImplContainer); + + Pimpl->HapticGloveCommandBufferImpl = MoveTemp( + OutHapticGloveCommandBufferImplContainer.HapticGloveCommandBufferImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCommandBuffer::USGHapticGloveCommandBuffer( + const FSGHapticGloveCommandBufferImpl& HapticGloveCommandBufferImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetHapticGloveCommandBufferImpl(HapticGloveCommandBufferImpl); + Pimpl->SyncUProperties(); +} + +USGHapticGloveCommandBuffer::~USGHapticGloveCommandBuffer() = default; + +void USGHapticGloveCommandBuffer::SetHapticGloveCommandBufferImpl( + const FSGHapticGloveCommandBufferImpl& HapticGloveCommandBufferImpl) +{ + FSGIC_FSGHapticGloveCommandBufferImpl OutHapticGloveCommandBufferContainer; + FSGIC_FSGHapticGloveCommandBufferImpl RhsContainer{HapticGloveCommandBufferImpl}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor_copy(&OutHapticGloveCommandBufferContainer, &RhsContainer); + Pimpl->HapticGloveCommandBufferImpl = MoveTemp(OutHapticGloveCommandBufferContainer.HapticGloveCommandBufferImpl); +} + +const FSGHapticGloveCommandBufferImpl& USGHapticGloveCommandBuffer::ToHapticGloveCommandBufferImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->HapticGloveCommandBufferImpl; +} + +TArray USGHapticGloveCommandBuffer::GetForceFeedbackCommandsQueue(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_TArray_FSGForceFeedbackCommandImpl OutForceFeedbackCommandsQueueContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetForceFeedbackCommandsQueue(&InstanceContainer, + &OutForceFeedbackCommandsQueueContainer); + + TArray CommandsQueue; + for (FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl: OutForceFeedbackCommandsQueueContainer.Array) + { + CommandsQueue.Add(USGForceFeedbackCommand::NewForceFeedbackCommand( + Outer, MoveTemp(ForceFeedbackCommandImpl))); + } + + return MoveTemp(CommandsQueue); +} + +TArray USGHapticGloveCommandBuffer::GetBuzzCommandsQueue(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_TArray_FSGTimedBuzzCommandImpl OutBuzzCommandsQueueContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetBuzzCommandsQueue(&InstanceContainer, &OutBuzzCommandsQueueContainer); + + TArray CommandsQueue; + for (FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl: OutBuzzCommandsQueueContainer.Array) + { + CommandsQueue.Add(USGTimedBuzzCommand::NewTimedBuzzCommand(Outer, MoveTemp(TimedBuzzCommandImpl))); + } + + return MoveTemp(CommandsQueue); +} + +TArray USGHapticGloveCommandBuffer::GetThumperCommandsQueue(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_TArray_FSGTimedThumpCommandImpl OutThumperCommandsQueueContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetThumperCommandsQueue(&InstanceContainer, + &OutThumperCommandsQueueContainer); + + TArray CommandsQueue; + for (FSGTimedThumpCommandImpl& TimedThumpCommandImpl: OutThumperCommandsQueueContainer.Array) + { + CommandsQueue.Add(USGTimedThumpCommand::NewTimedThumpCommand(Outer, MoveTemp(TimedThumpCommandImpl))); + } + + return MoveTemp(CommandsQueue); +} + +void USGHapticGloveCommandBuffer::ClearForceFeedbackCommandsQueue() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_ClearForceFeedbackCommandsQueue(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::ClearVibrations() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_ClearVibrations(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::Clear() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_Clear(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::AddCommand(const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_ForceFeedbackCommand( + &InstanceContainer, &ForceFeedbackCommandContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::AddCommand(const USGTimedBuzzCommand* BuzzCommand) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGTimedBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToTimedBuzzCommandImpl().Get()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_BuzzCommand(&InstanceContainer, &BuzzCommandContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::AddCommand(const USGTimedThumpCommand* ThumpCommand) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGTimedThumpCommandImpl ThumpCommandContainer{ThumpCommand->ToTimedThumpCommandImpl()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_ThumpCommand(&InstanceContainer, &ThumpCommandContainer); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::UpdateTimedCommands(const float DeltaSeconds) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_UpdateTimedCommands(&InstanceContainer, DeltaSeconds); + + Pimpl->SyncUProperties(); +} + +USGForceFeedbackCommand* USGHapticGloveCommandBuffer::GetTotalForceFeedbackLevels( + UObject* Outer, const USGForceFeedbackCommand* LastForceFeedbackCommand) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGForceFeedbackCommandImpl OutForceFeedbackCommandImplContainer; + FSGIC_FSGForceFeedbackCommandImpl LastForceFeedbackCommandContainer{ + LastForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalForceFeedbackLevels_LastForceFeedbackCommand( + &InstanceContainer, &OutForceFeedbackCommandImplContainer, &LastForceFeedbackCommandContainer); + + return USGForceFeedbackCommand::NewForceFeedbackCommand( + Outer, MoveTemp(OutForceFeedbackCommandImplContainer.ForceFeedbackCommandImpl)); +} + +USGForceFeedbackCommand* USGHapticGloveCommandBuffer::GetTotalForceFeedbackLevels(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGForceFeedbackCommandImpl OutForceFeedbackCommandImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalForceFeedbackLevels( + &InstanceContainer, &OutForceFeedbackCommandImplContainer); + + return USGForceFeedbackCommand::NewForceFeedbackCommand( + Outer, MoveTemp(OutForceFeedbackCommandImplContainer.ForceFeedbackCommandImpl)); +} + +USGBuzzCommand* USGHapticGloveCommandBuffer::GetTotalBuzzLevels(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalBuzzLevels(&InstanceContainer, &OutBuzzCommandImplContainer); + + return USGBuzzCommand::NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); +} + +USGThumperCommand* USGHapticGloveCommandBuffer::GetTotalThumperLevels(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalThumperLevels(&InstanceContainer, + &OutThumperCommandImplContainer); + + return USGThumperCommand::NewThumperCommand(Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); +} + +void USGHapticGloveCommandBuffer::FlushHaptics(UObject* Outer, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand, + const bool bClearForceFeedbackQueue) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGForceFeedbackCommandImpl LastBrakeLevelContainer{LastBrakeLevel->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGForceFeedbackCommandImpl OutForceFeedbackCommandImplContainer; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_FlushHaptics_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand_bClearForceFeedbackQueue( + &InstanceContainer, &LastBrakeLevelContainer, &OutForceFeedbackCommandImplContainer, + &OutBuzzCommandImplContainer, &OutThumperCommandImplContainer, bClearForceFeedbackQueue); + + OutForceFeedbackCommand = USGForceFeedbackCommand::NewForceFeedbackCommand( + Outer, MoveTemp(OutForceFeedbackCommandImplContainer.ForceFeedbackCommandImpl)); + OutBuzzCommand = USGBuzzCommand::NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); + OutThumperCommand = USGThumperCommand::NewThumperCommand( + Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); + + Pimpl->SyncUProperties(); +} + +void USGHapticGloveCommandBuffer::FlushHaptics(UObject* Outer, + const float DeltaSeconds, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGHapticGloveCommandBufferImpl InstanceContainer{ToHapticGloveCommandBufferImpl()}; + FSGIC_FSGForceFeedbackCommandImpl LastBrakeLevelContainer{LastBrakeLevel->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGForceFeedbackCommandImpl OutForceFeedbackCommandImplContainer; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGHapticGloveCommandBufferImpl_FlushHaptics_DeltaSeconds_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand( + &InstanceContainer, DeltaSeconds, &LastBrakeLevelContainer, &OutForceFeedbackCommandImplContainer, + &OutBuzzCommandImplContainer, &OutThumperCommandImplContainer); + + OutForceFeedbackCommand = USGForceFeedbackCommand::NewForceFeedbackCommand( + Outer, MoveTemp(OutForceFeedbackCommandImplContainer.ForceFeedbackCommandImpl)); + OutBuzzCommand = USGBuzzCommand::NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); + OutThumperCommand = USGThumperCommand::NewThumperCommand( + Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); + + Pimpl->SyncUProperties(); +} + +USGHapticGloveCommandBuffer::FImpl::FImpl(USGHapticGloveCommandBuffer* InOwner) + : Owner(InOwner) +{ +} + +USGHapticGloveCommandBuffer::FImpl::~FImpl() = default; + +void USGHapticGloveCommandBuffer::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHapticGloveCommandBuffer::FImpl::SyncUProperties() +{ +} + +void USGHapticGloveCommandBuffer::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveHandProfiles.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveHandProfiles.cpp new file mode 100644 index 00000000..6f94244e --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveHandProfiles.cpp @@ -0,0 +1,143 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveHandProfiles.h" + +#include "SGCore/SGHapticGlove.h" +#include "SGCore/SGSensorRange.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_FSGSensorRangeImpl.h" +#include "SGInterop/SGIC_FString.h" + +FString FSGHapticGloveHandProfiles::GetProfileDirectory() +{ + FSGIC_FString OutDirectoryContainer; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetProfileDirectory(&OutDirectoryContainer); + return MoveTemp(OutDirectoryContainer.String); +} + +void FSGHapticGloveHandProfiles::SetProfileDirectory(const FString& Directory) +{ + FSGIC_FString DirectoryContainer{Directory}; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfileDirectory(&DirectoryContainer); +} + +void FSGHapticGloveHandProfiles::GetLeftHandProfile(UObject* Outer, USGHandProfile*& OutHandProfile) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer{OutHandProfile->ToHandProfileImpl()}; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetLeftHandProfile(&OutHandProfileImplContainer); + + OutHandProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +void FSGHapticGloveHandProfiles::SetLeftHandProfile(const USGHandProfile* HandProfile) +{ + FSGIC_FSGHandProfileImpl HandProfileImplContainer{HandProfile->ToHandProfileImpl()}; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetLeftHandProfile(&HandProfileImplContainer); +} + +void FSGHapticGloveHandProfiles::GetRightHandProfile(UObject* Outer, USGHandProfile*& OutHandProfile) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetRightHandProfile(&OutHandProfileImplContainer); + + OutHandProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +void FSGHapticGloveHandProfiles::SetRightHandProfile(const USGHandProfile* HandProfile) +{ + FSGIC_FSGHandProfileImpl HandProfileImplContainer{HandProfile->ToHandProfileImpl()}; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetRightHandProfile(&HandProfileImplContainer); +} + +void FSGHapticGloveHandProfiles::GetProfile(UObject* Outer, + const bool bRightHanded, USGHandProfile*& OutHandProfile) +{ + FSGIC_FSGHandProfileImpl OutHandProfileImplContainer; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetProfile(bRightHanded, &OutHandProfileImplContainer); + + OutHandProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutHandProfileImplContainer.HandProfileImpl)); +} + +void FSGHapticGloveHandProfiles::SetProfile(const USGHandProfile* HandProfile) +{ + FSGIC_FSGHandProfileImpl HandProfileImplContainer{HandProfile->ToHandProfileImpl()}; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfile_HandProfileImpl(&HandProfileImplContainer); +} + +void FSGHapticGloveHandProfiles::SetProfile(const USGHandProfile* HandProfile, + const bool bRightHanded) +{ + FSGIC_FSGHandProfileImpl HandProfileImplContainer{HandProfile->ToHandProfileImpl()}; + SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfile_HandProfileImpl_bRightHanded( + &HandProfileImplContainer, bRightHanded); +} + +void FSGHapticGloveHandProfiles::RestoreDefaults() +{ + SGCoreImpl_FSGHapticGloveHandProfilesImpl_RestoreDefaults(); +} + +void FSGHapticGloveHandProfiles::RestoreDefaults(const bool bRightHanded) +{ + SGCoreImpl_FSGHapticGloveHandProfilesImpl_RestoreDefaults_bRightHanded(bRightHanded); +} + +void FSGHapticGloveHandProfiles::TryLoadingFromDisk() +{ + SGCoreImpl_FSGHapticGloveHandProfilesImpl_TryLoadingFromDisk(); +} + +bool FSGHapticGloveHandProfiles::SaveLastRange( + const USGSensorRange* CurrentRange, const USGHapticGlove* ForGlove) +{ + FSGIC_FSGSensorRangeImpl CurrentRangeContainer{CurrentRange->ToSensorRangeImpl()}; + FSGIC_TSharedPtr_FSGHapticGloveImpl ForGloveContainer{ForGlove->ToHapticGloveImpl()}; + return SGCoreImpl_FSGHapticGloveHandProfilesImpl_SaveLastRange(&CurrentRangeContainer, &ForGloveContainer); +} + +bool FSGHapticGloveHandProfiles::LoadLastRange(UObject* Outer, + const USGHapticGlove* ForGlove, USGSensorRange*& OutLastRange) +{ + FSGIC_TSharedPtr_FSGHapticGloveImpl ForGloveContainer{ForGlove->ToHapticGloveImpl()}; + FSGIC_FSGSensorRangeImpl OutLastRangeContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveHandProfilesImpl_LoadLastRange( + &ForGloveContainer, &OutLastRangeContainer); + OutLastRange = USGSensorRange::NewSensorRange(Outer, MoveTemp(OutLastRangeContainer.SensorRangeImpl)); + return bResult; +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGHapticGloveQuickCalibration.cpp b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveQuickCalibration.cpp new file mode 100644 index 00000000..eadb700f --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGHapticGloveQuickCalibration.cpp @@ -0,0 +1,358 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveQuickCalibration.h" + +#include "SGHapticGloveCalibrationSequenceImplCast.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGSensorRangeImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct USGHapticGloveQuickCalibration::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGHapticGloveQuickCalibration* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGHapticGloveQuickCalibration* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGHapticGloveQuickCalibration* USGHapticGloveQuickCalibration::NewHapticGloveQuickCalibration(UObject* Outer, + const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibration) +{ + USGHapticGloveQuickCalibration* Instance = NewObject(Outer); + Instance->SetHapticGloveCalibrationSequenceImpl(HapticGloveQuickCalibration); + return Instance; +} + +USGHapticGloveQuickCalibration* USGHapticGloveQuickCalibration::NewHapticGloveQuickCalibration(UObject* Outer, + TSharedRef HapticGloveQuickCalibration) +{ + USGHapticGloveQuickCalibration* Instance = NewObject(Outer); + Instance->SetHapticGloveCalibrationSequenceImpl(MoveTemp(HapticGloveQuickCalibration)); + return Instance; +} + +USGHapticGloveQuickCalibration* USGHapticGloveQuickCalibration::NewHapticGloveQuickCalibration(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewHapticGloveQuickCalibration(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGHapticGloveQuickCalibration* USGHapticGloveQuickCalibration::NewHapticGloveQuickCalibration(UObject* Outer, + const USGHapticGlove* GloveToCalibrate, float AutoEndTimeout) +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + FSGIC_TSharedPtr_FSGHapticGloveImpl GloveToCalibrateContainer{GloveToCalibrate->ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_GloveToCalibrate_AutoEndTimeout_MakeShared( + &OutSharedPtrContainer, &GloveToCalibrateContainer, AutoEndTimeout); + + return NewHapticGloveQuickCalibration(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +float USGHapticGloveQuickCalibration::GetDefaultAutoEndTimeout() +{ + return SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetDefaultAutoEndTimeout(); +} + +USGHapticGloveQuickCalibration::USGHapticGloveQuickCalibration() + : USGHapticGloveCalibrationSequence(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetHapticGloveCalibrationSequenceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGHapticGloveQuickCalibration::USGHapticGloveQuickCalibration( + const USGHapticGlove* GloveToCalibrate, const float AutoEndTimeout) + : USGHapticGloveCalibrationSequence(GloveToCalibrate), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl OutSharedPtrContainer; + FSGIC_TSharedPtr_FSGHapticGloveImpl GloveToCalibrateContainer{GloveToCalibrate->ToHapticGloveImpl()}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_GloveToCalibrate_AutoEndTimeout_MakeShared( + &OutSharedPtrContainer, &GloveToCalibrateContainer, AutoEndTimeout); + + SetHapticGloveCalibrationSequenceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGHapticGloveQuickCalibration::USGHapticGloveQuickCalibration( + const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibrationImpl) + : USGHapticGloveCalibrationSequence(HapticGloveQuickCalibrationImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGloveQuickCalibration::USGHapticGloveQuickCalibration( + TSharedRef HapticGloveQuickCalibrationImpl) + : USGHapticGloveCalibrationSequence(MoveTemp(HapticGloveQuickCalibrationImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGHapticGloveQuickCalibration::~USGHapticGloveQuickCalibration() = default; + +TSharedRef USGHapticGloveQuickCalibration::ToHapticGloveQuickCalibrationImpl() const +{ + SyncImplObject(); + return FSGHapticGloveCalibrationSequenceImplCast::ToHapticGloveQuickCalibrationImpl( + ToHapticGloveCalibrationSequenceImpl()); +} + +void USGHapticGloveQuickCalibration::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGHapticGloveQuickCalibration::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +float USGHapticGloveQuickCalibration::GetAutoEndTimeout() const +{ + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + return SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetAutoEndTimeout(&InstanceContainer); +} + +int32 USGHapticGloveQuickCalibration::GetSmoothingSamples() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + return SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetSmoothingSamples(&InstanceContainer); +} + +USGSensorRange* USGHapticGloveQuickCalibration::GetSensorRange(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + FSGIC_FSGSensorRangeImpl OutRangeContainer; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetSensorRange(&InstanceContainer, &OutRangeContainer); + + return USGSensorRange::NewSensorRange(Outer, MoveTemp(OutRangeContainer.SensorRangeImpl)); +} + +USGHandProfile* USGHapticGloveQuickCalibration::GetTemporaryProfile(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetTemporaryProfile(&InstanceContainer, &OutProfileContainer); + + return USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); +} + +bool USGHapticGloveQuickCalibration::CanAnimate() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + return SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_CanAnimate(&InstanceContainer); +} + +bool USGHapticGloveQuickCalibration::AutoCompleted() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + return SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_AutoCompleted(&InstanceContainer); +} + +void USGHapticGloveQuickCalibration::Reset() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_Reset(&InstanceContainer); + + SyncUProperties(); +} + +void USGHapticGloveQuickCalibration::Update(const float DeltaSeconds) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_Update(&InstanceContainer, DeltaSeconds); + + SyncUProperties(); +} + +void USGHapticGloveQuickCalibration::AddDataPoint(const TArray& CalibrationPoints) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + FSGIC_TArray_FVector CalibrationPointsContainer{CalibrationPoints}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_AddDataPoint(&InstanceContainer, &CalibrationPointsContainer); + + SyncUProperties(); +} + +void USGHapticGloveQuickCalibration::ConfirmCurrentStep() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ConfirmCurrentStep(&InstanceContainer); + + SyncUProperties(); +} + +bool USGHapticGloveQuickCalibration::CompileRange(UObject* Outer, USGSensorRange*& OutSensorRange) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + FSGIC_FSGSensorRangeImpl OutSensorRangeContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_CompileRange( + &InstanceContainer, &OutSensorRangeContainer); + + OutSensorRange = USGSensorRange::NewSensorRange(Outer, MoveTemp(OutSensorRangeContainer.SensorRangeImpl)); + + return bResult; +} + +bool USGHapticGloveQuickCalibration::GetHandPose(UObject* Outer, + const bool bRightHanded, USGHandPose*& OutCurrentHandPose) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + FSGIC_FSGHandPoseImpl OutCurrentHandPoseContainer; + const bool bResult = SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetHandPose( + &InstanceContainer, bRightHanded, &OutCurrentHandPoseContainer); + + OutCurrentHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutCurrentHandPoseContainer.HandPoseImpl)); + + return bResult; +} + +FString USGHapticGloveQuickCalibration::GetCurrentInstruction(const FString& NextStepKey) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl InstanceContainer{ToHapticGloveQuickCalibrationImpl()}; + FSGIC_FString OutInstructionContainer; + FSGIC_FString NextStepKeyContainer{NextStepKey}; + SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetCurrentInstruction( + &InstanceContainer, &OutInstructionContainer, &NextStepKeyContainer); + + return MoveTemp(OutInstructionContainer.String); +} + +USGHapticGloveQuickCalibration::FImpl::FImpl(USGHapticGloveQuickCalibration* InOwner) + : Owner(InOwner) +{ +} + +USGHapticGloveQuickCalibration::FImpl::~FImpl() = default; + +void USGHapticGloveQuickCalibration::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGHapticGloveQuickCalibration::FImpl::SyncUProperties() +{ +} + +void USGHapticGloveQuickCalibration::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGInterpolationSet.cpp b/Source/SenseGloveCore/Private/SGCore/SGInterpolationSet.cpp new file mode 100644 index 00000000..18d0443c --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGInterpolationSet.cpp @@ -0,0 +1,340 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGInterpolationSet.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGInterpolationSetImpl.h" +#include "SGInterop/SGIC_FSGInterpolationSetImpl.h" +#include "SGInterop/SGIC_FString.h" + +struct USGInterpolationSet::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGInterpolationSetImpl InterpolationSetImpl; + + /************************ + * Owner object + ************************/ + + USGInterpolationSet* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGInterpolationSet* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGInterpolationSet* USGInterpolationSet::NewInterpolationSet(UObject* Outer, + const FSGInterpolationSetImpl& InterpolationSetImpl) +{ + USGInterpolationSet* Instance = NewObject(Outer); + Instance->SetInterpolationSetImpl(InterpolationSetImpl); + return Instance; +} + +USGInterpolationSet* USGInterpolationSet::NewInterpolationSet(UObject* Outer) +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + SGCoreImpl_FSGInterpolationSetImpl_ctor(&OutInterpolationSetImplContainer); + + return NewInterpolationSet(Outer, MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl)); +} + +USGInterpolationSet* USGInterpolationSet::NewInterpolationSet( + UObject* Outer, const float From1, const float From2, const float To1, const float To2) +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2(&OutInterpolationSetImplContainer, + From1, From2, To1, To2); + + return NewInterpolationSet(Outer, MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl)); +} + +USGInterpolationSet* USGInterpolationSet::NewInterpolationSet( + UObject* Outer, + const float From1, const float From2, const float To1, const float To2, const float Min, const float Max) +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2_Min_Max(&OutInterpolationSetImplContainer, + From1, From2, To1, To2, Min, Max); + + return NewInterpolationSet(Outer, MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl)); +} + +USGInterpolationSet* USGInterpolationSet::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGInterpolationSetImpl_Deserialize(&OutInterpolationSetImplContainer, &SerializedStringContainer); + + return NewInterpolationSet(Outer, MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl)); +} + +USGInterpolationSet::USGInterpolationSet() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + SGCoreImpl_FSGInterpolationSetImpl_ctor(&OutInterpolationSetImplContainer); + + Pimpl->InterpolationSetImpl = MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl); + Pimpl->SyncUProperties(); +} + +USGInterpolationSet::USGInterpolationSet(const float From1, const float From2, const float To1, const float To2) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2(&OutInterpolationSetImplContainer, + From1, From2, To1, To2); + + Pimpl->InterpolationSetImpl = MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl); + Pimpl->SyncUProperties(); +} + +USGInterpolationSet::USGInterpolationSet(const float From1, const float From2, const float To1, const float To2, + const float Min, const float Max) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetImplContainer; + SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2_Min_Max(&OutInterpolationSetImplContainer, + From1, From2, To1, To2, Min, Max); + + Pimpl->InterpolationSetImpl = MoveTemp(OutInterpolationSetImplContainer.InterpolationSetImpl); + Pimpl->SyncUProperties(); +} + +USGInterpolationSet::USGInterpolationSet(const FSGInterpolationSetImpl& InterpolationSetImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetInterpolationSetImpl(InterpolationSetImpl); + Pimpl->SyncUProperties(); +} + +USGInterpolationSet::~USGInterpolationSet() = default; + +void USGInterpolationSet::SetInterpolationSetImpl(const FSGInterpolationSetImpl& InterpolationSetImpl) +{ + FSGIC_FSGInterpolationSetImpl OutInterpolationSetContainer; + FSGIC_FSGInterpolationSetImpl RhsContainer{InterpolationSetImpl}; + SGCoreImpl_FSGInterpolationSetImpl_ctor_copy(&OutInterpolationSetContainer, &RhsContainer); + Pimpl->InterpolationSetImpl = MoveTemp(OutInterpolationSetContainer.InterpolationSetImpl); +} + +const FSGInterpolationSetImpl& USGInterpolationSet::ToInterpolationSetImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->InterpolationSetImpl; +} + +float USGInterpolationSet::GetX0() const +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_GetX0(&InstanceContainer); +} + +void USGInterpolationSet::SetX0(const float X0) +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + SGCoreImpl_FSGInterpolationSetImpl_SetX0(&InstanceContainer, X0); +} + +float USGInterpolationSet::GetX1() const +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_GetX1(&InstanceContainer); +} + +void USGInterpolationSet::SetX1(const float X1) +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + SGCoreImpl_FSGInterpolationSetImpl_SetX1(&InstanceContainer, X1); +} + +float USGInterpolationSet::GetY0() const +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_GetY0(&InstanceContainer); +} + +void USGInterpolationSet::SetY0(const float Y0) +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + SGCoreImpl_FSGInterpolationSetImpl_SetY0(&InstanceContainer, Y0); +} + +float USGInterpolationSet::GetY1() const +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_GetY1(&InstanceContainer); +} + +void USGInterpolationSet::SetY1(const float Y1) +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + SGCoreImpl_FSGInterpolationSetImpl_SetY1(&InstanceContainer, Y1); +} + +float USGInterpolationSet::GetMin() const +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_GetMin(&InstanceContainer); +} + +void USGInterpolationSet::SetMin(const float Min) +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + SGCoreImpl_FSGInterpolationSetImpl_SetMin(&InstanceContainer, Min); +} + +float USGInterpolationSet::GetMax() const +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_GetMax(&InstanceContainer); +} + +void USGInterpolationSet::SetMax(const float Max) +{ + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + SGCoreImpl_FSGInterpolationSetImpl_SetMax(&InstanceContainer, Max); +} + +float USGInterpolationSet::Get(const float Value, const bool bLimit, const bool bNormalizeAngle) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_Get(&InstanceContainer, Value, bLimit, bNormalizeAngle); +} + +bool USGInterpolationSet::Equals(const USGInterpolationSet* InterpolationSet) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + FSGIC_FSGInterpolationSetImpl InterpolationSetContainer{InterpolationSet->ToInterpolationSetImpl()}; + return SGCoreImpl_FSGInterpolationSetImpl_Equals(&InstanceContainer, &InterpolationSetContainer); +} + +FString USGInterpolationSet::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGInterpolationSetImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGInterpolationSet::ToString(const bool bLimits) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGInterpolationSetImpl_ToString_bLimits(&InstanceContainer, &OutStringContainer, bLimits); + return MoveTemp(OutStringContainer.String); +} + +FString USGInterpolationSet::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGInterpolationSetImpl InstanceContainer{ToInterpolationSetImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGInterpolationSetImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGInterpolationSet::FImpl::FImpl(USGInterpolationSet* InOwner) + : Owner(InOwner) +{ +} + +USGInterpolationSet::FImpl::~FImpl() = default; + +void USGInterpolationSet::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGInterpolationSet::FImpl::SyncUProperties() +{ +} + +void USGInterpolationSet::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGInterpolationSetArray.cpp b/Source/SenseGloveCore/Private/SGCore/SGInterpolationSetArray.cpp new file mode 100644 index 00000000..ad94f13d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGInterpolationSetArray.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGInterpolationSetArray.h" \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGJointKinematics.cpp b/Source/SenseGloveCore/Private/SGCore/SGJointKinematics.cpp new file mode 100644 index 00000000..b4daebf3 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGJointKinematics.cpp @@ -0,0 +1,75 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGJointKinematics.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FVector.h" + +bool FSGJointKinematics::ForwardKinematics( + const FVector& StartPosition, const FQuat& StartRotation, const TArray& JointLengths, + const TArray& JointAngles, TArray& OutNewPositions, TArray& OutNewRotations) +{ + FSGIC_FVector StartPositionContainer{StartPosition}; + FSGIC_FQuat StartRotationContainer{StartRotation}; + FSGIC_TArray_FVector JointLengthsContainer{JointLengths}; + FSGIC_TArray_FVector JointAnglesContainer{JointAngles}; + FSGIC_TArray_FVector OutNewPositionsContainer; + FSGIC_TArray_FQuat OutNewRotationsContainer; + return + SGCoreImpl_FSGJointKinematicsImpl_ForwardKinematics_StartPosition_StartRotation_JointLengths_JointAngles_OutNewPositions_OutNewRotations( + &StartPositionContainer, &StartRotationContainer, &JointLengthsContainer, &JointAnglesContainer, + &OutNewPositionsContainer, &OutNewRotationsContainer); +} + +bool FSGJointKinematics::ForwardKinematics( + const USGBasicHandModel* Profile, ESGFinger Finger, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations) +{ + FSGIC_FSGBasicHandModelImpl ProfileContainer{Profile->ToBasicHandModelImpl()}; + FSGIC_ESGFinger FingerContainer{Finger}; + FSGIC_TArray_FVector JointAnglesContainer{JointAngles}; + FSGIC_TArray_FVector OutNewPositionsContainer; + FSGIC_TArray_FQuat OutNewRotationsContainer; + return + SGCoreImpl_FSGJointKinematicsImpl_ForwardKinematics_Profile_Finger_JointAngles_OutNewPositions_OutNewRotations( + &ProfileContainer, &FingerContainer, &JointAnglesContainer, &OutNewPositions, &OutNewRotations); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGLibrary.cpp b/Source/SenseGloveCore/Private/SGCore/SGLibrary.cpp new file mode 100644 index 00000000..63be40ae --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGLibrary.cpp @@ -0,0 +1,68 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGLibrary.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGBackendType.h" +#include "SGInterop/SGIC_FString.h" + +FString FSGLibrary::GetVersion() +{ + FSGIC_FString Container; + SGCoreImpl_FSGLibraryImpl_Version(&Container); + return Container.String; +} + +ESGBackendType FSGLibrary::GetBackendType() +{ + FSGIC_ESGBackendType Container; + SGCoreImpl_FSGLibraryImpl_GetBackendType(&Container); + return Container.Type; +} + +FString FSGLibrary::GetBackendVersion() +{ + FSGIC_FString Container; + SGCoreImpl_FSGLibraryImpl_BackendVersion(&Container); + return Container.String; +} + +FString FSGLibrary::GetSGConnectVersion() +{ + FSGIC_FString Container; + SGCoreImpl_FSGLibraryImpl_SGConnectVersion(&Container); + return Container.String; +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGNovaGlove.cpp b/Source/SenseGloveCore/Private/SGCore/SGNovaGlove.cpp new file mode 100644 index 00000000..58954a04 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGNovaGlove.cpp @@ -0,0 +1,753 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGNovaGlove.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGDeviceImplCast.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGThumperCommand.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGNovaGloveImpl.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_ESGPositionalTrackingHardware.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h" + +struct USGNovaGlove::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGDevice* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGNovaGlove* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGNovaGlove* USGNovaGlove::NewNovaGlove(UObject* Outer, const FSGNovaGloveImpl& NovaGloveImpl) +{ + USGNovaGlove* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(NovaGloveImpl); + return Instance; +} + +USGNovaGlove* USGNovaGlove::NewNovaGlove(UObject* Outer, TSharedRef NovaGloveImpl) +{ + USGNovaGlove* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(MoveTemp(NovaGloveImpl)); + return Instance; +} + +USGNovaGlove* USGNovaGlove::NewNovaGlove(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGSenseGloveImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewNovaGlove(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGNovaGlove* USGNovaGlove::NewNovaGlove(UObject* Outer, const USGNovaGloveInfo& DeviceInfo) +{ + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + FSGIC_FSGNovaGloveInfoImpl DeviceInfoContainer{DeviceInfo.ToNovaGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveImpl_ctor_Model_MakeShared(&OutSharedPtrContainer, &DeviceInfoContainer); + + return NewNovaGlove(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +ANSICHAR USGNovaGlove::GetHapticsByte() +{ + return SGCoreImpl_FSGNovaGloveImpl_GetHapticsByte(); +} + +FVector USGNovaGlove::GetMinCalibrationRange() +{ + FSGIC_FVector OutRangeContainer; + SGCoreImpl_FSGNovaGloveImpl_GetMinCalibrationRange(&OutRangeContainer); + return MoveTemp(OutRangeContainer.Vector); +} + +USGHandPose* USGNovaGlove::CalculateHandPose(UObject* Outer, + const USGBasicHandModel* HandModel, + const USGNovaGloveSensorData* NovaData, + const USGNovaGloveHandProfile* Profile) +{ + FSGIC_FSGHandPoseImpl OutPoseContainer; + FSGIC_FSGBasicHandModelImpl HandModelContainer{HandModel->ToBasicHandModelImpl()}; + FSGIC_FSGNovaGloveSensorDataImpl NovaDataContainer{NovaData->ToNovaGloveSensorDataImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl ProfileContainer{Profile->ToNovaGloveHandProfileImpl()}; + SGCoreImpl_FSGNovaGloveImpl_CalculateHandPose( + &OutPoseContainer, &HandModelContainer, &NovaDataContainer, &ProfileContainer); + + return USGHandPose::NewHandPose(Outer, MoveTemp(OutPoseContainer.HandPoseImpl)); +} + +USGDevice* USGNovaGlove::Parse(UObject* Outer, const FString& ConstantsString) +{ + FSGIC_FSGNovaGloveImpl OutNovaGloveImplContainer; + FSGIC_FString ConstantsStringContainer{ConstantsString}; + SGCoreImpl_FSGSenseGloveImpl_Parse(&OutNovaGloveImplContainer, &ConstantsStringContainer); + + return NewNovaGlove(Outer, MoveTemp(OutNovaGloveImplContainer.NovaGloveImpl)); +} + +TArray USGNovaGlove::GetNovaGloves(UObject* Outer) +{ + FSGIC_TArray_FSGNovaGloveImpl OutGlovesContainer; + SGCoreImpl_FSGNovaGloveImpl_GetNovaGloves(&OutGlovesContainer); + TArray Gloves; + for (const FSGNovaGloveImpl& NovaGloveImpl: OutGlovesContainer.Array) + { + USGNovaGlove* NovaGlove = USGNovaGlove::NewNovaGlove(Outer, NovaGloveImpl); + Gloves.Add(NovaGlove); + } + return MoveTemp(Gloves); +} + +bool USGNovaGlove::GetNovaGlove(UObject* Outer, USGNovaGlove*& OutGlove) +{ + FSGIC_FSGNovaGloveImpl OutGloveContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetNovaGlove_OutGlove(&OutGloveContainer); + + if (bResult) + { + OutGlove = NewNovaGlove(Outer, MoveTemp(OutGloveContainer.NovaGloveImpl)); + } + + return bResult; +} + +bool USGNovaGlove::GetNovaGlove(UObject* Outer, const bool bRightHanded, USGNovaGlove*& OutGlove) +{ + FSGIC_FSGNovaGloveImpl OutGloveContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetNovaGlove_bRightHanded_OutGlove( + bRightHanded, &OutGloveContainer); + + if (bResult) + { + OutGlove = NewNovaGlove(Outer, MoveTemp(OutGloveContainer.NovaGloveImpl)); + } + + return bResult; +} + +TArray USGNovaGlove::GetCalibrationValues(const USGNovaGloveSensorData* SensorData) +{ + FSGIC_TArray_FVector OutValuesContainer; + FSGIC_FSGNovaGloveSensorDataImpl SensorDataContainer{SensorData->ToNovaGloveSensorDataImpl()}; + SGCoreImpl_FSGNovaGloveImpl_GetCalibrationValues_SensorData(&OutValuesContainer, &SensorDataContainer); + return MoveTemp(OutValuesContainer.Array); +} + +void USGNovaGlove::CalibrateInterpolation(UObject* Outer, + const TArray& MinValues, const TArray& MaxValues, + USGNovaGloveHandProfile*& OutProfile) +{ + FSGIC_TArray_FVector MinValuesContainer{MinValues}; + FSGIC_TArray_FVector MaxValuesContainer{MaxValues}; + FSGIC_FSGNovaGloveHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGNovaGloveImpl_CalibrateInterpolation( + &MinValuesContainer, &MaxValuesContainer, &OutProfileContainer); + OutProfile = USGNovaGloveHandProfile::NewNovaGloveHandProfile( + Outer, MoveTemp(OutProfileContainer.NovaGloveHandProfileImpl)); +} + +void USGNovaGlove::CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, const bool bRightHanded, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutGlovePositionContainer; + FSGIC_FQuat OutGloveRotationContainer; + + SGCoreImpl_FSGNovaGloveImpl_CalculateGloveLocation( + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, bRightHanded, + &OutGlovePositionContainer, &OutGloveRotationContainer); + + OutGlovePosition = MoveTemp(OutGlovePositionContainer.Vector); + OutGloveRotation = MoveTemp(OutGloveRotationContainer.Quat); +} + +void USGNovaGlove::CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, const bool bRightHanded, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutWristPositionContainer; + FSGIC_FQuat OutWristRotationContainer; + + SGCoreImpl_FSGNovaGloveImpl_CalculateWristLocation( + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, bRightHanded, + &OutWristPositionContainer, &OutWristRotationContainer); + + OutWristPosition = MoveTemp(OutWristPositionContainer.Vector); + OutWristRotation = MoveTemp(OutWristRotationContainer.Quat); +} + +FString USGNovaGlove::ToBytes(const USGThumperCommand* ThumperCommand) +{ + FSGIC_FSGThumperCommandImpl ThumperCommandContainer{ThumperCommand->ToThumperCommandImpl()}; + FSGIC_FString OutBytesContainer; + SGCoreImpl_FSGNovaGloveImpl_ToBytes_ThumperCommand(&OutBytesContainer, &ThumperCommandContainer); + return MoveTemp(OutBytesContainer.String);; +} + +FString USGNovaGlove::ToBytes(const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FString OutBytesContainer; + SGCoreImpl_FSGNovaGloveImpl_ToBytes_ForceFeedbackCommand(&OutBytesContainer, &ForceFeedbackCommandContainer); + return MoveTemp(OutBytesContainer.String);; +} + +FString USGNovaGlove::ToBytes(const USGBuzzCommand* BuzzCommand) +{ + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + FSGIC_FString OutBytesContainer; + SGCoreImpl_FSGNovaGloveImpl_ToBytes_BuzzCommand(&OutBytesContainer, &BuzzCommandContainer); + return MoveTemp(OutBytesContainer.String);; +} + +USGNovaGlove::USGNovaGlove() + : USGHapticGlove(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGSenseGloveImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const USGNovaGloveInfo& DeviceInfo) + : USGHapticGlove(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtrContainer; + FSGIC_FSGNovaGloveInfoImpl DeviceInfoContainer{DeviceInfo.ToNovaGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveImpl_ctor_Model_MakeShared(&OutSharedPtrContainer, &DeviceInfoContainer); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const FSGDeviceImpl& SGDeviceImpl) + : USGHapticGlove(SGDeviceImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const FSGHapticGloveImpl& HapticGloveImpl) + : USGHapticGlove(HapticGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const FSGNovaGloveImpl& NovaGloveImpl) + : USGHapticGlove(NovaGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const TSharedRef SGDeviceImpl) + : USGHapticGlove(SGDeviceImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const TSharedRef HapticGloveImpl) + : USGHapticGlove(HapticGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGNovaGlove::USGNovaGlove(const TSharedRef NovaGloveImpl) + : USGHapticGlove(NovaGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGNovaGlove::~USGNovaGlove() = default; + +TSharedRef USGNovaGlove::ToNovaGloveImpl() const +{ + SyncImplObject(); + return FSGDeviceImplCast::ToNovaGloveImpl(ToSGDeviceImpl()); +} + +void USGNovaGlove::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGNovaGlove::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +ESGDeviceType USGNovaGlove::GetDeviceType() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_ESGDeviceType OutTypeContainer; + SGCoreImpl_FSGNovaGloveImpl_GetDeviceType(&InstanceContainer, &OutTypeContainer); + return OutTypeContainer.Type; +} + +FString USGNovaGlove::GetDeviceId() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGNovaGloveImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGNovaGlove::GetHardwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FString OutVersionContainer; + SGCoreImpl_FSGNovaGloveImpl_GetHardwareVersion(&InstanceContainer, &OutVersionContainer); + return MoveTemp(OutVersionContainer.String); +} + +int32 USGNovaGlove::GetFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + return SGCoreImpl_FSGNovaGloveImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGNovaGlove::GetSubFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + return SGCoreImpl_FSGNovaGloveImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +bool USGNovaGlove::HasBattery() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + return SGCoreImpl_FSGNovaGloveImpl_HasBattery(&InstanceContainer); +} + +bool USGNovaGlove::IsCharging() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_IsCharging(&InstanceContainer); + + SyncUProperties(); + + return bResult; +} + +bool USGNovaGlove::GetBatteryLevel(float& OutBatteryLevel) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetBatteryLevel(&InstanceContainer, &OutBatteryLevel); + + SyncUProperties(); + + return bResult; +} + +bool USGNovaGlove::GetSensorData(UObject* Outer, USGNovaGloveSensorData*& OutSensorData) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGNovaGloveSensorDataImpl OutSensorDataContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetSensorData(&InstanceContainer, &OutSensorDataContainer); + + if (bResult) + { + OutSensorData = USGNovaGloveSensorData::NewNovaGloveSensorData( + Outer, MoveTemp(OutSensorDataContainer.NovaGloveSensorDataImpl)); + } + + return bResult; +} + +bool USGNovaGlove::GetImuRotation(FQuat& OutImu) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FQuat OutImuContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetImuRotation(&InstanceContainer, &OutImuContainer); + + SyncUProperties(); + + if (bResult) + { + OutImu = MoveTemp(OutImuContainer.Quat); + } + + return bResult; +} + +bool USGNovaGlove::GetHandPose( + UObject* Outer, const USGBasicHandModel* HandModel, const USGNovaGloveHandProfile* Profile, + USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGBasicHandModelImpl HandModelContainer{HandModel->ToBasicHandModelImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl ProfileContainer{Profile->ToNovaGloveHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandModel_Profile_OutHandPose( + &InstanceContainer, &HandModelContainer, &ProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGNovaGlove::GetHandPose(UObject* Outer, const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGBasicHandModelImpl HandGeometryContainer{HandGeometry->ToBasicHandModelImpl()}; + FSGIC_FSGHandProfileImpl ProfileContainer{HandProfile->ToHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + &InstanceContainer, &HandGeometryContainer, &ProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGNovaGlove::GetHandPose(UObject* Outer, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGHandProfileImpl ProfileContainer{HandProfile->ToHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandProfile_OutHandPose( + &InstanceContainer, &ProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +void USGNovaGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + FSGIC_FSGThumperCommandImpl ThumperCommandContainer{ThumperCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + &InstanceContainer, &ForceFeedbackCommandContainer, &BuzzCommandContainer, &ThumperCommandContainer); + + SyncUProperties(); +} + +void USGNovaGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand(&InstanceContainer, &ForceFeedbackCommandContainer); + + SyncUProperties(); +} + +void USGNovaGlove::SendHaptics(const USGBuzzCommand* BuzzCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand(&InstanceContainer, &BuzzCommandContainer); + + SyncUProperties(); +} + +void USGNovaGlove::SendHaptics(const USGThumperCommand* ThumperCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGThumperCommandImpl ThumperCommandContainer{ThumperCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand(&InstanceContainer, &ThumperCommandContainer); + + SyncUProperties(); +} + +bool USGNovaGlove::GetCalibrationValues(TArray& OutValues) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_TArray_FVector OutValuesContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveImpl_GetCalibrationValues_OutValues( + &InstanceContainer, &OutValuesContainer); + + SyncUProperties(); + + if (bResult) + { + OutValues = MoveTemp(OutValuesContainer.Array); + } + + return bResult; +} + +void USGNovaGlove::ApplyCalibration(UObject* Outer, USGHandProfile*& OutProfile) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGNovaGloveImpl_ApplyCalibration_HandProfile(&InstanceContainer, &OutProfileContainer); + OutProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); +} + +void USGNovaGlove::ApplyCalibration(UObject* Outer, USGNovaGloveHandProfile*& OutProfile) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGNovaGloveImpl_ApplyCalibration_NovaGloveHandProfile(&InstanceContainer, &OutProfileContainer); + OutProfile = USGNovaGloveHandProfile::NewNovaGloveHandProfile( + Outer, MoveTemp(OutProfileContainer.NovaGloveHandProfileImpl)); +} + +void USGNovaGlove::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutGlovePositionContainer; + FSGIC_FQuat OutGloveRotationContainer; + + SGCoreImpl_FSGNovaGloveImpl_GetGloveLocation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &OutGlovePositionContainer, &OutGloveRotationContainer); + + OutGlovePosition = MoveTemp(OutGlovePositionContainer.Vector); + OutGloveRotation = MoveTemp(OutGloveRotationContainer.Quat); +} + +void USGNovaGlove::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutWristPositionContainer; + FSGIC_FQuat OutWristRotationContainer; + SGCoreImpl_FSGNovaGloveImpl_GetWristLocation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &OutWristPositionContainer, &OutWristRotationContainer); + + OutWristPosition = MoveTemp(OutWristPositionContainer.Vector); + OutWristRotation = MoveTemp(OutWristRotationContainer.Quat); +} + +FString USGNovaGlove::ToString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGNovaGloveImpl InstanceContainer{ToNovaGloveImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGNovaGloveImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String);; +} + +USGNovaGlove::FImpl::FImpl(USGNovaGlove* InOwner) + : Owner(InOwner) +{ +} + +USGNovaGlove::FImpl::~FImpl() = default; + +void USGNovaGlove::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGNovaGlove::FImpl::SyncUProperties() +{ +} + +void USGNovaGlove::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGNovaGloveCalibration.cpp b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveCalibration.cpp new file mode 100644 index 00000000..a806fc76 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveCalibration.cpp @@ -0,0 +1,70 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGNovaGloveCalibration.h" + +#include "SGCore/SGNovaGloveHandProfile.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" + +void FSGNovaGloveCalibration::ApplyDefaultCalibrationInterpolationValues(const TArray& RetractedValues, + const TArray& ExtendedValues, + const USGNovaGloveHandProfile* Profile) +{ + FSGIC_TArray_FVector RetractedValuesContainer{RetractedValues}; + FSGIC_TArray_FVector ExtendedValuesContainer{ExtendedValues}; + FSGIC_FSGNovaGloveHandProfileImpl ProfileContainer{Profile->ToNovaGloveHandProfileImpl()}; + SGCoreImpl_FSGNovaGloveCalibrationImpl_ApplyDefaultCalibrationInterpolationValues( + &RetractedValuesContainer, &ExtendedValuesContainer, &ProfileContainer); +} + +void FSGNovaGloveCalibration::ApplyInterpolationValues(const TArray& RetractedValues, + const TArray& ExtendedValues, + const TArray>& RetractedAngles, + const TArray>& ExtendedAngles, + const USGNovaGloveHandProfile* Profile) +{ + FSGIC_TArray_FVector RetractedValuesContainer{RetractedValues}; + FSGIC_TArray_FVector ExtendedValuesContainer{ExtendedValues}; + FSGIC_TArray_TArray_FVector RetractedAnglesContainer{RetractedAngles}; + FSGIC_TArray_TArray_FVector ExtendedAnglesContainer{ExtendedAngles}; + FSGIC_FSGNovaGloveHandProfileImpl ProfileContainer{Profile->ToNovaGloveHandProfileImpl()}; + SGCoreImpl_FSGNovaGloveCalibrationImpl_ApplyInterpolationValues( + &RetractedValuesContainer, &ExtendedValuesContainer, + &RetractedAnglesContainer, &ExtendedAnglesContainer, + &ProfileContainer); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGNovaGloveHandProfile.cpp b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveHandProfile.cpp new file mode 100644 index 00000000..df8c02ad --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveHandProfile.cpp @@ -0,0 +1,232 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGNovaGloveHandProfile.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGNovaGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGHandInterpolatorImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FString.h" + +struct USGNovaGloveHandProfile::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGNovaGloveHandProfileImpl NovaGloveHandProfileImpl; + + /************************ + * Owner object + ************************/ + + USGNovaGloveHandProfile* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGNovaGloveHandProfile* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGNovaGloveHandProfile* USGNovaGloveHandProfile::NewNovaGloveHandProfile( + UObject* Outer, const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl) +{ + USGNovaGloveHandProfile* Instance = NewObject(Outer); + Instance->SetNovaGloveHandProfileImpl(NovaGloveHandProfileImpl); + return Instance; +} + +USGNovaGloveHandProfile* USGNovaGloveHandProfile::NewNovaGloveHandProfile(UObject* Outer) +{ + FSGIC_FSGNovaGloveHandProfileImpl OutNovaGloveHandProfileImplContainer; + SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor(&OutNovaGloveHandProfileImplContainer); + + return NewNovaGloveHandProfile(Outer, MoveTemp(OutNovaGloveHandProfileImplContainer.NovaGloveHandProfileImpl)); +} + +USGNovaGloveHandProfile* USGNovaGloveHandProfile::NewNovaGloveHandProfile( + UObject* Outer, const bool bRightHanded, const USGHandInterpolator* Interpolator) +{ + FSGIC_FSGNovaGloveHandProfileImpl OutNovaGloveHandProfileImplContainer; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_bRightHanded_Interpolator( + &OutNovaGloveHandProfileImplContainer, bRightHanded, &InterpolatorContainer); + + return NewNovaGloveHandProfile(Outer, MoveTemp(OutNovaGloveHandProfileImplContainer.NovaGloveHandProfileImpl)); +} + +USGNovaGloveHandProfile::USGNovaGloveHandProfile() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGNovaGloveHandProfileImpl OutNovaGloveHandProfileImplContainer; + SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor(&OutNovaGloveHandProfileImplContainer); + + Pimpl->NovaGloveHandProfileImpl = MoveTemp(OutNovaGloveHandProfileImplContainer.NovaGloveHandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveHandProfile::USGNovaGloveHandProfile(const bool bRightHanded, const USGHandInterpolator* Interpolator) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGNovaGloveHandProfileImpl OutNovaGloveHandProfileImplContainer; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_bRightHanded_Interpolator( + &OutNovaGloveHandProfileImplContainer, bRightHanded, &InterpolatorContainer); + + Pimpl->NovaGloveHandProfileImpl = MoveTemp(OutNovaGloveHandProfileImplContainer.NovaGloveHandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveHandProfile::USGNovaGloveHandProfile(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetNovaGloveHandProfileImpl(NovaGloveHandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveHandProfile::~USGNovaGloveHandProfile() = default; + +void USGNovaGloveHandProfile::SetNovaGloveHandProfileImpl(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl) +{ + FSGIC_FSGNovaGloveHandProfileImpl OutNovaGloveHandProfileContainer; + FSGIC_FSGNovaGloveHandProfileImpl RhsContainer{NovaGloveHandProfileImpl}; + SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_copy(&OutNovaGloveHandProfileContainer, &RhsContainer); + Pimpl->NovaGloveHandProfileImpl = MoveTemp(OutNovaGloveHandProfileContainer.NovaGloveHandProfileImpl); +} + +const FSGNovaGloveHandProfileImpl& USGNovaGloveHandProfile::ToNovaGloveHandProfileImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->NovaGloveHandProfileImpl; +} + +bool USGNovaGloveHandProfile::IsRight() const +{ + FSGIC_FSGNovaGloveHandProfileImpl InstanceContainer{ToNovaGloveHandProfileImpl()}; + return SGCoreImpl_FSGNovaGloveHandProfileImpl_IsRight(&InstanceContainer); +} + +USGHandInterpolator* USGNovaGloveHandProfile::GetInterpolationSet(UObject* Outer) const +{ + FSGIC_FSGNovaGloveHandProfileImpl InstanceContainer{ToNovaGloveHandProfileImpl()}; + FSGIC_FSGHandInterpolatorImpl OutSetContainer; + SGCoreImpl_FSGNovaGloveHandProfileImpl_GetInterpolationSet(&InstanceContainer, &OutSetContainer); + + return USGHandInterpolator::NewHandInterpolator(Outer, MoveTemp(OutSetContainer.HandInterpolatorImpl)); +} + +bool USGNovaGloveHandProfile::Equals(const USGNovaGloveHandProfile* NovaGloveHandProfile) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveHandProfileImpl InstanceContainer{ToNovaGloveHandProfileImpl()}; + FSGIC_FSGNovaGloveHandProfileImpl NovaGloveHandProfileContainer{NovaGloveHandProfile->ToNovaGloveHandProfileImpl()}; + return SGCoreImpl_FSGNovaGloveHandProfileImpl_Equals(&InstanceContainer, &NovaGloveHandProfileContainer); +} + +void USGNovaGloveHandProfile::Reset() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveHandProfileImpl InstanceContainer{ToNovaGloveHandProfileImpl()}; + SGCoreImpl_FSGNovaGloveHandProfileImpl_Reset(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +FString USGNovaGloveHandProfile::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveHandProfileImpl InstanceContainer{ToNovaGloveHandProfileImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGNovaGloveHandProfileImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGNovaGloveHandProfile::FImpl::FImpl(USGNovaGloveHandProfile* InOwner) + : Owner(InOwner) +{ +} + +USGNovaGloveHandProfile::FImpl::~FImpl() = default; + +void USGNovaGloveHandProfile::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGNovaGloveHandProfile::FImpl::SyncUProperties() +{ +} + +void USGNovaGloveHandProfile::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGNovaGloveInfo.cpp b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveInfo.cpp new file mode 100644 index 00000000..4176990d --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveInfo.cpp @@ -0,0 +1,304 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGNovaGloveInfo.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGNovaGloveInfoImpl.h" +#include "SGInterop/SGIC_FString.h" + +struct USGNovaGloveInfo::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGNovaGloveInfoImpl NovaGloveInfoImpl; + + /************************ + * Owner object + ************************/ + + USGNovaGloveInfo* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGNovaGloveInfo* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGNovaGloveInfo* USGNovaGloveInfo::NewNovaGloveInfo(UObject* Outer, const FSGNovaGloveInfoImpl& NovaGloveInfoImpl) +{ + USGNovaGloveInfo* Instance = NewObject(Outer); + Instance->SetNovaGloveInfoImpl(NovaGloveInfoImpl); + return Instance; +} + +USGNovaGloveInfo* USGNovaGloveInfo::NewNovaGloveInfo(UObject* Outer) +{ + FSGIC_FSGNovaGloveInfoImpl OutNovaGloveInfoImplContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_ctor(&OutNovaGloveInfoImplContainer); + + return NewNovaGloveInfo(Outer, MoveTemp(OutNovaGloveInfoImplContainer.NovaGloveInfoImpl)); +} + +USGNovaGloveInfo* USGNovaGloveInfo::NewNovaGloveInfo(UObject* Outer, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded, + const FQuat& ImuCorrection, int32 NumberOfSensors) +{ + FSGIC_FSGNovaGloveInfoImpl OutNovaGloveInfoImplContainer; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FQuat ImuCorrectionContainer{ImuCorrection}; + SGCoreImpl_FSGNovaGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_ImuCorrection_NumberOfSensors( + &OutNovaGloveInfoImplContainer, + &DeviceIdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, + bRightHanded, &ImuCorrectionContainer, NumberOfSensors); + + return NewNovaGloveInfo(Outer, MoveTemp(OutNovaGloveInfoImplContainer.NovaGloveInfoImpl)); +} + +bool USGNovaGloveInfo::Parse(UObject* Outer, const FString& ConstantsString, USGNovaGloveInfo*& OutGloveInfo) +{ + FSGIC_FString ConstantsStringContainer{ConstantsString}; + FSGIC_FSGNovaGloveInfoImpl OutGloveInfoImplContainer; + const bool bResult = SGCoreImpl_FSGNovaGloveInfoImpl_Parse(&ConstantsStringContainer, &OutGloveInfoImplContainer); + + if (bResult) + { + OutGloveInfo = NewNovaGloveInfo(Outer, MoveTemp(OutGloveInfoImplContainer.NovaGloveInfoImpl)); + } + + return bResult; +} + +USGNovaGloveInfo* USGNovaGloveInfo::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FString SerializedStringContainer{SerializedString}; + FSGIC_FSGNovaGloveInfoImpl OutNovaGloveInfoImplContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_Deserialize(&OutNovaGloveInfoImplContainer, &SerializedStringContainer); + + return NewNovaGloveInfo(Outer, MoveTemp(OutNovaGloveInfoImplContainer.NovaGloveInfoImpl)); +} + +USGNovaGloveInfo::USGNovaGloveInfo() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGNovaGloveInfoImpl OutNovaGloveInfoImplContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_ctor(&OutNovaGloveInfoImplContainer); + + Pimpl->NovaGloveInfoImpl = MoveTemp(OutNovaGloveInfoImplContainer.NovaGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveInfo::USGNovaGloveInfo( + const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const FQuat& ImuCorrection, const int32 NumberOfSensors) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGNovaGloveInfoImpl OutNovaGloveInfoImplContainer; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FQuat ImuCorrectionContainer{ImuCorrection}; + SGCoreImpl_FSGNovaGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_ImuCorrection_NumberOfSensors( + &OutNovaGloveInfoImplContainer, + &DeviceIdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, + bRightHanded, &ImuCorrectionContainer, NumberOfSensors); + + Pimpl->NovaGloveInfoImpl = MoveTemp(OutNovaGloveInfoImplContainer.NovaGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveInfo::USGNovaGloveInfo(const FSGNovaGloveInfoImpl& NovaGloveInfoImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetNovaGloveInfoImpl(NovaGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveInfo::~USGNovaGloveInfo() = default; + +void USGNovaGloveInfo::SetNovaGloveInfoImpl(const FSGNovaGloveInfoImpl& NovaGloveInfoImpl) +{ + FSGIC_FSGNovaGloveInfoImpl OutNovaGloveInfoContainer; + FSGIC_FSGNovaGloveInfoImpl RhsContainer{NovaGloveInfoImpl}; + SGCoreImpl_FSGNovaGloveInfoImpl_ctor_copy(&OutNovaGloveInfoContainer, &RhsContainer); + Pimpl->NovaGloveInfoImpl = MoveTemp(OutNovaGloveInfoContainer.NovaGloveInfoImpl); +} + +const FSGNovaGloveInfoImpl& USGNovaGloveInfo::ToNovaGloveInfoImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->NovaGloveInfoImpl; +} + +FSGNovaGloveInfoImpl& USGNovaGloveInfo::ToNovaGloveInfoImpl() +{ + Pimpl->SyncImplObject(); + return Pimpl->NovaGloveInfoImpl; +} + +FString USGNovaGloveInfo::GetDeviceId() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGNovaGloveInfo::GetHardwareVersion() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + FSGIC_FString OutVersionContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_GetHardwareVersion(&InstanceContainer, &OutVersionContainer); + return MoveTemp(OutVersionContainer.String); +} + +int32 USGNovaGloveInfo::GetFirmwareVersion() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + return SGCoreImpl_FSGNovaGloveInfoImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGNovaGloveInfo::GetSubFirmwareVersion() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + return SGCoreImpl_FSGNovaGloveInfoImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +bool USGNovaGloveInfo::IsRight() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + return SGCoreImpl_FSGNovaGloveInfoImpl_IsRight(&InstanceContainer); +} + +FQuat USGNovaGloveInfo::GetImuCorrection() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + FSGIC_FQuat OutCorrectionContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_GetImuCorrection(&InstanceContainer, &OutCorrectionContainer); + return MoveTemp(OutCorrectionContainer.Quat); +} + +int32 USGNovaGloveInfo::GetNumberOfSensors() const +{ + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + return SGCoreImpl_FSGNovaGloveInfoImpl_GetNumberOfSensors(&InstanceContainer); +} + +bool USGNovaGloveInfo::Equals(const USGNovaGloveInfo* NovaGloveInfo) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + FSGIC_FSGNovaGloveInfoImpl NovaGloveInfoImplContainer{NovaGloveInfo->ToNovaGloveInfoImpl()}; + return SGCoreImpl_FSGNovaGloveInfoImpl_Equals(&InstanceContainer, &NovaGloveInfoImplContainer); +} + +FString USGNovaGloveInfo::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGNovaGloveInfo::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveInfoImpl InstanceContainer{ToNovaGloveInfoImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGNovaGloveInfoImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGNovaGloveInfo::FImpl::FImpl(USGNovaGloveInfo* InOwner) + : Owner(InOwner) +{ +} + +USGNovaGloveInfo::FImpl::~FImpl() = default; + +void USGNovaGloveInfo::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGNovaGloveInfo::FImpl::SyncUProperties() +{ +} + +void USGNovaGloveInfo::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGNovaGloveSensorData.cpp b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveSensorData.cpp new file mode 100644 index 00000000..8d805b75 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGNovaGloveSensorData.cpp @@ -0,0 +1,294 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGCore/SGNovaGloveSensorData.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGNovaGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGNovaGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_FVector.h" + +struct USGNovaGloveSensorData::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGNovaGloveSensorDataImpl NovaGloveSensorDataImpl; + + /************************ + * Owner object + ************************/ + + USGNovaGloveSensorData* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGNovaGloveSensorData* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGNovaGloveSensorData* USGNovaGloveSensorData::NewNovaGloveSensorData( + UObject* Outer, const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl) +{ + USGNovaGloveSensorData* Instance = NewObject(Outer); + Instance->SetNovaGloveSensorDataImpl(NovaGloveSensorDataImpl); + return Instance; +} + +USGNovaGloveSensorData* USGNovaGloveSensorData::NewNovaGloveSensorData(UObject* Outer) +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor(&OutNovaGloveSensorDataImplContainer); + + return NewNovaGloveSensorData(Outer, MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl)); +} + +USGNovaGloveSensorData* USGNovaGloveSensorData::NewNovaGloveSensorData( + UObject* Outer, const TArray& Values, const int32 ParsedValues, + const FQuat& ImuRotation, const bool bImuParsed, const float BatteryLevel, const bool bCharging) +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + FSGIC_TArray_FVector ValuesContainer{Values}; + FSGIC_FQuat ImuRotationContainer{ImuRotation}; + SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_Values_ParsedValues_ImuRotation_bImuParsed_BatteryLevel_bCharging( + &OutNovaGloveSensorDataImplContainer, &ValuesContainer, ParsedValues, + &ImuRotationContainer, bImuParsed, BatteryLevel, bCharging); + + return NewNovaGloveSensorData(Outer, MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl)); +} + +USGNovaGloveSensorData* USGNovaGloveSensorData::Empty(UObject* Outer) +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_Empty(&OutNovaGloveSensorDataImplContainer); + + return NewNovaGloveSensorData(Outer, MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl)); +} + +USGNovaGloveSensorData* USGNovaGloveSensorData::Parse(UObject* Outer, + const FString& RawData, const USGNovaGloveInfo* GloveInfo) +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + FSGIC_FString RawDataString{RawData}; + FSGIC_FSGNovaGloveInfoImpl GloveInfoContainer{GloveInfo->ToNovaGloveInfoImpl()}; + SGCoreImpl_FSGNovaGloveSensorDataImpl_Parse(&OutNovaGloveSensorDataImplContainer, + &RawDataString, &GloveInfoContainer); + + return NewNovaGloveSensorData(Outer, MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl)); +} + +USGNovaGloveSensorData* USGNovaGloveSensorData::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGNovaGloveSensorDataImpl_Deserialize(&OutNovaGloveSensorDataImplContainer, &SerializedStringContainer); + + return NewNovaGloveSensorData(Outer, MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl)); +} + +USGNovaGloveSensorData::USGNovaGloveSensorData() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor(&OutNovaGloveSensorDataImplContainer); + + Pimpl->NovaGloveSensorDataImpl = MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveSensorData::USGNovaGloveSensorData(const TArray& Values, const int32 ParsedValues, + const FQuat& ImuRotation, const bool bImuParsed, + const float BatteryLevel, const bool bCharging) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataImplContainer; + FSGIC_TArray_FVector ValuesContainer{Values}; + FSGIC_FQuat ImuRotationContainer{ImuRotation}; + SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_Values_ParsedValues_ImuRotation_bImuParsed_BatteryLevel_bCharging( + &OutNovaGloveSensorDataImplContainer, &ValuesContainer, ParsedValues, + &ImuRotationContainer, bImuParsed, BatteryLevel, bCharging); + + Pimpl->NovaGloveSensorDataImpl = MoveTemp(OutNovaGloveSensorDataImplContainer.NovaGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveSensorData::USGNovaGloveSensorData(const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetNovaGloveSensorDataImpl(NovaGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGNovaGloveSensorData::~USGNovaGloveSensorData() = default; + +void USGNovaGloveSensorData::SetNovaGloveSensorDataImpl(const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl) +{ + FSGIC_FSGNovaGloveSensorDataImpl OutNovaGloveSensorDataContainer; + FSGIC_FSGNovaGloveSensorDataImpl RhsContainer{NovaGloveSensorDataImpl}; + SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_copy(&OutNovaGloveSensorDataContainer, &RhsContainer); + Pimpl->NovaGloveSensorDataImpl = MoveTemp(OutNovaGloveSensorDataContainer.NovaGloveSensorDataImpl); +} + +const FSGNovaGloveSensorDataImpl& USGNovaGloveSensorData::ToNovaGloveSensorDataImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->NovaGloveSensorDataImpl; +} + +TArray USGNovaGloveSensorData::GetSensorValues() const +{ + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + FSGIC_TArray_FVector OutValuesContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_GetSensorValues(&InstanceContainer, &OutValuesContainer); + return MoveTemp(OutValuesContainer.Array); +} + +FQuat USGNovaGloveSensorData::GetImuRotation() const +{ + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_GetImuRotation(&InstanceContainer, &OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +int32 USGNovaGloveSensorData::GetParsedValues() const +{ + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + return SGCoreImpl_FSGNovaGloveSensorDataImpl_GetParsedValues(&InstanceContainer); +} + +bool USGNovaGloveSensorData::IsImuParsed() const +{ + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + return SGCoreImpl_FSGNovaGloveSensorDataImpl_IsImuParsed(&InstanceContainer); +} + +float USGNovaGloveSensorData::GetBatteryLevel() const +{ + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + return SGCoreImpl_FSGNovaGloveSensorDataImpl_GetBatteryLevel(&InstanceContainer); +} + +bool USGNovaGloveSensorData::IsCharging() const +{ + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + return SGCoreImpl_FSGNovaGloveSensorDataImpl_IsCharging(&InstanceContainer); +} + +bool USGNovaGloveSensorData::Equals(const USGNovaGloveSensorData* NovaGloveSensorData) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + FSGIC_FSGNovaGloveSensorDataImpl NovaGloveSensorDataContainer{NovaGloveSensorData->ToNovaGloveSensorDataImpl()}; + return SGCoreImpl_FSGNovaGloveSensorDataImpl_Equals(&InstanceContainer, &NovaGloveSensorDataContainer); +} + +FString USGNovaGloveSensorData::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGNovaGloveSensorData::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGNovaGloveSensorDataImpl InstanceContainer{ToNovaGloveSensorDataImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGNovaGloveSensorDataImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGNovaGloveSensorData::FImpl::FImpl(USGNovaGloveSensorData* InOwner) + : Owner(InOwner) +{ +} + +USGNovaGloveSensorData::FImpl::~FImpl() = default; + +void USGNovaGloveSensorData::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGNovaGloveSensorData::FImpl::SyncUProperties() +{ +} + +void USGNovaGloveSensorData::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGQuatArray.cpp b/Source/SenseGloveCore/Private/SGCore/SGQuatArray.cpp new file mode 100644 index 00000000..57ccb733 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGQuatArray.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGQuatArray.h" \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseCom.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseCom.cpp new file mode 100644 index 00000000..4228eb81 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseCom.cpp @@ -0,0 +1,86 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseCom.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FString.h" + +bool FSGSenseCom::RegisterExe() +{ + return SGCoreImpl_FSGSenseComImpl_RegisterExe(); +} + +bool FSGSenseCom::RegisterExe(const FString& ExePath) +{ + FSGIC_FString ExePathContainer{ExePath}; + return SGCoreImpl_FSGSenseComImpl_RegisterExe_ExePath(&ExePathContainer); +} + +bool FSGSenseCom::GetExePath(FString& OutExePath) +{ + FSGIC_FString OutExePathContainer; + const bool bResult = SGCoreImpl_FSGSenseComImpl_GetExePath(&OutExePathContainer); + + if (bResult) + { + OutExePath = MoveTemp(OutExePathContainer.String); + } + + return bResult; +} + +bool FSGSenseCom::ScanningActive() +{ + return SGCoreImpl_FSGSenseComImpl_ScanningActive(); +} + +bool FSGSenseCom::GetCurrentExeDirectory(FString& OutDirectory) +{ + FSGIC_FString OutDirectoryContainer; + const bool bResult = SGCoreImpl_FSGSenseComImpl_GetCurrentExeDirectory(&OutDirectoryContainer); + + if (bResult) + { + OutDirectory = MoveTemp(OutDirectoryContainer.String); + } + + return bResult; +} + +bool FSGSenseCom::StartupSenseCom() +{ + return SGCoreImpl_FSGSenseComImpl_StartupSenseCom(); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseGlove.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseGlove.cpp new file mode 100644 index 00000000..7136ceab --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseGlove.cpp @@ -0,0 +1,842 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseGlove.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGDeviceImplCast.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGSenseGloveImpl.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_ESGPositionalTrackingHardware.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGSenseGlovePoseImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FSGSenseGloveImpl.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" +#include "SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h" + +struct USGSenseGlove::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGDevice* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGSenseGlove* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGSenseGlove* USGSenseGlove::NewSenseGlove(UObject* Outer, const FSGSenseGloveImpl& SenseGloveImpl) +{ + USGSenseGlove* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(SenseGloveImpl); + return Instance; +} + +USGSenseGlove* USGSenseGlove::NewSenseGlove(UObject* Outer, TSharedRef SenseGloveImpl) +{ + USGSenseGlove* Instance = NewObject(Outer); + Instance->SetSGDeviceImpl(MoveTemp(SenseGloveImpl)); + return Instance; +} + +USGSenseGlove* USGSenseGlove::NewSenseGlove(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGSenseGloveImpl_ctor_MakeShared(&OutSharedPtrContainer); + + return NewSenseGlove(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGSenseGlove* USGSenseGlove::NewSenseGlove(UObject* Outer, const USGSenseGloveInfo& Model) +{ + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + FSGIC_FSGSenseGloveInfoImpl ModelContainer{Model.ToSenseGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveImpl_ctor_Model_MakeShared(&OutSharedPtrContainer, &ModelContainer); + + return NewSenseGlove(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +ANSICHAR USGSenseGlove::GetHapticsByte() +{ + return SGCoreImpl_FSGSenseGloveImpl_GetHapticsByte(); +} + +ANSICHAR USGSenseGlove::GetThumperByte() +{ + return SGCoreImpl_FSGSenseGloveImpl_GetThumperByte(); +} + +USGSenseGlovePose* USGSenseGlove::CalculateGlovePose(UObject* Outer, + const USGSenseGloveSensorData* SensorData, + const USGSenseGloveInfo* GloveModel) +{ + FSGIC_FSGSenseGlovePoseImpl OutPoseContainer; + FSGIC_FSGSenseGloveSensorDataImpl SensorDataContainer{SensorData->ToSenseGloveSensorDataImpl()}; + FSGIC_FSGSenseGloveInfoImpl GloveModelContainer{GloveModel->ToSenseGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveImpl_CalculateGlovePose_SensorData_GloveModel( + &OutPoseContainer, &SensorDataContainer, &GloveModelContainer); + + return USGSenseGlovePose::NewSenseGlovePose(Outer, MoveTemp(OutPoseContainer.SenseGlovePoseImpl)); +} + +USGSenseGlovePose* USGSenseGlove::CalculateGlovePose(UObject* Outer, + const TArray>& GloveAngles, + const USGSenseGloveInfo* GloveModel) +{ + FSGIC_FSGSenseGlovePoseImpl OutPoseContainer; + FSGIC_TArray_TArray_FVector GloveAnglesContainer{GloveAngles}; + FSGIC_FSGSenseGloveInfoImpl GloveModelContainer{GloveModel->ToSenseGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveImpl_CalculateGlovePose_GloveAngles_GloveModel( + &OutPoseContainer, &GloveAnglesContainer, &GloveModelContainer); + + return USGSenseGlovePose::NewSenseGlovePose(Outer, MoveTemp(OutPoseContainer.SenseGlovePoseImpl)); +} + +USGHandPose* USGSenseGlove::CalculateHandPose(UObject* Outer, + const USGSenseGlovePose* GlovePose, + const USGBasicHandModel* HandModel, + const USGSenseGloveHandProfile* Profile) +{ + FSGIC_FSGHandPoseImpl OutPoseContainer; + FSGIC_FSGSenseGlovePoseImpl GlovePoseContainer{GlovePose->ToSenseGlovePoseImpl()}; + FSGIC_FSGBasicHandModelImpl HandModelContainer{HandModel->ToBasicHandModelImpl()}; + FSGIC_FSGSenseGloveHandProfileImpl ProfileContainer{Profile->ToSenseGloveHandProfileImpl()}; + SGCoreImpl_FSGSenseGloveImpl_CalculateHandPose( + &OutPoseContainer, &GlovePoseContainer, &HandModelContainer, &ProfileContainer); + + return USGHandPose::NewHandPose(Outer, MoveTemp(OutPoseContainer.HandPoseImpl)); +} + +USGDevice* USGSenseGlove::Parse(UObject* Outer, const FString& ConstantsString) +{ + FSGIC_FSGSenseGloveImpl OutSenseGloveImplContainer; + FSGIC_FString ConstantsStringContainer{ConstantsString}; + SGCoreImpl_FSGSenseGloveImpl_Parse(&OutSenseGloveImplContainer, &ConstantsStringContainer); + + return NewSenseGlove(Outer, MoveTemp(OutSenseGloveImplContainer.SenseGloveImpl)); +} + +TArray USGSenseGlove::GetSenseGloves(UObject* Outer) +{ + FSGIC_TArray_FSGSenseGloveImpl OutGlovesContainer; + SGCoreImpl_FSGSenseGloveImpl_GetSenseGloves(&OutGlovesContainer); + TArray Gloves; + for (const FSGSenseGloveImpl& SenseGloveImpl: OutGlovesContainer.Array) + { + USGSenseGlove* SenseGlove = USGSenseGlove::NewSenseGlove(Outer, SenseGloveImpl); + Gloves.Add(SenseGlove); + } + return MoveTemp(Gloves); +} + +bool USGSenseGlove::GetSenseGlove(UObject* Outer, USGSenseGlove*& OutGlove) +{ + FSGIC_FSGSenseGloveImpl OutGloveContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetSenseGlove_OutGlove(&OutGloveContainer); + + if (bResult) + { + OutGlove = NewSenseGlove(Outer, MoveTemp(OutGloveContainer.SenseGloveImpl)); + } + + return bResult; +} + +bool USGSenseGlove::GetSenseGlove(UObject* Outer, const bool bRightHanded, USGSenseGlove*& OutGlove) +{ + FSGIC_FSGSenseGloveImpl OutGloveContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetSenseGlove_bRightHanded_OutGlove( + bRightHanded, &OutGloveContainer); + + if (bResult) + { + OutGlove = NewSenseGlove(Outer, MoveTemp(OutGloveContainer.SenseGloveImpl)); + } + + return bResult; +} + +TArray USGSenseGlove::GetCalibrationValues(const USGSenseGlovePose* GlovePose) +{ + FSGIC_TArray_FVector OutValuesContainer; + FSGIC_FSGSenseGlovePoseImpl GlovePoseContainer{GlovePose->ToSenseGlovePoseImpl()}; + SGCoreImpl_FSGSenseGloveImpl_GetCalibrationValues_GlovePose(&OutValuesContainer, &GlovePoseContainer); + return MoveTemp(OutValuesContainer.Array); +} + +void USGSenseGlove::CalibrateInterpolation(UObject* Outer, + const TArray& MinValues, const TArray& MaxValues, + const bool bRightHanded, USGSenseGloveHandProfile*& OutProfile) +{ + FSGIC_TArray_FVector MinValuesContainer{MinValues}; + FSGIC_TArray_FVector MaxValuesContainer{MaxValues}; + FSGIC_FSGSenseGloveHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGSenseGloveImpl_CalibrateInterpolation( + &MinValuesContainer, &MaxValuesContainer, bRightHanded, &OutProfileContainer); + OutProfile = USGSenseGloveHandProfile::NewSenseGloveHandProfile( + Outer, MoveTemp(OutProfileContainer.SenseGloveHandProfileImpl)); +} + +void USGSenseGlove::CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, const ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_ESGFinger MountedOnContainer{MountedOn}; + FSGIC_FVector OutGlovePositionContainer; + FSGIC_FQuat OutGloveRotationContainer; + + SGCoreImpl_FSGSenseGloveImpl_CalculateGloveLocation( + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + bRightHanded, &MountedOnContainer, + &OutGlovePositionContainer, &OutGloveRotationContainer); + + OutGlovePosition = MoveTemp(OutGlovePositionContainer.Vector); + OutGloveRotation = MoveTemp(OutGloveRotationContainer.Quat); +} + +void USGSenseGlove::CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, const ESGFinger MountedOn, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_ESGFinger MountedOnContainer{MountedOn}; + FSGIC_FVector GloveWristPositionOffsetContainer{GloveWristPositionOffset}; + FSGIC_FQuat GloveWristRotationOffsetContainer{GloveWristRotationOffset}; + FSGIC_FVector OutWristPositionContainer; + FSGIC_FQuat OutWristRotationContainer; + + SGCoreImpl_FSGSenseGloveImpl_CalculateWristLocation( + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + bRightHanded, &MountedOnContainer, + &GloveWristPositionOffsetContainer, &GloveWristRotationOffsetContainer, + &OutWristPositionContainer, &OutWristRotationContainer); + + OutWristPosition = MoveTemp(OutWristPositionContainer.Vector); + OutWristRotation = MoveTemp(OutWristRotationContainer.Quat); +} + +USGSenseGlove::USGSenseGlove() + : USGHapticGlove(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + SGCoreImpl_FSGSenseGloveImpl_ctor_MakeShared(&OutSharedPtrContainer); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(const USGSenseGloveInfo& Model) + : USGHapticGlove(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtrContainer; + FSGIC_FSGSenseGloveInfoImpl ModelContainer{Model.ToSenseGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveImpl_ctor_Model_MakeShared(&OutSharedPtrContainer, &ModelContainer); + + SetSGDeviceImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(const FSGDeviceImpl& SGDeviceImpl) + : USGHapticGlove(SGDeviceImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(const FSGHapticGloveImpl& HapticGloveImpl) + : USGHapticGlove(HapticGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(const FSGSenseGloveImpl& SenseGloveImpl) + : USGHapticGlove(SenseGloveImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(TSharedRef SGDeviceImpl) + : USGHapticGlove(MoveTemp(SGDeviceImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(TSharedRef HapticGloveImpl) + : USGHapticGlove(MoveTemp(HapticGloveImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGSenseGlove::USGSenseGlove(TSharedRef SenseGloveImpl) + : USGHapticGlove(MoveTemp(SenseGloveImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGSenseGlove::~USGSenseGlove() = default; + +TSharedRef USGSenseGlove::ToSenseGloveImpl() const +{ + SyncImplObject(); + return FSGDeviceImplCast::ToSenseGloveImpl(ToSGDeviceImpl()); +} + +void USGSenseGlove::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGSenseGlove::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +USGSenseGloveInfo* USGSenseGlove::GetGloveModel(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGSenseGloveInfoImpl OutModelContainer; + SGCoreImpl_FSGSenseGloveImpl_GetGloveModel(&InstanceContainer, &OutModelContainer); + + return USGSenseGloveInfo::NewSenseGloveInfo(Outer, MoveTemp(OutModelContainer.SenseGloveInfoImpl)); +} + +bool USGSenseGlove::IsRight() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + return SGCoreImpl_FSGSenseGloveImpl_IsRight(&InstanceContainer); +} + +ESGDeviceType USGSenseGlove::GetDeviceType() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_ESGDeviceType OutTypeContainer; + SGCoreImpl_FSGSenseGloveImpl_GetDeviceType(&InstanceContainer, &OutTypeContainer); + return OutTypeContainer.Type; +} + +FString USGSenseGlove::GetDeviceId() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGSenseGloveImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGSenseGlove::GetHardwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FString OutVersionContainer; + SGCoreImpl_FSGSenseGloveImpl_GetHardwareVersion(&InstanceContainer, &OutVersionContainer); + return MoveTemp(OutVersionContainer.String); +} + +int32 USGSenseGlove::GetFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + return SGCoreImpl_FSGSenseGloveImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGSenseGlove::GetSubFirmwareVersion() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + return SGCoreImpl_FSGSenseGloveImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +bool USGSenseGlove::GetSensorData(UObject* Outer, USGSenseGloveSensorData*& OutSensorData) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGSenseGloveSensorDataImpl OutSensorDataContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetSensorData(&InstanceContainer, &OutSensorDataContainer); + + if (bResult) + { + OutSensorData = USGSenseGloveSensorData::NewSenseGloveSensorData( + Outer, MoveTemp(OutSensorDataContainer.SenseGloveSensorDataImpl)); + } + + return bResult; +} + +bool USGSenseGlove::GetImuRotation(FQuat& OutImu) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FQuat OutImuContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetImuRotation(&InstanceContainer, &OutImuContainer); + + SyncUProperties(); + + if (bResult) + { + OutImu = MoveTemp(OutImuContainer.Quat); + } + + return bResult; +} + +bool USGSenseGlove::GetGlovePose(UObject* Outer, USGSenseGlovePose*& OutGlovePose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGSenseGlovePoseImpl OutGlovePoseContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetGlovePose_OutGlovePose( + &InstanceContainer, &OutGlovePoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutGlovePose = USGSenseGlovePose::NewSenseGlovePose(Outer, MoveTemp(OutGlovePoseContainer.SenseGlovePoseImpl)); + } + + return bResult; +} + +bool USGSenseGlove::GetGlovePose( + UObject* Outer, const USGSenseGloveSensorData* SensorData, USGSenseGlovePose*& OutGlovePose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGSenseGloveSensorDataImpl SensorDataContainer{SensorData->ToSenseGloveSensorDataImpl()}; + FSGIC_FSGSenseGlovePoseImpl OutGlovePoseContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetGlovePose_SensorData_OutGlovePose( + &InstanceContainer, &SensorDataContainer, &OutGlovePoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutGlovePose = USGSenseGlovePose::NewSenseGlovePose(Outer, MoveTemp(OutGlovePoseContainer.SenseGlovePoseImpl)); + } + + return bResult; +} + +bool USGSenseGlove::GetHandPose( + UObject* Outer, const USGBasicHandModel* HandModel, const USGSenseGloveHandProfile* Profile, + USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGBasicHandModelImpl HandModelContainer{HandModel->ToBasicHandModelImpl()}; + FSGIC_FSGSenseGloveHandProfileImpl ProfileContainer{Profile->ToSenseGloveHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandModel_Profile_OutHandPose( + &InstanceContainer, &HandModelContainer, &ProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGSenseGlove::GetHandPose( + UObject* Outer, const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGBasicHandModelImpl HandGeometryContainer{HandGeometry->ToBasicHandModelImpl()}; + FSGIC_FSGHandProfileImpl ProfileContainer{HandProfile->ToHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + &InstanceContainer, &HandGeometryContainer, &ProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +bool USGSenseGlove::GetHandPose(UObject* Outer, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGHandProfileImpl ProfileContainer{HandProfile->ToHandProfileImpl()}; + FSGIC_FSGHandPoseImpl OutHandPoseContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandProfile_OutHandPose( + &InstanceContainer, &ProfileContainer, &OutHandPoseContainer); + + SyncUProperties(); + + if (bResult) + { + OutHandPose = USGHandPose::NewHandPose(Outer, MoveTemp(OutHandPoseContainer.HandPoseImpl)); + } + + return bResult; +} + +void USGSenseGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand(&InstanceContainer, &ForceFeedbackCommandContainer); + + SyncUProperties(); +} + +void USGSenseGlove::SendHaptics(const USGBuzzCommand* BuzzCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand(&InstanceContainer, &BuzzCommandContainer); + + SyncUProperties(); +} + +void USGSenseGlove::SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGForceFeedbackCommandImpl ForceFeedbackCommandContainer{ + ForceFeedbackCommand->ToForceFeedbackCommandImpl().Get()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + FSGIC_FSGThumperCommandImpl ThumperCommandContainer{ThumperCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + &InstanceContainer, &ForceFeedbackCommandContainer, &BuzzCommandContainer, &ThumperCommandContainer); + + SyncUProperties(); +} + +bool USGSenseGlove::GetCalibrationValues(TArray& OutValues) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_TArray_FVector OutValuesContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveImpl_GetCalibrationValues_OutValues( + &InstanceContainer, &OutValuesContainer); + + SyncUProperties(); + + if (bResult) + { + OutValues = MoveTemp(OutValuesContainer.Array); + } + + return bResult; +} + +void USGSenseGlove::ResetCalibrationRange() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + SGCoreImpl_FSGSenseGloveImpl_ResetCalibrationRange(&InstanceContainer); + + SyncUProperties(); +} + +void USGSenseGlove::ApplyCalibration(UObject* Outer, USGHandProfile*& OutProfile) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGSenseGloveImpl_ApplyCalibration_HandProfile(&InstanceContainer, &OutProfileContainer); + OutProfile = USGHandProfile::NewHandProfile(Outer, MoveTemp(OutProfileContainer.HandProfileImpl)); +} + +void USGSenseGlove::ApplyCalibration(UObject* Outer, USGSenseGloveHandProfile*& OutProfile) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FSGSenseGloveHandProfileImpl OutProfileContainer; + SGCoreImpl_FSGSenseGloveImpl_ApplyCalibration_SenseGloveHandProfile(&InstanceContainer, &OutProfileContainer); + OutProfile = USGSenseGloveHandProfile::NewSenseGloveHandProfile( + Outer, MoveTemp(OutProfileContainer.SenseGloveHandProfileImpl)); +} + +void USGSenseGlove::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutGlovePositionContainer; + FSGIC_FQuat OutGloveRotationContainer; + + SGCoreImpl_FSGSenseGloveImpl_GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &OutGlovePositionContainer, &OutGloveRotationContainer); + + OutGlovePosition = MoveTemp(OutGlovePositionContainer.Vector); + OutGloveRotation = MoveTemp(OutGloveRotationContainer.Quat); +} + +void USGSenseGlove::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, const ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_ESGFinger MountedOnContainer{MountedOn}; + FSGIC_FVector OutGlovePositionContainer; + FSGIC_FQuat OutGloveRotationContainer; + + SGCoreImpl_FSGSenseGloveImpl_GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_MountedOn_OutGlovePosition_OutGloveRotation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, &MountedOnContainer, + &OutGlovePositionContainer, &OutGloveRotationContainer); + + OutGlovePosition = MoveTemp(OutGlovePositionContainer.Vector); + OutGloveRotation = MoveTemp(OutGloveRotationContainer.Quat); +} + +void USGSenseGlove::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector OutWristPositionContainer; + FSGIC_FQuat OutWristRotationContainer; + SGCoreImpl_FSGSenseGloveImpl_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &OutWristPositionContainer, &OutWristRotationContainer); + + OutWristPosition = MoveTemp(OutWristPositionContainer.Vector); + OutWristRotation = MoveTemp(OutWristRotationContainer.Quat); +} + +void USGSenseGlove::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FVector ReferencePositionContainer{ReferencePosition}; + FSGIC_FQuat ReferenceRotationContainer{ReferenceRotation}; + FSGIC_ESGPositionalTrackingHardware TrackingHardwareContainer{TrackingHardware}; + FSGIC_FVector GloveWristPositionOffsetContainer{GloveWristPositionOffset}; + FSGIC_FQuat GloveWristRotationOffsetContainer{GloveWristRotationOffset}; + FSGIC_FVector OutWristPositionContainer; + FSGIC_FQuat OutWristRotationContainer; + SGCoreImpl_FSGSenseGloveImpl_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_GloveWristPositionOffset_GloveWristRotationOffset_OutWristPosition_OutWristRotation( + &InstanceContainer, + &ReferencePositionContainer, &ReferenceRotationContainer, + &TrackingHardwareContainer, + &GloveWristPositionOffsetContainer, &GloveWristRotationOffsetContainer, + &OutWristPositionContainer, &OutWristRotationContainer); + + OutWristPosition = MoveTemp(OutWristPositionContainer.Vector); + OutWristRotation = MoveTemp(OutWristRotationContainer.Quat); +} + +FString USGSenseGlove::ToString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGSenseGloveImpl InstanceContainer{ToSenseGloveImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String);; +} + +USGSenseGlove::FImpl::FImpl(USGSenseGlove* InOwner) + : Owner(InOwner) +{ +} + +USGSenseGlove::FImpl::~FImpl() = default; + +void USGSenseGlove::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGSenseGlove::FImpl::SyncUProperties() +{ +} + +void USGSenseGlove::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseGloveHandProfile.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveHandProfile.cpp new file mode 100644 index 00000000..cfc8945e --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveHandProfile.cpp @@ -0,0 +1,297 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseGloveHandProfile.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGSenseGloveHandProfileImpl.h" +#include "SGInterop/SGIC_ESGFingerSolver.h" +#include "SGInterop/SGIC_ESGThumbSolver.h" +#include "SGInterop/SGIC_FSGHandInterpolatorImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FVector.h" + +struct USGSenseGloveHandProfile::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGSenseGloveHandProfileImpl SenseGloveHandProfileImpl; + + /************************ + * Owner object + ************************/ + + USGSenseGloveHandProfile* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGSenseGloveHandProfile* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGSenseGloveHandProfile* USGSenseGloveHandProfile::NewSenseGloveHandProfile( + UObject* Outer, const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) +{ + USGSenseGloveHandProfile* Instance = NewObject(Outer); + Instance->SetSenseGloveHandProfileImpl(SenseGloveHandProfileImpl); + return Instance; +} + +USGSenseGloveHandProfile* USGSenseGloveHandProfile::NewSenseGloveHandProfile(UObject* Outer) +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileImplContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor(&OutSenseGloveHandProfileImplContainer); + + return NewSenseGloveHandProfile(Outer, MoveTemp(OutSenseGloveHandProfileImplContainer.SenseGloveHandProfileImpl)); +} + +USGSenseGloveHandProfile* USGSenseGloveHandProfile::NewSenseGloveHandProfile( + UObject* Outer, const bool bRightHanded, const USGHandInterpolator* Interpolator, + const ESGThumbSolver ThumbSolver, const ESGFingerSolver FingerSolver, const TArray& FingerThimbleOffset) +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileImplContainer; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + FSGIC_ESGThumbSolver ThumbSolverContainer{ThumbSolver}; + FSGIC_ESGFingerSolver FingerSolverContainer{FingerSolver}; + FSGIC_TArray_FVector FingerThimbleOffsetContainer{FingerThimbleOffset}; + SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_bRightHanded_Interpolator_ThumbSolver_FingerSolver_FingerThimbleOffset( + &OutSenseGloveHandProfileImplContainer, bRightHanded, &InterpolatorContainer, + &ThumbSolverContainer, &FingerSolverContainer, &FingerThimbleOffsetContainer); + + return NewSenseGloveHandProfile(Outer, MoveTemp(OutSenseGloveHandProfileImplContainer.SenseGloveHandProfileImpl)); +} + +USGSenseGloveHandProfile* USGSenseGloveHandProfile::Default(UObject* Outer, const bool bRightHanded) +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileImplContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_Default(&OutSenseGloveHandProfileImplContainer, bRightHanded); + + return NewSenseGloveHandProfile(Outer, MoveTemp(OutSenseGloveHandProfileImplContainer.SenseGloveHandProfileImpl)); +} + +USGSenseGloveHandProfile* USGSenseGloveHandProfile::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGSenseGloveHandProfileImpl_Deserialize(&OutSenseGloveHandProfileImplContainer, + &SerializedStringContainer); + + return NewSenseGloveHandProfile(Outer, MoveTemp(OutSenseGloveHandProfileImplContainer.SenseGloveHandProfileImpl)); +} + +FVector USGSenseGloveHandProfile::GetDefaultThimbleOffset() +{ + FSGIC_FVector OutOffsetContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_GetDefaultThimbleOffset(&OutOffsetContainer); + return MoveTemp(OutOffsetContainer.Vector); +} + +USGSenseGloveHandProfile::USGSenseGloveHandProfile() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileImplContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor(&OutSenseGloveHandProfileImplContainer); + + Pimpl->SenseGloveHandProfileImpl = MoveTemp(OutSenseGloveHandProfileImplContainer.SenseGloveHandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveHandProfile::USGSenseGloveHandProfile(const bool bRightHanded, const USGHandInterpolator* Interpolator, + const ESGThumbSolver ThumbSolver, const ESGFingerSolver FingerSolver, + const TArray& FingerThimbleOffset) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileImplContainer; + FSGIC_FSGHandInterpolatorImpl InterpolatorContainer{Interpolator->ToHandInterpolatorImpl()}; + FSGIC_ESGThumbSolver ThumbSolverContainer{ThumbSolver}; + FSGIC_ESGFingerSolver FingerSolverContainer{FingerSolver}; + FSGIC_TArray_FVector FingerThimbleOffsetContainer{FingerThimbleOffset}; + SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_bRightHanded_Interpolator_ThumbSolver_FingerSolver_FingerThimbleOffset( + &OutSenseGloveHandProfileImplContainer, bRightHanded, &InterpolatorContainer, + &ThumbSolverContainer, &FingerSolverContainer, &FingerThimbleOffsetContainer); + + Pimpl->SenseGloveHandProfileImpl = MoveTemp(OutSenseGloveHandProfileImplContainer.SenseGloveHandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveHandProfile::USGSenseGloveHandProfile(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetSenseGloveHandProfileImpl(SenseGloveHandProfileImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveHandProfile::~USGSenseGloveHandProfile() = default; + +void USGSenseGloveHandProfile::SetSenseGloveHandProfileImpl( + const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) +{ + FSGIC_FSGSenseGloveHandProfileImpl OutSenseGloveHandProfileContainer; + FSGIC_FSGSenseGloveHandProfileImpl RhsContainer{SenseGloveHandProfileImpl}; + SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_copy(&OutSenseGloveHandProfileContainer, &RhsContainer); + Pimpl->SenseGloveHandProfileImpl = MoveTemp(OutSenseGloveHandProfileContainer.SenseGloveHandProfileImpl); +} + +const FSGSenseGloveHandProfileImpl& USGSenseGloveHandProfile::ToSenseGloveHandProfileImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->SenseGloveHandProfileImpl; +} + +bool USGSenseGloveHandProfile::IsRight() const +{ + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + return SGCoreImpl_FSGSenseGloveHandProfileImpl_IsRight(&InstanceContainer); +} + +USGHandInterpolator* USGSenseGloveHandProfile::GetInterpolationSet(UObject* Outer) const +{ + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + FSGIC_FSGHandInterpolatorImpl OutSetContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_GetInterpolationSet(&InstanceContainer, &OutSetContainer); + + return USGHandInterpolator::NewHandInterpolator(Outer, MoveTemp(OutSetContainer.HandInterpolatorImpl)); +} + +ESGThumbSolver USGSenseGloveHandProfile::GetThumbSolver() const +{ + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + FSGIC_ESGThumbSolver OutSolverContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_GetThumbSolver(&InstanceContainer, &OutSolverContainer); + return OutSolverContainer.Solver; +} + +ESGFingerSolver USGSenseGloveHandProfile::GetFingerSolver() const +{ + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + FSGIC_ESGFingerSolver OutSolverContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_GetFingerSolver(&InstanceContainer, &OutSolverContainer); + return OutSolverContainer.Solver; +} + +TArray USGSenseGloveHandProfile::GetFingerThimbleOffset() const +{ + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + FSGIC_TArray_FVector OutOffsetContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_GetFingerThimbleOffset(&InstanceContainer, &OutOffsetContainer); + return MoveTemp(OutOffsetContainer.Array); +} + +bool USGSenseGloveHandProfile::Equals(const USGSenseGloveHandProfile* SenseGloveHandProfile) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + FSGIC_FSGSenseGloveHandProfileImpl SenseGloveHandProfileContainer{ + SenseGloveHandProfile->ToSenseGloveHandProfileImpl()}; + return SGCoreImpl_FSGSenseGloveHandProfileImpl_Equals(&InstanceContainer, &SenseGloveHandProfileContainer); +} + +void USGSenseGloveHandProfile::Reset() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + SGCoreImpl_FSGSenseGloveHandProfileImpl_Reset(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +FString USGSenseGloveHandProfile::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveHandProfileImpl InstanceContainer{ToSenseGloveHandProfileImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveHandProfileImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGSenseGloveHandProfile::FImpl::FImpl(USGSenseGloveHandProfile* InOwner) + : Owner(InOwner) +{ +} + +USGSenseGloveHandProfile::FImpl::~FImpl() = default; + +void USGSenseGloveHandProfile::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGSenseGloveHandProfile::FImpl::SyncUProperties() +{ +} + +void USGSenseGloveHandProfile::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseGloveInfo.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveInfo.cpp new file mode 100644 index 00000000..8dd36717 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveInfo.cpp @@ -0,0 +1,474 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseGloveInfo.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_bool.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_float.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" + +struct USGSenseGloveInfo::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGSenseGloveInfoImpl SenseGloveInfoImpl; + + /************************ + * Owner object + ************************/ + + USGSenseGloveInfo* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGSenseGloveInfo* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGSenseGloveInfo* USGSenseGloveInfo::NewSenseGloveInfo(UObject* Outer, const FSGSenseGloveInfoImpl& SenseGloveInfoImpl) +{ + USGSenseGloveInfo* Instance = NewObject(Outer); + Instance->SetSenseGloveInfoImpl(SenseGloveInfoImpl); + return Instance; +} + +USGSenseGloveInfo* USGSenseGloveInfo::NewSenseGloveInfo(UObject* Outer) +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor(&OutSenseGloveInfoImplContainer); + + return NewSenseGloveInfo(Outer, MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl)); +} + +USGSenseGloveInfo* USGSenseGloveInfo::NewSenseGloveInfo(UObject* Outer, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded, + int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, + const TArray& StartRotations, + const TArray>& GloveLengths, + const TArray& Functions) +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FQuat ImuCorrectionContainer{ImuCorrection}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + FSGIC_TArray_TArray_FVector GloveLengthsContainer{GloveLengths}; + FSGIC_TArray_bool FunctionsContainer{Functions}; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPositions_StartRotations_GloveLengths_Functions( + &OutSenseGloveInfoImplContainer, + &DeviceIdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, + bRightHanded, NumberOfSensors, &ImuCorrectionContainer, + &StartPositionsContainer, &StartRotationsContainer, + &GloveLengthsContainer, &FunctionsContainer); + + return NewSenseGloveInfo(Outer, MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl)); +} + +USGSenseGloveInfo* USGSenseGloveInfo::NewSenseGloveInfo(UObject* Outer, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded, + int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, + const TArray& StartRotations, + const TArray& GloveLengths, + const TArray& Functions) +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FQuat ImuCorrectionContainer{ImuCorrection}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + FSGIC_TArray_TArray_FVector GloveLengthsContainer{ + FSGArrayUtils::FromBPNestedArray(GloveLengths) + }; + FSGIC_TArray_bool FunctionsContainer{Functions}; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPositions_StartRotations_GloveLengths_Functions( + &OutSenseGloveInfoImplContainer, + &DeviceIdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, + bRightHanded, NumberOfSensors, &ImuCorrectionContainer, + &StartPositionsContainer, &StartRotationsContainer, + &GloveLengthsContainer, &FunctionsContainer); + + return NewSenseGloveInfo(Outer, MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl)); +} + +bool USGSenseGloveInfo::Parse(UObject* Outer, const FString& ConstantsString, USGSenseGloveInfo*& OutGloveInfo, + const bool bUpdateOldModels) +{ + FSGIC_FString ConstantsStringContainer{ConstantsString}; + FSGIC_FSGSenseGloveInfoImpl OutGloveInfoImplContainer; + const bool bResult = SGCoreImpl_FSGSenseGloveInfoImpl_Parse(&ConstantsStringContainer, &OutGloveInfoImplContainer, + bUpdateOldModels); + + if (bResult) + { + OutGloveInfo = NewSenseGloveInfo(Outer, MoveTemp(OutGloveInfoImplContainer.SenseGloveInfoImpl)); + } + + return bResult; +} + +USGSenseGloveInfo* USGSenseGloveInfo::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FString SerializedStringContainer{SerializedString}; + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_Deserialize(&OutSenseGloveInfoImplContainer, &SerializedStringContainer); + + return NewSenseGloveInfo(Outer, MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl)); +} + +USGSenseGloveInfo::USGSenseGloveInfo() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor(&OutSenseGloveInfoImplContainer); + + Pimpl->SenseGloveInfoImpl = MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveInfo::USGSenseGloveInfo( + const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray>& GloveLengths, const TArray& Functions) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FQuat ImuCorrectionContainer{ImuCorrection}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + FSGIC_TArray_TArray_FVector GloveLengthsContainer{GloveLengths}; + FSGIC_TArray_bool FunctionsContainer{Functions}; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPositions_StartRotations_GloveLengths_Functions( + &OutSenseGloveInfoImplContainer, + &DeviceIdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, + bRightHanded, NumberOfSensors, &ImuCorrectionContainer, + &StartPositionsContainer, &StartRotationsContainer, + &GloveLengthsContainer, &FunctionsContainer); + + Pimpl->SenseGloveInfoImpl = MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveInfo::USGSenseGloveInfo( + const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray& GloveLengths, const TArray& Functions) +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoImplContainer; + FSGIC_FString DeviceIdContainer{DeviceId}; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FQuat ImuCorrectionContainer{ImuCorrection}; + FSGIC_TArray_FVector StartPositionsContainer{StartPositions}; + FSGIC_TArray_FQuat StartRotationsContainer{StartRotations}; + FSGIC_TArray_TArray_FVector GloveLengthsContainer{ + FSGArrayUtils::FromBPNestedArray(GloveLengths) + }; + FSGIC_TArray_bool FunctionsContainer{Functions}; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPositions_StartRotations_GloveLengths_Functions( + &OutSenseGloveInfoImplContainer, + &DeviceIdContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, + bRightHanded, NumberOfSensors, &ImuCorrectionContainer, + &StartPositionsContainer, &StartRotationsContainer, + &GloveLengthsContainer, &FunctionsContainer); + + Pimpl->SenseGloveInfoImpl = MoveTemp(OutSenseGloveInfoImplContainer.SenseGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveInfo::USGSenseGloveInfo(const FSGSenseGloveInfoImpl& SenseGloveInfoImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetSenseGloveInfoImpl(SenseGloveInfoImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveInfo::~USGSenseGloveInfo() = default; + +void USGSenseGloveInfo::SetSenseGloveInfoImpl(const FSGSenseGloveInfoImpl& SenseGloveInfoImpl) +{ + FSGIC_FSGSenseGloveInfoImpl OutSenseGloveInfoContainer; + FSGIC_FSGSenseGloveInfoImpl RhsContainer{SenseGloveInfoImpl}; + SGCoreImpl_FSGSenseGloveInfoImpl_ctor_copy(&OutSenseGloveInfoContainer, &RhsContainer); + Pimpl->SenseGloveInfoImpl = MoveTemp(OutSenseGloveInfoContainer.SenseGloveInfoImpl); +} + +const FSGSenseGloveInfoImpl& USGSenseGloveInfo::ToSenseGloveInfoImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->SenseGloveInfoImpl; +} + +FSGSenseGloveInfoImpl& USGSenseGloveInfo::ToSenseGloveInfoImpl() +{ + Pimpl->SyncImplObject(); + return Pimpl->SenseGloveInfoImpl; +} + +FString USGSenseGloveInfo::GetDeviceId() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FString OutIdContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetDeviceId(&InstanceContainer, &OutIdContainer); + return MoveTemp(OutIdContainer.String); +} + +FString USGSenseGloveInfo::GetHardwareVersion() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FString OutVersionContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetHardwareVersion(&InstanceContainer, &OutVersionContainer); + return MoveTemp(OutVersionContainer.String); +} + +int32 USGSenseGloveInfo::GetFirmwareVersion() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + return SGCoreImpl_FSGSenseGloveInfoImpl_GetFirmwareVersion(&InstanceContainer); +} + +int32 USGSenseGloveInfo::GetSubFirmwareVersion() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + return SGCoreImpl_FSGSenseGloveInfoImpl_GetSubFirmwareVersion(&InstanceContainer); +} + +bool USGSenseGloveInfo::IsRight() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + return SGCoreImpl_FSGSenseGloveInfoImpl_IsRight(&InstanceContainer); +} + +int32 USGSenseGloveInfo::GetNumberOfSensors() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + return SGCoreImpl_FSGSenseGloveInfoImpl_GetNumberOfSensors(&InstanceContainer); +} + +FQuat USGSenseGloveInfo::GetImuCorrection() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FQuat OutCorrectionContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetImuCorrection(&InstanceContainer, &OutCorrectionContainer); + return MoveTemp(OutCorrectionContainer.Quat); +} + +TArray USGSenseGloveInfo::GetStartPositions() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_TArray_FVector OutPositionsContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetStartPositions(&InstanceContainer, &OutPositionsContainer); + return MoveTemp(OutPositionsContainer.Array); +} + +TArray USGSenseGloveInfo::GetStartRotations() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_TArray_FQuat OutRotationsContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetStartRotations(&InstanceContainer, &OutRotationsContainer); + return MoveTemp(OutRotationsContainer.Array); +} + +TArray> USGSenseGloveInfo::GetGloveLengths() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_TArray_TArray_FVector OutLengthsContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetGloveLengths(&InstanceContainer, &OutLengthsContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +TArray USGSenseGloveInfo::GetFunctions() const +{ + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_TArray_bool OutFunctionsContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_GetFunctions(&InstanceContainer, &OutFunctionsContainer); + return MoveTemp(OutFunctionsContainer.Array); +} + +FVector USGSenseGloveInfo::GetStartPosition(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FVector OutPositionContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGSenseGloveInfoImpl_GetStartPosition(&InstanceContainer, &OutPositionContainer, &FingerContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat USGSenseGloveInfo::GetStartRotation(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FQuat OutRotationContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGSenseGloveInfoImpl_GetStartRotation(&InstanceContainer, &OutRotationContainer, &FingerContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +TArray USGSenseGloveInfo::GetGloveLengths(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_TArray_FVector OutLengths; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGSenseGloveInfoImpl_GetGloveLengths_Finger(&InstanceContainer, &OutLengths, &FingerContainer); + return MoveTemp(OutLengths.Array); +} + +TArray> USGSenseGloveInfo::ToGloveAngles(const TArray>& SensorAngles) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_TArray_TArray_FVector OutAnglesContainer; + FSGIC_TArray_TArray_float SensorAnglesContainer{SensorAngles}; + SGCoreImpl_FSGSenseGloveInfoImpl_ToGloveAngles(&InstanceContainer, &OutAnglesContainer, &SensorAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +bool USGSenseGloveInfo::Equals(const USGSenseGloveInfo* SenseGloveInfo) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FSGSenseGloveInfoImpl SenseGloveInfoImplContainer{SenseGloveInfo->ToSenseGloveInfoImpl()}; + return SGCoreImpl_FSGSenseGloveInfoImpl_Equals(&InstanceContainer, &SenseGloveInfoImplContainer); +} + +FString USGSenseGloveInfo::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGSenseGloveInfo::ToString(const bool bShortNotation) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_ToString_bShortNotation(&InstanceContainer, &OutStringContainer, bShortNotation); + return MoveTemp(OutStringContainer.String); +} + +FString USGSenseGloveInfo::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveInfoImpl InstanceContainer{ToSenseGloveInfoImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveInfoImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGSenseGloveInfo::FImpl::FImpl(USGSenseGloveInfo* InOwner) + : Owner(InOwner) +{ +} + +USGSenseGloveInfo::FImpl::~FImpl() = default; + +void USGSenseGloveInfo::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGSenseGloveInfo::FImpl::SyncUProperties() +{ +} + +void USGSenseGloveInfo::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseGlovePose.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseGlovePose.cpp new file mode 100644 index 00000000..10ef505b --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseGlovePose.cpp @@ -0,0 +1,379 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseGlovePose.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGSenseGlovePoseImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGSenseGlovePoseImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" + +struct USGSenseGlovePose::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGSenseGlovePoseImpl SenseGlovePoseImpl; + + /************************ + * Owner object + ************************/ + + USGSenseGlovePose* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGSenseGlovePose* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGSenseGlovePose* USGSenseGlovePose::NewSenseGlovePose(UObject* Outer, const FSGSenseGlovePoseImpl& SenseGlovePoseImpl) +{ + USGSenseGlovePose* Instance = NewObject(Outer); + Instance->SetSenseGlovePoseImpl(SenseGlovePoseImpl); + return Instance; +} + +USGSenseGlovePose* USGSenseGlovePose::NewSenseGlovePose(UObject* Outer) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor(&OutSenseGlovePoseImplContainer); + + return NewSenseGlovePose(Outer, MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl)); +} + +USGSenseGlovePose* USGSenseGlovePose::NewSenseGlovePose(UObject* Outer, const bool bRightHanded, + const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& GloveAngles) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{JointPositions}; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{JointRotations}; + FSGIC_TArray_TArray_FVector GloveAnglesContainer{GloveAngles}; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor_bRightHanded_JointPositions_JointRotations_GloveAngles( + &OutSenseGlovePoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &GloveAnglesContainer); + + return NewSenseGlovePose(Outer, MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl)); +} + +USGSenseGlovePose* USGSenseGlovePose::NewSenseGlovePose(UObject* Outer, const bool bRightHanded, + const TArray& JointPositions, + const TArray& JointRotations, + const TArray& GloveAngles) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{ + FSGArrayUtils::FromBPNestedArray(JointPositions) + }; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{ + FSGArrayUtils::FromBPNestedArray(JointRotations) + }; + FSGIC_TArray_TArray_FVector GloveAnglesContainer{ + FSGArrayUtils::FromBPNestedArray(GloveAngles) + }; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor_bRightHanded_JointPositions_JointRotations_GloveAngles( + &OutSenseGlovePoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &GloveAnglesContainer); + + return NewSenseGlovePose(Outer, MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl)); +} + +USGSenseGlovePose* USGSenseGlovePose::IdlePose(UObject* Outer, const USGSenseGloveInfo* GloveInfo) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + FSGIC_FSGSenseGloveInfoImpl SenseGloveInfoContainer{GloveInfo->ToSenseGloveInfoImpl()}; + SGCoreImpl_FSGSenseGlovePoseImpl_IdlePose(&OutSenseGlovePoseImplContainer, &SenseGloveInfoContainer); + + return NewSenseGlovePose(Outer, MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl)); +} + +USGSenseGlovePose* USGSenseGlovePose::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGSenseGlovePoseImpl_Deserialize(&OutSenseGlovePoseImplContainer, &SerializedStringContainer); + + return NewSenseGlovePose(Outer, MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl)); +} + +USGSenseGlovePose::USGSenseGlovePose() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor(&OutSenseGlovePoseImplContainer); + + Pimpl->SenseGlovePoseImpl = MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGlovePose::USGSenseGlovePose(const bool bRightHanded, + const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& GloveAngles) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{JointPositions}; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{JointRotations}; + FSGIC_TArray_TArray_FVector GloveAnglesContainer{GloveAngles}; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor_bRightHanded_JointPositions_JointRotations_GloveAngles( + &OutSenseGlovePoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &GloveAnglesContainer); + + Pimpl->SenseGlovePoseImpl = MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGlovePose::USGSenseGlovePose(const bool bRightHanded, + const TArray& JointPositions, + const TArray& JointRotations, + const TArray& GloveAngles) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseImplContainer; + FSGIC_TArray_TArray_FVector JointPositionsContainer{ + FSGArrayUtils::FromBPNestedArray(JointPositions) + }; + FSGIC_TArray_TArray_FQuat JointRotationsContainer{ + FSGArrayUtils::FromBPNestedArray(JointRotations) + }; + FSGIC_TArray_TArray_FVector GloveAnglesContainer{ + FSGArrayUtils::FromBPNestedArray(GloveAngles) + }; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor_bRightHanded_JointPositions_JointRotations_GloveAngles( + &OutSenseGlovePoseImplContainer, bRightHanded, &JointPositionsContainer, + &JointRotationsContainer, &GloveAnglesContainer); + + Pimpl->SenseGlovePoseImpl = MoveTemp(OutSenseGlovePoseImplContainer.SenseGlovePoseImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGlovePose::USGSenseGlovePose(const FSGSenseGlovePoseImpl& SenseGlovePoseImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetSenseGlovePoseImpl(SenseGlovePoseImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGlovePose::~USGSenseGlovePose() = default; + +void USGSenseGlovePose::SetSenseGlovePoseImpl(const FSGSenseGlovePoseImpl& SenseGlovePoseImpl) +{ + FSGIC_FSGSenseGlovePoseImpl OutSenseGlovePoseContainer; + FSGIC_FSGSenseGlovePoseImpl RhsContainer{SenseGlovePoseImpl}; + SGCoreImpl_FSGSenseGlovePoseImpl_ctor_copy(&OutSenseGlovePoseContainer, &RhsContainer); + Pimpl->SenseGlovePoseImpl = MoveTemp(OutSenseGlovePoseContainer.SenseGlovePoseImpl); +} + +const FSGSenseGlovePoseImpl& USGSenseGlovePose::ToSenseGlovePoseImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->SenseGlovePoseImpl; +} + +bool USGSenseGlovePose::IsRight() const +{ + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + return SGCoreImpl_FSGSenseGlovePoseImpl_IsRight(&InstanceContainer); +} + +TArray> USGSenseGlovePose::GetJointPositions() const +{ + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_TArray_FVector OutPositionsContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_GetJointPositions(&InstanceContainer, &OutPositionsContainer); + return MoveTemp(OutPositionsContainer.Array); +} + +TArray> USGSenseGlovePose::GetJointRotations() const +{ + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_TArray_FQuat OutRotationsContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_GetJointRotations(&InstanceContainer, &OutRotationsContainer); + return MoveTemp(OutRotationsContainer.Array); +} + +TArray> USGSenseGlovePose::GetGloveAngles() const +{ + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_GetGloveAngles(&InstanceContainer, &OutAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray USGSenseGlovePose::GetThimblePositions() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_FVector OutPositionsContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_GetThimblePositions(&InstanceContainer, &OutPositionsContainer); + return MoveTemp(OutPositionsContainer.Array); +} + +TArray USGSenseGlovePose::GetThimbleRotations() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_FQuat OutRotationsContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_GetThimbleRotations(&InstanceContainer, &OutRotationsContainer); + return MoveTemp(OutRotationsContainer.Array); +} + +TArray USGSenseGlovePose::GetTotalGloveAngles() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_FVector OutAnglesContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_GetTotalGloveAngles(&InstanceContainer, &OutAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray USGSenseGlovePose::CalculateFingerTips(const USGSenseGloveHandProfile* SenseGloveHandProfile) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_FVector OutFingerTipsContainer; + FSGIC_FSGSenseGloveHandProfileImpl SenseGloveHandProfileImplContainer{ + SenseGloveHandProfile->ToSenseGloveHandProfileImpl()}; + SGCoreImpl_FSGSenseGlovePoseImpl_CalculateFingerTips_SenseGloveHandProfileImpl( + &InstanceContainer, &OutFingerTipsContainer, &SenseGloveHandProfileImplContainer); + return MoveTemp(OutFingerTipsContainer.Array); +} + +TArray USGSenseGlovePose::CalculateFingerTips(const TArray& FingerOffsets) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_TArray_FVector OutFingerTipsContainer; + FSGIC_TArray_FVector FingerOffsetsContainer{FingerOffsets}; + SGCoreImpl_FSGSenseGlovePoseImpl_CalculateFingerTips_FingerOffsets(&InstanceContainer, &OutFingerTipsContainer, + &FingerOffsetsContainer); + return MoveTemp(OutFingerTipsContainer.Array); +} + +bool USGSenseGlovePose::Equals(const USGSenseGlovePose* SenseGlovePose) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_FSGSenseGlovePoseImpl SenseGlovePoseContainer{SenseGlovePose->ToSenseGlovePoseImpl()}; + return SGCoreImpl_FSGSenseGlovePoseImpl_Equals(&InstanceContainer, &SenseGlovePoseContainer); +} + +FString USGSenseGlovePose::ToString(const bool bShortFormat) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_ToString(&InstanceContainer, &OutStringContainer, bShortFormat); + return MoveTemp(OutStringContainer.String); +} + +FString USGSenseGlovePose::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGlovePoseImpl InstanceContainer{ToSenseGlovePoseImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGlovePoseImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGSenseGlovePose::FImpl::FImpl(USGSenseGlovePose* InOwner) + : Owner(InOwner) +{ +} + +USGSenseGlovePose::FImpl::~FImpl() = default; + +void USGSenseGlovePose::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGSenseGlovePose::FImpl::SyncUProperties() +{ +} + +void USGSenseGlovePose::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseGloveSensorData.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveSensorData.cpp new file mode 100644 index 00000000..8612a7e2 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveSensorData.cpp @@ -0,0 +1,332 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseGloveSensorData.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGCoreImpl/SGSenseGloveSensorDataImpl.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_float.h" +#include "SGInterop/SGIC_TArray_TArray_float.h" + +struct USGSenseGloveSensorData::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGSenseGloveSensorDataImpl SenseGloveSensorDataImpl; + + /************************ + * Owner object + ************************/ + + USGSenseGloveSensorData* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGSenseGloveSensorData* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGSenseGloveSensorData* USGSenseGloveSensorData::NewSenseGloveSensorData( + UObject* Outer, const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl) +{ + USGSenseGloveSensorData* Instance = NewObject(Outer); + Instance->SetSenseGloveSensorDataImpl(SenseGloveSensorDataImpl); + return Instance; +} + +USGSenseGloveSensorData* USGSenseGloveSensorData::NewSenseGloveSensorData(UObject* Outer) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor(&OutSenseGloveSensorDataImplContainer); + + return NewSenseGloveSensorData(Outer, MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl)); +} + +USGSenseGloveSensorData* USGSenseGloveSensorData::NewSenseGloveSensorData( + UObject* Outer, const TArray>& SensorAngles, + const FQuat& ImuRotation, const int32 ParsedValues, const bool bImuParsed) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + FSGIC_TArray_TArray_float SensorAnglesContainer{SensorAngles}; + FSGIC_FQuat ImuRotationContainer{ImuRotation}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + &OutSenseGloveSensorDataImplContainer, &SensorAnglesContainer, &ImuRotationContainer, ParsedValues, bImuParsed); + + return NewSenseGloveSensorData(Outer, MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl)); +} + +USGSenseGloveSensorData* USGSenseGloveSensorData::NewSenseGloveSensorData( + UObject* Outer, const TArray& SensorAngles, + const FQuat& ImuRotation, const int32 ParsedValues, const bool bImuParsed) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + FSGIC_TArray_TArray_float SensorAnglesContainer{ + FSGArrayUtils::FromBPNestedArray(SensorAngles) + }; + FSGIC_FQuat ImuRotationContainer{ImuRotation}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + &OutSenseGloveSensorDataImplContainer, &SensorAnglesContainer, &ImuRotationContainer, ParsedValues, bImuParsed); + + return NewSenseGloveSensorData(Outer, MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl)); +} + +USGSenseGloveSensorData* USGSenseGloveSensorData::Empty(UObject* Outer) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_Empty(&OutSenseGloveSensorDataImplContainer); + + return NewSenseGloveSensorData(Outer, MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl)); +} + +USGSenseGloveSensorData* USGSenseGloveSensorData::Parse(UObject* Outer, + const FString& RawData, const USGSenseGloveInfo* GloveInfo) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + FSGIC_FString RawDataString{RawData}; + FSGIC_FSGSenseGloveInfoImpl GloveInfoContainer{GloveInfo->ToSenseGloveInfoImpl()}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_Parse(&OutSenseGloveSensorDataImplContainer, + &RawDataString, &GloveInfoContainer); + + return NewSenseGloveSensorData(Outer, MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl)); +} + +USGSenseGloveSensorData* USGSenseGloveSensorData::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_Deserialize(&OutSenseGloveSensorDataImplContainer, + &SerializedStringContainer); + + return NewSenseGloveSensorData(Outer, MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl)); +} + +USGSenseGloveSensorData::USGSenseGloveSensorData() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor(&OutSenseGloveSensorDataImplContainer); + + Pimpl->SenseGloveSensorDataImpl = MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveSensorData::USGSenseGloveSensorData(const TArray>& SensorAngles, const FQuat& ImuRotation, + const int32 ParsedValues, const bool bImuParsed) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + FSGIC_TArray_TArray_float SensorAnglesContainer{SensorAngles}; + FSGIC_FQuat ImuRotationContainer{ImuRotation}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + &OutSenseGloveSensorDataImplContainer, &SensorAnglesContainer, &ImuRotationContainer, ParsedValues, bImuParsed); + + Pimpl->SenseGloveSensorDataImpl = MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveSensorData::USGSenseGloveSensorData(const TArray& SensorAngles, const FQuat& ImuRotation, + const int32 ParsedValues, const bool bImuParsed) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataImplContainer; + FSGIC_TArray_TArray_float SensorAnglesContainer{ + FSGArrayUtils::FromBPNestedArray(SensorAngles) + }; + FSGIC_FQuat ImuRotationContainer{ImuRotation}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + &OutSenseGloveSensorDataImplContainer, &SensorAnglesContainer, &ImuRotationContainer, ParsedValues, bImuParsed); + + Pimpl->SenseGloveSensorDataImpl = MoveTemp(OutSenseGloveSensorDataImplContainer.SenseGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveSensorData::USGSenseGloveSensorData(const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetSenseGloveSensorDataImpl(SenseGloveSensorDataImpl); + Pimpl->SyncUProperties(); +} + +USGSenseGloveSensorData::~USGSenseGloveSensorData() = default; + +void USGSenseGloveSensorData::SetSenseGloveSensorDataImpl(const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl) +{ + FSGIC_FSGSenseGloveSensorDataImpl OutSenseGloveSensorDataContainer; + FSGIC_FSGSenseGloveSensorDataImpl RhsContainer{SenseGloveSensorDataImpl}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_copy(&OutSenseGloveSensorDataContainer, &RhsContainer); + Pimpl->SenseGloveSensorDataImpl = MoveTemp(OutSenseGloveSensorDataContainer.SenseGloveSensorDataImpl); +} + +const FSGSenseGloveSensorDataImpl& USGSenseGloveSensorData::ToSenseGloveSensorDataImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->SenseGloveSensorDataImpl; +} + +TArray> USGSenseGloveSensorData::GetSensorAngles() const +{ + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_TArray_TArray_float OutAnglesContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_GetSensorAngles(&InstanceContainer, &OutAnglesContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +FQuat USGSenseGloveSensorData::GetImuRotation() const +{ + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_GetImuRotation(&InstanceContainer, &OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +int32 USGSenseGloveSensorData::GetParsedValues() const +{ + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + return SGCoreImpl_FSGSenseGloveSensorDataImpl_GetParsedValues(&InstanceContainer); +} + +bool USGSenseGloveSensorData::IsImuParsed() const +{ + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + return SGCoreImpl_FSGSenseGloveSensorDataImpl_IsImuParsed(&InstanceContainer); +} + +TArray USGSenseGloveSensorData::GetSensorAngles(const ESGFinger Finger) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_TArray_float OutAnglesContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGSenseGloveSensorDataImpl_GetSensorAngles_Finger(&InstanceContainer, &OutAnglesContainer, + &FingerContainer); + return MoveTemp(OutAnglesContainer.Array); +} + +TArray USGSenseGloveSensorData::GetAngleSequence() const +{ + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_TArray_float OutSequenceContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_GetAngleSequence(&InstanceContainer, &OutSequenceContainer); + return MoveTemp(OutSequenceContainer.Array); +} + +bool USGSenseGloveSensorData::Equals(const USGSenseGloveSensorData* SenseGloveSensorData) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_FSGSenseGloveSensorDataImpl SenseGloveSensorDataContainer{SenseGloveSensorData->ToSenseGloveSensorDataImpl()}; + return SGCoreImpl_FSGSenseGloveSensorDataImpl_Equals(&InstanceContainer, &SenseGloveSensorDataContainer); +} + +FString USGSenseGloveSensorData::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +FString USGSenseGloveSensorData::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSenseGloveSensorDataImpl InstanceContainer{ToSenseGloveSensorDataImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSenseGloveSensorDataImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGSenseGloveSensorData::FImpl::FImpl(USGSenseGloveSensorData* InOwner) + : Owner(InOwner) +{ +} + +USGSenseGloveSensorData::FImpl::~FImpl() = default; + +void USGSenseGloveSensorData::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGSenseGloveSensorData::FImpl::SyncUProperties() +{ +} + +void USGSenseGloveSensorData::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSenseGloveVars.cpp b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveVars.cpp new file mode 100644 index 00000000..7731c0cd --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSenseGloveVars.cpp @@ -0,0 +1,147 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSenseGloveVars.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TArray_bool.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" +#include "SGUtils/SGArrayUtils.h" + +FString FSGSenseGloveVars::GetStandardConstantsString(const FString& HardwareVersion, const float FirmwareVersion, + const bool bRightHanded) +{ + FSGIC_FString OutStringContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetStandardConstantsString(&OutStringContainer, + &HardwareVersionContainer, FirmwareVersion, + bRightHanded); + return MoveTemp(OutStringContainer.String); +} + +FString FSGSenseGloveVars::GetSensorString(const FString& HardwareVersion, const float FirmwareVersion) +{ + FSGIC_FString OutStringContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetSensorString(&OutStringContainer, &HardwareVersionContainer, FirmwareVersion); + return MoveTemp(OutStringContainer.String); +} + +TArray FSGSenseGloveVars::GetStartPositions(const FString& HardwareVersion, const bool bRightHanded) +{ + FSGIC_TArray_FVector OutPositionsContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetStartPositions(&OutPositionsContainer, &HardwareVersionContainer, bRightHanded); + return MoveTemp(OutPositionsContainer.Array); +} + +TArray FSGSenseGloveVars::GetStartRotations(const FString& HardwareVersion, const bool bRightHanded) +{ + FSGIC_TArray_FQuat OutRotationsContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetStartRotations(&OutRotationsContainer, &HardwareVersionContainer, bRightHanded); + return MoveTemp(OutRotationsContainer.Array); +} + +TArray> FSGSenseGloveVars::GetGloveLengths(const FString& HardwareVersion) +{ + FSGIC_TArray_TArray_FVector OutLengthsContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetGloveLengths(&OutLengthsContainer, &HardwareVersionContainer); + return MoveTemp(OutLengthsContainer.Array); +} + +/* +TArray FSGSenseGloveVars::GetGloveLengths_BP(const FString& HardwareVersion) +{ + return FSGArrayUtils::ToBPNestedArray(GetGloveLengths(HardwareVersion)); +} +*/ +int32 FSGSenseGloveVars::GetSensors(const FString& HardwareVersion) +{ + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + return SGCoreImpl_FSGSenseGloveVarsImpl_GetSensors(&HardwareVersionContainer); +} + +FQuat FSGSenseGloveVars::GetImuCorrection(const FString& HardwareVersion, const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + FSGIC_FQuat OutCorrectionContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetImuCorrection(&OutCorrectionContainer, + &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion); + return MoveTemp(OutCorrectionContainer.Quat); +} + +TArray FSGSenseGloveVars::GetFunctions(const FString& HardwareVersion, const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + FSGIC_TArray_bool OutFunctionsContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GetFunctions(&OutFunctionsContainer, + &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion); + return MoveTemp(OutFunctionsContainer.Array); +} + +USGSenseGloveInfo* FSGSenseGloveVars::GenerateGloveModel(UObject* Outer, const FString& HardwareVersion, + const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded) +{ + FSGIC_FSGSenseGloveInfoImpl OutModelContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + SGCoreImpl_FSGSenseGloveVarsImpl_GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded( + &OutModelContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, bRightHanded); + + return USGSenseGloveInfo::NewSenseGloveInfo(Outer, MoveTemp(OutModelContainer.SenseGloveInfoImpl)); +} + +USGSenseGloveInfo* FSGSenseGloveVars::GenerateGloveModel(UObject* Outer, const FString& HardwareVersion, + const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const FString& CustomId) +{ + FSGIC_FSGSenseGloveInfoImpl OutModelContainer; + FSGIC_FString HardwareVersionContainer{HardwareVersion}; + FSGIC_FString CustomIdContainer{CustomId}; + SGCoreImpl_FSGSenseGloveVarsImpl_GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_CustomId( + &OutModelContainer, &HardwareVersionContainer, FirmwareVersion, SubFirmwareVersion, bRightHanded, + &CustomIdContainer); + + return USGSenseGloveInfo::NewSenseGloveInfo(Outer, MoveTemp(OutModelContainer.SenseGloveInfoImpl)); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGSensorRange.cpp b/Source/SenseGloveCore/Private/SGCore/SGSensorRange.cpp new file mode 100644 index 00000000..14e01a19 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGSensorRange.cpp @@ -0,0 +1,310 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGSensorRange.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGSensorRangeImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FVector.h" + +struct USGSensorRange::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGSensorRangeImpl SensorRangeImpl; + + /************************ + * Owner object + ************************/ + + USGSensorRange* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGSensorRange* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGSensorRange* USGSensorRange::NewSensorRange(UObject* Outer, const FSGSensorRangeImpl& SensorRangeImpl) +{ + USGSensorRange* Instance = NewObject(Outer); + Instance->SetSensorRangeImpl(SensorRangeImpl); + return Instance; +} + +USGSensorRange* USGSensorRange::NewSensorRange(UObject* Outer) +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeImplContainer; + SGCoreImpl_FSGSensorRangeImpl_ctor(&OutSensorRangeImplContainer); + + return NewSensorRange(Outer, MoveTemp(OutSensorRangeImplContainer.SensorRangeImpl)); +} + +USGSensorRange* USGSensorRange::NewSensorRange(UObject* Outer, + const TArray& MinValues, const TArray& MaxValues) +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeImplContainer; + FSGIC_TArray_FVector MinValuesContainer{MinValues}; + FSGIC_TArray_FVector MaxValuesContainer{MaxValues}; + SGCoreImpl_FSGSensorRangeImpl_ctor_MinValues_MaxValues( + &OutSensorRangeImplContainer, &MinValuesContainer, &MaxValuesContainer); + + return NewSensorRange(Outer, MoveTemp(OutSensorRangeImplContainer.SensorRangeImpl)); +} + +USGSensorRange* USGSensorRange::ForCalibration(UObject* Outer) +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeImplContainer; + SGCoreImpl_FSGSensorRangeImpl_ForCalibration(&OutSensorRangeImplContainer); + + return NewSensorRange(Outer, MoveTemp(OutSensorRangeImplContainer.SensorRangeImpl)); +} + +USGSensorRange* USGSensorRange::Deserialize(UObject* Outer, const FString& SerializedString) +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeImplContainer; + FSGIC_FString SerializedStringContainer{SerializedString}; + SGCoreImpl_FSGSensorRangeImpl_Deserialize(&OutSensorRangeImplContainer, &SerializedStringContainer); + + return NewSensorRange(Outer, MoveTemp(OutSensorRangeImplContainer.SensorRangeImpl)); +} + +void USGSensorRange::CheckMax(const FVector CurrentValues, FVector& OutMaxValues) +{ + FSGIC_FVector CurrentValuesContainer{CurrentValues}; + FSGIC_FVector OutMaxValuesContainer; + SGCoreImpl_FSGSensorRangeImpl_CheckMax(&CurrentValuesContainer, &OutMaxValuesContainer); + OutMaxValues = MoveTemp(OutMaxValuesContainer.Vector); +} + +void USGSensorRange::CheckMin(const FVector& CurrentValues, FVector& OutMinValues) +{ + FSGIC_FVector CurrentValuesContainer{CurrentValues}; + FSGIC_FVector OutMinValuesContainer; + SGCoreImpl_FSGSensorRangeImpl_CheckMin(&CurrentValuesContainer, &OutMinValuesContainer); + OutMinValues = MoveTemp(OutMinValuesContainer.Vector); +} + +USGSensorRange::USGSensorRange() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeImplContainer; + SGCoreImpl_FSGSensorRangeImpl_ctor(&OutSensorRangeImplContainer); + + Pimpl->SensorRangeImpl = MoveTemp(OutSensorRangeImplContainer.SensorRangeImpl); + Pimpl->SyncUProperties(); +} + +USGSensorRange::USGSensorRange(const TArray& MinValues, const TArray& MaxValues) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeImplContainer; + FSGIC_TArray_FVector MinValuesContainer{MinValues}; + FSGIC_TArray_FVector MaxValuesContainer{MaxValues}; + SGCoreImpl_FSGSensorRangeImpl_ctor_MinValues_MaxValues( + &OutSensorRangeImplContainer, &MinValuesContainer, &MaxValuesContainer); + + Pimpl->SensorRangeImpl = MoveTemp(OutSensorRangeImplContainer.SensorRangeImpl); + Pimpl->SyncUProperties(); +} + +USGSensorRange::USGSensorRange(const FSGSensorRangeImpl& SensorRangeImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetSensorRangeImpl(SensorRangeImpl); + Pimpl->SyncUProperties(); +} + +USGSensorRange::~USGSensorRange() = default; + +void USGSensorRange::SetSensorRangeImpl(const FSGSensorRangeImpl& SensorRangeImpl) +{ + FSGIC_FSGSensorRangeImpl OutSensorRangeContainer; + FSGIC_FSGSensorRangeImpl RhsContainer{SensorRangeImpl}; + SGCoreImpl_FSGSensorRangeImpl_ctor_copy(&OutSensorRangeContainer, &RhsContainer); + Pimpl->SensorRangeImpl = MoveTemp(OutSensorRangeContainer.SensorRangeImpl); +} + +const FSGSensorRangeImpl& USGSensorRange::ToSensorRangeImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->SensorRangeImpl; +} + +TArray USGSensorRange::GetMinValues() const +{ + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_TArray_FVector OutMinValuesContainer; + SGCoreImpl_FSGSensorRangeImpl_GetMinValues(&InstanceContainer, &OutMinValuesContainer); + return MoveTemp(OutMinValuesContainer.Array); +} + +void USGSensorRange::SetMinValues(const TArray& Values) +{ + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_TArray_FVector MinValuesContainer{Values}; + SGCoreImpl_FSGSensorRangeImpl_SetMinValues(&InstanceContainer, &MinValuesContainer); +} + +TArray USGSensorRange::GetMaxValues() const +{ + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_TArray_FVector OutMaxValuesContainer; + SGCoreImpl_FSGSensorRangeImpl_GetMaxValues(&InstanceContainer, &OutMaxValuesContainer); + return MoveTemp(OutMaxValuesContainer.Array); +} + +void USGSensorRange::SetMaxValues(const TArray& Values) +{ + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_TArray_FVector MaxValuesContainer{Values}; + SGCoreImpl_FSGSensorRangeImpl_SetMaxValues(&InstanceContainer, &MaxValuesContainer); +} + +TArray USGSensorRange::GetRange() const +{ + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_TArray_FVector OutRangeContainer; + SGCoreImpl_FSGSensorRangeImpl_GetRange(&InstanceContainer, &OutRangeContainer); + return MoveTemp(OutRangeContainer.Array); +} + +void USGSensorRange::UpdateRange() +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + SGCoreImpl_FSGSensorRangeImpl_UpdateRange(&InstanceContainer); + + Pimpl->SyncUProperties(); +} + +void USGSensorRange::CheckForExtremes(const TArray& OtherValues) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_TArray_FVector OtherValuesContainer{OtherValues}; + SGCoreImpl_FSGSensorRangeImpl_CheckForExtremes(&InstanceContainer, &OtherValuesContainer); + + Pimpl->SyncUProperties(); +} + +FString USGSensorRange::RangeString(const bool bYOnly) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSensorRangeImpl_RangeString(&InstanceContainer, &OutStringContainer, bYOnly); + return MoveTemp(OutStringContainer.String); +} + +FString USGSensorRange::ToString(const bool bYOnly) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSensorRangeImpl_ToString(&InstanceContainer, &OutStringContainer, bYOnly); + return MoveTemp(OutStringContainer.String); +} + +FString USGSensorRange::SGSerialize() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGSensorRangeImpl InstanceContainer{ToSensorRangeImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGSensorRangeImpl_Serialize(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGSensorRange::FImpl::FImpl(USGSensorRange* InOwner) + : Owner(InOwner) +{ +} + +USGSensorRange::FImpl::~FImpl() = default; + +void USGSensorRange::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGSensorRange::FImpl::SyncUProperties() +{ +} + +void USGSensorRange::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGThumperCommand.cpp b/Source/SenseGloveCore/Private/SGCore/SGThumperCommand.cpp new file mode 100644 index 00000000..8c3cc6eb --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGThumperCommand.cpp @@ -0,0 +1,232 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGThumperCommand.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" + +struct USGThumperCommand::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGThumperCommandImpl ThumperCommandImpl; + + /************************ + * Owner object + ************************/ + + USGThumperCommand* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGThumperCommand* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGThumperCommand* USGThumperCommand::NewThumperCommand(UObject* Outer, const FSGThumperCommandImpl& ThumperCommandImpl) +{ + USGThumperCommand* Instance = NewObject(Outer); + Instance->SetThumperCommandImpl(ThumperCommandImpl); + return Instance; +} + +USGThumperCommand* USGThumperCommand::NewThumperCommand(UObject* Outer) +{ + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGThumperCommandImpl_ctor(&OutThumperCommandImplContainer); + + return NewThumperCommand(Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); +} + +USGThumperCommand* USGThumperCommand::NewThumperCommand(UObject* Outer, const int32 Magnitude) +{ + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGThumperCommandImpl_ctor_Magnitude(&OutThumperCommandImplContainer, Magnitude); + + return NewThumperCommand(Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); +} + +USGThumperCommand* USGThumperCommand::Off(UObject* Outer) +{ + FSGIC_FSGThumperCommandImpl OutContainer; + SGCoreImpl_FSGThumperCommandImpl_Off(&OutContainer); + + return NewThumperCommand(Outer, OutContainer.ThumperCommandImpl); +} + +USGThumperCommand::USGThumperCommand() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGThumperCommandImpl_ctor(&OutThumperCommandImplContainer); + + Pimpl->ThumperCommandImpl = MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl); + Pimpl->SyncUProperties(); +} + +USGThumperCommand::USGThumperCommand(const int32 Magnitude) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGThumperCommandImpl_ctor_Magnitude(&OutThumperCommandImplContainer, Magnitude); + + Pimpl->ThumperCommandImpl = MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl); + Pimpl->SyncUProperties(); +} + +USGThumperCommand::USGThumperCommand(const FSGThumperCommandImpl& ThumperCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetThumperCommandImpl(ThumperCommandImpl); + Pimpl->SyncUProperties(); +} + +USGThumperCommand::~USGThumperCommand() = default; + +void USGThumperCommand::SetThumperCommandImpl(const FSGThumperCommandImpl& ThumperCommandImpl) +{ + FSGIC_FSGThumperCommandImpl OutThumperCommandContainer; + FSGIC_FSGThumperCommandImpl RhsContainer{ThumperCommandImpl}; + SGCoreImpl_FSGThumperCommandImpl_ctor_copy(&OutThumperCommandContainer, &RhsContainer); + Pimpl->ThumperCommandImpl = MoveTemp(RhsContainer.ThumperCommandImpl); +} + +const FSGThumperCommandImpl& USGThumperCommand::ToThumperCommandImpl() const +{ + return Pimpl->ThumperCommandImpl; +} + +int32 USGThumperCommand::GetMagnitude() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGThumperCommandImpl ThumperCommandImplContainer{ToThumperCommandImpl()}; + return SGCoreImpl_FSGThumperCommandImpl_GetMagnitude(&ThumperCommandImplContainer); +} + +void USGThumperCommand::SetMagnitude(const int32 Magnitude) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGThumperCommandImpl ThumperCommandImplContainer{ToThumperCommandImpl()}; + SGCoreImpl_FSGThumperCommandImpl_SetMagnitude(&ThumperCommandImplContainer, Magnitude); + + Pimpl->SyncUProperties(); +} + +USGThumperCommand* USGThumperCommand::Copy(UObject* Outer) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGThumperCommandImpl InstanceContainer{ToThumperCommandImpl()}; + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGThumperCommandImpl_Copy(&InstanceContainer, &OutThumperCommandImplContainer); + return NewThumperCommand(Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); +} + +USGThumperCommand* USGThumperCommand::Merge(UObject* Outer, const USGThumperCommand* ThumperCommand) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGThumperCommandImpl InstanceContainer{ToThumperCommandImpl()}; + FSGIC_FSGThumperCommandImpl ThumperCommandImplContainer{ThumperCommand->ToThumperCommandImpl()}; + FSGIC_FSGThumperCommandImpl OutThumperCommandImplContainer; + SGCoreImpl_FSGThumperCommandImpl_Merge(&InstanceContainer, &OutThumperCommandImplContainer, + &ThumperCommandImplContainer); + return NewThumperCommand(Outer, MoveTemp(OutThumperCommandImplContainer.ThumperCommandImpl)); +} + +bool USGThumperCommand::Equals(const USGThumperCommand* ThumperCommand) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGThumperCommandImpl InstanceContainer{ToThumperCommandImpl()}; + FSGIC_FSGThumperCommandImpl ThumperCommandImplContainer{ThumperCommand->ToThumperCommandImpl()}; + return SGCoreImpl_FSGThumperCommandImpl_Equals(&InstanceContainer, &ThumperCommandImplContainer); +} + +USGThumperCommand::FImpl::FImpl(USGThumperCommand* InOwner) + : Owner(InOwner) +{ +} + +USGThumperCommand::FImpl::~FImpl() = default; + +void USGThumperCommand::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGThumperCommand::FImpl::SyncImplObject() +{ +} + +void USGThumperCommand::FImpl::SyncUProperties() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGTimedBuzzCommand.cpp b/Source/SenseGloveCore/Private/SGCore/SGTimedBuzzCommand.cpp new file mode 100644 index 00000000..3462d598 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGTimedBuzzCommand.cpp @@ -0,0 +1,340 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGTimedBuzzCommand.h" + +#include "SGFingerCommandImplCast.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedBuzzCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h" + +struct USGTimedBuzzCommand::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + USGTimedBuzzCommand* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGTimedBuzzCommand* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + + void SyncImplObject(); +}; + +USGTimedBuzzCommand* USGTimedBuzzCommand::NewTimedBuzzCommand( + UObject* Outer, const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl) +{ + USGTimedBuzzCommand* Instance = NewObject(Outer); + Instance->SetFingerCommandImpl(TimedBuzzCommandImpl); + return Instance; +} + +USGTimedBuzzCommand* USGTimedBuzzCommand::NewTimedBuzzCommand( + UObject* Outer, TSharedRef TimedBuzzCommandImpl) +{ + USGTimedBuzzCommand* Instance = NewObject(Outer); + Instance->SetFingerCommandImpl(MoveTemp(TimedBuzzCommandImpl)); + return Instance; +} + +USGTimedBuzzCommand* USGTimedBuzzCommand::NewTimedBuzzCommand(UObject* Outer) +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor(&OutSharedPtrContainer); + + return NewTimedBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGTimedBuzzCommand* USGTimedBuzzCommand::NewTimedBuzzCommand( + UObject* Outer, + const ESGFinger Finger, const int32 Magnitude, const float DurationSeconds, const float StartTimeSeconds) +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_Finger_Magnitude_DurationSeconds_StartTimeSeconds_MakeShared( + &OutSharedPtrContainer, &FingerContainer, Magnitude, DurationSeconds, StartTimeSeconds); + + return NewTimedBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGTimedBuzzCommand* USGTimedBuzzCommand::NewTimedBuzzCommand( + UObject* Outer, + const USGBuzzCommand* BaseCommand, const float DurationSeconds, const float StartTimeSeconds) +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + FSGIC_FSGBuzzCommandImpl BaseCommandContainer{BaseCommand->ToBuzzCommandImpl().Get()}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds_MakeShared( + &OutSharedPtrContainer, &BaseCommandContainer, DurationSeconds, StartTimeSeconds); + + return NewTimedBuzzCommand(Outer, OutSharedPtrContainer.Ptr.ToSharedRef()); +} + +USGTimedBuzzCommand::USGTimedBuzzCommand() + : USGBuzzCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutTimedBuzzCommandImplContainer; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_MakeShared(&OutTimedBuzzCommandImplContainer); + + SetFingerCommandImpl(OutTimedBuzzCommandImplContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGTimedBuzzCommand::USGTimedBuzzCommand(const ESGFinger Finger, const int32 Magnitude, + const float DurationSeconds, const float StartTimeSeconds) + : USGBuzzCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + FSGIC_ESGFinger FingerContainer{Finger}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_Finger_Magnitude_DurationSeconds_StartTimeSeconds_MakeShared( + &OutSharedPtrContainer, &FingerContainer, Magnitude, DurationSeconds, StartTimeSeconds); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGTimedBuzzCommand::USGTimedBuzzCommand(const USGBuzzCommand* BaseCommand, + const float DurationSeconds, const float StartTimeSeconds) + : USGBuzzCommand(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl OutSharedPtrContainer; + FSGIC_FSGBuzzCommandImpl BaseCommandContainer{BaseCommand->ToBuzzCommandImpl().Get()}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds_MakeShared( + &OutSharedPtrContainer, &BaseCommandContainer, DurationSeconds, StartTimeSeconds); + + SetFingerCommandImpl(OutSharedPtrContainer.Ptr.ToSharedRef()); + Pimpl->SyncUProperties(); +} + +USGTimedBuzzCommand::USGTimedBuzzCommand(const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl) + : USGBuzzCommand(TimedBuzzCommandImpl), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGTimedBuzzCommand::USGTimedBuzzCommand(TSharedRef TimedBuzzCommandImpl) + : USGBuzzCommand(MoveTemp(TimedBuzzCommandImpl)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SyncUProperties(); +} + +USGTimedBuzzCommand::~USGTimedBuzzCommand() = default; + +TSharedRef USGTimedBuzzCommand::ToTimedBuzzCommandImpl() const +{ + SyncImplObject(); + return FSGFingerCommandImplCast::ToTimedBuzzCommandImpl(ToFingerCommandImpl()); +} + +void USGTimedBuzzCommand::SyncImplObject() const +{ + Super::SyncImplObject(); + Pimpl->SyncImplObject(); +} + +void USGTimedBuzzCommand::SyncUProperties() +{ + Super::SyncUProperties(); + Pimpl->SyncUProperties(); +} + +USGBuzzCommand* USGTimedBuzzCommand::Copy(UObject* Outer) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + SGCoreImpl_FSGTimedBuzzCommandImpl_Copy(&InstanceContainer, &OutBuzzCommandImplContainer); + + return NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); +} + +USGBuzzCommand* USGTimedBuzzCommand::Merge(UObject* Outer, const USGBuzzCommand* BuzzCommand) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + FSGIC_FSGBuzzCommandImpl BuzzCommandImplContainer{BuzzCommand->ToBuzzCommandImpl().Get()}; + FSGIC_FSGBuzzCommandImpl OutBuzzCommandImplContainer; + SGCoreImpl_FSGTimedBuzzCommandImpl_Merge(&InstanceContainer, &OutBuzzCommandImplContainer, + &BuzzCommandImplContainer); + + return NewBuzzCommand(Outer, MoveTemp(OutBuzzCommandImplContainer.BuzzCommandImpl)); +} + +USGBuzzCommand* USGTimedBuzzCommand::GetBaseCommand(UObject* Outer) const +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + FSGIC_FSGBuzzCommandImpl OutCommandContainer; + SGCoreImpl_FSGTimedBuzzCommandImpl_GetBaseCommand(&InstanceContainer, &OutCommandContainer); + return NewBuzzCommand(Outer, MoveTemp(OutCommandContainer.BuzzCommandImpl)); +} + +int32 USGTimedBuzzCommand::GetMagnitude() const +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + return SGCoreImpl_FSGTimedBuzzCommandImpl_GetMagnitude(&InstanceContainer); +} + +float USGTimedBuzzCommand::GetDuration() const +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + return SGCoreImpl_FSGTimedBuzzCommandImpl_GetDuration(&InstanceContainer); +} + +float USGTimedBuzzCommand::GetElapsedTime() const +{ + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + return SGCoreImpl_FSGTimedBuzzCommandImpl_GetElapsedTime(&InstanceContainer); +} + +bool USGTimedBuzzCommand::HasTimeElapsed() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + return SGCoreImpl_FSGTimedBuzzCommandImpl_HasTimeElapsed(&InstanceContainer); +} + +float USGTimedBuzzCommand::NormalizedTime(const bool bClamp01) const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + return SGCoreImpl_FSGTimedBuzzCommandImpl_NormalizedTime(&InstanceContainer, bClamp01); +} + +void USGTimedBuzzCommand::ResetTiming() +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + SGCoreImpl_FSGTimedBuzzCommandImpl_ResetTiming(&InstanceContainer); + + SyncUProperties(); +} + +void USGTimedBuzzCommand::UpdateTiming(const float DeltaSeconds) +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + SGCoreImpl_FSGTimedBuzzCommandImpl_UpdateTiming(&InstanceContainer, DeltaSeconds); + + SyncUProperties(); +} + +FString USGTimedBuzzCommand::ToString() const +{ + SyncImplObject(); + + FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl InstanceContainer{ToTimedBuzzCommandImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGTimedBuzzCommandImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGTimedBuzzCommand::FImpl::FImpl(USGTimedBuzzCommand* InOwner) + : Owner(InOwner) +{ +} + +USGTimedBuzzCommand::FImpl::~FImpl() = default; + +void USGTimedBuzzCommand::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGTimedBuzzCommand::FImpl::SyncUProperties() +{ +} + +void USGTimedBuzzCommand::FImpl::SyncImplObject() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGTimedThumpCommand.cpp b/Source/SenseGloveCore/Private/SGCore/SGTimedThumpCommand.cpp new file mode 100644 index 00000000..070e6056 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGTimedThumpCommand.cpp @@ -0,0 +1,296 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGTimedThumpCommand.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedThumpCommandImpl.h" +#include "SGInterop/SGIC_FString.h" + +struct USGTimedThumpCommand::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGTimedThumpCommandImpl TimedThumpCommandImpl; + + /************************ + * Owner object + ************************/ + + USGTimedThumpCommand* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(USGTimedThumpCommand* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; + + /************************ + * Methods + ************************/ + + void SyncUProperties(); + void SyncImplObject(); +}; + +USGTimedThumpCommand* USGTimedThumpCommand::NewTimedThumpCommand( + UObject* Outer, const FSGTimedThumpCommandImpl& TimedThumpCommandImpl) +{ + USGTimedThumpCommand* Instance = NewObject(Outer); + Instance->SetTimedThumpCommandImpl(TimedThumpCommandImpl); + return Instance; +} + +USGTimedThumpCommand* USGTimedThumpCommand::NewTimedThumpCommand(UObject* Outer) +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor(&OutTimedThumpCommandImplContainer); + + return NewTimedThumpCommand(Outer, MoveTemp(OutTimedThumpCommandImplContainer.TimedThumpCommandImpl)); +} + +USGTimedThumpCommand* USGTimedThumpCommand::NewTimedThumpCommand( + UObject* Outer, const int32 Magnitude, const float DurationSeconds, const float StartTimeSeconds) +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor_Magnitude_DurationSeconds_StartTimeSeconds( + &OutTimedThumpCommandImplContainer, Magnitude, DurationSeconds, StartTimeSeconds); + + return NewTimedThumpCommand(Outer, MoveTemp(OutTimedThumpCommandImplContainer.TimedThumpCommandImpl)); +} + +USGTimedThumpCommand* USGTimedThumpCommand::NewTimedThumpCommand( + UObject* Outer, const USGThumperCommand* BaseCommand, const float DurationSeconds, const float StartTimeSeconds) +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + FSGIC_FSGThumperCommandImpl BaseCommandContainer{BaseCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds( + &OutTimedThumpCommandImplContainer, &BaseCommandContainer, DurationSeconds, StartTimeSeconds); + + return NewTimedThumpCommand(Outer, MoveTemp(OutTimedThumpCommandImplContainer.TimedThumpCommandImpl)); +} + +USGTimedThumpCommand::USGTimedThumpCommand() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor(&OutTimedThumpCommandImplContainer); + + Pimpl->TimedThumpCommandImpl = MoveTemp(OutTimedThumpCommandImplContainer.TimedThumpCommandImpl); + Pimpl->SyncUProperties(); +} + +USGTimedThumpCommand::USGTimedThumpCommand(const int32 Magnitude, + const float DurationSeconds, const float StartTimeSeconds) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor_Magnitude_DurationSeconds_StartTimeSeconds( + &OutTimedThumpCommandImplContainer, Magnitude, DurationSeconds, StartTimeSeconds); + + Pimpl->TimedThumpCommandImpl = MoveTemp(OutTimedThumpCommandImplContainer.TimedThumpCommandImpl); + Pimpl->SyncUProperties(); +} + +USGTimedThumpCommand::USGTimedThumpCommand(const USGThumperCommand* BaseCommand, + const float DurationSeconds, const float StartTimeSeconds) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + FSGIC_FSGThumperCommandImpl BaseCommandContainer{BaseCommand->ToThumperCommandImpl()}; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds( + &OutTimedThumpCommandImplContainer, &BaseCommandContainer, DurationSeconds, StartTimeSeconds); + + Pimpl->TimedThumpCommandImpl = MoveTemp(OutTimedThumpCommandImplContainer.TimedThumpCommandImpl); + Pimpl->SyncUProperties(); +} + +USGTimedThumpCommand::USGTimedThumpCommand(const FSGTimedThumpCommandImpl& TimedThumpCommandImpl) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + SetTimedThumpCommandImpl(TimedThumpCommandImpl); + Pimpl->SyncUProperties(); +} + +USGTimedThumpCommand::~USGTimedThumpCommand() = default; + +void USGTimedThumpCommand::SetTimedThumpCommandImpl(const FSGTimedThumpCommandImpl& TimedThumpCommandImpl) +{ + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandContainer; + FSGIC_FSGTimedThumpCommandImpl RhsContainer{TimedThumpCommandImpl}; + SGCoreImpl_FSGTimedThumpCommandImpl_ctor_copy(&OutTimedThumpCommandContainer, &RhsContainer); + Pimpl->TimedThumpCommandImpl = MoveTemp(OutTimedThumpCommandContainer.TimedThumpCommandImpl); +} + +const FSGTimedThumpCommandImpl& USGTimedThumpCommand::ToTimedThumpCommandImpl() const +{ + Pimpl->SyncImplObject(); + return Pimpl->TimedThumpCommandImpl; +} + +int32 USGTimedThumpCommand::GetMagnitude() const +{ + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + return SGCoreImpl_FSGTimedThumpCommandImpl_GetMagnitude(&InstanceContainer); +} + +void USGTimedThumpCommand::SetMagnitude(int32 Magnitude) +{ + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + SGCoreImpl_FSGTimedThumpCommandImpl_SetMagnitude(&InstanceContainer, Magnitude); +} + +float USGTimedThumpCommand::GetDuration() const +{ + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + return SGCoreImpl_FSGTimedThumpCommandImpl_GetDuration(&InstanceContainer); +} + +void USGTimedThumpCommand::SetDuration(const float Duration) +{ + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + SGCoreImpl_FSGTimedThumpCommandImpl_SetDuration(&InstanceContainer, Duration); +} + +float USGTimedThumpCommand::GetElapsedTime() const +{ + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + return SGCoreImpl_FSGTimedThumpCommandImpl_GetElapsedTime(&InstanceContainer); +} + +void USGTimedThumpCommand::SetElapsedTime(const float ElapsedTime) +{ + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + SGCoreImpl_FSGTimedThumpCommandImpl_SetElapsedTime(&InstanceContainer, ElapsedTime); +} + +bool USGTimedThumpCommand::HasTimeElapsed() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + return SGCoreImpl_FSGTimedThumpCommandImpl_HasTimeElapsed(&InstanceContainer); +} + +USGTimedThumpCommand* USGTimedThumpCommand::Copy(UObject* Outer, const bool bCopyElapsed) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + FSGIC_FSGTimedThumpCommandImpl OutTimedThumpCommandImplContainer; + SGCoreImpl_FSGTimedThumpCommandImpl_Copy(&InstanceContainer, &OutTimedThumpCommandImplContainer, bCopyElapsed); + + return NewTimedThumpCommand(Outer, OutTimedThumpCommandImplContainer.TimedThumpCommandImpl); +} + +void USGTimedThumpCommand::Update(const float DeltaSeconds) +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + SGCoreImpl_FSGTimedThumpCommandImpl_Update(&InstanceContainer, DeltaSeconds); +} + +bool USGTimedThumpCommand::Equals(const USGTimedThumpCommand* TimedThumpCommand) const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + FSGIC_FSGTimedThumpCommandImpl TimedThumpCommandImplContainer{TimedThumpCommand->ToTimedThumpCommandImpl()}; + return SGCoreImpl_FSGTimedThumpCommandImpl_Equals(&InstanceContainer, &TimedThumpCommandImplContainer); +} + +FString USGTimedThumpCommand::ToString() const +{ + Pimpl->SyncImplObject(); + + FSGIC_FSGTimedThumpCommandImpl InstanceContainer{ToTimedThumpCommandImpl()}; + FSGIC_FString OutStringContainer; + SGCoreImpl_FSGTimedThumpCommandImpl_ToString(&InstanceContainer, &OutStringContainer); + return MoveTemp(OutStringContainer.String); +} + +USGTimedThumpCommand::FImpl::FImpl(USGTimedThumpCommand* InOwner) + : Owner(InOwner) +{ +} + +USGTimedThumpCommand::FImpl::~FImpl() = default; + +void USGTimedThumpCommand::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} + +void USGTimedThumpCommand::FImpl::SyncImplObject() +{ +} + +void USGTimedThumpCommand::FImpl::SyncUProperties() +{ +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGTracking.cpp b/Source/SenseGloveCore/Private/SGCore/SGTracking.cpp new file mode 100644 index 00000000..60f220e9 --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGTracking.cpp @@ -0,0 +1,275 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGTracking.h" + +#include "SGCoreImpl/SGExportedFunctions.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_ESGPositionalTrackingHardware.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FVector.h" + +void FSGTracking::CalculateLocation(const FVector& TrackedPosition, const FQuat& TrackedRotation, + const FVector& PositionOffset, const FQuat& RotationOffset, + FVector& OutNewPosition, FQuat& OutNewRotation) +{ + FSGIC_FVector TrackedPositionContainer{TrackedPosition}; + FSGIC_FQuat TrackedRotationContainer{TrackedRotation}; + FSGIC_FVector PositionOffsetContainer{PositionOffset}; + FSGIC_FQuat RotationOffsetContainer{RotationOffset}; + FSGIC_FVector OutNewPositionContainer; + FSGIC_FQuat OutNewRotationContainer; + + SGCoreImpl_FSGTrackingImpl_CalculateLocation( + &TrackedPositionContainer, &TrackedRotationContainer, + &PositionOffsetContainer, &RotationOffsetContainer, + &OutNewPositionContainer, &OutNewRotationContainer); + + OutNewPosition = MoveTemp(OutNewPositionContainer.Vector); + OutNewRotation = MoveTemp(OutNewRotationContainer.Quat); +} + +TArray FSGTracking::GetSenseGloveFingerToGlovePositionOrigin() +{ + FSGIC_TArray_FVector OutOriginContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveFingerToGlovePositionOrigin(&OutOriginContainer); + return MoveTemp(OutOriginContainer.Array); +} + +TArray FSGTracking::GetSenseGloveFingerToGloveRotationOrigin() +{ + FSGIC_TArray_FQuat OutOriginContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveFingerToGloveRotationOrigin(&OutOriginContainer); + return MoveTemp(OutOriginContainer.Array); +} + +FVector FSGTracking::GetSenseGloveWristPositionOffset() +{ + FSGIC_FVector OutOffsetContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveWristPositionOffset(&OutOffsetContainer); + return MoveTemp(OutOffsetContainer.Vector); +} + +FQuat FSGTracking::GetSenseGloveWristRotationOffset() +{ + FSGIC_FQuat OutOffsetContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveWristRotationOffset(&OutOffsetContainer); + return MoveTemp(OutOffsetContainer.Quat); +} + +void FSGTracking::GetSenseGloveMountOffset(const bool bRightHanded, const ESGFinger ToFinger, + FVector& OutIPosition, FQuat& OutIRotation) +{ + FSGIC_ESGFinger ToFingerContainer{ToFinger}; + FSGIC_FVector OutIPositionContainer; + FSGIC_FQuat OutIRotationContainer; + + SGCoreImpl_FSGTrackingImpl_GetSenseGloveMountOffset(bRightHanded, &ToFingerContainer, + &OutIPositionContainer, &OutIRotationContainer); + + OutIPosition = MoveTemp(OutIPositionContainer.Vector); + OutIRotation = MoveTemp(OutIRotationContainer.Quat); +} + +void FSGTracking::GetSenseGloveTrackerMountOffset(const ESGPositionalTrackingHardware Hardware, const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + FSGIC_ESGPositionalTrackingHardware HardwareContainer; + FSGIC_FVector OutPositionOffsetContainer; + FSGIC_FQuat OutRotationOffsetContainer; + + SGCoreImpl_FSGTrackingImpl_GetSenseGloveTrackerMountOffset(&HardwareContainer, bRightHanded, + &OutPositionOffsetContainer, + &OutRotationOffsetContainer); + + OutPositionOffset = MoveTemp(OutPositionOffsetContainer.Vector); + OutRotationOffset = MoveTemp(OutRotationOffsetContainer.Quat); +} + +FVector FSGTracking::GetSenseGloveViveToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveViveToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetSenseGloveViveToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveViveToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FVector FSGTracking::GetSenseGloveOculusTouchToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveOculusTouchToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetSenseGloveOculusTouchToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetSenseGloveOculusTouchToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FVector FSGTracking::GetNovaToWristPositionOffset() +{ + FSGIC_FVector OutOffsetContainer; + SGCoreImpl_FSGTrackingImpl_GetNovaToWristPositionOffset(&OutOffsetContainer); + return MoveTemp(OutOffsetContainer.Vector); +} + +FQuat FSGTracking::GetNovaToWristRotationOffset() +{ + FSGIC_FQuat OutOffsetContainer; + SGCoreImpl_FSGTrackingImpl_GetNovaToWristRotationOffset(&OutOffsetContainer); + return MoveTemp(OutOffsetContainer.Quat); +} + +void FSGTracking::GetNovaGloveWristOffset(const bool bRightHanded, FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + FSGIC_FVector OutPositionOffsetContainer; + FSGIC_FQuat OutRotationOffsetContainer; + + SGCoreImpl_FSGTrackingImpl_GetNovaGloveWristOffset(bRightHanded, + &OutPositionOffsetContainer, &OutRotationOffsetContainer); + + OutPositionOffset = MoveTemp(OutPositionOffsetContainer.Vector); + OutRotationOffset = MoveTemp(OutRotationOffsetContainer.Quat); +} + +FVector FSGTracking::GetRightNovaViveToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetRightNovaViveToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetRightNovaViveToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetRightNovaViveToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FVector FSGTracking::GetLeftNovaViveToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetLeftNovaViveToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetLeftNovaViveToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetLeftNovaViveToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FVector FSGTracking::GetRightNovaQuest2ToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetRightNovaQuest2ToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetRightNovaQuest2ToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetRightNovaQuest2ToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FVector FSGTracking::GetLeftNovaQuest2ToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetLeftNovaQuest2ToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetLeftNovaQuest2ToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetLeftNovaQuest2ToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FVector FSGTracking::GetRightNovaPico2ToAttachPosition() +{ + FSGIC_FVector OutPositionContainer; + SGCoreImpl_FSGTrackingImpl_GetRightNovaPico2ToAttachPosition(&OutPositionContainer); + return MoveTemp(OutPositionContainer.Vector); +} + +FQuat FSGTracking::GetRightNovaPico2ToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetRightNovaPico2ToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +FQuat FSGTracking::GetLeftNovaPico2ToAttachRotation() +{ + FSGIC_FQuat OutRotationContainer; + SGCoreImpl_FSGTrackingImpl_GetLeftNovaPico2ToAttachRotation(&OutRotationContainer); + return MoveTemp(OutRotationContainer.Quat); +} + +void FSGTracking::GetNovaGloveTrackerOffset(const ESGPositionalTrackingHardware Hardware, const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + FSGIC_ESGPositionalTrackingHardware HardwareContainer{Hardware}; + FSGIC_FVector OutPositionOffsetContainer; + FSGIC_FQuat OutRotationOffsetContainer; + + SGCoreImpl_FSGTrackingImpl_GetNovaGloveTrackerOffset(&HardwareContainer, bRightHanded, + &OutPositionOffsetContainer, &OutRotationOffsetContainer); + + OutPositionOffset = MoveTemp(OutPositionOffsetContainer.Vector); + OutRotationOffset = MoveTemp(OutRotationOffsetContainer.Quat); +} + +FString FSGTracking::ToString(const ESGPositionalTrackingHardware Hardware) +{ + FSGIC_FString OutStringContainer; + FSGIC_ESGPositionalTrackingHardware HardwareContainer{Hardware}; + SGCoreImpl_FSGTrackingImpl_ToString(&OutStringContainer, &HardwareContainer); + return MoveTemp(OutStringContainer.String); +} \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SGCore/SGVectorArray.cpp b/Source/SenseGloveCore/Private/SGCore/SGVectorArray.cpp new file mode 100644 index 00000000..1f23deec --- /dev/null +++ b/Source/SenseGloveCore/Private/SGCore/SGVectorArray.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGVectorArray.h" \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SenseGloveCore.cpp b/Source/SenseGloveCore/Private/SenseGloveCore.cpp new file mode 100644 index 00000000..176f18d9 --- /dev/null +++ b/Source/SenseGloveCore/Private/SenseGloveCore.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCore.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveCoreModule.h" + +IMPLEMENT_MODULE(FSenseGloveCoreModule, SenseGloveCore) diff --git a/Source/SenseGloveCore/Private/SenseGloveCore.h b/Source/SenseGloveCore/Private/SenseGloveCore.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveCore/Private/SenseGloveCore.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveCore/Private/SenseGloveCoreModule.cpp b/Source/SenseGloveCore/Private/SenseGloveCoreModule.cpp new file mode 100644 index 00000000..ddaa6e96 --- /dev/null +++ b/Source/SenseGloveCore/Private/SenseGloveCoreModule.cpp @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreModule.h" +#include "Containers/UnrealString.h" +#include "SGCore/SGLibrary.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveCoreModule" + +void FSenseGloveCoreModule::StartupModule() +{ + SGLOG("Starting up SenseGloveCore module..."); + SGLOG(FString::Printf(TEXT("The Unreal Engine implementation of '%s' has been loaded successfully!"), + *FSGLibrary::GetVersion())); +} + +void FSenseGloveCoreModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveCore module..."); +} + +void FSenseGloveCoreModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveCore module has succeeded!"); +} + +void FSenseGloveCoreModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveCore module..."); +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveCore/Private/SenseGloveCoreModule.h b/Source/SenseGloveCore/Private/SenseGloveCoreModule.h new file mode 100644 index 00000000..abcd8dc2 --- /dev/null +++ b/Source/SenseGloveCore/Private/SenseGloveCoreModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCore" + +class FSenseGloveCoreModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveCore/Public/SGCore/SGAnatomy.h b/Source/SenseGloveCore/Public/SGCore/SGAnatomy.h new file mode 100644 index 00000000..a60de771 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGAnatomy.h @@ -0,0 +1,73 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "HAL/Platform.h" +#include "Math/Vector.h" + +#include "SGAnatomy.generated.h" + +USTRUCT() +struct SENSEGLOVECORE_API FSGAnatomy +{ + GENERATED_BODY() + +public: + static float GetTotalFingerFlexion(); + + static float GetTotalFingerExtension(); + + static float GetTotalThumbFlexion(); + + static float GetTotalThumbExtension(); + + static float GetFingerJointLimit(bool bRightHanded, int32 Joint, int32 Movement, bool bMax); + + static float GetThumbJointLimit(bool bRightHanded, int32 Joint, int32 Movement, bool bMax); + + static float NormalizeFingerFlex(float FlexionInRadians); + + static float NormalizeThumbFlex(float FlexionInRadians); + + static TArray> GetDefaultHandAngles(bool bRightHanded); + + static TArray> GetFlatHandAngles(bool bRightHanded); + + static TArray> GetThumbsUpHandAngles(bool bRightHanded); + + static TArray> GetFistHandAngles(bool bRightHanded); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGBasicHandModel.h b/Source/SenseGloveCore/Public/SGCore/SGBasicHandModel.h new file mode 100644 index 00000000..10e0f3d1 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGBasicHandModel.h @@ -0,0 +1,198 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGFloatArray.h" +#include "SGTypes/SGCoreTypes.h" +#include "SGUtils/SGArrayUtils.h" + +#include "SGBasicHandModel.generated.h" + +class FSGBasicHandModelImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGBasicHandModel final : public UObject +{ + GENERATED_BODY() + +public: + static USGBasicHandModel* NewBasicHandModel( + UObject* Outer, const FSGBasicHandModelImpl& BasicHandModelImpl); + +public: + static USGBasicHandModel* NewBasicHandModel(UObject* Outer); + + static USGBasicHandModel* NewBasicHandModel( + UObject* Outer, + bool bRightHanded, const TArray>& Lengths, const TArray& StartPositions); + + static USGBasicHandModel* NewBasicHandModel( + UObject* Outer, + bool bRightHanded, const TArray& Lengths, const TArray& StartPositions); + + static USGBasicHandModel* NewBasicHandModel( + UObject* Outer, + bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions, const TArray& StartRotations); + + static USGBasicHandModel* NewBasicHandModel( + UObject* Outer, + bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions, const TArray& StartRotations); + +public: + static USGBasicHandModel* Default(UObject* Outer, bool bRightHanded); + + static USGBasicHandModel* Deserialize(UObject* Outer, const FString& SerializedString); + +public: + static TArray> GetBaseFingerLengths(); + + static TArray GetBaseJointPositions(); + + static TArray GetBaseJointRotations(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGBasicHandModel(); + + USGBasicHandModel(bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions); + + USGBasicHandModel(bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions); + + USGBasicHandModel(bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions, const TArray& StartRotations); + + USGBasicHandModel(bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions, const TArray& StartRotations); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGBasicHandModel(const FSGBasicHandModelImpl& BasicHandModelImpl); + +public: + /** + * The destructor. + */ + virtual ~USGBasicHandModel() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetBasicHandModelImpl(const FSGBasicHandModelImpl& BasicHandModelImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGBasicHandModelImpl& ToBasicHandModelImpl() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FSGBasicHandModelImpl& ToBasicHandModelImpl(); + +public: + bool IsRight() const; + + TArray> GetFingerLengths() const; + + TArray GetFingerLengths(ESGFinger Finger) const; + + void SetFingerLengths(ESGFinger Finger, const TArray& Lengths); + void SetFingerLengths(uint8 Finger, const TArray& Lengths); + + TArray> GetFingerRatios() const; + + TArray GetFingerRatios(ESGFinger Finger) const; + + TArray GetStartJointPositions() const; + + void SetStartJointPosition(ESGFinger Finger, const FVector& Position); + void SetStartJointPosition(uint8 Finger, const FVector& Position); + + TArray GetStartJointRotations() const; + + FVector GetJointPosition(ESGFinger Finger) const; + + void SetJointPosition(const FVector& NewPosition, ESGFinger Finger); + + FQuat GetJointRotation(ESGFinger Finger) const; + + void SetJointRotation(const FQuat& NewRotation, ESGFinger Finger); + + TArray GetTotalLengths() const; + + float GetTotalLength(ESGFinger Finger) const; + +public: + TArray Get3DLengths(ESGFinger Finger) const; + +public: + bool Equals(const USGBasicHandModel* BasicHandModel) const; + +public: + FString ToString() const; + + FString ToString(bool bLengthsOnly) const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGBetaDevice.h b/Source/SenseGloveCore/Public/SGCore/SGBetaDevice.h new file mode 100644 index 00000000..1796774d --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGBetaDevice.h @@ -0,0 +1,143 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Templates/UniquePtr.h" + +#include "SGCore/SGDevice.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGBetaDevice.generated.h" + +class FSGDeviceImpl; +class FSGBetaDeviceImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGBetaDevice final : public USGDevice +{ + GENERATED_BODY() + +public: + static USGBetaDevice* NewBetaDevice(UObject* Outer, const FSGBetaDeviceImpl& BetaDeviceImpl); + + static USGBetaDevice* NewBetaDevice(UObject* Outer, TSharedRef BetaDeviceImpl); + + static USGBetaDevice* NewBetaDevice(UObject* Outer); + + static USGBetaDevice* NewBetaDevice( + UObject* Outer, + const FString& ConstantsString, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + +public: + static USGBetaDevice* Parse(UObject* Outer, const FString& String); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGBetaDevice(); + + USGBetaDevice(const FString& ConstantsString, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGBetaDevice(const FSGBetaDeviceImpl& BetaDeviceImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGBetaDevice(TSharedRef BetaDeviceImpl); + +public: + /** + * The destructor. + */ + virtual ~USGBetaDevice() override; + +protected: + /** + * The cast to underlying type method. + */ + TSharedRef ToBetaDeviceImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + virtual ESGDeviceType GetDeviceType() const override; + + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + + virtual int32 GetFirmwareVersion() const override; + + virtual int32 GetSubFirmwareVersion() const override; + +public: + FString GetConstantsString() const; + + FString GetSensorData() const; + + FString GetLastCommand() const; + +public: + bool SendHaptics(const FString& Command) const; + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGBuzzCommand.h b/Source/SenseGloveCore/Public/SGCore/SGBuzzCommand.h new file mode 100644 index 00000000..1da5359e --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGBuzzCommand.h @@ -0,0 +1,127 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" +#include "UObject/ObjectMacros.h" + +#include "SGFingerCommand.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGBuzzCommand.generated.h" + +class FSGBuzzCommandImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGBuzzCommand : public USGFingerCommand +{ + GENERATED_BODY() + +public: + static USGBuzzCommand* NewBuzzCommand(UObject* Outer, const FSGBuzzCommandImpl& BuzzCommandImpl); + + static USGBuzzCommand* NewBuzzCommand(UObject* Outer, TSharedRef BuzzCommandImpl); + + static USGBuzzCommand* NewBuzzCommand(UObject* Outer); + + static USGBuzzCommand* NewBuzzCommand(UObject* Outer, const TArray& BuzzLevels); + + static USGBuzzCommand* NewBuzzCommand(UObject* Outer, int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + + static USGBuzzCommand* NewBuzzCommand(UObject* Outer, ESGFinger Finger, int32 BuzzLevel); + +public: + static USGBuzzCommand* Off(UObject* Outer); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGBuzzCommand(); + explicit USGBuzzCommand(const TArray& BuzzLevels); + USGBuzzCommand(int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + USGBuzzCommand(ESGFinger Finger, int32 BuzzLevel); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGBuzzCommand(const FSGBuzzCommandImpl& BuzzCommandImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGBuzzCommand(TSharedRef BuzzCommandImpl); + +public: + /** + * The destructor. + */ + virtual ~USGBuzzCommand() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToBuzzCommandImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + USGBuzzCommand* Copy(UObject* Outer) const; + + USGBuzzCommand* Merge(UObject* Outer, const USGBuzzCommand* BuzzCommand) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGCalibrationDataPoint.h b/Source/SenseGloveCore/Public/SGCore/SGCalibrationDataPoint.h new file mode 100644 index 00000000..574ff11e --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGCalibrationDataPoint.h @@ -0,0 +1,113 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCalibrationDataPoint.generated.h" + +class FSGCalibrationDataPointImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGCalibrationDataPoint final : public UObject +{ + GENERATED_BODY() + +public: + static USGCalibrationDataPoint* NewCalibrationDataPoint( + UObject* Outer, const FSGCalibrationDataPointImpl& CalibrationDataPointImpl); + +public: + static USGCalibrationDataPoint* NewCalibrationDataPoint(UObject* Outer); + + static USGCalibrationDataPoint* NewCalibrationDataPoint( + UObject* Outer, + int32 CurrentStage,const TArray& CalibrationValues); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGCalibrationDataPoint(); + + USGCalibrationDataPoint(int32 CurrentStage, const TArray& CalibrationValues); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGCalibrationDataPoint(const FSGCalibrationDataPointImpl& CalibrationDataPointImpl); + +public: + /** + * The destructor. + */ + virtual ~USGCalibrationDataPoint() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetCalibrationDataPointImpl(const FSGCalibrationDataPointImpl& CalibrationDataPointImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGCalibrationDataPointImpl& ToCalibrationDataPointImpl() const; + +public: + TArray GetCalibrationValues() const; + + int32 GetStage() const; + +public: + FString ToLogData(const FString& Delimiter = "\t") const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGCore.h b/Source/SenseGloveCore/Public/SGCore/SGCore.h new file mode 100644 index 00000000..7e70e929 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGCore.h @@ -0,0 +1,76 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGAnatomy.h" +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGBetaDevice.h" +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGCalibrationDataPoint.h" +#include "SGCore/SGDevice.h" +#include "SGCore/SGDeviceList.h" +#include "SGCore/SGDeviceModel.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGFingerCommand.h" +#include "SGCore/SGHandInterpolator.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGHapticGlove.h" +#include "SGCore/SGHapticGloveCalibrationCheck.h" +#include "SGCore/SGHapticGloveCalibrationSequence.h" +#include "SGCore/SGHapticGloveHandProfiles.h" +#include "SGCore/SGHapticGloveCommandBuffer.h" +#include "SGCore/SGHapticGloveQuickCalibration.h" +#include "SGCore/SGInterpolationSet.h" +#include "SGCore/SGJointKinematics.h" +#include "SGCore/SGLibrary.h" +#include "SGCore/SGNovaGlove.h" +#include "SGCore/SGNovaGloveInfo.h" +#include "SGCore/SGNovaGloveCalibration.h" +#include "SGCore/SGNovaGloveHandProfile.h" +#include "SGCore/SGNovaGloveSensorData.h" +#include "SGCore/SGSenseCom.h" +#include "SGCore/SGSenseGlove.h" +#include "SGCore/SGSenseGloveInfo.h" +#include "SGCore/SGSenseGloveHandProfile.h" +#include "SGCore/SGSenseGlovePose.h" +#include "SGCore/SGSenseGloveSensorData.h" +#include "SGCore/SGSenseGloveVars.h" +#include "SGCore/SGSensorRange.h" +#include "SGCore/SGThumperCommand.h" +#include "SGCore/SGTimedBuzzCommand.h" +#include "SGCore/SGTimedThumpCommand.h" +#include "SGCore/SGTracking.h" \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGDevice.h b/Source/SenseGloveCore/Public/SGCore/SGDevice.h new file mode 100644 index 00000000..d830a188 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGDevice.h @@ -0,0 +1,238 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGTypes/SGCoreTypes.h" + +#include "SGDevice.generated.h" + +class FSGBetaDeviceImpl; +class FSGDeviceImpl; +class FSGHapticGloveImpl; +class FSGNovaGloveImpl; +class FSGSenseGloveImpl; + +UCLASS(Abstract, BlueprintType) +class SENSEGLOVECORE_API USGDevice : public UObject +{ + GENERATED_BODY() + +public: + static void ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion); + + static FString ToString(ESGDeviceType DeviceType); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +protected: + USGDevice(); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGDevice(const FSGDeviceImpl& SGDeviceImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGDevice(const FSGBetaDeviceImpl& BetaDeviceImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGDevice(const FSGHapticGloveImpl& HapticGloveImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGDevice(const FSGNovaGloveImpl& NovaGloveImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGDevice(const FSGSenseGloveImpl& SenseGloveImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGDevice(TSharedRef SGDeviceImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGDevice(TSharedRef BetaDeviceImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGDevice(TSharedRef HapticGloveImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGDevice(TSharedRef NovaGloveImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGDevice(TSharedRef SenseGloveImpl); + +public: + /** + * The destructor. + */ + virtual ~USGDevice() override; + +protected: + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(const FSGDeviceImpl& SGDeviceImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(const FSGBetaDeviceImpl& BetaDeviceImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(const FSGHapticGloveImpl& HapticGloveImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(const FSGNovaGloveImpl& NovaGloveImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(const FSGSenseGloveImpl& SenseGloveImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(TSharedRef SGDeviceImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(TSharedRef BetaDeviceImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(TSharedRef HapticGloveImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(TSharedRef NovaGloveImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetSGDeviceImpl(TSharedRef SenseGloveImpl); + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToSGDeviceImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties(); + +public: + virtual ESGDeviceType GetDeviceType() const; + + virtual FString GetDeviceId() const PURE_VIRTUAL(FSGDevice::GetDeviceId, return FString();); + + virtual FString GetHardwareVersion() const PURE_VIRTUAL(FSGDevice::GetHardwareVersion, return FString();); + + virtual int32 GetFirmwareVersion() const PURE_VIRTUAL(FSGDevice::FirmwareVersion, return -1;); + + virtual int32 GetSubFirmwareVersion() const; + + virtual FString GetFirmwareString() const; + + FString GetAddress() const; + + bool IsConnected() const; + + ESGConnectionType GetConnectionType() const; + + int32 PacketsPerSecondReceived() const; + + int32 PacketsPerSecondSent() const; + + int32 GetDeviceIndex() const; + + void SetDeviceIndex(const int32 Index); + + virtual bool IsWireless() const; + + virtual bool HasBattery() const; + + virtual bool IsCharging(); + + virtual bool GetBatteryLevel(float& OutLevel); + + virtual FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGDeviceList.h b/Source/SenseGloveCore/Public/SGCore/SGDeviceList.h new file mode 100644 index 00000000..cb7819bb --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGDeviceList.h @@ -0,0 +1,86 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGTypes/SGCoreTypes.h" + +#include "SGDeviceList.generated.h" + +class USGDevice; + +USTRUCT() +struct SENSEGLOVECORE_API FSGDeviceList +{ + GENERATED_BODY() + +public: + static int32 ActiveDevices(); + + static bool SenseCommRunning(); + + static void Dispose(); + + static void Reinitialize(); + + static TArray GetDevices(UObject* Outer); + + /// TODO + // THIS PROBABLY SHOULD BE REMOVED! + static TArray GetDevices(UObject* Outer, const TSubclassOf& DeviceType); + + static TArray GetDevices(UObject* Outer, ESGDeviceType DeviceType); + + static bool GetSensorDataString(int32 IpcIndex, const FString& IpcAddress, FString& OutString); + + static bool SendHaptics(int32 IpcIndex, const FString& IpcAddress, const FString& Commands); + + static FString GetDeviceStringAt(int32 IpcIndex, const FString& IpcAddress, int32 Index); + + static FString GetAddress(int32 IpcIndex, const FString& IpcAddress); + + static ESGConnectionType GetConnectionType(int32 IpcIndex, const FString& IpcAddress); + + static bool IsConnected(int32 IpcIndex, const FString& IpcAddress); + + static int32 PacketsPerSecondReceived(int32 IpcIndex, const FString& IpcAddress); + + static int32 PacketsPerSecondSent(int32 IpcIndex, const FString& IpcAddress); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGDeviceModel.h b/Source/SenseGloveCore/Public/SGCore/SGDeviceModel.h new file mode 100644 index 00000000..207a8e45 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGDeviceModel.h @@ -0,0 +1,125 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGTypes/SGCoreTypes.h" + +#include "SGDeviceModel.generated.h" + +class FSGDeviceModelImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGDeviceModel final : public UObject +{ + GENERATED_BODY() + +public: + static USGDeviceModel* NewDeviceModel( + UObject* Outer, const FSGDeviceModelImpl& DeviceModelImpl); + +public: + static USGDeviceModel* NewDeviceModel(UObject* Outer); + + static USGDeviceModel* NewDeviceModel( + UObject* Outer, + const FString& Id, const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + +public: + static TArray ParseFunctions(int32 Value, int32 Size); + + static void ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGDeviceModel(); + + USGDeviceModel(const FString& Id, const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGDeviceModel(const FSGDeviceModelImpl& DeviceModelImpl); + +public: + /** + * The destructor. + */ + virtual ~USGDeviceModel() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetDeviceModelImpl(const FSGDeviceModelImpl& DeviceModelImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGDeviceModelImpl& ToDeviceModelImpl() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FSGDeviceModelImpl& ToDeviceModelImpl(); + +public: + FString GetDeviceId() const; + + FString GetHardwareVersion() const; + + int32 GetFirmwareVersion() const; + + int32 GetSubFirmwareVersion() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGFingerCommand.h b/Source/SenseGloveCore/Public/SGCore/SGFingerCommand.h new file mode 100644 index 00000000..83bca8ff --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGFingerCommand.h @@ -0,0 +1,190 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGFingerCommand.generated.h" + +class FSGBuzzCommandImpl; +class FSGFingerCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGTimedBuzzCommandImpl; + +UCLASS(Abstract, BlueprintType) +class SENSEGLOVECORE_API USGFingerCommand : public UObject +{ + GENERATED_BODY() + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +protected: + USGFingerCommand(); + + explicit USGFingerCommand(const TArray& InLevels); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGFingerCommand(const FSGFingerCommandImpl& FingerCommandImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGFingerCommand(const FSGBuzzCommandImpl& BuzzCommandImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGFingerCommand(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGFingerCommand(const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGFingerCommand(TSharedRef FingerCommandImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGFingerCommand(TSharedRef BuzzCommandImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGFingerCommand(TSharedRef ForceFeedbackCommandImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGFingerCommand(TSharedRef TimedBuzzCommandImpl); + +public: + /** + * The destructor. + */ + virtual ~USGFingerCommand() override; + +protected: + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(const FSGFingerCommandImpl& FingerCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(const FSGBuzzCommandImpl& BuzzCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(TSharedRef FingerCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(TSharedRef BuzzCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(TSharedRef ForceFeedbackCommandImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetFingerCommandImpl(TSharedRef TimedBuzzCommandImpl); + + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToFingerCommandImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties(); + +public: + TArray GetLevels() const; + +public: + int32 GetLevel(int32 Finger) const; + void SetLevel(int32 Finger, int32 Value); + + bool Equals(const USGFingerCommand* FingerCommand) const; + + FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGFloatArray.h b/Source/SenseGloveCore/Public/SGCore/SGFloatArray.h new file mode 100644 index 00000000..92d7228f --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGFloatArray.h @@ -0,0 +1,50 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "UObject/ObjectMacros.h" + +#include "SGFloatArray.generated.h" + +USTRUCT(BlueprintType) +struct SENSEGLOVECORE_API FSGFloatArray +{ + GENERATED_BODY() + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite) + TArray FloatArray; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGForceFeedbackCommand.h b/Source/SenseGloveCore/Public/SGCore/SGForceFeedbackCommand.h new file mode 100644 index 00000000..6352328a --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGForceFeedbackCommand.h @@ -0,0 +1,132 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGFingerCommand.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGForceFeedbackCommand.generated.h" + +class FSGForceFeedbackCommandImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGForceFeedbackCommand final : public USGFingerCommand +{ + GENERATED_BODY() + +public: + static USGForceFeedbackCommand* NewForceFeedbackCommand( + UObject* Outer, const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl); + + static USGForceFeedbackCommand* NewForceFeedbackCommand( + UObject* Outer, TSharedRef ForceFeedbackCommandImpl); + + static USGForceFeedbackCommand* NewForceFeedbackCommand(UObject* Outer); + + static USGForceFeedbackCommand* NewForceFeedbackCommand( + UObject* Outer, const TArray& ForceFeedbackLevels); + + static USGForceFeedbackCommand* NewForceFeedbackCommand( + UObject* Outer, int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + + static USGForceFeedbackCommand* NewForceFeedbackCommand( + UObject* Outer, ESGFinger Finger, int32 BuzzLevel); + +public: + static USGForceFeedbackCommand* Off(UObject* Outer); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGForceFeedbackCommand(); + explicit USGForceFeedbackCommand(const TArray& ForceFeedbackLevels); + USGForceFeedbackCommand(int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + USGForceFeedbackCommand(ESGFinger Finger, int32 BuzzLevel); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGForceFeedbackCommand(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGForceFeedbackCommand(TSharedRef ForceFeedbackCommandImpl); + +public: + /** + * The destructor. + */ + virtual ~USGForceFeedbackCommand() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToForceFeedbackCommandImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + USGForceFeedbackCommand* Copy(UObject* Outer) const; + + USGForceFeedbackCommand* Merge(UObject* Outer, const USGForceFeedbackCommand* ForceFeedbackCommand) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHandInterpolator.h b/Source/SenseGloveCore/Public/SGCore/SGHandInterpolator.h new file mode 100644 index 00000000..bae8456b --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHandInterpolator.h @@ -0,0 +1,173 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGInterpolationSet.h" +#include "SGCore/SGInterpolationSetArray.h" +#include "SGTypes/SGCoreTypes.h" +#include "SGUtils/SGArrayUtils.h" + +#include "SGHandInterpolator.generated.h" + +class FSGHandInterpolatorImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHandInterpolator final : public UObject +{ + GENERATED_BODY() + +public: + static USGHandInterpolator* NewHandInterpolator( + UObject* Outer, const FSGHandInterpolatorImpl& HandInterpolatorImpl); + +public: + static USGHandInterpolator* NewHandInterpolator(UObject* Outer); + + static USGHandInterpolator* NewHandInterpolator( + UObject* Outer, + const TArray>& JointInterpolations); + + static USGHandInterpolator* NewHandInterpolator( + UObject* Outer, + const TArray& JointInterpolations); + + static USGHandInterpolator* NewHandInterpolator( + UObject* Outer, + const TArray>& JointInterpolations, const FQuat& CmcStartRotation); + + static USGHandInterpolator* NewHandInterpolator( + UObject* Outer, + const TArray& JointInterpolations, const FQuat& CmcStartRotation); + +public: + static USGHandInterpolator* Default(UObject* Outer, const bool bRightHanded); + + static USGHandInterpolator* Deserialize(UObject* Outer, const FString& SerializedString); + +public: + static TArray InterpolateFingerAngles(ESGFinger Finger, const USGHandInterpolator* Interpolator, + const FVector& TotalGloveAngles); + + static TArray InterpolateThumbAngles(const USGHandInterpolator* Interpolator, + const FVector& TotalGloveAngles); + + static TArray> InterpolateHandAngles(const USGHandInterpolator* Interpolator, + const TArray& TotalAngles); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGHandInterpolator(); + + explicit USGHandInterpolator(const TArray>& JointInterpolations); + + explicit USGHandInterpolator(const TArray& JointInterpolations); + + USGHandInterpolator(const TArray>& JointInterpolations, + const FQuat& CmcStartRotation); + + USGHandInterpolator(const TArray& JointInterpolations, + const FQuat& CmcStartRotation); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHandInterpolator(const FSGHandInterpolatorImpl& HandInterpolatorImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHandInterpolator() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetHandInterpolatorImpl(const FSGHandInterpolatorImpl& HandInterpolatorImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGHandInterpolatorImpl& ToHandInterpolatorImpl() const; + +public: + TArray> GetJointInterpolations(UObject* Outer) const; + + FQuat GetCmcStartRotation() const; + +public: + float CalculateAngle(ESGFinger Finger, int32 Movement, float Value) const; + + float CalculateAngle(ESGFinger Finger, ESGFingerMovement Movement, float Value) const; + + float CalculateAngle(ESGFinger Finger, ESGThumbMovement Movement, float Value) const; + +public: + void SetInterpolation(int32 Finger, int32 Movement, float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + void SetInterpolation(ESGFinger Finger, ESGFingerMovement Movement, + float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + void SetInterpolation(ESGThumbMovement Movement, float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + USGInterpolationSet* GetInterpolation(UObject* Outer, int32 Finger, int32 Movement) const; + +public: + bool Equals(const USGHandInterpolator* HandInterpolator) const; + +public: + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHandPose.h b/Source/SenseGloveCore/Public/SGCore/SGHandPose.h new file mode 100644 index 00000000..94de3e68 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHandPose.h @@ -0,0 +1,168 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGQuatArray.h" +#include "SGCore/SGVectorArray.h" +#include "SGUtils/SGArrayUtils.h" + +#include "SGHandPose.generated.h" + +class FSGHandPoseImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHandPose final : public UObject +{ + GENERATED_BODY() + +public: + static USGHandPose* NewHandPose( + UObject* Outer, const FSGHandPoseImpl& HandPoseImpl); + +public: + static USGHandPose* NewHandPose(UObject* Outer); + + static USGHandPose* NewHandPose( + UObject* Outer, + bool bRightHanded, const TArray>& JointPositions, const TArray>& JointRotations, + const TArray>& HandAngles); + + static USGHandPose* NewHandPose( + UObject* Outer, + bool bRightHanded, const TArray& JointPositions, const TArray& JointRotations, + const TArray& HandAngles); + +public: + static USGHandPose* Deserialize(UObject* Outer, const FString& SerializedString); + + static USGHandPose* FromHandAngles(UObject* Outer, + const TArray>& HandAngles, bool bRightHanded, + const USGBasicHandModel* HandDimensions); + + static USGHandPose* FromHandAngles(UObject* Outer, const TArray>& HandAngles, bool bRightHanded); + + static USGHandPose* DefaultIdle(UObject* Outer, bool bRightHanded, const USGBasicHandModel* HandDimensions); + + static USGHandPose* DefaultIdle(UObject* Outer, bool bRightHanded); + + static USGHandPose* FlatHand(UObject* Outer, bool bRightHanded, const USGBasicHandModel* HandDimensions); + + static USGHandPose* FlatHand(UObject* Outer, bool bRightHanded); + + static USGHandPose* ThumbsUp(UObject* Outer, bool bRightHanded, const USGBasicHandModel* HandDimensions); + + static USGHandPose* ThumbsUp(UObject* Outer, bool bRightHanded); + + static USGHandPose* Fist(UObject* Outer, bool bRightHanded, const USGBasicHandModel* HandDimensions); + + static USGHandPose* Fist(UObject* Outer, bool bRightHanded); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGHandPose(); + + USGHandPose(bool bRightHanded, + const TArray>& JointPositions, const TArray>& JointRotations, + const TArray>& HandAngles); + + USGHandPose(bool bRightHanded, + const TArray& JointPositions, const TArray& JointRotations, + const TArray& HandAngles); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHandPose(const FSGHandPoseImpl& HandPoseImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHandPose() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetHandPoseImpl(const FSGHandPoseImpl& HandPoseImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGHandPoseImpl& ToHandPoseImpl() const; + +public: + bool IsRight() const; + + TArray> GetJointPositions() const; + + TArray> GetJointRotations() const; + + TArray> GetHandAngles() const; + +public: + bool Equals(const USGHandPose* HandPose) const; + + float GetNormalizedFlexion(ESGFinger Finger, bool bClamp01 = true) const; + + TArray GetNormalizedFlexion(bool bClamp01 = true) const; + +public: + FString ToString(bool bShortFormat = false) const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHandProfile.h b/Source/SenseGloveCore/Public/SGCore/SGHandProfile.h new file mode 100644 index 00000000..d02c2c67 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHandProfile.h @@ -0,0 +1,147 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGNovaGloveHandProfile.h" +#include "SGCore/SGSenseGloveHandProfile.h" + +#include "SGHandProfile.generated.h" + +class FSGHandProfileImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHandProfile final : public UObject +{ + GENERATED_BODY() + +public: + static USGHandProfile* NewHandProfile( + UObject* Outer, const FSGHandProfileImpl& HandProfileImpl); + +public: + static USGHandProfile* NewHandProfile(UObject* Outer); + + static USGHandProfile* NewHandProfile( + UObject* Outer, + bool bRightHanded, + const USGSenseGloveHandProfile* SenseGloveHandProfile, + const USGNovaGloveHandProfile* NovaGloveHandProfile); + +public: + static USGHandProfile* Default(UObject* Outer, bool bRightHanded); + + static USGHandProfile* Deserialize(UObject* Outer, const FString& SerializedString); + +public: + static FString GetProfileDirectory(); + + static FString GetLeftHandFileName(); + + static FString GetRightHandFileName(); + + static FString GetProfileFileName(bool bRightHanded); + + static bool GetLatestProfile(UObject* Outer, bool bRightHanded, USGHandProfile*& OutLatestProfile); + + static bool StoreProfile(const USGHandProfile* ProfileToStore); + + static bool ResetCalibration(bool bRightHanded, bool bOnDisk = true); + + static void ResetCalibration(bool bOnDisk = true); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGHandProfile(); + + USGHandProfile(bool bRightHanded, + const USGSenseGloveHandProfile* SenseGloveHandProfile, + const USGNovaGloveHandProfile* NovaGloveHandProfile); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHandProfile(const FSGHandProfileImpl& HandProfileImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHandProfile() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetHandProfileImpl(const FSGHandProfileImpl& HandProfileImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGHandProfileImpl& ToHandProfileImpl() const; + +public: + bool IsRight() const; + + USGSenseGloveHandProfile* GetSenseGloveHandProfile(UObject* Outer) const; + + USGNovaGloveHandProfile* GetNovaGloveHandProfile(UObject* Outer) const; + +public: + bool Equals(const USGHandProfile* HandProfile) const; + + void Reset(); + +public: + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHapticGlove.h b/Source/SenseGloveCore/Public/SGCore/SGHapticGlove.h new file mode 100644 index 00000000..840eb74e --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHapticGlove.h @@ -0,0 +1,224 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGDevice.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGThumperCommand.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGHapticGlove.generated.h" + +class FSGHapticGloveImpl; +class FSGNovaGloveImpl; +class FSGSenseGloveImpl; +class USGBuzzCommand; +class USGForceFeedbackCommand; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHapticGlove : public USGDevice +{ + GENERATED_BODY() + +private: + friend class USGHapticGloveCalibrationSequence; + +protected: + static USGHapticGlove* NewHapticGlove(UObject* Outer, const FSGHapticGloveImpl& HapticGloveImpl); + + static USGHapticGlove* NewHapticGlove(UObject* Outer, TSharedRef HapticGloveImpl); + +protected: + static USGHapticGlove* NewHapticGlove(UObject* Outer); + +public: + static TArray GetHapticGloves(UObject* Outer); + + static bool GetGlove(UObject* Outer, USGHapticGlove*& OutGlove); + + static bool GetGlove(UObject* Outer, bool bRightHanded, USGHapticGlove*& OutGlove); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +protected: + USGHapticGlove(); + +public: + /** + * The cast from underlying parent type constructor. + */ + explicit USGHapticGlove(const FSGDeviceImpl& SGDeviceImpl); + + /** + * The cast from underlying type constructor. + */ + explicit USGHapticGlove(const FSGHapticGloveImpl& HapticGloveImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGHapticGlove(const FSGNovaGloveImpl& NovaGloveImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGHapticGlove(const FSGSenseGloveImpl& SenseGloveImpl); + +protected: + /** + * The cast from underlying parent pointer type constructor. + */ + explicit USGHapticGlove(TSharedRef SGDeviceImpl); + + /** + * The cast from underlying pointer type constructor. + */ + explicit USGHapticGlove(TSharedRef HapticGloveImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGHapticGlove(TSharedRef NovaGloveImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGHapticGlove(TSharedRef SenseGloveImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHapticGlove() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToHapticGloveImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + virtual ESGDeviceType GetDeviceType() const override; + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + virtual int32 GetFirmwareVersion() const override; + virtual int32 GetSubFirmwareVersion() const override; + + virtual bool IsRight() const; + + virtual bool GetImuRotation(FQuat& OutImu); + + virtual bool GetHandPose( + UObject* Outer, + const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile,USGHandPose*& OutHandPose); + + virtual bool GetHandPose(UObject* Outer, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose); + + virtual bool GetHandPose(UObject* Outer, const USGBasicHandModel* HandGeometry, USGHandPose*& OutHandPose); + + virtual bool GetHandPose(UObject* Outer, USGHandPose*& OutHandPose); + +public: + virtual void StopHaptics(); + + virtual void StopVibrations(); + + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand); + + virtual void SendHaptics(const USGBuzzCommand* BuzzCommand); + + virtual void SendHaptics(const USGThumperCommand* ThumperCommand); + + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand); + + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand); + +public: + virtual bool GetCalibrationValues(TArray& OutValues); + + virtual void ResetCalibrationRange(); + + virtual void UpdateCalibrationRange(); + + virtual void UpdateCalibrationRange(const TArray& CalibrationValues); + + virtual void GetCalibrationRange(TArray& OutMinValues, + TArray& OutMaxValues); + + virtual void UpdateCalibration(UObject* Outer, USGHandProfile*& OutProfile); + + virtual void ApplyCalibration(UObject* Outer, USGHandProfile*& OutProfile) const; + +public: + virtual void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const; + + virtual void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationCheck.h b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationCheck.h new file mode 100644 index 00000000..8bb316bd --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationCheck.h @@ -0,0 +1,142 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGSensorRange.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGHapticGloveCalibrationCheck.generated.h" + +class FSGHapticGloveCalibrationCheckImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHapticGloveCalibrationCheck final : public UObject +{ + GENERATED_BODY() + +public: + static USGHapticGloveCalibrationCheck* NewHapticGloveCalibrationCheck( + UObject* Outer, const FSGHapticGloveCalibrationCheckImpl& HapticGloveCalibrationCheckImpl); + +public: + static USGHapticGloveCalibrationCheck* NewHapticGloveCalibrationCheck(UObject* Outer); + + static USGHapticGloveCalibrationCheck* NewHapticGloveCalibrationCheck( + UObject* Outer, const USGSensorRange* LastCalibrationRange); + +public: + static float GetSenseGloveThreshold(); + + static float GetNovaGloveThreshold(); + + static float GetSenseGloveMinFlexion(); + + static float GetNovaGloveMinFlexion(); + + static float GetSenseGloveMinAbduction(); + + static float GetNovaGloveMinAbduction(); + +public: + static bool NeedsCheck(ESGDeviceType DeviceType); + + static int32 OutOfBounds(const USGSensorRange* PreviousRange, const TArray& CurrentValues, + ESGDeviceType DeviceType); + + static bool MovedMinimum(const TArray& CurrentRange, ESGDeviceType DeviceType); + + static bool MatchesLast(const TArray& CurrentRange, const TArray& LastRange, + ESGDeviceType DeviceType); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGHapticGloveCalibrationCheck(); + + explicit USGHapticGloveCalibrationCheck(const USGSensorRange* LastCalibrationRange); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHapticGloveCalibrationCheck(const FSGHapticGloveCalibrationCheckImpl& HapticGloveCalibrationCheckImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHapticGloveCalibrationCheck() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetHapticGloveCalibrationCheckImpl(const FSGHapticGloveCalibrationCheckImpl& HapticGloveCalibrationCheckImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGHapticGloveCalibrationCheckImpl& ToHapticGloveCalibrationCheckImpl() const; + +public: + USGSensorRange* GetLastSensorRange(UObject* Outer) const; + +public: + ESGCalibrationStage GetCalibrationStage() const; + + bool ReachedConclusion() const; + +public: + void Reset(); + + void CheckRange(const TArray& CurrentValues, float DeltaSeconds, ESGDeviceType DeviceType); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationSequence.h b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationSequence.h new file mode 100644 index 00000000..f1ce3793 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCalibrationSequence.h @@ -0,0 +1,212 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGCalibrationDataPoint.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGHapticGlove.h" +#include "SGCore/SGSensorRange.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGHapticGloveCalibrationSequence.generated.h" + +class FSGHapticGloveCalibrationSequenceImpl; +class FSGHapticGloveQuickCalibrationImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHapticGloveCalibrationSequence : public UObject +{ + GENERATED_BODY() + +public: + static USGHapticGloveCalibrationSequence* NewHapticGloveCalibrationSequence( + UObject* Outer, const FSGHapticGloveCalibrationSequenceImpl& HapticGloveCalibrationSequence); + + static USGHapticGloveCalibrationSequence* NewHapticGloveCalibrationSequence( + UObject* Outer, TSharedRef HapticGloveCalibrationSequence); + +protected: + static USGHapticGloveCalibrationSequence* NewHapticGloveCalibrationSequence(UObject* Outer); + +public: + static USGHapticGloveCalibrationSequence* NewHapticGloveCalibrationSequence( + UObject* Outer, const USGHapticGlove* LinkedGlove); + +public: + static int32 GetMaxDataPoints(); + +public: + static bool CompileProfile(UObject* Outer, + const USGSensorRange* SensorRange, ESGDeviceType ForDevice, bool bRightHanded, + USGHandProfile*& OutProfile); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +protected: + USGHapticGloveCalibrationSequence(); + +public: + explicit USGHapticGloveCalibrationSequence(const USGHapticGlove* LinkedGlove); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHapticGloveCalibrationSequence( + const FSGHapticGloveCalibrationSequenceImpl& HapticGloveCalibrationSequenceImpl); + + /** + * The cast from underlying child type constructor. + */ + explicit USGHapticGloveCalibrationSequence( + const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibrationImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGHapticGloveCalibrationSequence( + TSharedRef HapticGloveCalibrationSequenceImpl); + + /** + * The cast from underlying child pointer type constructor. + */ + explicit USGHapticGloveCalibrationSequence( + TSharedRef HapticGloveQuickCalibrationImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHapticGloveCalibrationSequence() override; + +protected: + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetHapticGloveCalibrationSequenceImpl( + const FSGHapticGloveCalibrationSequenceImpl& HapticGloveCalibrationSequenceImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetHapticGloveCalibrationSequenceImpl( + const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibrationImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetHapticGloveCalibrationSequenceImpl( + TSharedRef HapticGloveCalibrationSequenceImpl); + + /** + * Allows the child classes to set the underlying object after construction. + */ + void SetHapticGloveCalibrationSequenceImpl( + TSharedRef HapticGloveQuickCalibrationImpl); + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToHapticGloveCalibrationSequenceImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties(); + +public: + USGHapticGlove* GetLinkedGlove(UObject* Outer) const; + + void SetLinkedGlove(const USGHapticGlove* LinkedGlove); + + TArray GetCalibrationPoints(UObject* Outer) const; + + float GetElapsedTime() const; + + bool IsManuallyCompleted() const; + + int32 GetCurrentStage() const; + + SIZE_T GetCalibrationPointsCount() const; + + bool AutoCompleted() const; + + bool Completed() const; + +public: + void Reset(); + + void AddDataPoint(const TArray& CalibrationPoints); + + void Update(float DeltaSeconds); + + void ConfirmCurrentStep(); + +public: + bool CompileRange(UObject* Outer, USGSensorRange*& OutSensorRange) const; + + bool CompileProfile(UObject* Outer, ESGDeviceType ForDevice, bool bRightHanded, USGHandProfile*& OutProfile) const; + + bool GetHandPose(UObject* Outer, USGHandPose*& OutCurrentHandPose) const; + + bool GetHandPose(UObject* Outer, bool bRightHanded, USGHandPose*& OutCurrentHandPose) const; + + FString GetCurrentInstruction(const FString& NextStepKey = FString{""}) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCommandBuffer.h b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCommandBuffer.h new file mode 100644 index 00000000..f6090969 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveCommandBuffer.h @@ -0,0 +1,155 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGTimedThumpCommand.h" + +#include "SGHapticGloveCommandBuffer.generated.h" + +class FSGHapticGloveCommandBufferImpl; +class USGBuzzCommand; +class USGForceFeedbackCommand; +class USGTimedBuzzCommand; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHapticGloveCommandBuffer final : public UObject +{ + GENERATED_BODY() + +public: + static USGHapticGloveCommandBuffer* NewHapticGloveCommandBuffer( + UObject* Outer, const FSGHapticGloveCommandBufferImpl& HapticGloveCommandBufferImpl); + +public: + static USGHapticGloveCommandBuffer* NewHapticGloveCommandBuffer(UObject* Outer); + +public: + static int32 GetMaxForceFeedbackCommands(); + + static int32 GetMaxBuzzCommands(); + + static int32 GetMaxThumpCommands(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGHapticGloveCommandBuffer(); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHapticGloveCommandBuffer(const FSGHapticGloveCommandBufferImpl& HapticGloveCommandBufferImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHapticGloveCommandBuffer() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetHapticGloveCommandBufferImpl(const FSGHapticGloveCommandBufferImpl& HapticGloveCommandBufferImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGHapticGloveCommandBufferImpl& ToHapticGloveCommandBufferImpl() const; + +public: + TArray GetForceFeedbackCommandsQueue(UObject* Outer) const; + + TArray GetBuzzCommandsQueue(UObject* Outer) const; + + TArray GetThumperCommandsQueue(UObject* Outer) const; + +public: + void ClearForceFeedbackCommandsQueue(); + + void ClearVibrations(); + + void Clear(); + + void AddCommand(const USGForceFeedbackCommand* ForceFeedbackCommand); + + void AddCommand(const USGTimedBuzzCommand* BuzzCommand); + + void AddCommand(const USGTimedThumpCommand* ThumpCommand); + + void UpdateTimedCommands(float DeltaSeconds); + +public: + USGForceFeedbackCommand* GetTotalForceFeedbackLevels( + UObject* Outer, const USGForceFeedbackCommand* LastForceFeedbackCommand) const; + + USGForceFeedbackCommand* GetTotalForceFeedbackLevels(UObject* Outer) const; + + USGBuzzCommand* GetTotalBuzzLevels(UObject* Outer) const; + + USGThumperCommand* GetTotalThumperLevels(UObject* Outer) const; + +public: + void FlushHaptics(UObject* Outer, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand, + bool bClearForceFeedbackQueue = true); + + void FlushHaptics(UObject* Outer, + float DeltaSeconds, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHapticGloveHandProfiles.h b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveHandProfiles.h new file mode 100644 index 00000000..5623bcde --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveHandProfiles.h @@ -0,0 +1,80 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" + +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGSensorRange.h" + +#include "SGHapticGloveHandProfiles.generated.h" + +class USGHapticGlove; + +USTRUCT() +struct SENSEGLOVECORE_API FSGHapticGloveHandProfiles +{ + GENERATED_BODY() + +public: + static FString GetProfileDirectory(); + + static void SetProfileDirectory(const FString& Directory); + + static void GetLeftHandProfile(UObject* Outer, USGHandProfile*& OutHandProfile); + + static void SetLeftHandProfile(const USGHandProfile* HandProfile); + + static void GetRightHandProfile(UObject* Outer, USGHandProfile*& OutHandProfile); + + static void SetRightHandProfile(const USGHandProfile* HandProfile); + + static void GetProfile(UObject* Outer, bool bRightHanded, USGHandProfile*& OutHandProfile); + + static void SetProfile(const USGHandProfile* HandProfile); + + static void SetProfile(const USGHandProfile* HandProfile, bool bRightHanded); + + static void RestoreDefaults(); + + static void RestoreDefaults(bool bRightHanded); + + static void TryLoadingFromDisk(); + + static bool SaveLastRange(const USGSensorRange* CurrentRange, const USGHapticGlove* ForGlove); + + static bool LoadLastRange(UObject* Outer, const USGHapticGlove* ForGlove, USGSensorRange*& OutLastRange); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGHapticGloveQuickCalibration.h b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveQuickCalibration.h new file mode 100644 index 00000000..1c6a8f26 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGHapticGloveQuickCalibration.h @@ -0,0 +1,151 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +#include "SGCore/SGHapticGloveCalibrationSequence.h" + +#include "SGHapticGloveQuickCalibration.generated.h" + +class FSGHapticGloveQuickCalibrationImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGHapticGloveQuickCalibration final : public USGHapticGloveCalibrationSequence +{ + GENERATED_BODY() + +public: + static USGHapticGloveQuickCalibration* NewHapticGloveQuickCalibration( + UObject* Outer, const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibration); + + static USGHapticGloveQuickCalibration* NewHapticGloveQuickCalibration( + UObject* Outer, TSharedRef HapticGloveQuickCalibration); + + static USGHapticGloveQuickCalibration* NewHapticGloveQuickCalibration(UObject* Outer); + + static USGHapticGloveQuickCalibration* NewHapticGloveQuickCalibration( + UObject* Outer, + const USGHapticGlove* GloveToCalibrate, + float AutoEndTimeout = GetDefaultAutoEndTimeout()); + +public: + static float GetDefaultAutoEndTimeout(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGHapticGloveQuickCalibration(); + + explicit USGHapticGloveQuickCalibration(const USGHapticGlove* GloveToCalibrate, + float AutoEndTimeout = GetDefaultAutoEndTimeout()); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGHapticGloveQuickCalibration(const FSGHapticGloveQuickCalibrationImpl& HapticGloveQuickCalibrationImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGHapticGloveQuickCalibration( + TSharedRef HapticGloveQuickCalibrationImpl); + +public: + /** + * The destructor. + */ + virtual ~USGHapticGloveQuickCalibration() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToHapticGloveQuickCalibrationImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + float GetAutoEndTimeout() const; + + int32 GetSmoothingSamples() const; + + USGSensorRange* GetSensorRange(UObject* Outer) const; + + USGHandProfile* GetTemporaryProfile(UObject* Outer) const; + + bool CanAnimate() const; + +public: + bool AutoCompleted() const; + +public: + void Reset(); + + void Update(float DeltaSeconds); + + void AddDataPoint(const TArray& CalibrationData); + + void ConfirmCurrentStep(); + + bool CompileRange(UObject* Outer, USGSensorRange*& OutSensorRange) const; + + bool GetHandPose(UObject* Outer, bool bRightHanded, USGHandPose*& OutCurrentHandPose) const; + + FString GetCurrentInstruction(const FString& NextStepKey = FString{""}) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGInterpolationSet.h b/Source/SenseGloveCore/Public/SGCore/SGInterpolationSet.h new file mode 100644 index 00000000..9f2b0cdc --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGInterpolationSet.h @@ -0,0 +1,149 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGInterpolationSet.generated.h" + +class FSGInterpolationSetImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGInterpolationSet final : public UObject +{ + GENERATED_BODY() + +public: + static USGInterpolationSet* NewInterpolationSet( + UObject* Outer, const FSGInterpolationSetImpl& InterpolationSetImpl); + +public: + static USGInterpolationSet* NewInterpolationSet(UObject* Outer); + + static USGInterpolationSet* NewInterpolationSet(UObject* Outer, float From1, float From2, float To1, float To2); + + static USGInterpolationSet* NewInterpolationSet( + UObject* Outer, float From1, float From2, float To1, float To2, float Min, float Max); + +public: + static USGInterpolationSet* Deserialize(UObject* Outer, const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGInterpolationSet(); + + USGInterpolationSet(float From1, float From2, float To1, float To2); + + USGInterpolationSet(float From1, float From2, float To1, float To2, float Min, float Max); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGInterpolationSet(const FSGInterpolationSetImpl& InterpolationSetImpl); + +public: + /** + * The destructor. + */ + virtual ~USGInterpolationSet() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetInterpolationSetImpl(const FSGInterpolationSetImpl& InterpolationSetImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGInterpolationSetImpl& ToInterpolationSetImpl() const; + +public: + float GetX0() const; + + void SetX0(float X0); + + float GetX1() const; + + void SetX1(float X1); + + float GetY0() const; + + void SetY0(float Y0); + + float GetY1() const; + + void SetY1(float Y1); + + float GetMin() const; + + void SetMin(float Min); + + float GetMax() const; + + void SetMax(float Max); + +public: + float Get(float Value, bool bLimit, bool bNormalizeAngle = false) const; + +public: + bool Equals(const USGInterpolationSet* InterpolationSet) const; + +public: + FString ToString() const; + + FString ToString(bool bLimits) const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGInterpolationSetArray.h b/Source/SenseGloveCore/Public/SGCore/SGInterpolationSetArray.h new file mode 100644 index 00000000..4a28ad13 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGInterpolationSetArray.h @@ -0,0 +1,52 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGInterpolationSet.h" + +#include "SGInterpolationSetArray.generated.h" + +class FSGInterpolationSetImpl; + +USTRUCT(BlueprintType) +struct SENSEGLOVECORE_API FSGInterpolationSetArray +{ + GENERATED_BODY() + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite) + TArray InterpolationSetArray; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGJointKinematics.h b/Source/SenseGloveCore/Public/SGCore/SGJointKinematics.h new file mode 100644 index 00000000..5ecf8932 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGJointKinematics.h @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGJointKinematics.generated.h" + +USTRUCT() +struct SENSEGLOVECORE_API FSGJointKinematics +{ + GENERATED_BODY() + +public: + static bool ForwardKinematics( + const FVector& StartPosition, const FQuat& StartRotation, + const TArray& JointLengths, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations); + + static bool ForwardKinematics( + const USGBasicHandModel* Profile, ESGFinger Finger, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGLibrary.h b/Source/SenseGloveCore/Public/SGCore/SGLibrary.h new file mode 100644 index 00000000..21c6e9f4 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGLibrary.h @@ -0,0 +1,73 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "UObject/ObjectMacros.h" + +#include "SGTypes/SGCoreTypes.h" + +#include "SGLibrary.generated.h" + +/** + * Provides information about this C++ Library. + */ +USTRUCT() +struct SENSEGLOVECORE_API FSGLibrary +{ + GENERATED_BODY() + +public: + /** + * The version of this C++ Library in string representation. + */ + static FString GetVersion(); + + /** + * Check what back-end connections are used for this version of SGConnect. + */ + static ESGBackendType GetBackendType(); + + /** + * Back-End version in string notation. + */ + static FString GetBackendVersion(); + + /** + * If possible, check what version of SGConnect is paired with this API. + */ + static FString GetSGConnectVersion(); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGNovaGlove.h b/Source/SenseGloveCore/Public/SGCore/SGNovaGlove.h new file mode 100644 index 00000000..3991efa3 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGNovaGlove.h @@ -0,0 +1,252 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGHapticGlove.h" +#include "Containers/Array.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGHapticGlove.h" +#include "SGCore/SGNovaGloveSensorData.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGNovaGlove.generated.h" + +class FSGNovaGloveImpl; +class USGBuzzCommand; +class USGForceFeedbackCommand; +class USGThumperCommand; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGNovaGlove final : public USGHapticGlove +{ + GENERATED_BODY() + +public: + static USGNovaGlove* NewNovaGlove(UObject* Outer, const FSGNovaGloveImpl& NovaGloveImpl); + + static USGNovaGlove* NewNovaGlove(UObject* Outer, TSharedRef NovaGloveImpl); + +public: + static USGNovaGlove* NewNovaGlove(UObject* Outer); + + static USGNovaGlove* NewNovaGlove(UObject* Outer, const USGNovaGloveInfo& DeviceInfo); + +public: + static ANSICHAR GetHapticsByte(); + + static FVector GetMinCalibrationRange(); + +public: + static USGHandPose* CalculateHandPose(UObject* Outer, + const USGBasicHandModel* HandModel, + const USGNovaGloveSensorData* NovaData, + const USGNovaGloveHandProfile* Profile); + +public: + static USGDevice* Parse(UObject* Outer, const FString& ConstantsString); + + static TArray GetNovaGloves(UObject* Outer); + + static bool GetNovaGlove(UObject* Outer, USGNovaGlove*& OutGlove); + + static bool GetNovaGlove(UObject* Outer, bool bRightHanded, USGNovaGlove*& OutGlove); + +public: + static TArray GetCalibrationValues(const USGNovaGloveSensorData* SensorData); + + static void CalibrateInterpolation(UObject* Outer, + const TArray& MinValues, const TArray& MaxValues, + USGNovaGloveHandProfile*& OutProfile); + +public: + static void CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, bool bRightHanded, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + static void CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, bool bRightHanded, + FVector& OutWristPosition, FQuat& OutWristRotation); + +public: + static FString ToBytes(const USGThumperCommand* ThumperCommand); + + static FString ToBytes(const USGForceFeedbackCommand* ForceFeedbackCommand); + + static FString ToBytes(const USGBuzzCommand* BuzzCommand); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +protected: + USGNovaGlove(); + + explicit USGNovaGlove(const USGNovaGloveInfo& DeviceInfo); + +public: + /** + * The cast from underlying parent type constructor. + */ + explicit USGNovaGlove(const FSGDeviceImpl& SGDeviceImpl); + + /** + * The cast from underlying parent type constructor. + */ + explicit USGNovaGlove(const FSGHapticGloveImpl& HapticGloveImpl); + + /** + * The cast from underlying type constructor. + */ + explicit USGNovaGlove(const FSGNovaGloveImpl& NovaGloveImpl); + +protected: + /** + * The cast from underlying parent pointer type constructor. + */ + explicit USGNovaGlove(TSharedRef SGDeviceImpl); + + /** + * The cast from underlying parent pointer type constructor. + */ + explicit USGNovaGlove(TSharedRef HapticGloveImpl); + + /** + * The cast from underlying pointer type constructor. + */ + explicit USGNovaGlove(TSharedRef NovaGloveImpl); + +public: + /** + * The destructor. + */ + virtual ~USGNovaGlove() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToNovaGloveImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + virtual ESGDeviceType GetDeviceType() const override; + + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + + virtual int32 GetFirmwareVersion() const override; + + virtual int32 GetSubFirmwareVersion() const override; + +public: + virtual bool HasBattery() const override; + + virtual bool IsCharging() override; + + virtual bool GetBatteryLevel(float& OutBatteryLevel) override; + +public: + bool GetSensorData(UObject* Outer, USGNovaGloveSensorData*& OutSensorData); + + virtual bool GetImuRotation(FQuat& OutImu) override; + + /// HACK + /// 'FSGNovaGlove::GetHandPose' hides overloaded virtual functions [-Werror,-Woverloaded-virtual] + /// tell the compiler we want both the GetHandPose from FSGHapticGlove and FSGNovaGlove + using USGHapticGlove::GetHandPose; + + bool GetHandPose(UObject* Outer, const USGBasicHandModel* HandModel, const USGNovaGloveHandProfile* Profile, + USGHandPose*& OutHandPose); + + virtual bool GetHandPose(UObject* Outer, const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose) override; + + virtual bool GetHandPose(UObject* Outer, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) override; + +public: + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) override; + + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand) override; + + virtual void SendHaptics(const USGBuzzCommand* BuzzCommand) override; + + virtual void SendHaptics(const USGThumperCommand* ThumperCommand) override; + +public: + virtual bool GetCalibrationValues(TArray& OutValues) override; + + virtual void ApplyCalibration(UObject* Outer, USGHandProfile*& OutProfile) const override; + + void ApplyCalibration(UObject* Outer, USGNovaGloveHandProfile*& OutProfile) const; + +public: + virtual void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const override; + + virtual void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const override; + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGNovaGloveCalibration.h b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveCalibration.h new file mode 100644 index 00000000..a410a67d --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveCalibration.h @@ -0,0 +1,62 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" + +#include "SGCore/SGNovaGloveHandProfile.h" + +#include "SGNovaGloveCalibration.generated.h" + +USTRUCT() +struct SENSEGLOVECORE_API FSGNovaGloveCalibration +{ + GENERATED_BODY() + +public: + static void ApplyDefaultCalibrationInterpolationValues( + const TArray& RetractedValues, + const TArray& ExtendedValues, + const USGNovaGloveHandProfile* Profile); + + static void ApplyInterpolationValues( + const TArray& RetractedValues, + const TArray& ExtendedValues, + const TArray>& RetractedAngles, + const TArray>& ExtendedAngles, + const USGNovaGloveHandProfile* Profile); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGNovaGloveHandProfile.h b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveHandProfile.h new file mode 100644 index 00000000..cdba3177 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveHandProfile.h @@ -0,0 +1,118 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGTypes/SGCoreTypes.h" +#include "SGCore/SGHandInterpolator.h" + +#include "SGNovaGloveHandProfile.generated.h" + +class FSGNovaGloveHandProfileImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGNovaGloveHandProfile final : public UObject +{ + GENERATED_BODY() + +public: + static USGNovaGloveHandProfile* NewNovaGloveHandProfile( + UObject* Outer, const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl); + +public: + static USGNovaGloveHandProfile* NewNovaGloveHandProfile(UObject* Outer); + + static USGNovaGloveHandProfile* NewNovaGloveHandProfile( + UObject* Outer, bool bRightHanded, const USGHandInterpolator* Interpolator); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGNovaGloveHandProfile(); + + USGNovaGloveHandProfile(bool bRightHanded, const USGHandInterpolator* Interpolator); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGNovaGloveHandProfile(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl); + +public: + /** + * The destructor. + */ + virtual ~USGNovaGloveHandProfile() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetNovaGloveHandProfileImpl(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGNovaGloveHandProfileImpl& ToNovaGloveHandProfileImpl() const; + +public: + bool IsRight() const; + + USGHandInterpolator* GetInterpolationSet(UObject* Outer) const; + +public: + bool Equals(const USGNovaGloveHandProfile* NovaGloveHandProfile) const; + + void Reset(); + +public: + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGNovaGloveInfo.h b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveInfo.h new file mode 100644 index 00000000..77a0b457 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveInfo.h @@ -0,0 +1,144 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGHapticGlove.h" +#include "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGUtils/SGArrayUtils.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGNovaGloveInfo.generated.h" + +class FSGNovaGloveInfoImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGNovaGloveInfo final : public UObject +{ + GENERATED_BODY() + +public: + static USGNovaGloveInfo* NewNovaGloveInfo( + UObject* Outer, const FSGNovaGloveInfoImpl& NovaGloveInfoImpl); + +public: + static USGNovaGloveInfo* NewNovaGloveInfo(UObject* Outer); + + static USGNovaGloveInfo* NewNovaGloveInfo( + UObject* Outer, + const FString& DeviceId, const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, const FQuat& ImuCorrection, int32 NumberOfSensors); + +public: + static bool Parse(UObject* Outer, const FString& ConstantsString, USGNovaGloveInfo*& OutGloveInfo); + + static USGNovaGloveInfo* Deserialize(UObject* Outer, const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGNovaGloveInfo(); + + USGNovaGloveInfo(const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, const FQuat& ImuCorrection, int32 NumberOfSensors); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGNovaGloveInfo(const FSGNovaGloveInfoImpl& NovaGloveInfoImpl); + +public: + /** + * The destructor. + */ + virtual ~USGNovaGloveInfo() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetNovaGloveInfoImpl(const FSGNovaGloveInfoImpl& NovaGloveInfoImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGNovaGloveInfoImpl& ToNovaGloveInfoImpl() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FSGNovaGloveInfoImpl& ToNovaGloveInfoImpl(); + +public: + FString GetDeviceId() const; + + FString GetHardwareVersion() const; + + int32 GetFirmwareVersion() const; + + int32 GetSubFirmwareVersion() const; + + bool IsRight() const; + + FQuat GetImuCorrection() const; + + int32 GetNumberOfSensors() const; + +public: + bool Equals(const USGNovaGloveInfo* NovaGloveInfo) const; + +public: + FString ToString() const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGNovaGloveSensorData.h b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveSensorData.h new file mode 100644 index 00000000..7fbad775 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGNovaGloveSensorData.h @@ -0,0 +1,136 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGNovaGloveInfo.h" + +#include "SGNovaGloveSensorData.generated.h" + +class FSGNovaGloveSensorDataImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGNovaGloveSensorData final : public UObject +{ + GENERATED_BODY() + +public: + static USGNovaGloveSensorData* NewNovaGloveSensorData( + UObject* Outer, const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl); + +public: + static USGNovaGloveSensorData* NewNovaGloveSensorData(UObject* Outer); + + static USGNovaGloveSensorData* NewNovaGloveSensorData( + UObject* Outer, const TArray& Values, int32 ParsedValues, + const FQuat& ImuRotation, bool bImuParsed, float BatteryLevel, bool bCharging); + +public: + static USGNovaGloveSensorData* Empty(UObject* Outer); + + static USGNovaGloveSensorData* Parse(UObject* Outer, const FString& RawData, const USGNovaGloveInfo* GloveInfo); + + static USGNovaGloveSensorData* Deserialize(UObject* Outer, const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGNovaGloveSensorData(); + + USGNovaGloveSensorData(const TArray& Values, int32 ParsedValues, + const FQuat& ImuRotation, bool bImuParsed, float BatteryLevel, bool bCharging); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGNovaGloveSensorData(const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl); + +public: + /** + * The destructor. + */ + virtual ~USGNovaGloveSensorData() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetNovaGloveSensorDataImpl(const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGNovaGloveSensorDataImpl& ToNovaGloveSensorDataImpl() const; + +public: + TArray GetSensorValues() const; + + FQuat GetImuRotation() const; + + int32 GetParsedValues() const; + + bool IsImuParsed() const; + + float GetBatteryLevel() const; + + bool IsCharging() const; + +public: + bool Equals(const USGNovaGloveSensorData* NovaGloveSensorData) const; + +public: + FString ToString() const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGQuatArray.h b/Source/SenseGloveCore/Public/SGCore/SGQuatArray.h new file mode 100644 index 00000000..17d865a3 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGQuatArray.h @@ -0,0 +1,50 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Math/Quat.h" + +#include "SGQuatArray.generated.h" + +USTRUCT(BlueprintType) +struct SENSEGLOVECORE_API FSGQuatArray +{ + GENERATED_BODY() + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite) + TArray QuatArray; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseCom.h b/Source/SenseGloveCore/Public/SGCore/SGSenseCom.h new file mode 100644 index 00000000..abb691c7 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseCom.h @@ -0,0 +1,60 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "UObject/Object.h" + +#include "SGSenseCom.generated.h" + +USTRUCT() +struct SENSEGLOVECORE_API FSGSenseCom +{ + GENERATED_BODY() + +public: + static bool RegisterExe(); + + static bool RegisterExe(const FString& ExePath); + + static bool GetExePath(FString& OutExePath); + + static bool ScanningActive(); + + static bool GetCurrentExeDirectory(FString& OutDirectory); + + static bool StartupSenseCom(); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseGlove.h b/Source/SenseGloveCore/Public/SGCore/SGSenseGlove.h new file mode 100644 index 00000000..3c82f6a8 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseGlove.h @@ -0,0 +1,270 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGHapticGlove.h" +#include "Containers/Array.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGHapticGlove.h" +#include "SGCore/SGSenseGlovePose.h" +#include "SGCore/SGSenseGloveSensorData.h" +#include "SGCore/SGThumperCommand.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGSenseGlove.generated.h" + +class FSGSenseGloveImpl; +class USGBuzzCommand; +class USGForceFeedbackCommand; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGSenseGlove final : public USGHapticGlove +{ + GENERATED_BODY() + +public: + static USGSenseGlove* NewSenseGlove(UObject* Outer, const FSGSenseGloveImpl& SenseGloveImpl); + + static USGSenseGlove* NewSenseGlove(UObject* Outer, TSharedRef SenseGloveImpl); + +public: + static USGSenseGlove* NewSenseGlove(UObject* Outer); + + static USGSenseGlove* NewSenseGlove(UObject* Outer, const USGSenseGloveInfo& Model); + +public: + static ANSICHAR GetHapticsByte(); + + static ANSICHAR GetThumperByte(); + +public: + static USGSenseGlovePose* CalculateGlovePose(UObject* Outer, + const USGSenseGloveSensorData* SensorData, + const USGSenseGloveInfo* GloveModel); + + static USGSenseGlovePose* CalculateGlovePose(UObject* Outer, + const TArray>& GloveAngles, + const USGSenseGloveInfo* GloveModel); + + static USGHandPose* CalculateHandPose(UObject* Outer, + const USGSenseGlovePose* GlovePose, + const USGBasicHandModel* HandModel, + const USGSenseGloveHandProfile* Profile); + +public: + static USGDevice* Parse(UObject* Outer, const FString& ConstantsString); + + static TArray GetSenseGloves(UObject* Outer); + + static bool GetSenseGlove(UObject* Outer, USGSenseGlove*& OutGlove); + + static bool GetSenseGlove(UObject* Outer, bool bRightHanded, USGSenseGlove*& OutGlove); + +public: + static TArray GetCalibrationValues(const USGSenseGlovePose* GlovePose); + + static void CalibrateInterpolation(UObject* Outer, + const TArray& MinValues, const TArray& MaxValues, + bool bRightHanded, USGSenseGloveHandProfile*& OutProfile); + +public: + static void CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + bool bRightHanded, ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + static void CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + bool bRightHanded, ESGFinger MountedOn, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +protected: + USGSenseGlove(); + + explicit USGSenseGlove(const USGSenseGloveInfo& Model); + +public: + /** + * The cast from underlying parent type constructor. + */ + explicit USGSenseGlove(const FSGDeviceImpl& SGDeviceImpl); + + /** + * The cast from underlying parent type constructor. + */ + explicit USGSenseGlove(const FSGHapticGloveImpl& HapticGloveImpl); + + /** + * The cast from underlying type constructor. + */ + explicit USGSenseGlove(const FSGSenseGloveImpl& SenseGloveImpl); + +protected: + /** + * The cast from underlying parent pointer type constructor. + */ + explicit USGSenseGlove(TSharedRef SGDeviceImpl); + + /** + * The cast from underlying parent pointer type constructor. + */ + explicit USGSenseGlove(TSharedRef HapticGloveImpl); + + /** + * The cast from underlying pointer type constructor. + */ + explicit USGSenseGlove(TSharedRef SenseGloveImpl); + +public: + /** + * The destructor. + */ + virtual ~USGSenseGlove() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToSenseGloveImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + USGSenseGloveInfo* GetGloveModel(UObject* Outer) const; + + virtual bool IsRight() const override; + +public: + virtual ESGDeviceType GetDeviceType() const override; + + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + + virtual int32 GetFirmwareVersion() const override; + + virtual int32 GetSubFirmwareVersion() const override; + +public: + bool GetSensorData(UObject* Outer, USGSenseGloveSensorData*& OutSensorData) const; + + virtual bool GetImuRotation(FQuat& OutImu) override; + + bool GetGlovePose(UObject* Outer, USGSenseGlovePose*& OutGlovePose); + + bool GetGlovePose(UObject* Outer, const USGSenseGloveSensorData* SensorData, USGSenseGlovePose*& OutGlovePose); + + /// HACK + /// 'FSGSenseGloveImpl::GetHandPose' hides overloaded virtual functions [-Werror,-Woverloaded-virtual] + /// tell the compiler we want both the GetHandPose from FSGHapticGloveImpl and FSGSenseGloveImpl + using USGHapticGlove::GetHandPose; + + bool GetHandPose(UObject* Outer, const USGBasicHandModel* HandModel, const USGSenseGloveHandProfile* Profile, + USGHandPose*& OutHandPose); + + virtual bool GetHandPose(UObject* Outer, const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose) override; + + virtual bool GetHandPose(UObject* Outer, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) override; + +public: + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand) override; + + virtual void SendHaptics(const USGBuzzCommand* BuzzCommand) override; + + virtual void SendHaptics(const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) override; + +public: + virtual bool GetCalibrationValues(TArray& OutValues) override; + + virtual void ResetCalibrationRange() override; + + virtual void ApplyCalibration(UObject* Outer, USGHandProfile*& OutProfile) const override; + + void ApplyCalibration(UObject* Outer, USGSenseGloveHandProfile*& OutProfile) const; + +public: + virtual void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const override; + + void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const; + + virtual void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const override; + + void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) const; + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseGloveHandProfile.h b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveHandProfile.h new file mode 100644 index 00000000..3f102c2b --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveHandProfile.h @@ -0,0 +1,136 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGHandInterpolator.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGSenseGloveHandProfile.generated.h" + +class FSGSenseGloveHandProfileImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGSenseGloveHandProfile final : public UObject +{ + GENERATED_BODY() + +public: + static USGSenseGloveHandProfile* NewSenseGloveHandProfile( + UObject* Outer, const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl); + +public: + static USGSenseGloveHandProfile* NewSenseGloveHandProfile(UObject* Outer); + + static USGSenseGloveHandProfile* NewSenseGloveHandProfile( + UObject* Outer, bool bRightHanded, const USGHandInterpolator* Interpolator, + ESGThumbSolver ThumbSolver, ESGFingerSolver FingerSolver, const TArray& FingerThimbleOffset); + +public: + static USGSenseGloveHandProfile* Default(UObject* Outer, bool bRightHanded); + + static USGSenseGloveHandProfile* Deserialize(UObject* Outer, const FString& SerializedString); + +public: + static FVector GetDefaultThimbleOffset(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGSenseGloveHandProfile(); + + USGSenseGloveHandProfile(bool bRightHanded, const USGHandInterpolator* Interpolator, + ESGThumbSolver ThumbSolver, ESGFingerSolver FingerSolver, + const TArray& FingerThimbleOffset); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGSenseGloveHandProfile(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl); + +public: + /** + * The destructor. + */ + virtual ~USGSenseGloveHandProfile() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetSenseGloveHandProfileImpl(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGSenseGloveHandProfileImpl& ToSenseGloveHandProfileImpl() const; + +public: + bool IsRight() const; + + USGHandInterpolator* GetInterpolationSet(UObject* Outer) const; + + ESGThumbSolver GetThumbSolver() const; + + ESGFingerSolver GetFingerSolver() const; + + TArray GetFingerThimbleOffset() const; + +public: + bool Equals(const USGSenseGloveHandProfile* SenseGloveHandProfile) const; + + void Reset(); + +public: + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseGloveInfo.h b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveInfo.h new file mode 100644 index 00000000..fb1b4189 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveInfo.h @@ -0,0 +1,181 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGVectorArray.h" +#include "SGUtils/SGArrayUtils.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGSenseGloveInfo.generated.h" + +class FSGSenseGloveInfoImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGSenseGloveInfo final : public UObject +{ + GENERATED_BODY() + +public: + static USGSenseGloveInfo* NewSenseGloveInfo( + UObject* Outer, const FSGSenseGloveInfoImpl& SenseGloveInfoImpl); + +public: + static USGSenseGloveInfo* NewSenseGloveInfo(UObject* Outer); + + static USGSenseGloveInfo* NewSenseGloveInfo( + UObject* Outer, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray>& GloveLengths, const TArray& Functions); + + static USGSenseGloveInfo* NewSenseGloveInfo( + UObject* Outer, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray& GloveLengths, const TArray& Functions); + +public: + static bool Parse(UObject* Outer, const FString& ConstantsString, USGSenseGloveInfo*& OutGloveInfo, + bool bUpdateOldModels = true); + + static USGSenseGloveInfo* Deserialize(UObject* Outer, const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGSenseGloveInfo(); + + USGSenseGloveInfo(const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray>& GloveLengths, const TArray& Functions); + + USGSenseGloveInfo(const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray& GloveLengths, const TArray& Functions); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGSenseGloveInfo(const FSGSenseGloveInfoImpl& SenseGloveInfoImpl); + +public: + /** + * The destructor. + */ + virtual ~USGSenseGloveInfo() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetSenseGloveInfoImpl(const FSGSenseGloveInfoImpl& SenseGloveInfoImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGSenseGloveInfoImpl& ToSenseGloveInfoImpl() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FSGSenseGloveInfoImpl& ToSenseGloveInfoImpl(); + +public: + FString GetDeviceId() const; + + FString GetHardwareVersion() const; + + int32 GetFirmwareVersion() const; + + int32 GetSubFirmwareVersion() const; + + bool IsRight() const; + + int32 GetNumberOfSensors() const; + + FQuat GetImuCorrection() const; + + TArray GetStartPositions() const; + + TArray GetStartRotations() const; + + TArray> GetGloveLengths() const; + + TArray GetFunctions() const; + +public: + FVector GetStartPosition(ESGFinger Finger) const; + + FQuat GetStartRotation(ESGFinger Finger) const; + + TArray GetGloveLengths(ESGFinger Finger) const; + +public: + TArray> ToGloveAngles(const TArray>& SensorAngles) const; + + bool Equals(const USGSenseGloveInfo* SenseGloveInfo) const; + +public: + FString ToString() const; + + FString ToString(bool bShortNotation) const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseGlovePose.h b/Source/SenseGloveCore/Public/SGCore/SGSenseGlovePose.h new file mode 100644 index 00000000..5222751a --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseGlovePose.h @@ -0,0 +1,158 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGSenseGloveInfo.h" +#include "SGCore/SGSenseGloveHandProfile.h" +#include "SGCore/SGQuatArray.h" +#include "SGCore/SGVectorArray.h" +#include "SGUtils/SGArrayUtils.h" + +#include "SGSenseGlovePose.generated.h" + +class FSGSenseGlovePoseImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGSenseGlovePose final : public UObject +{ + GENERATED_BODY() + +public: + static USGSenseGlovePose* NewSenseGlovePose( + UObject* Outer, const FSGSenseGlovePoseImpl& SenseGlovePoseImpl); + +public: + static USGSenseGlovePose* NewSenseGlovePose(UObject* Outer); + + static USGSenseGlovePose* NewSenseGlovePose(UObject* Outer, bool bRightHanded, + const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& GloveAngles); + + static USGSenseGlovePose* NewSenseGlovePose(UObject* Outer, bool bRightHanded, + const TArray& JointPositions, + const TArray& JointRotations, + const TArray& GloveAngles); + +public: + static USGSenseGlovePose* IdlePose(UObject* Outer, const USGSenseGloveInfo* GloveInfo); + + static USGSenseGlovePose* Deserialize(UObject* Outer, const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGSenseGlovePose(); + + USGSenseGlovePose(bool bRightHanded, + const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& GloveAngles); + + USGSenseGlovePose(bool bRightHanded, + const TArray& JointPositions, + const TArray& JointRotations, + const TArray& GloveAngles); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGSenseGlovePose(const FSGSenseGlovePoseImpl& SenseGlovePoseImpl); + +public: + /** + * The destructor. + */ + virtual ~USGSenseGlovePose() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetSenseGlovePoseImpl(const FSGSenseGlovePoseImpl& SenseGlovePoseImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGSenseGlovePoseImpl& ToSenseGlovePoseImpl() const; + +public: + bool IsRight() const; + + TArray> GetJointPositions() const; + + TArray> GetJointRotations() const; + + TArray> GetGloveAngles() const; + +public: + TArray GetThimblePositions() const; + + TArray GetThimbleRotations() const; + + TArray GetTotalGloveAngles() const; + + TArray CalculateFingerTips(const USGSenseGloveHandProfile* SenseGloveHandProfile) const; + + TArray CalculateFingerTips(const TArray& FingerOffsets) const; + + bool Equals(const USGSenseGlovePose* SenseGlovePose) const; + +public: + FString ToString(bool bShortFormat = false) const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseGloveSensorData.h b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveSensorData.h new file mode 100644 index 00000000..807bd949 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveSensorData.h @@ -0,0 +1,145 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGFloatArray.h" +#include "SGCore/SGSenseGloveInfo.h" +#include "SGUtils/SGArrayUtils.h" + +#include "SGSenseGloveSensorData.generated.h" + +class FSGSenseGloveSensorDataImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGSenseGloveSensorData final : public UObject +{ + GENERATED_BODY() + +public: + static USGSenseGloveSensorData* NewSenseGloveSensorData( + UObject* Outer, const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl); + +public: + static USGSenseGloveSensorData* NewSenseGloveSensorData(UObject* Outer); + + static USGSenseGloveSensorData* NewSenseGloveSensorData( + UObject* Outer, const TArray>& SensorAngles, + const FQuat& ImuRotation, int32 ParsedValues, bool bImuParsed); + + static USGSenseGloveSensorData* NewSenseGloveSensorData( + UObject* Outer, const TArray& SensorAngles, + const FQuat& ImuRotation, int32 ParsedValues, bool bImuParsed); + +public: + static USGSenseGloveSensorData* Empty(UObject* Outer); + + static USGSenseGloveSensorData* Parse(UObject* Outer, const FString& RawData, const USGSenseGloveInfo* GloveInfo); + + static USGSenseGloveSensorData* Deserialize(UObject* Outer, const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGSenseGloveSensorData(); + + USGSenseGloveSensorData(const TArray>& SensorAngles, + const FQuat& ImuRotation, int32 ParsedValues, bool bImuParsed); + + USGSenseGloveSensorData(const TArray& SensorAngles, + const FQuat& ImuRotation, int32 ParsedValues, bool bImuParsed); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGSenseGloveSensorData(const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl); + +public: + /** + * The destructor. + */ + virtual ~USGSenseGloveSensorData() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetSenseGloveSensorDataImpl(const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGSenseGloveSensorDataImpl& ToSenseGloveSensorDataImpl() const; + +public: + TArray> GetSensorAngles() const; + + FQuat GetImuRotation() const; + + int32 GetParsedValues() const; + + bool IsImuParsed() const; + +public: + TArray GetSensorAngles(ESGFinger Finger) const; + + TArray GetAngleSequence() const; + +public: + bool Equals(const USGSenseGloveSensorData* SenseGloveSensorData) const; + +public: + FString ToString() const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSenseGloveVars.h b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveVars.h new file mode 100644 index 00000000..41fd9c8b --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSenseGloveVars.h @@ -0,0 +1,75 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGSenseGloveInfo.h" + +#include "SGSenseGloveVars.generated.h" + +USTRUCT() +struct SENSEGLOVECORE_API FSGSenseGloveVars +{ + GENERATED_BODY() + +public: + static FString GetStandardConstantsString(const FString& HardwareVersion, float FirmwareVersion, bool bRightHanded); + + static FString GetSensorString(const FString& HardwareVersion, float FirmwareVersion); + + static TArray GetStartPositions(const FString& HardwareVersion, bool bRightHanded); + + static TArray GetStartRotations(const FString& HardwareVersion, bool bRightHanded); + + static TArray> GetGloveLengths(const FString& HardwareVersion); + + static int32 GetSensors(const FString& HardwareVersion); + + static FQuat GetImuCorrection(const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + static TArray GetFunctions(const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + static USGSenseGloveInfo* GenerateGloveModel(UObject* Outer, const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded); + + static USGSenseGloveInfo* GenerateGloveModel(UObject* Outer, const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded, const FString& CustomId); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGSensorRange.h b/Source/SenseGloveCore/Public/SGCore/SGSensorRange.h new file mode 100644 index 00000000..eea8d111 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGSensorRange.h @@ -0,0 +1,135 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGSensorRange.generated.h" + +class FSGSensorRangeImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGSensorRange final : public UObject +{ + GENERATED_BODY() + +public: + static USGSensorRange* NewSensorRange( + UObject* Outer, const FSGSensorRangeImpl& SensorRangeImpl); + +public: + static USGSensorRange* NewSensorRange(UObject* Outer); + + static USGSensorRange* NewSensorRange(UObject* Outer, + const TArray& MinValues, const TArray& MaxValues); + +public: + static USGSensorRange* ForCalibration(UObject* Outer); + + static USGSensorRange* Deserialize(UObject* Outer, const FString& SerializedString); + + static void CheckMax(const FVector CurrentValues, FVector& OutMaxValues); + + static void CheckMin(const FVector& CurrentValues, FVector& OutMinValues); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGSensorRange(); + + USGSensorRange(const TArray& MinValues, const TArray& MaxValues); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGSensorRange(const FSGSensorRangeImpl& SensorRangeImpl); + +public: + /** + * The destructor. + */ + virtual ~USGSensorRange() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetSensorRangeImpl(const FSGSensorRangeImpl& SensorRangeImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGSensorRangeImpl& ToSensorRangeImpl() const; + +public: + TArray GetMinValues() const; + + void SetMinValues(const TArray& Values); + + TArray GetMaxValues() const; + + void SetMaxValues(const TArray& Values); + + TArray GetRange() const; + +public: + void UpdateRange(); + + void CheckForExtremes(const TArray& OtherValues); + +public: + FString RangeString(bool bYOnly = true) const; + + FString ToString(bool bYOnly = true) const; + + FString SGSerialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGThumperCommand.h b/Source/SenseGloveCore/Public/SGCore/SGThumperCommand.h new file mode 100644 index 00000000..a43c2c6b --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGThumperCommand.h @@ -0,0 +1,113 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGThumperCommand.generated.h" + +class FSGThumperCommandImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGThumperCommand : public UObject +{ + GENERATED_BODY() + +public: + static USGThumperCommand* NewThumperCommand(UObject* Outer, const FSGThumperCommandImpl& ThumperCommandImpl); + +public: + static USGThumperCommand* NewThumperCommand(UObject* Outer); + + static USGThumperCommand* NewThumperCommand(UObject* Outer, int32 Magnitude); + +public: + static USGThumperCommand* Off(UObject* Outer); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGThumperCommand(); + explicit USGThumperCommand(int32 Magnitude); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGThumperCommand(const FSGThumperCommandImpl& ThumperCommandImpl); + +public: + /** + * The destructor. + */ + virtual ~USGThumperCommand() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetThumperCommandImpl(const FSGThumperCommandImpl& ThumperCommandImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGThumperCommandImpl& ToThumperCommandImpl() const; + +public: + int32 GetMagnitude() const; + + void SetMagnitude(int32 Magnitude); + +public: + USGThumperCommand* Copy(UObject* Outer) const; + + USGThumperCommand* Merge(UObject* Outer, const USGThumperCommand* ThumperCommand) const; + + bool Equals(const USGThumperCommand* ThumperCommand) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGTimedBuzzCommand.h b/Source/SenseGloveCore/Public/SGCore/SGTimedBuzzCommand.h new file mode 100644 index 00000000..084bb6c4 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGTimedBuzzCommand.h @@ -0,0 +1,145 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" +#include "UObject/ObjectMacros.h" + +#include "SGBuzzCommand.h" + +#include "SGTimedBuzzCommand.generated.h" + +class FSGTimedBuzzCommandImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGTimedBuzzCommand : public USGBuzzCommand +{ + GENERATED_BODY() + +public: + static USGTimedBuzzCommand* NewTimedBuzzCommand( + UObject* Outer, const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl); + + static USGTimedBuzzCommand* NewTimedBuzzCommand( + UObject* Outer, TSharedRef TimedBuzzCommandImpl); + +public: + static USGTimedBuzzCommand* NewTimedBuzzCommand(UObject* Outer); + + static USGTimedBuzzCommand* NewTimedBuzzCommand( + UObject* Outer, + ESGFinger Finger, int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + + static USGTimedBuzzCommand* NewTimedBuzzCommand( + UObject* Outer, + const USGBuzzCommand* BaseCommand, float DurationSeconds, float StartTimeSeconds = 0.0f); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGTimedBuzzCommand(); + USGTimedBuzzCommand(ESGFinger Finger, int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + USGTimedBuzzCommand(const USGBuzzCommand* BaseCommand, float DurationSeconds, float StartTimeSeconds = 0.0f); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGTimedBuzzCommand(const FSGTimedBuzzCommandImpl& TimedBuzzCommandImpl); + +protected: + /** + * The cast from underlying pointer type constructor. + */ + explicit USGTimedBuzzCommand(TSharedRef TimedBuzzCommandImpl); + +public: + /** + * The destructor. + */ + virtual ~USGTimedBuzzCommand() override; + +public: + /** + * The cast to underlying type method. + */ + TSharedRef ToTimedBuzzCommandImpl() const; + +protected: + /** + * Allows the child classes to synchronize the parent's underlying object at any time. + */ + virtual void SyncImplObject() const override; + + /** + * Allows the child classes to synchronize the parent's uproperties at any time. + */ + virtual void SyncUProperties() override; + +public: + USGBuzzCommand* Copy(UObject* Outer) const; + + USGBuzzCommand* Merge(UObject* Outer, const USGBuzzCommand* BuzzCommand) const; + +public: + USGBuzzCommand* GetBaseCommand(UObject* Outer) const; + + int32 GetMagnitude() const; + + float GetDuration() const; + + float GetElapsedTime() const; + + bool HasTimeElapsed() const; + + float NormalizedTime(bool bClamp01 = true) const; + + void ResetTiming(); + void UpdateTiming(float DeltaSeconds); + + FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGTimedThumpCommand.h b/Source/SenseGloveCore/Public/SGCore/SGTimedThumpCommand.h new file mode 100644 index 00000000..ca9732af --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGTimedThumpCommand.h @@ -0,0 +1,132 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/UniquePtr.h" +#include "UObject/Object.h" +#include "UObject/ObjectMacros.h" + +#include "SGCore/SGThumperCommand.h" + +#include "SGTimedThumpCommand.generated.h" + +class FSGTimedThumpCommandImpl; + +UCLASS(BlueprintType) +class SENSEGLOVECORE_API USGTimedThumpCommand final : public UObject +{ + GENERATED_BODY() + +public: + static USGTimedThumpCommand* NewTimedThumpCommand( + UObject* Outer, const FSGTimedThumpCommandImpl& TimedThumpCommandImpl); + +public: + static USGTimedThumpCommand* NewTimedThumpCommand(UObject* Outer); + + static USGTimedThumpCommand* NewTimedThumpCommand( + UObject* Outer, int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + + static USGTimedThumpCommand* NewTimedThumpCommand( + UObject* Outer, const USGThumperCommand* BaseCommand, float DurationSeconds, float StartTimeSeconds = 0.0f); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + USGTimedThumpCommand(); + USGTimedThumpCommand(int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + USGTimedThumpCommand(const USGThumperCommand* BaseCommand, float DurationSeconds, float StartTimeSeconds = 0.0f); + +public: + /** + * The cast from underlying type constructor. + */ + explicit USGTimedThumpCommand(const FSGTimedThumpCommandImpl& TimedThumpCommandImpl); + +public: + /** + * The destructor. + */ + virtual ~USGTimedThumpCommand() override; + +protected: + /** + * Allows to set the underlying object after construction. + */ + void SetTimedThumpCommandImpl(const FSGTimedThumpCommandImpl& TimedThumpCommandImpl); + +public: + /** + * The cast to underlying type method. + */ + const FSGTimedThumpCommandImpl& ToTimedThumpCommandImpl() const; + +public: + int32 GetMagnitude() const; + + void SetMagnitude(int32 Magnitude); + + float GetDuration() const; + + void SetDuration(float Duration); + + float GetElapsedTime() const; + + void SetElapsedTime(float ElapsedTime); + +public: + bool HasTimeElapsed() const; + +public: + USGTimedThumpCommand* Copy(UObject* Outer, bool bCopyElapsed = true) const; + + void Update(float DeltaSeconds); + + bool Equals(const USGTimedThumpCommand* TimedThumpCommand) const; + +public: + FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGTracking.h b/Source/SenseGloveCore/Public/SGCore/SGTracking.h new file mode 100644 index 00000000..20920e8d --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGTracking.h @@ -0,0 +1,112 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGTypes/SGCoreTypes.h" + +#include "SGTracking.generated.h" + +USTRUCT() +struct SENSEGLOVECORE_API FSGTracking +{ + GENERATED_BODY() + +public: + static void CalculateLocation( + const FVector& TrackedPosition, const FQuat& TrackedRotation, + const FVector& PositionOffset, const FQuat& RotationOffset, + FVector& OutNewPosition, FQuat& OutNewRotation); + + static TArray GetSenseGloveFingerToGlovePositionOrigin(); + + static TArray GetSenseGloveFingerToGloveRotationOrigin(); + + static FVector GetSenseGloveWristPositionOffset(); + + static FQuat GetSenseGloveWristRotationOffset(); + + static void GetSenseGloveMountOffset(bool bRightHanded, ESGFinger ToFinger, + FVector& OutIPosition, FQuat& OutIRotation); + + static void GetSenseGloveTrackerMountOffset(ESGPositionalTrackingHardware Hardware, bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset); + + static FVector GetSenseGloveViveToAttachPosition(); + + static FQuat GetSenseGloveViveToAttachRotation(); + + static FVector GetSenseGloveOculusTouchToAttachPosition(); + + static FQuat GetSenseGloveOculusTouchToAttachRotation(); + + static FVector GetNovaToWristPositionOffset(); + + static FQuat GetNovaToWristRotationOffset(); + + static void GetNovaGloveWristOffset(bool bRightHanded, FVector& OutPositionOffset, FQuat& OutRotationOffset); + + static FVector GetRightNovaViveToAttachPosition(); + + static FQuat GetRightNovaViveToAttachRotation(); + + static FVector GetLeftNovaViveToAttachPosition(); + + static FQuat GetLeftNovaViveToAttachRotation(); + + static FVector GetRightNovaQuest2ToAttachPosition(); + + static FQuat GetRightNovaQuest2ToAttachRotation(); + + static FVector GetLeftNovaQuest2ToAttachPosition(); + + static FQuat GetLeftNovaQuest2ToAttachRotation(); + + static FVector GetRightNovaPico2ToAttachPosition(); + + static FQuat GetRightNovaPico2ToAttachRotation(); + + static FQuat GetLeftNovaPico2ToAttachRotation(); + + static void GetNovaGloveTrackerOffset(ESGPositionalTrackingHardware Hardware, bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset); + + static FString ToString(ESGPositionalTrackingHardware Hardware); +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/Public/SGCore/SGVectorArray.h b/Source/SenseGloveCore/Public/SGCore/SGVectorArray.h new file mode 100644 index 00000000..e5bea2d1 --- /dev/null +++ b/Source/SenseGloveCore/Public/SGCore/SGVectorArray.h @@ -0,0 +1,50 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Math/Vector.h" + +#include "SGVectorArray.generated.h" + +USTRUCT(BlueprintType) +struct SENSEGLOVECORE_API FSGVectorArray +{ + GENERATED_BODY() + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite) + TArray VectorArray; +}; \ No newline at end of file diff --git a/Source/SenseGloveCore/SenseGloveCore.Build.cs b/Source/SenseGloveCore/SenseGloveCore.Build.cs new file mode 100644 index 00000000..e174d69a --- /dev/null +++ b/Source/SenseGloveCore/SenseGloveCore.Build.cs @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveCore : ModuleRules +{ + public SenseGloveCore(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Engine", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "SenseGloveCoreImpl", + "SenseGloveInterop", + "SenseGloveLog", + "SenseGloveTypes", + "SenseGloveUtils", + } + ); + } +} diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGAnatomyImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGAnatomyImpl.cpp new file mode 100644 index 00000000..5133df51 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGAnatomyImpl.cpp @@ -0,0 +1,119 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGAnatomyImpl.h" + +#include "SGBuildHacks/SGInclude_Core_Anatomy.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +float FSGAnatomyImpl::GetTotalFingerFlexion() +{ + return FAnatomyType::GetTotalFingerFlexion(); +} + +float FSGAnatomyImpl::GetTotalFingerExtension() +{ + return FAnatomyType::GetTotalFingerExtension(); +} + +float FSGAnatomyImpl::GetTotalThumbFlexion() +{ + return FAnatomyType::GetTotalThumbFlexion(); +} + +float FSGAnatomyImpl::GetTotalThumbExtension() +{ + return FAnatomyType::GetTotalThumbExtension(); +} + +float FSGAnatomyImpl::GetFingerJointLimit( + const bool bRightHanded, const int32 Joint, const int32 Movement, const bool bMax) +{ + return FAnatomyType::GetFingerJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float FSGAnatomyImpl::GetThumbJointLimit( + const bool bRightHanded, const int32 Joint, const int32 Movement, const bool bMax) +{ + return FAnatomyType::GetThumbJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float FSGAnatomyImpl::NormalizeFingerFlex(const float FlexionInRadians) +{ + return FAnatomyType::NormalizeFingerFlex(FlexionInRadians); +} + +float FSGAnatomyImpl::NormalizeThumbFlex(const float FlexionInRadians) +{ + return FAnatomyType::NormalizeThumbFlex(FlexionInRadians); +} + +TArray> FSGAnatomyImpl::GetDefaultHandAngles(const bool bRightHanded) +{ + TArray> DefaultHandAngles{ + FSGArrayUtils::FromStdVector( + FAnatomyType::GetDefaultHandAngles(bRightHanded)) + }; + return DefaultHandAngles; +} + +TArray> FSGAnatomyImpl::GetFlatHandAngles(const bool bRightHanded) +{ + TArray> FlatHandAngles{ + FSGArrayUtils::FromStdVector( + FAnatomyType::GetFlatHandAngles(bRightHanded)) + }; + return FlatHandAngles; +} + +TArray> FSGAnatomyImpl::GetThumbsUpHandAngles(const bool bRightHanded) +{ + TArray> ThumbsUpHandAngles{ + FSGArrayUtils::FromStdVector( + FAnatomyType::GetThumbsUpHandAngles(bRightHanded)) + }; + return ThumbsUpHandAngles; +} + +TArray> FSGAnatomyImpl::GetFistHandAngles(const bool bRightHanded) +{ + TArray> FistHandAngles{ + FSGArrayUtils::FromStdVector( + FAnatomyType::GetFistHandAngles(bRightHanded)) + }; + return FistHandAngles; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBasicHandModelImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBasicHandModelImpl.cpp new file mode 100644 index 00000000..c8fd3ad8 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBasicHandModelImpl.cpp @@ -0,0 +1,399 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBasicHandModelImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BasicHandModel.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGBasicHandModelImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FBasicHandModelType BasicHandModel; + + /************************ + * Owner object + ************************/ + + FSGBasicHandModelImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGBasicHandModelImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGBasicHandModelImpl FSGBasicHandModelImpl::Default(bool bRightHanded) +{ + return FSGBasicHandModelImpl(FSGBasicHandModelImpl::FBasicHandModelType::Default(bRightHanded)); +} + +FSGBasicHandModelImpl FSGBasicHandModelImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGBasicHandModelImpl BasicHandModel(FBasicHandModelType::Deserialize(MoveTemp(Serialized))); + return BasicHandModel; +} + +const TArray>& FSGBasicHandModelImpl::GetBaseFingerLengths() +{ + static const TArray> BaseFingerLengths{ + FSGArrayUtils::FromStdVector( + FSGBasicHandModelImpl::FBasicHandModelType::GetBaseFingerLengths()) + }; + return BaseFingerLengths; +} + +const TArray& FSGBasicHandModelImpl::GetBaseJointPositions() +{ + static const TArray BaseJointPositions{ + FSGArrayUtils::FromStdVector( + FBasicHandModelType::GetBaseJointPositions()) + }; + return BaseJointPositions; +} + +const TArray& FSGBasicHandModelImpl::GetBaseJointRotations() +{ + static const TArray BaseJointRotations{ + FSGArrayUtils::FromStdVector( + FBasicHandModelType::GetBaseJointRotations()) + }; + return BaseJointRotations; +} + +FSGBasicHandModelImpl::FSGBasicHandModelImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBasicHandModelImpl::FSGBasicHandModelImpl(bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> LengthsVector{ + FSGArrayUtils::ToStdVector(Lengths) + }; + + std::vector StartPositionsVector{FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(StartPositions)}; + + Pimpl->BasicHandModel = FSGBasicHandModelImpl::FBasicHandModelType(bRightHanded, MoveTemp(LengthsVector), + MoveTemp(StartPositionsVector)); +} + +FSGBasicHandModelImpl::FSGBasicHandModelImpl(bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions, const TArray& StartRotations) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> LengthsVector{ + FSGArrayUtils::ToStdVector(Lengths) + }; + + std::vector StartPositionsVector{FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(StartPositions)}; + + std::vector StartRotationsVector{FSGArrayUtils::ToStdVector< + FQuat, FSGQuatImpl::FQuatType, FSGQuatImpl, &FSGQuatImpl::ToQuat>(StartRotations)}; + + Pimpl->BasicHandModel = FSGBasicHandModelImpl::FBasicHandModelType(bRightHanded, MoveTemp(LengthsVector), + MoveTemp(StartPositionsVector), + MoveTemp(StartRotationsVector)); +} + +FSGBasicHandModelImpl::FSGBasicHandModelImpl(const FBasicHandModelType& BasicHandModel) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->BasicHandModel = BasicHandModel; +} + +FSGBasicHandModelImpl::FSGBasicHandModelImpl(const FSGBasicHandModelImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGBasicHandModelImpl::FSGBasicHandModelImpl(FSGBasicHandModelImpl&& Rhs) noexcept = default; + +FSGBasicHandModelImpl::~FSGBasicHandModelImpl() = default; + +FSGBasicHandModelImpl& FSGBasicHandModelImpl::operator=(const FSGBasicHandModelImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGBasicHandModelImpl& FSGBasicHandModelImpl::operator=(FSGBasicHandModelImpl&& Rhs) noexcept = default; + +const FSGBasicHandModelImpl::FBasicHandModelType& FSGBasicHandModelImpl::ToBasicHandModel() const +{ + return Pimpl->BasicHandModel; +} + +bool FSGBasicHandModelImpl::IsRight() const +{ + return Pimpl->BasicHandModel.IsRight(); +} + +void FSGBasicHandModelImpl::SetIsRight(const bool bRightHanded) +{ + Pimpl->BasicHandModel.SetIsRight(bRightHanded); +} + +TArray> FSGBasicHandModelImpl::GetFingerLengths() const +{ + TArray> FingerLengths{ + FSGArrayUtils::FromStdVector(Pimpl->BasicHandModel.GetFingerLengths()) + }; + return MoveTemp(FingerLengths); +} + +void FSGBasicHandModelImpl::SetFingerLengths(const TArray>& FingerLengths) +{ + std::vector> FingerLengthsVector{ + FSGArrayUtils::ToStdVector(FingerLengths) + }; + Pimpl->BasicHandModel.SetFingerLengths(MoveTemp(FingerLengthsVector)); +} + +TArray FSGBasicHandModelImpl::GetFingerLengths(ESGFinger Finger) const +{ + TArray FingerLengths{FSGArrayUtils::FromStdVector( + Pimpl->BasicHandModel.GetFingerLengths(FSGCoreEnumCast::ToEFinger(Finger))) + }; + return MoveTemp(FingerLengths); +} + +void FSGBasicHandModelImpl::SetFingerLengths(ESGFinger Finger, const TArray& Lengths) +{ + std::vector LengthsVector{FSGArrayUtils::ToStdVector(Lengths)}; + Pimpl->BasicHandModel.SetFingerLengths(FSGCoreEnumCast::ToEFinger(Finger), MoveTemp(LengthsVector)); +} + +void FSGBasicHandModelImpl::SetFingerLengths(uint8 Finger, const TArray& Lengths) +{ + std::vector LengthsVector{FSGArrayUtils::ToStdVector(Lengths)}; + Pimpl->BasicHandModel.SetFingerLengths(Finger, MoveTemp(LengthsVector)); +} + +TArray> FSGBasicHandModelImpl::GetFingerRatios() const +{ + TArray> FingerRatios{ + FSGArrayUtils::FromStdVector(Pimpl->BasicHandModel.GetFingerRatios()) + }; + return MoveTemp(FingerRatios); +} + +TArray FSGBasicHandModelImpl::GetFingerRatios(ESGFinger Finger) const +{ + TArray FingerRatios{ + FSGArrayUtils::FromStdVector(Pimpl->BasicHandModel.GetFingerRatios(FSGCoreEnumCast::ToEFinger(Finger))) + }; + return MoveTemp(FingerRatios); +} + +TArray FSGBasicHandModelImpl::GetStartJointPositions() const +{ + TArray StartJointPositions{ + FSGArrayUtils::FromStdVector( + Pimpl->BasicHandModel.GetStartJointPositions()) + }; + return MoveTemp(StartJointPositions); +} + +void FSGBasicHandModelImpl::SetStartJointPositions(const TArray& StartJointPositions) +{ + std::vector StartJointPositionsVector{ + FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(StartJointPositions) + }; + Pimpl->BasicHandModel.SetStartJointPositions(MoveTemp(StartJointPositionsVector)); +} + +void FSGBasicHandModelImpl::SetStartJointPosition(ESGFinger Finger, const FVector& Position) +{ + Pimpl->BasicHandModel.SetStartJointPosition(FSGCoreEnumCast::ToEFinger(Finger), + FSGVect3DImpl(Position).ToVect3D()); +} + +void FSGBasicHandModelImpl::SetStartJointPosition(const uint8 Finger, const FVector& Position) +{ + Pimpl->BasicHandModel.SetStartJointPosition(Finger, FSGVect3DImpl(Position).ToVect3D()); +} + +TArray FSGBasicHandModelImpl::GetStartJointRotations() const +{ + TArray StartJointRotations{ + FSGArrayUtils::FromStdVector< + FSGQuatImpl::FQuatType, FQuat, FSGQuatImpl, &FSGQuatImpl::ToFQuat>( + Pimpl->BasicHandModel.GetStartJointRotations()) + }; + return MoveTemp(StartJointRotations); +} + +void FSGBasicHandModelImpl::SetStartJointRotations(const TArray& StartJointRotations) +{ + std::vector StartJointRotationsVector{ + FSGArrayUtils::ToStdVector< + FQuat, FSGQuatImpl::FQuatType, FSGQuatImpl, &FSGQuatImpl::ToQuat>(StartJointRotations) + }; + Pimpl->BasicHandModel.SetStartJointRotations(MoveTemp(StartJointRotationsVector)); +} + +FVector FSGBasicHandModelImpl::GetJointPosition(const ESGFinger Finger) const +{ + const FSGVect3DImpl Position(Pimpl->BasicHandModel.GetJointPosition(FSGCoreEnumCast::ToEFinger(Finger))); + return Position.ToFVector(); +} + +void FSGBasicHandModelImpl::SetJointPosition(const FVector& NewPosition, const ESGFinger Finger) +{ + Pimpl->BasicHandModel.SetJointPosition(FSGVect3DImpl(NewPosition).ToVect3D(), FSGCoreEnumCast::ToEFinger(Finger)); +} + +FQuat FSGBasicHandModelImpl::GetJointRotation(const ESGFinger Finger) const +{ + const FSGQuatImpl Rotation(Pimpl->BasicHandModel.GetJointRotation(FSGCoreEnumCast::ToEFinger(Finger))); + return Rotation.ToFQuat(); +} + +void FSGBasicHandModelImpl::SetJointRotation(const FQuat& NewRotation, const ESGFinger Finger) +{ + Pimpl->BasicHandModel.SetJointRotation(FSGQuatImpl(NewRotation).ToQuat(), FSGCoreEnumCast::ToEFinger(Finger)); +} + +TArray FSGBasicHandModelImpl::GetTotalLengths() const +{ + const TArray TotalLengths{ + FSGArrayUtils::FromStdVector(Pimpl->BasicHandModel.GetTotalLengths()) + }; + return TotalLengths; +} + +float FSGBasicHandModelImpl::GetTotalLength(const ESGFinger Finger) const +{ + return Pimpl->BasicHandModel.GetTotalLength(FSGCoreEnumCast::ToEFinger(Finger)); +} + +TArray FSGBasicHandModelImpl::Get3DLengths(const ESGFinger Finger) const +{ + const TArray Lengths(FSGArrayUtils::FromStdVector< + FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( + Pimpl->BasicHandModel.Get3DLengths(FSGCoreEnumCast::ToEFinger(Finger)))); + return Lengths; +} + +bool FSGBasicHandModelImpl::Equals(const FSGBasicHandModelImpl& BasicHandModelImpl) const +{ + return Pimpl->BasicHandModel.Equals(BasicHandModelImpl.ToBasicHandModel()); +} + +FString FSGBasicHandModelImpl::ToString() const +{ + const FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString().c_str())); + return String; +} + +FString FSGBasicHandModelImpl::ToString(const bool bLengthsOnly) const +{ + const FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString(bLengthsOnly).c_str())); + return String; +} + +FString FSGBasicHandModelImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->BasicHandModel.Serialize().c_str())); + return Serialized; +} + +FSGBasicHandModelImpl::FImpl::FImpl(FSGBasicHandModelImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGBasicHandModelImpl::FImpl::~FImpl() = default; + +void FSGBasicHandModelImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBetaDeviceImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBetaDeviceImpl.cpp new file mode 100644 index 00000000..87f8b06d --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBetaDeviceImpl.cpp @@ -0,0 +1,231 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBetaDeviceImpl.h" + +#include "Containers/StringConv.h" +#include "Misc/AssertionMacros.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BetaDevice.h" +#include "SGBuildHacks/SGInclude_Core_SGDevice.h" +#include "SGCoreImpl/SGCoreEnumCast.h" + +struct FSGBetaDeviceImpl::FImpl +{ + /************************ + * Owner object + ************************/ + + FSGBetaDeviceImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGBetaDeviceImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +TSharedRef FSGBetaDeviceImpl::Parse(const FString& String) +{ + FSGDevicePtrType SGDevicePtr{FBetaDeviceType::Parse(TCHAR_TO_UTF8(*String))}; + ensureAlwaysMsgf(SGDevicePtr, TEXT("Invalid SGDevice!")); + TSharedRef BetaDeviceImpl{MakeShared( + std::dynamic_pointer_cast(MoveTemp(SGDevicePtr)))}; + return MoveTemp(BetaDeviceImpl); +} + +FSGBetaDeviceImpl::FSGBetaDeviceImpl() + : FSGDeviceImpl(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBetaDeviceImpl::FSGBetaDeviceImpl(const FString& ConstantsString, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion) + : FSGDeviceImpl(std::make_shared( + TCHAR_TO_UTF8(*ConstantsString), + TCHAR_TO_UTF8(*DeviceId), + TCHAR_TO_UTF8(*HardwareVersion), + FirmwareVersion, + SubFirmwareVersion)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBetaDeviceImpl::FSGBetaDeviceImpl(const FBetaDeviceType BetaDevice) + : FSGDeviceImpl(std::make_shared(BetaDevice)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBetaDeviceImpl::FSGBetaDeviceImpl(const FBetaDevicePtrType BetaDevice) + : FSGDeviceImpl(BetaDevice), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBetaDeviceImpl::FSGBetaDeviceImpl(const FSGBetaDeviceImpl& Rhs) + : FSGDeviceImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGBetaDeviceImpl::FSGBetaDeviceImpl(FSGBetaDeviceImpl&& Rhs) noexcept = default; + +FSGBetaDeviceImpl::~FSGBetaDeviceImpl() = default; + +FSGBetaDeviceImpl& FSGBetaDeviceImpl::operator=(const FSGBetaDeviceImpl& Rhs) +{ + FSGDeviceImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGBetaDeviceImpl& FSGBetaDeviceImpl::operator=(FSGBetaDeviceImpl&& Rhs) noexcept = default; + +FSGBetaDeviceImpl::FBetaDeviceType FSGBetaDeviceImpl::ToBetaDevice() const +{ + return *ToBetaDevicePtr(); +} + +FSGBetaDeviceImpl::FBetaDevicePtrType FSGBetaDeviceImpl::ToBetaDevicePtr() const +{ + return std::dynamic_pointer_cast(ToSGDevicePtr()); +} + +FSGBetaDeviceImpl::FBetaDevicePtrType FSGBetaDeviceImpl::ToBetaDevicePtrChecked() const +{ + FBetaDevicePtrType BetaDevice = std::dynamic_pointer_cast(ToSGDevicePtr()); + ensureAlwaysMsgf(BetaDevice.get(), TEXT("Invalid BetaDevice")); + return BetaDevice; +} + +ESGDeviceType FSGBetaDeviceImpl::GetDeviceType() const +{ + return FSGCoreEnumCast::ToESGDeviceType(ToBetaDevicePtrChecked()->GetDeviceType()); +} + +FString FSGBetaDeviceImpl::GetDeviceId() const +{ + FString Id{UTF8_TO_TCHAR(ToBetaDevicePtrChecked()->GetDeviceId().c_str())}; + return MoveTemp(Id); +} + +FString FSGBetaDeviceImpl::GetHardwareVersion() const +{ + FString Version{UTF8_TO_TCHAR(ToBetaDevicePtrChecked()->GetHardwareVersion().c_str())}; + return MoveTemp(Version); +} + +int32 FSGBetaDeviceImpl::GetFirmwareVersion() const +{ + return ToBetaDevicePtrChecked()->GetFirmwareVersion(); +} + +int32 FSGBetaDeviceImpl::GetSubFirmwareVersion() const +{ + return ToBetaDevicePtrChecked()->GetSubFirmwareVersion(); +} + +FString FSGBetaDeviceImpl::GetConstantsString() const +{ + FString String{UTF8_TO_TCHAR(ToBetaDevicePtrChecked()->GetConstantsString().c_str())}; + return MoveTemp(String); +} + +FString FSGBetaDeviceImpl::GetSensorData() const +{ + FString Data{UTF8_TO_TCHAR(ToBetaDevicePtrChecked()->GetSensorData().c_str())}; + return MoveTemp(Data); +} + +FString FSGBetaDeviceImpl::GetLastCommand() const +{ + FString Command{UTF8_TO_TCHAR(ToBetaDevicePtrChecked()->GetLastCommand().c_str())}; + return MoveTemp(Command); +} + +bool FSGBetaDeviceImpl::SendHaptics(const FString& Command) const +{ + return ToBetaDevicePtrChecked()->SendHaptics(TCHAR_TO_UTF8(*Command)); +} + +FString FSGBetaDeviceImpl::ToString() const +{ + return FSGDeviceImpl::ToString(); +} + +FSGBetaDeviceImpl::FImpl::FImpl(FSGBetaDeviceImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGBetaDeviceImpl::FImpl::~FImpl() = default; + +void FSGBetaDeviceImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBuzzCommandImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBuzzCommandImpl.cpp new file mode 100644 index 00000000..73cf45bc --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGBuzzCommandImpl.cpp @@ -0,0 +1,202 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBuzzCommandImpl.h" + +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGBuildHacks/SGInclude_Core_BuzzCommand.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGBuzzCommandImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + FSGBuzzCommandImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGBuzzCommandImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGBuzzCommandImpl& FSGBuzzCommandImpl::Off() +{ + static const FSGBuzzCommandImpl Command(FBuzzCommandType::Off()); + return Command; +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl() + : FSGFingerCommandImpl(MakeShared()), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(const TArray& BuzzLevels) + : FSGFingerCommandImpl(MakeShared(FSGArrayUtils::ToStdVector(BuzzLevels))), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(const int32 Thumb, const int32 Index, const int32 Middle, const int32 Ring, + const int32 Pinky) + : FSGFingerCommandImpl(MakeShared(Thumb, Index, Middle, Ring, Pinky)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(const ESGFinger Finger, const int32 BuzzLevel) + : FSGFingerCommandImpl(MakeShared(FSGCoreEnumCast::ToEFinger(Finger), BuzzLevel)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(const FBuzzCommandType& BuzzCommand) + : FSGFingerCommandImpl(MakeShared(BuzzCommand)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(const TSharedRef BuzzCommand) + : FSGFingerCommandImpl(BuzzCommand), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(const FSGBuzzCommandImpl& Rhs) + : FSGFingerCommandImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGBuzzCommandImpl::FSGBuzzCommandImpl(FSGBuzzCommandImpl&& Rhs) noexcept = default; + +FSGBuzzCommandImpl::~FSGBuzzCommandImpl() = default; + +FSGBuzzCommandImpl& FSGBuzzCommandImpl::operator=(const FSGBuzzCommandImpl& Rhs) +{ + FSGFingerCommandImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGBuzzCommandImpl& FSGBuzzCommandImpl::operator=(FSGBuzzCommandImpl&& Rhs) noexcept = default; + +const FSGBuzzCommandImpl::FBuzzCommandType& FSGBuzzCommandImpl::ToBuzzCommand() const +{ + return *StaticCastSharedRef(ToFingerCommandRef()); +} + +TSharedRef FSGBuzzCommandImpl::ToBuzzCommandRef() const +{ + return StaticCastSharedRef(ToFingerCommandRef()); +} + +FSGBuzzCommandImpl::FBuzzCommandType& FSGBuzzCommandImpl::ToBuzzCommand() +{ + return *StaticCastSharedRef(ToFingerCommandRef()); +} + +TSharedRef FSGBuzzCommandImpl::ToBuzzCommandRef() +{ + return StaticCastSharedRef(ToFingerCommandRef()); +} + +FSGBuzzCommandImpl FSGBuzzCommandImpl::Copy() const +{ + return FSGBuzzCommandImpl(ToBuzzCommandRef()->Copy()); +} + +FSGBuzzCommandImpl FSGBuzzCommandImpl::Merge(const FSGBuzzCommandImpl& Command) const +{ + return FSGBuzzCommandImpl(ToBuzzCommandRef()->Merge(Command.ToBuzzCommand())); +} + +FSGBuzzCommandImpl::FImpl::FImpl(FSGBuzzCommandImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGBuzzCommandImpl::FImpl::~FImpl() = default; + +void FSGBuzzCommandImpl::FImplDeleter::operator()(const FSGBuzzCommandImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCalibrationDataPointImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCalibrationDataPointImpl.cpp new file mode 100644 index 00000000..92e5f644 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCalibrationDataPointImpl.cpp @@ -0,0 +1,191 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGCalibrationDataPointImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGCalibrationDataPointImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FCalibrationDataPointType CalibrationDataPoint; + + /************************ + * Owner object + ************************/ + + FSGCalibrationDataPointImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGCalibrationDataPointImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGCalibrationDataPointImpl::FSGCalibrationDataPointImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGCalibrationDataPointImpl::FSGCalibrationDataPointImpl(const int32 CurrentStage, + const TArray& CalibrationValues) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector Values( + FSGArrayUtils::ToStdVector( + CalibrationValues)); + Pimpl->CalibrationDataPoint = FCalibrationDataPointType(CurrentStage, MoveTemp(Values)); +} + +FSGCalibrationDataPointImpl::FSGCalibrationDataPointImpl(const FCalibrationDataPointType& CalibrationDataPoint) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->CalibrationDataPoint = CalibrationDataPoint; +} + +FSGCalibrationDataPointImpl::FSGCalibrationDataPointImpl(const FSGCalibrationDataPointImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGCalibrationDataPointImpl::FSGCalibrationDataPointImpl(FSGCalibrationDataPointImpl&& Rhs) noexcept = default; + +FSGCalibrationDataPointImpl::~FSGCalibrationDataPointImpl() = default; + +FSGCalibrationDataPointImpl& FSGCalibrationDataPointImpl::operator=(const FSGCalibrationDataPointImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGCalibrationDataPointImpl& FSGCalibrationDataPointImpl::operator=(FSGCalibrationDataPointImpl&& Rhs) noexcept += default; + +const FSGCalibrationDataPointImpl::FCalibrationDataPointType& +FSGCalibrationDataPointImpl::ToCalibrationDataPoint() const +{ + return Pimpl->CalibrationDataPoint; +} + +TArray FSGCalibrationDataPointImpl::GetCalibrationValues() const +{ + std::vector Values(Pimpl->CalibrationDataPoint.GetCalibrationValues()); + TArray CalibrationValues{ + FSGArrayUtils::FromStdVector( + MoveTemp(Values)) + }; + return CalibrationValues; +} + +void FSGCalibrationDataPointImpl::SetCalibrationValues(const TArray& CalibrationValues) +{ + std::vector CalibrationValuesVector{ + FSGArrayUtils::ToStdVector( + CalibrationValues) + }; + Pimpl->CalibrationDataPoint.SetCalibrationValues(MoveTemp(CalibrationValuesVector)); +} + +int32 FSGCalibrationDataPointImpl::GetStage() const +{ + return Pimpl->CalibrationDataPoint.GetStage(); +} + +void FSGCalibrationDataPointImpl::SetStage(const int32 Stage) +{ + Pimpl->CalibrationDataPoint.SetStage(Stage); +} + +FString FSGCalibrationDataPointImpl::ToLogData(const FString& Delimiter) const +{ + std::string DelimiterString(TCHAR_TO_UTF8(*Delimiter)); + FString LogData(UTF8_TO_TCHAR(Pimpl->CalibrationDataPoint.ToLogData(MoveTemp(DelimiterString)).c_str())); + return LogData; +} + +FSGCalibrationDataPointImpl::FImpl::FImpl(FSGCalibrationDataPointImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGCalibrationDataPointImpl::FImpl::~FImpl() = default; + +void FSGCalibrationDataPointImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.cpp new file mode 100644 index 00000000..1c5de128 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.cpp @@ -0,0 +1,429 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGCoreEnumCast.h" + +#include "Misc/AssertionMacros.h" + +FSGCoreEnumCast::FEBackendType FSGCoreEnumCast::ToEBackendType(const ESGBackendType Enum) +{ + switch (Enum) + { + case ESGBackendType::SharedMemory: + return FEBackendType::SharedMemory; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEBackendType::SharedMemory; +} + +ESGBackendType FSGCoreEnumCast::ToESGBackendType(const FEBackendType Enum) +{ + switch (Enum) + { + case FEBackendType::SharedMemory: + return ESGBackendType::SharedMemory; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGBackendType::None; +} + +FSGCoreEnumCast::FECalibrationStageType FSGCoreEnumCast::ToECalibrationStage(const ESGCalibrationStage Enum) +{ + switch (Enum) + { + case ESGCalibrationStage::MoveFingers: + return FECalibrationStageType::MoveFingers; + case ESGCalibrationStage::CalibrationNeeded: + return FECalibrationStageType::CalibrationNeeded; + case ESGCalibrationStage::Calibrating: + return FECalibrationStageType::Calibrating; + case ESGCalibrationStage::Done: + return FECalibrationStageType::Done; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FECalibrationStageType::MoveFingers; +} + +ESGCalibrationStage FSGCoreEnumCast::ToESGCalibrationStage(const FECalibrationStageType Enum) +{ + switch (Enum) + { + case FECalibrationStageType::MoveFingers: + return ESGCalibrationStage::MoveFingers; + case FECalibrationStageType::CalibrationNeeded: + return ESGCalibrationStage::CalibrationNeeded; + case FECalibrationStageType::Calibrating: + return ESGCalibrationStage::Calibrating; + case FECalibrationStageType::Done: + return ESGCalibrationStage::Done; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGCalibrationStage::None; +} + +FSGCoreEnumCast::FEConnectionType FSGCoreEnumCast::ToEConnectionType(const ESGConnectionType Enum) +{ + switch (Enum) + { + case ESGConnectionType::Unknown: + return FEConnectionType::Unknown; + case ESGConnectionType::Serial: + return FEConnectionType::Serial; + case ESGConnectionType::BluetoothSerial: + return FEConnectionType::BluetoothSerial; + case ESGConnectionType::BluetoothAndroid: + return FEConnectionType::BluetoothAndroid; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEConnectionType::Unknown; +} + +ESGConnectionType FSGCoreEnumCast::ToESGConnectionType(const FEConnectionType Enum) +{ + switch (Enum) + { + case FEConnectionType::Unknown: + return ESGConnectionType::Unknown; + case FEConnectionType::Serial: + return ESGConnectionType::Serial; + case FEConnectionType::BluetoothSerial: + return ESGConnectionType::BluetoothSerial; + case FEConnectionType::BluetoothAndroid: + return ESGConnectionType::BluetoothAndroid; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGConnectionType::None; +} + +FSGCoreEnumCast::FEDeviceType FSGCoreEnumCast::ToEDeviceType(const ESGDeviceType Enum) +{ + switch (Enum) + { + case ESGDeviceType::Unknown: + return FEDeviceType::Unknown; + case ESGDeviceType::BetaDevice: + return FEDeviceType::BetaDevice; + case ESGDeviceType::SenseGlove: + return FEDeviceType::SenseGlove; + case ESGDeviceType::Nova: + return FEDeviceType::Nova; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEDeviceType::Unknown; +} + +ESGDeviceType FSGCoreEnumCast::ToESGDeviceType(const FEDeviceType Enum) +{ + switch (Enum) + { + case FEDeviceType::Unknown: + return ESGDeviceType::Unknown; + case FEDeviceType::BetaDevice: + return ESGDeviceType::BetaDevice; + case FEDeviceType::SenseGlove: + return ESGDeviceType::SenseGlove; + case FEDeviceType::Nova: + return ESGDeviceType::Nova; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGDeviceType::None; +} + +FSGCoreEnumCast::FEFingerType FSGCoreEnumCast::ToEFinger(const ESGFinger Enum) +{ + switch (Enum) + { + case ESGFinger::Thumb: + return FEFingerType::Thumb; + case ESGFinger::Index: + return FEFingerType::Index; + case ESGFinger::Middle: + return FEFingerType::Middle; + case ESGFinger::Ring: + return FEFingerType::Ring; + case ESGFinger::Pinky: + return FEFingerType::Pinky; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEFingerType::Thumb; +} + +ESGFinger FSGCoreEnumCast::ToESGFinger(const FSGCoreEnumCast::FEFingerType Enum) +{ + switch (Enum) + { + case FEFingerType::Thumb: + return ESGFinger::Thumb; + case FEFingerType::Index: + return ESGFinger::Index; + case FEFingerType::Middle: + return ESGFinger::Middle; + case FEFingerType::Ring: + return ESGFinger::Ring; + case FEFingerType::Pinky: + return ESGFinger::Pinky; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGFinger::None; +} + +FSGCoreEnumCast::FEFingerSolverType FSGCoreEnumCast::ToEFingerSolver(const ESGFingerSolver Enum) +{ + switch (Enum) + { + case ESGFingerSolver::Interpolation: + return FEFingerSolverType::Interpolation; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEFingerSolverType::Interpolation; +} + +ESGFingerSolver FSGCoreEnumCast::ToESGFingerSolver(const FEFingerSolverType Enum) +{ + switch (Enum) + { + case FEFingerSolverType::Interpolation: + return ESGFingerSolver::Interpolation; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGFingerSolver::None; +} + +FSGCoreEnumCast::FEFingerMovementType FSGCoreEnumCast::ToEFingerMovement(const ESGFingerMovement Enum) +{ + switch (Enum) + { + case ESGFingerMovement::McpFlexion: + return FEFingerMovementType::McpFlexion; + case ESGFingerMovement::McpAbduction: + return FEFingerMovementType::McpAbduction; + case ESGFingerMovement::PipFlexion: + return FEFingerMovementType::PipFlexion; + case ESGFingerMovement::DipFlexion: + return FEFingerMovementType::DipFlexion; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEFingerMovementType::McpFlexion; +} + +ESGFingerMovement FSGCoreEnumCast::ToESGFingerMovement(const FEFingerMovementType Enum) +{ + switch (Enum) + { + case FEFingerMovementType::McpFlexion: + return ESGFingerMovement::McpFlexion; + case FEFingerMovementType::McpAbduction: + return ESGFingerMovement::McpAbduction; + case FEFingerMovementType::PipFlexion: + return ESGFingerMovement::PipFlexion; + case FEFingerMovementType::DipFlexion: + return ESGFingerMovement::DipFlexion; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGFingerMovement::None; +} + +FSGCoreEnumCast::FEPositionalTrackingHardware FSGCoreEnumCast::ToEPositionalTrackingHardware( + const ESGPositionalTrackingHardware Enum) +{ + switch (Enum) + { + case ESGPositionalTrackingHardware::Custom: + return FEPositionalTrackingHardware::Custom; + case ESGPositionalTrackingHardware::ViveTracker: + return FEPositionalTrackingHardware::ViveTracker; + case ESGPositionalTrackingHardware::OculusTouch: + return FEPositionalTrackingHardware::OculusTouch; + case ESGPositionalTrackingHardware::Quest2Controller: + return FEPositionalTrackingHardware::Quest2Controller; + case ESGPositionalTrackingHardware::PicoNeo2: + return FEPositionalTrackingHardware::PicoNeo2; + case ESGPositionalTrackingHardware::PicoNeo3: + return FEPositionalTrackingHardware::PicoNeo3; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEPositionalTrackingHardware::Custom; +} + +ESGPositionalTrackingHardware FSGCoreEnumCast::ToESGPositionalTrackingHardware(const FEPositionalTrackingHardware Enum) +{ + switch (Enum) + { + case FEPositionalTrackingHardware::Custom: + return ESGPositionalTrackingHardware::Custom; + case FEPositionalTrackingHardware::ViveTracker: + return ESGPositionalTrackingHardware::ViveTracker; + case FEPositionalTrackingHardware::OculusTouch: + return ESGPositionalTrackingHardware::OculusTouch; + case FEPositionalTrackingHardware::Quest2Controller: + return ESGPositionalTrackingHardware::Quest2Controller; + case FEPositionalTrackingHardware::PicoNeo2: + return ESGPositionalTrackingHardware::PicoNeo2; + case FEPositionalTrackingHardware::PicoNeo3: + return ESGPositionalTrackingHardware::PicoNeo3; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGPositionalTrackingHardware::None; +} + +FSGCoreEnumCast::FEThumbMovementType FSGCoreEnumCast::ToEThumbMovement(const ESGThumbMovement Enum) +{ + switch (Enum) + { + case ESGThumbMovement::CmcTwist: + return FEThumbMovementType::CmcTwist; + case ESGThumbMovement::CmcFlexion: + return FEThumbMovementType::CmcFlexion; + case ESGThumbMovement::CmcAbduction: + return FEThumbMovementType::CmcAbduction; + case ESGThumbMovement::McpFlexion: + return FEThumbMovementType::McpFlexion; + case ESGThumbMovement::IpFlexion: + return FEThumbMovementType::IpFlexion; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEThumbMovementType::CmcTwist; +} + +ESGThumbMovement FSGCoreEnumCast::ToESGThumbMovement(const FEThumbMovementType Enum) +{ + switch (Enum) + { + case FEThumbMovementType::CmcTwist: + return ESGThumbMovement::CmcTwist; + case FEThumbMovementType::CmcFlexion: + return ESGThumbMovement::CmcFlexion; + case FEThumbMovementType::CmcAbduction: + return ESGThumbMovement::CmcAbduction; + case FEThumbMovementType::McpFlexion: + return ESGThumbMovement::McpFlexion; + case FEThumbMovementType::IpFlexion: + return ESGThumbMovement::IpFlexion; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGThumbMovement::None; +} + +FSGCoreEnumCast::FEThumbSolverType FSGCoreEnumCast::ToEThumbSolver(const ESGThumbSolver Enum) +{ + switch (Enum) + { + case ESGThumbSolver::Interpolation: + return FEThumbSolverType::Interpolation; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + // Keep the compiler satisfied! + return FEThumbSolverType::Interpolation; +} + +ESGThumbSolver FSGCoreEnumCast::ToESGThumbSolver(const FEThumbSolverType Enum) +{ + switch (Enum) + { + case FEThumbSolverType::Interpolation: + return ESGThumbSolver::Interpolation; + default: + ensureAlwaysMsgf(false, TEXT("Unhandled enum cast item!")); + break; + } + + return ESGThumbSolver::None; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.h b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.h new file mode 100644 index 00000000..c8d3ae17 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGCoreEnumCast.h @@ -0,0 +1,92 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + +#include "SGBuildHacks/SGInclude_Core_Fingers.h" +#include "SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h" +#include "SGBuildHacks/SGInclude_Core_Library.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h" +#include "SGBuildHacks/SGInclude_Core_SGDevice.h" +#include "SGBuildHacks/SGInclude_Core_Tracking.h" +#include "SGTypes/SGCoreTypes.h" + +class SENSEGLOVECOREIMPL_API FSGCoreEnumCast +{ +public: + typedef SGCore::EBackendType FEBackendType; + typedef SGCore::ECalibrationStage FECalibrationStageType; + typedef SGCore::SGDevice::EConnectionType FEConnectionType; + typedef SGCore::EDeviceType FEDeviceType; + typedef SGCore::EFinger FEFingerType; + typedef SGCore::Kinematics::EFingerMovement FEFingerMovementType; + typedef SGCore::SG::EFingerSolver FEFingerSolverType; + typedef SGCore::EPositionalTrackingHardware FEPositionalTrackingHardware; + typedef SGCore::Kinematics::EThumbMovement FEThumbMovementType; + typedef SGCore::SG::EThumbSolver FEThumbSolverType; + +public: + static FEBackendType ToEBackendType(const ESGBackendType Enum); + static ESGBackendType ToESGBackendType(const FEBackendType Enum); + + static FECalibrationStageType ToECalibrationStage(const ESGCalibrationStage Enum); + static ESGCalibrationStage ToESGCalibrationStage(const FECalibrationStageType Enum); + + static FEConnectionType ToEConnectionType(const ESGConnectionType Enum); + static ESGConnectionType ToESGConnectionType(const FEConnectionType Enum); + + static FEDeviceType ToEDeviceType(const ESGDeviceType Enum); + static ESGDeviceType ToESGDeviceType(const FEDeviceType Enum); + + static FEFingerType ToEFinger(const ESGFinger Enum); + static ESGFinger ToESGFinger(const FEFingerType Enum); + + static FEFingerMovementType ToEFingerMovement(const ESGFingerMovement Enum); + static ESGFingerMovement ToESGFingerMovement(const FEFingerMovementType Enum); + + static FEFingerSolverType ToEFingerSolver(const ESGFingerSolver Enum); + static ESGFingerSolver ToESGFingerSolver(const FEFingerSolverType Enum); + + static FEPositionalTrackingHardware ToEPositionalTrackingHardware(const ESGPositionalTrackingHardware Enum); + static ESGPositionalTrackingHardware ToESGPositionalTrackingHardware(const FEPositionalTrackingHardware Enum); + + static FEThumbMovementType ToEThumbMovement(const ESGThumbMovement Enum); + static ESGThumbMovement ToESGThumbMovement(const FEThumbMovementType Enum); + + static FEThumbSolverType ToEThumbSolver(const ESGThumbSolver Enum); + static ESGThumbSolver ToESGThumbSolver(const FEThumbSolverType Enum); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceImpl.cpp new file mode 100644 index 00000000..73773290 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceImpl.cpp @@ -0,0 +1,287 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceImpl.h" +#include + +#include "Containers/StringConv.h" +#include "Misc/AssertionMacros.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_SGDevice.h" +#include "SGCoreImpl/SGBetaDeviceImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGNovaGloveImpl.h" +#include "SGCoreImpl/SGSenseGloveImpl.h" +#include "Templates/Casts.h" + +struct FSGDeviceImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FSGDevicePtrType SGDevice; + + /************************ + * Owner object + ************************/ + + FSGDeviceImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGDeviceImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +void FSGDeviceImpl::ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion) +{ + FSGDeviceType::ParseFirmware(TCHAR_TO_UTF8(*RawFirmware), OutMainVersion, OutSubVersion); +} + +FString FSGDeviceImpl::ToString(ESGDeviceType DeviceType) +{ + const FString String{UTF8_TO_TCHAR(FSGDeviceType::ToString(FSGCoreEnumCast::ToEDeviceType(DeviceType)).c_str())}; + return String; +} + +FSGDeviceImpl::FSGDeviceImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGDeviceImpl::FSGDeviceImpl(const FSGDevicePtrType SGDevice) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + ensureAlwaysMsgf(SGDevice.get(), TEXT("Invalid SGDevice!")); + Pimpl->SGDevice = SGDevice; +} + +FSGDeviceImpl::FSGDeviceImpl(const FSGDeviceImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGDeviceImpl::FSGDeviceImpl(FSGDeviceImpl&& Rhs) noexcept = default; + +FSGDeviceImpl::~FSGDeviceImpl() = default; + +FSGDeviceImpl& FSGDeviceImpl::operator=(const FSGDeviceImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGDeviceImpl& FSGDeviceImpl::operator=(FSGDeviceImpl&& Rhs) noexcept = default; + +FSGDeviceImpl::FSGDevicePtrType FSGDeviceImpl::ToSGDevicePtr() const +{ + return Pimpl->SGDevice; +} + +FSGDeviceImpl::FSGDevicePtrType FSGDeviceImpl::ToSGDevicePtrChecked() const +{ + ensureAlwaysMsgf(Pimpl->SGDevice.get(), TEXT("Invalid Pimpl->SGDevice!")); + return Pimpl->SGDevice; +} + +TSharedRef FSGDeviceImpl::ToSGDeviceImplRef() +{ + return SharedThis(this); +} + +TSharedRef FSGDeviceImpl::ToBetaDeviceImplRef() +{ + FSGBetaDeviceImpl* BetaDevice(dynamic_cast(this)); + ensureAlwaysMsgf(BetaDevice, TEXT("Invalid BetaDevice!")); + return SharedThis(BetaDevice); +} + +TSharedRef FSGDeviceImpl::ToHapticGloveImplRef() +{ + FSGHapticGloveImpl* HapticGlove(dynamic_cast(this)); + ensureAlwaysMsgf(HapticGlove, TEXT("Invalid HapticGlove!")); + return SharedThis(HapticGlove); +} + +TSharedRef FSGDeviceImpl::ToNovaGloveImplRef() +{ + FSGNovaGloveImpl* NovaGlove(dynamic_cast(this)); + ensureAlwaysMsgf(NovaGlove, TEXT("Invalid NovaGlove!")); + return SharedThis(NovaGlove); +} + +TSharedRef FSGDeviceImpl::ToSenseGloveImplRef() +{ + FSGSenseGloveImpl* SenseGlove(dynamic_cast(this)); + ensureAlwaysMsgf(SenseGlove, TEXT("Invalid SenseGlove!")); + return SharedThis(SenseGlove); +} + +ESGDeviceType FSGDeviceImpl::GetDeviceType() const +{ + return FSGCoreEnumCast::ToESGDeviceType(ToSGDevicePtrChecked()->GetDeviceType()); +} + +FString FSGDeviceImpl::GetDeviceId() const +{ + const FString Id{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetDeviceId().c_str())}; + return Id; +} + +FString FSGDeviceImpl::GetHardwareVersion() const +{ + const FString Version{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetHardwareVersion().c_str())}; + return Version; +} + +int32 FSGDeviceImpl::GetFirmwareVersion() const +{ + return ToSGDevicePtrChecked()->GetFirmwareVersion(); +} + +int32 FSGDeviceImpl::GetSubFirmwareVersion() const +{ + return ToSGDevicePtrChecked()->GetSubFirmwareVersion(); +} + +FString FSGDeviceImpl::GetFirmwareString() const +{ + const FString String{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetFirmwareString().c_str())}; + return String; +} + +FString FSGDeviceImpl::GetAddress() const +{ + const FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetAddress().c_str())); + return String; +} + +bool FSGDeviceImpl::IsConnected() const +{ + return ToSGDevicePtrChecked()->IsConnected(); +} + +ESGConnectionType FSGDeviceImpl::GetConnectionType() const +{ + return FSGCoreEnumCast::ToESGConnectionType(ToSGDevicePtrChecked()->GetConnectionType()); +} + +int32 FSGDeviceImpl::PacketsPerSecondReceived() const +{ + return ToSGDevicePtrChecked()->PacketsPerSecondReceived(); +} + +int32 FSGDeviceImpl::PacketsPerSecondSent() const +{ + return ToSGDevicePtrChecked()->PacketsPerSecondSent(); +} + +int32 FSGDeviceImpl::GetDeviceIndex() const +{ + return ToSGDevicePtrChecked()->GetDeviceIndex(); +} + +void FSGDeviceImpl::SetDeviceIndex(const int32 Index) +{ + ToSGDevicePtrChecked()->SetDeviceIndex(Index); +} + +bool FSGDeviceImpl::IsWireless() const +{ + return ToSGDevicePtrChecked()->IsWireless(); +} + +bool FSGDeviceImpl::HasBattery() const +{ + return ToSGDevicePtrChecked()->HasBattery(); +} + +bool FSGDeviceImpl::IsCharging() +{ + return ToSGDevicePtrChecked()->IsCharging(); +} + +bool FSGDeviceImpl::GetBatteryLevel(float& OutLevel) +{ + return ToSGDevicePtrChecked()->GetBatteryLevel(OutLevel); +} + +FString FSGDeviceImpl::ToString() const +{ + const FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->ToString().c_str())); + return String; +} + +FSGDeviceImpl::FImpl::FImpl(FSGDeviceImpl* InOwner) + : SGDevice(std::make_shared()), + Owner(InOwner) +{ +} + +FSGDeviceImpl::FImpl::~FImpl() = default; + +void FSGDeviceImpl::FImplDeleter::operator()(const FSGDeviceImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceListImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceListImpl.cpp new file mode 100644 index 00000000..286ac6d3 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceListImpl.cpp @@ -0,0 +1,197 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceListImpl.h" + +#include + +#include "Containers/StringConv.h" + +#include "SGBuildHacks/SGInclude_Core_BetaDevice.h" +#include "SGBuildHacks/SGInclude_Core_DeviceList.h" +#include "SGBuildHacks/SGInclude_Core_HapticGlove.h" +#include "SGBuildHacks/SGInclude_Core_NovaGlove.h" +#include "SGBuildHacks/SGInclude_Core_SenseGlove.h" +#include "SGBuildHacks/SGInclude_Core_SGDevice.h" +#include "SGCoreImpl/SGBetaDeviceImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGNovaGloveImpl.h" +#include "SGCoreImpl/SGSenseGloveImpl.h" +#include "SGLog/SGLog.h" + +int32 FSGDeviceListImpl::ActiveDevices() +{ + return FDeviceListType::ActiveDevices(); +} + +bool FSGDeviceListImpl::SenseCommRunning() +{ + return FDeviceListType::SenseComRunning(); +} + +void FSGDeviceListImpl::Dispose() +{ + FDeviceListType::Dispose(); +} + +void FSGDeviceListImpl::Reinitialize() +{ + FDeviceListType::Reinitialize(); +} + +TArray> FSGDeviceListImpl::GetDevices() +{ + const FSGDeviceImpl::FSGDevicePtrVectorType Devices = FDeviceListType::GetDevices(); + TArray> DeviceImpls; + + for (const FSGDeviceImpl::FSGDevicePtrType& Device: Devices) + { + switch (FSGCoreEnumCast::ToESGDeviceType(Device->GetDeviceType())) + { + case ESGDeviceType::BetaDevice: + { + FSGBetaDeviceImpl::FBetaDevicePtrType BetaDevice = + std::dynamic_pointer_cast(Device); + if (ensureAlwaysMsgf(BetaDevice, TEXT("Invalid BetaDevice!"))) + { + TSharedRef BetaDeviceImpl{ + MakeShared(BetaDevice) + }; + DeviceImpls.Push(MoveTemp(BetaDeviceImpl)); + } + } + break; + + case ESGDeviceType::Nova: + { + FSGNovaGloveImpl::FNovaGlovePtrType NovaGlove = + std::dynamic_pointer_cast(Device); + if (ensureAlwaysMsgf(NovaGlove, TEXT("Invalid NovaGlove device!"))) + { + TSharedRef NovaGloveImpl{MakeShared(NovaGlove)}; + DeviceImpls.Push(MoveTemp(NovaGloveImpl)); + } + } + break; + + case ESGDeviceType::SenseGlove: + { + FSGSenseGloveImpl::FSenseGlovePtrType SenseGlove{ + std::dynamic_pointer_cast(Device)}; + if (ensureAlwaysMsgf(SenseGlove, TEXT("Invalid SenseGlove device!"))) + { + TSharedRef SenseGloveImpl{ + MakeShared(SenseGlove) + }; + DeviceImpls.Push(MoveTemp(SenseGloveImpl)); + } + } + break; + + default: + SGLOG_WARNING( + FString::Printf(TEXT("Unknown SenseGlove device '%s'!"), UTF8_TO_TCHAR(typeid(Device).name())), + FString::Printf(TEXT("Device ID: '%s'!"), UTF8_TO_TCHAR(Device->GetDeviceId().c_str())), + FString::Printf(TEXT("Hardware Version: '%s'!"), UTF8_TO_TCHAR(Device->GetHardwareVersion().c_str())), + FString::Printf(TEXT("Firmware Version: '%d'!"), Device->GetFirmwareVersion()), + FString::Printf(TEXT("Sub Firmware Version: '%d'!"), Device->GetSubFirmwareVersion()), + FString::Printf(TEXT("Firmware String: '%s'!"), UTF8_TO_TCHAR(Device->GetFirmwareString().c_str())) + ); + + break;; + } + } + + return MoveTemp(DeviceImpls); +} + +bool FSGDeviceListImpl::GetSensorDataString(const int32 IpcIndex, const FString& IpcAddress, FString& OutString) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + std::string OutSensorData; + const bool bReturn = FDeviceListType::GetSensorDataString(IpcIndex, MoveTemp(IpcAddressString), OutSensorData); + OutString = UTF8_TO_TCHAR(OutSensorData.c_str()); + return bReturn; +} + +bool FSGDeviceListImpl::SendHaptics(const int32 IpcIndex, const FString& IpcAddress, const FString& Commands) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + std::string CommandsString(TCHAR_TO_UTF8(*Commands)); + return FDeviceListType::SendHaptics(IpcIndex, MoveTemp(IpcAddressString), MoveTemp(CommandsString)); +} + +FString FSGDeviceListImpl::GetDeviceStringAt(const int32 IpcIndex, const FString& IpcAddress, const int32 Index) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + FString String( + UTF8_TO_TCHAR(FDeviceListType::GetDeviceStringAt(IpcIndex, MoveTemp(IpcAddressString), Index).c_str())); + return MoveTemp(String); +} + +FString FSGDeviceListImpl::GetAddress(const int32 IpcIndex, const FString& IpcAddress) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + FString Address(UTF8_TO_TCHAR(FDeviceListType::GetAddress(IpcIndex, MoveTemp(IpcAddressString)).c_str())); + return MoveTemp(Address); +} + +ESGConnectionType FSGDeviceListImpl::GetConnectionType(const int32 IpcIndex, const FString& IpcAddress) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + const ESGConnectionType Type( + FSGCoreEnumCast::ToESGConnectionType( + FDeviceListType::GetConnectionType(IpcIndex, MoveTemp(IpcAddressString)))); + return Type; +} + +bool FSGDeviceListImpl::IsConnected(const int32 IpcIndex, const FString& IpcAddress) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + return FDeviceListType::IsConnected(IpcIndex, MoveTemp(IpcAddressString)); +} + +int32 FSGDeviceListImpl::PacketsPerSecondReceived(const int32 IpcIndex, const FString& IpcAddress) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + return FDeviceListType::PacketsPerSecondReceived(IpcIndex, MoveTemp(IpcAddressString)); +} + +int32 FSGDeviceListImpl::PacketsPerSecondSent(const int32 IpcIndex, const FString& IpcAddress) +{ + std::string IpcAddressString(TCHAR_TO_UTF8(*IpcAddress)); + return FDeviceListType::PacketsPerSecondSent(IpcIndex, MoveTemp(IpcAddressString)); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceModelImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceModelImpl.cpp new file mode 100644 index 00000000..1ccf2413 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGDeviceModelImpl.cpp @@ -0,0 +1,215 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceModelImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_DeviceModel.h" + +struct FSGDeviceModelImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FDeviceModelType DeviceModel; + + /************************ + * Owner object + ************************/ + + FSGDeviceModelImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGDeviceModelImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +TArray FSGDeviceModelImpl::ParseFunctions(int32 Value, int32 Size) +{ + /// NOTE + /// std::vector is a non conforming container. Since it packs bools to be stored in one bit, + /// it cannot provide a bool reference. Thus FSGArrayUtils::FromStdVector() cannot be used. + + static TArray ParsedFunctionsArray; + + std::vector ParsedFunctionsVector{FDeviceModelType::ParseFunctions(Value, Size)}; + for (const bool bValue: ParsedFunctionsVector) + { + ParsedFunctionsArray.Add(bValue); + } + + return ParsedFunctionsArray; +} + +void FSGDeviceModelImpl::ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion) +{ + std::string RawFirmwareString(TCHAR_TO_UTF8(*RawFirmware)); + FDeviceModelType::ParseFirmware(MoveTemp(RawFirmwareString), OutMainVersion, OutSubVersion); +} + +FSGDeviceModelImpl::FSGDeviceModelImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGDeviceModelImpl::FSGDeviceModelImpl( + const FString& Id, const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::string IdString(TCHAR_TO_UTF8(*Id)); + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + Pimpl->DeviceModel = FDeviceModelType(MoveTemp(IdString), MoveTemp(HardwareVersionString), + FirmwareVersion, SubFirmwareVersion); +} + +FSGDeviceModelImpl::FSGDeviceModelImpl(const FDeviceModelType& DeviceModel) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->DeviceModel = DeviceModel; +} + +FSGDeviceModelImpl::FSGDeviceModelImpl(const FSGDeviceModelImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGDeviceModelImpl::FSGDeviceModelImpl(FSGDeviceModelImpl&& Rhs) noexcept = default; + +FSGDeviceModelImpl::~FSGDeviceModelImpl() = default; + +FSGDeviceModelImpl& FSGDeviceModelImpl::operator=(const FSGDeviceModelImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGDeviceModelImpl& FSGDeviceModelImpl::operator=(FSGDeviceModelImpl&& Rhs) noexcept = default; + +const FSGDeviceModelImpl::FDeviceModelType& FSGDeviceModelImpl::ToDeviceModel() const +{ + return Pimpl->DeviceModel; +} + +FString FSGDeviceModelImpl::GetDeviceId() const +{ + FString DeviceId(UTF8_TO_TCHAR(Pimpl->DeviceModel.GetDeviceId().c_str())); + return MoveTemp(DeviceId); +} + +void FSGDeviceModelImpl::SetDeviceId(const FString& Id) const +{ + Pimpl->DeviceModel.SetDeviceId(TCHAR_TO_UTF8(*Id)); +} + +FString FSGDeviceModelImpl::GetHardwareVersion() const +{ + FString HardwareVersion(UTF8_TO_TCHAR(Pimpl->DeviceModel.GetHardwareVersion().c_str())); + return MoveTemp(HardwareVersion); +} + +void FSGDeviceModelImpl::SetHardwareVersion(const FString& Version) const +{ + Pimpl->DeviceModel.SetHardwareVersion(TCHAR_TO_UTF8(*Version)); +} + +int32 FSGDeviceModelImpl::GetFirmwareVersion() const +{ + return Pimpl->DeviceModel.GetFirmwareVersion(); +} + +void FSGDeviceModelImpl::SetFirmwareVersion(const int32 Version) const +{ + Pimpl->DeviceModel.SetFirmwareVersion(Version); +} + +int32 FSGDeviceModelImpl::GetSubFirmwareVersion() const +{ + return Pimpl->DeviceModel.GetSubFirmwareVersion(); +} + +void FSGDeviceModelImpl::SetSubFirmwareVersion(const int32 Version) const +{ + Pimpl->DeviceModel.SetSubFirmwareVersion(Version); +} + +FSGDeviceModelImpl::FImpl::FImpl(FSGDeviceModelImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGDeviceModelImpl::FImpl::~FImpl() = default; + +void FSGDeviceModelImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGExportedFunctions.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGExportedFunctions.cpp new file mode 100644 index 00000000..949a390e --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGExportedFunctions.cpp @@ -0,0 +1,6909 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGExportedFunctions.h" + +#include "Templates/UnrealTemplate.h" + +#include "SGCoreImpl/SGAnatomyImpl.h" +#include "SGCoreImpl/SGDeviceListImpl.h" +#include "SGCoreImpl/SGHapticGloveHandProfilesImpl.h" +#include "SGCoreImpl/SGJointKinematicsImpl.h" +#include "SGCoreImpl/SGLibraryImpl.h" +#include "SGCoreImpl/SGNovaGloveCalibrationImpl.h" +#include "SGCoreImpl/SGSenseComImpl.h" +#include "SGCoreImpl/SGSenseGloveVarsImpl.h" +#include "SGCoreImpl/SGTrackingImpl.h" +#include "SGInterop/SGIC_ESGBackendType.h" +#include "SGInterop/SGIC_ESGCalibrationStage.h" +#include "SGInterop/SGIC_ESGConnectionType.h" +#include "SGInterop/SGIC_ESGCVar.h" +#include "SGInterop/SGIC_ESGDeviceType.h" +#include "SGInterop/SGIC_ESGFinger.h" +#include "SGInterop/SGIC_ESGFingerMovement.h" +#include "SGInterop/SGIC_ESGFingerSolver.h" +#include "SGInterop/SGIC_ESGListFormat.h" +#include "SGInterop/SGIC_ESGNovaCVar.h" +#include "SGInterop/SGIC_ESGNovaData.h" +#include "SGInterop/SGIC_ESGNovaSensorData.h" +#include "SGInterop/SGIC_ESGPositionalTrackingHardware.h" +#include "SGInterop/SGIC_ESGSensorFormat.h" +#include "SGInterop/SGIC_ESGSVar.h" +#include "SGInterop/SGIC_ESGThumbMovement.h" +#include "SGInterop/SGIC_ESGThumbSolver.h" +#include "SGInterop/SGIC_ESGSenseGloveThumperCommand.h" +#include "SGInterop/SGIC_FQuat.h" +#include "SGInterop/SGIC_FSGBasicHandModelImpl.h" +#include "SGInterop/SGIC_FSGBetaDeviceImpl.h" +#include "SGInterop/SGIC_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGCalibrationDataPointImpl.h" +#include "SGInterop/SGIC_FSGDeviceImpl.h" +#include "SGInterop/SGIC_FSGDeviceModelImpl.h" +#include "SGInterop/SGIC_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_FSGHandInterpolatorImpl.h" +#include "SGInterop/SGIC_FSGHandPoseImpl.h" +#include "SGInterop/SGIC_FSGHandProfileImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h" +#include "SGInterop/SGIC_FSGInterpolationSetImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" +#include "SGInterop/SGIC_FSGSenseGlovePoseImpl.h" +#include "SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h" +#include "SGInterop/SGIC_FSGSensorRangeImpl.h" +#include "SGInterop/SGIC_FSGThumperCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedBuzzCommandImpl.h" +#include "SGInterop/SGIC_FSGTimedThumpCommandImpl.h" +#include "SGInterop/SGIC_FString.h" +#include "SGInterop/SGIC_FVector.h" +#include "SGInterop/SGIC_int32_Ref.h" +#include "SGInterop/SGIC_TArray_bool.h" +#include "SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h" +#include "SGInterop/SGIC_TArray_float.h" +#include "SGInterop/SGIC_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_TArray_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_TArray_FSGSenseGloveImpl.h" +#include "SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h" +#include "SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h" +#include "SGInterop/SGIC_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_int32.h" +#include "SGInterop/SGIC_TArray_TArray_float.h" +#include "SGInterop/SGIC_TArray_TArray_FQuat.h" +#include "SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h" +#include "SGInterop/SGIC_TArray_TArray_FVector.h" +#include "SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h" +#include "SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h" +#include "SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h" + +/******************************************************************************* + * SGAnatomyImpl.h + ******************************************************************************/ + +float SGCoreImpl_FSGAnatomyImpl_GetTotalFingerFlexion() +{ + return FSGAnatomyImpl::GetTotalFingerFlexion(); +} + +float SGCoreImpl_FSGAnatomyImpl_GetTotalFingerExtension() +{ + return FSGAnatomyImpl::GetTotalFingerExtension(); +} + +float SGCoreImpl_FSGAnatomyImpl_GetTotalThumbFlexion() +{ + return FSGAnatomyImpl::GetTotalThumbFlexion(); +} + +float SGCoreImpl_FSGAnatomyImpl_GetTotalThumbExtension() +{ + return FSGAnatomyImpl::GetTotalThumbExtension(); +} + +float SGCoreImpl_FSGAnatomyImpl_GetFingerJointLimit( + const bool bRightHanded, + const int32 Joint, + const int32 Movement, + const bool bMax) +{ + return FSGAnatomyImpl::GetFingerJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float SGCoreImpl_FSGAnatomyImpl_GetThumbJointLimit( + const bool bRightHanded, + const int32 Joint, + const int32 Movement, + const bool bMax) +{ + return FSGAnatomyImpl::GetThumbJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float SGCoreImpl_FSGAnatomyImpl_NormalizeFingerFlex( + const float FlexionInRadians) +{ + return FSGAnatomyImpl::NormalizeFingerFlex(FlexionInRadians); +} + +float SGCoreImpl_FSGAnatomyImpl_NormalizeThumbFlex( + const float FlexionInRadians) +{ + return FSGAnatomyImpl::NormalizeThumbFlex(FlexionInRadians); +} + +void SGCoreImpl_FSGAnatomyImpl_GetDefaultHandAngles( + void* OutAngles, + const bool bRightHanded) +{ + StaticCast(OutAngles)->Array = FSGAnatomyImpl::GetDefaultHandAngles( + bRightHanded); +} + +void SGCoreImpl_FSGAnatomyImpl_GetFlatHandAngles( + void* OutAngles, + const bool bRightHanded) +{ + StaticCast(OutAngles)->Array = FSGAnatomyImpl::GetFlatHandAngles( + bRightHanded); +} + +void SGCoreImpl_FSGAnatomyImpl_GetThumbsUpHandAngles( + void* OutAngles, + const bool bRightHanded) +{ + StaticCast(OutAngles)->Array = FSGAnatomyImpl::GetThumbsUpHandAngles( + bRightHanded); +} + +void SGCoreImpl_FSGAnatomyImpl_GetFistHandAngles( + void* OutAngles, + const bool bRightHanded) +{ + StaticCast(OutAngles)->Array = FSGAnatomyImpl::GetFistHandAngles( + bRightHanded); +} + +/******************************************************************************* + * SGBasicHandModelImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGBasicHandModelImpl_Default( + void* OutBasicHandModelImpl, + const bool bRightHanded) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = + FSGBasicHandModelImpl::Default(bRightHanded); +} + +void SGCoreImpl_FSGBasicHandModelImpl_Deserialize( + void* OutBasicHandModelImpl, + void* SerializedString) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = + FSGBasicHandModelImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetBaseFingerLengths( + void* OutLengths) +{ + StaticCast(OutLengths)->Array = FSGBasicHandModelImpl::GetBaseFingerLengths(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetBaseJointPositions( + void* OutPositions) +{ + StaticCast(OutPositions)->Array = FSGBasicHandModelImpl::GetBaseJointPositions(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetBaseJointRotations( + void* OutRotations) +{ + StaticCast(OutRotations)->Array = FSGBasicHandModelImpl::GetBaseJointRotations(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ctor( + void* OutBasicHandModelImpl) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = FSGBasicHandModelImpl(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPosition( + void* OutBasicHandModelImpl, + const bool bRightHanded, + void* Lengths, + void* StartPositions) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = + FSGBasicHandModelImpl( + bRightHanded, + StaticCast(Lengths)->Array, + StaticCast(StartPositions)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPositions_StartRotations( + void* OutBasicHandModelImpl, + const bool bRightHanded, + void* Lengths, + void* StartPositions, + void* StartRotations) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = + FSGBasicHandModelImpl( + bRightHanded, + StaticCast(Lengths)->Array, + StaticCast(StartPositions)->Array, + StaticCast(StartPositions)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ctor_copy( + void* OutBasicHandModelImpl, + void* Rhs) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = + FSGBasicHandModelImpl(StaticCast(Rhs)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ctor_copy_assignment( + void* OutBasicHandModelImpl, + void* Rhs) +{ + StaticCast(OutBasicHandModelImpl)->BasicHandModelImpl = + StaticCast(Rhs)->BasicHandModelImpl; +} + +bool SGCoreImpl_FSGBasicHandModelImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->BasicHandModelImpl.IsRight(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->BasicHandModelImpl.SetIsRight(bRightHanded); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths( + void* Instance, + void* FingerLengths) +{ + StaticCast(Instance)->BasicHandModelImpl.SetFingerLengths( + StaticCast(FingerLengths)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetFingerLengths( + void* Instance, + void* OutLengths) +{ + StaticCast(OutLengths)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetFingerLengths(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetFingerLengths_Finger( + void* Instance, + void* OutLengths, + void* Finger) +{ + StaticCast(OutLengths)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetFingerLengths( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths_ESGFinger( + void* Instance, + void* Finger, + void* Lengths) +{ + StaticCast(Instance)->BasicHandModelImpl.SetFingerLengths( + StaticCast(Finger)->Finger, + StaticCast(Lengths)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths_uint8Finger( + void* Instance, + const uint8 Finger, + void* Lengths) +{ + StaticCast(Instance)->BasicHandModelImpl.SetFingerLengths( + Finger, + StaticCast(Lengths)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetFingerRatios( + void* Instance, + void* OutRatios) +{ + StaticCast(OutRatios)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetFingerRatios(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetFingerRatios_Finger( + void* Instance, + void* OutRatios, + void* Finger) +{ + StaticCast(OutRatios)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetFingerRatios( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetStartJointPositions( + void* Instance, + void* OutPositions) +{ + StaticCast(OutPositions)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetStartJointPositions(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPositions( + void* Instance, + void* StartJointPositions) +{ + StaticCast(Instance)->BasicHandModelImpl.SetStartJointPositions( + StaticCast(StartJointPositions)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPosition_ESGFinger( + void* Instance, + void* Finger, + void* Position) +{ + StaticCast(Instance)->BasicHandModelImpl.SetStartJointPosition( + StaticCast(Finger)->Finger, + StaticCast(Position)->Vector); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPosition_uin8Finger( + void* Instance, + const uint8 Finger, + void* Position) +{ + StaticCast(Instance)->BasicHandModelImpl.SetStartJointPosition( + Finger, + StaticCast(Position)->Vector); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetStartJointRotations( + void* Instance, + void* OutRotations) +{ + StaticCast(OutRotations)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetStartJointRotations(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointRotations( + void* Instance, + void* StartJointRotations) +{ + StaticCast(Instance)->BasicHandModelImpl.SetStartJointRotations( + StaticCast(StartJointRotations)->Array); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetJointPosition( + void* Instance, + void* OutPosition, + void* Finger) +{ + StaticCast(OutPosition)->Vector = + StaticCast(Instance)->BasicHandModelImpl.GetJointPosition( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetJointPosition( + void* Instance, + void* NewPosition, + void* Finger) +{ + StaticCast(Instance)->BasicHandModelImpl.SetJointPosition( + StaticCast(NewPosition)->Vector, + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetJointRotation( + void* Instance, + void* OutRotation, + void* Finger) +{ + StaticCast(OutRotation)->Quat = + StaticCast(Instance)->BasicHandModelImpl.GetJointRotation( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_SetJointRotation( + void* Instance, + void* NewRotation, + void* Finger) +{ + StaticCast(Instance)->BasicHandModelImpl.SetJointRotation( + StaticCast(NewRotation)->Quat, + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_GetTotalLengths( + void* Instance, + void* OutLengths) +{ + StaticCast(OutLengths)->Array = + StaticCast(Instance)->BasicHandModelImpl.GetTotalLengths(); +} + +float SGCoreImpl_FSGBasicHandModelImpl_GetTotalLength( + void* Instance, + void* Finger) +{ + return StaticCast(Instance)->BasicHandModelImpl.GetTotalLength( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGBasicHandModelImpl_Get3DLengths( + void* Instance, + void* OutLengths, + void* Finger) +{ + StaticCast(OutLengths)->Array = + StaticCast(Instance)->BasicHandModelImpl.Get3DLengths( + StaticCast(Finger)->Finger); +} + +bool SGCoreImpl_FSGBasicHandModelImpl_Equals( + void* Instance, + void* BasicHandModelImpl) +{ + return StaticCast(Instance)->BasicHandModelImpl.Equals( + StaticCast(BasicHandModelImpl)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->BasicHandModelImpl.ToString(); +} + +void SGCoreImpl_FSGBasicHandModelImpl_ToString_bLengthsOnly( + void* Instance, + void* OutString, + const bool bLengthsOnly) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->BasicHandModelImpl.ToString(bLengthsOnly); +} + +void SGCoreImpl_FSGBasicHandModelImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->BasicHandModelImpl.Serialize(); +} + +/******************************************************************************* + * SGBetaDeviceImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGBetaDeviceImpl_Parse( + void* OutBetaDevice, + void* String) +{ + StaticCast(OutBetaDevice)->Ptr = + FSGBetaDeviceImpl::Parse(StaticCast(String)->String); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ctor( + void* OutBetaDeviceImpl) +{ + StaticCast(OutBetaDeviceImpl)->BetaDeviceImpl = FSGBetaDeviceImpl(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ctor_ConstantsString_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + void* OutBetaDeviceImpl, + void* ConstantsString, + void* DeviceId, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + StaticCast(OutBetaDeviceImpl)->BetaDeviceImpl = + FSGBetaDeviceImpl{ + StaticCast(ConstantsString)->String, + StaticCast(DeviceId)->String, + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion + }; +} + +void +SGCoreImpl_FSGBetaDeviceImpl_ctor_ConstantsString_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_MakeShared( + void* OutSharedPtr, + void* ConstantsString, + void* DeviceId, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(ConstantsString)->String, + StaticCast(DeviceId)->String, + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ctor_copy( + void* OutBetaDeviceImpl, + void* Rhs) +{ + StaticCast(OutBetaDeviceImpl)->BetaDeviceImpl = + FSGBetaDeviceImpl(StaticCast(Rhs)->BetaDeviceImpl); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(StaticCast(Rhs)->BetaDeviceImpl); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ctor_copy_assignment( + void* OutBetaDeviceImpl, + void* Rhs) +{ + StaticCast(OutBetaDeviceImpl)->BetaDeviceImpl = + StaticCast(Rhs)->BetaDeviceImpl; +} + +void SGCoreImpl_FSGBetaDeviceImpl_GetDeviceType( + void* Instance, + void* OutType) +{ + StaticCast(OutType)->Type = + StaticCast(Instance)->Ptr->GetDeviceType(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->Ptr->GetDeviceId(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->Ptr->GetHardwareVersion(); +} + +int32 SGCoreImpl_FSGBetaDeviceImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetFirmwareVersion(); +} + +int32 SGCoreImpl_FSGBetaDeviceImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetSubFirmwareVersion(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_GetConstantsString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->GetConstantsString(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_GetSensorData( + void* Instance, + void* OutData) +{ + StaticCast(OutData)->String = + StaticCast(Instance)->Ptr->GetSensorData(); +} + +void SGCoreImpl_FSGBetaDeviceImpl_GetLastCommand( + void* Instance, + void* OutCommand) +{ + StaticCast(OutCommand)->String = + StaticCast(Instance)->Ptr->GetLastCommand(); +} + +bool SGCoreImpl_FSGBetaDeviceImpl_SendHaptics( + void* Instance, + void* Command) +{ + return StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(Command)->String); +} + +void SGCoreImpl_FSGBetaDeviceImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->ToString(); +} + +/******************************************************************************* + * SGBuzzCommandImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGBuzzCommandImpl_Off( + void* OutBuzzCommandImpl) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = FSGBuzzCommandImpl::Off(); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor( + void* OutBuzzCommandImpl) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = FSGBuzzCommandImpl(); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_BuzzLevels( + void* OutBuzzCommandImpl, + void* BuzzLevels) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + FSGBuzzCommandImpl(StaticCast(BuzzLevels)->Array); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_BuzzLevels_MakeShared( + void* OutSharedPtr, + void* BuzzLevels) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(BuzzLevels)->Array); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky( + void* OutBuzzCommandImpl, + const int32 Thumb, + const int32 Index, + const int32 Middle, + const int32 Ring, + const int32 Pinky) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + FSGBuzzCommandImpl( + Thumb, + Index, + Middle, + Ring, + Pinky); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + void* OutSharedPtr, + const int32 Thumb, + const int32 Index, + const int32 Middle, + const int32 Ring, + const int32 Pinky) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + Thumb, + Index, + Middle, + Ring, + Pinky); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_Finger_BuzzLevel( + void* OutBuzzCommandImpl, + void* Finger, + const int32 BuzzLevel) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + FSGBuzzCommandImpl(StaticCast(Finger)->Finger, BuzzLevel); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + void* OutSharedPtr, + void* Finger, + const int32 BuzzLevel) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Finger)->Finger, BuzzLevel); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_copy( + void* OutBuzzCommandImpl, + void* Rhs) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + FSGBuzzCommandImpl(StaticCast(Rhs)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Rhs)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGBuzzCommandImpl_ctor_copy_assignment( + void* OutBuzzCommandImpl, + void* Rhs) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + StaticCast(Rhs)->BuzzCommandImpl; +} + +void SGCoreImpl_FSGBuzzCommandImpl_Copy( + void* Instance, + void* OutBuzzCommandImpl) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + StaticCast(Instance)->Ptr->Copy(); +} + +void SGCoreImpl_FSGBuzzCommandImpl_Merge( + void* Instance, + void* OutBuzzCommandImpl, + void* Command) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + StaticCast(Instance)->Ptr->Merge( + StaticCast(Command)->BuzzCommandImpl); +} + +/******************************************************************************* + * SGCalibrationDataPointImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGCalibrationDataPointImpl_ctor( + void* OutCalibrationDataPointImpl) +{ + StaticCast(OutCalibrationDataPointImpl)->CalibrationDataPointImpl = + FSGCalibrationDataPointImpl(); +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_ctor_CurrentStage_CalibrationValues( + void* OutCalibrationDataPointImpl, + const int32 CurrentStage, + void* CalibrationValues) +{ + StaticCast(OutCalibrationDataPointImpl)->CalibrationDataPointImpl = + FSGCalibrationDataPointImpl( + CurrentStage, + StaticCast(CalibrationValues)->Array); +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_ctor_copy( + void* OutCalibrationDataPointImpl, + void* Rhs) +{ + StaticCast(OutCalibrationDataPointImpl)->CalibrationDataPointImpl = + FSGCalibrationDataPointImpl(StaticCast(Rhs)->CalibrationDataPointImpl); +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_ctor_copy_assignment( + void* OutCalibrationDataPointImpl, + void* Rhs) +{ + StaticCast(OutCalibrationDataPointImpl)->CalibrationDataPointImpl = + StaticCast(Rhs)->CalibrationDataPointImpl; +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_GetCalibrationValues( + void* Instance, + void* Values) +{ + StaticCast(Values)->Array = + StaticCast(Instance)->CalibrationDataPointImpl.GetCalibrationValues(); +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_SetCalibrationValues( + void* Instance, + void* CalibrationValues) +{ + StaticCast(Instance)->CalibrationDataPointImpl.SetCalibrationValues( + StaticCast(CalibrationValues)->Array); +} + +int32 SGCoreImpl_FSGCalibrationDataPointImpl_GetStage( + void* Instance) +{ + return StaticCast(Instance)->CalibrationDataPointImpl.GetStage(); +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_SetStage( + void* Instance, + const int32 Stage) +{ + StaticCast(Instance)->CalibrationDataPointImpl.SetStage(Stage); +} + +void SGCoreImpl_FSGCalibrationDataPointImpl_ToLogData( + void* Instance, + void* OutData, + void* Delimiter) +{ + StaticCast(OutData)->String = + StaticCast(Instance)->CalibrationDataPointImpl.ToLogData( + StaticCast(Delimiter)->String); +} + +/******************************************************************************* + * SGDeviceImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGDeviceImpl_ParseFirmware( + void* RawFirmware, int32* OutMainVersion, int32* OutSubVersion) +{ + FSGDeviceImpl::ParseFirmware( + StaticCast(RawFirmware)->String, + *OutMainVersion, + *OutSubVersion); +} + +void SGCoreImpl_FSGDeviceImpl_ToString_DeviceType( + void* DeviceType, + void* OutString) +{ + StaticCast(OutString)->String = + FSGDeviceImpl::ToString( + StaticCast(DeviceType)->Type); +} + +void SGCoreImpl_FSGDeviceImpl_ctor( + void* OutSGDeviceImpl) +{ + StaticCast(OutSGDeviceImpl)->SGDeviceImpl = FSGDeviceImpl(); +} + +void SGCoreImpl_FSGDeviceImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGDeviceImpl_ctor_copy( + void* OutSGDeviceImpl, + void* Rhs) +{ + StaticCast(OutSGDeviceImpl)->SGDeviceImpl = + FSGDeviceImpl(StaticCast(Rhs)->SGDeviceImpl); +} + +void SGCoreImpl_FSGDeviceImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(StaticCast(Rhs)->SGDeviceImpl); +} + +void SGCoreImpl_FSGDeviceImpl_ctor_copy_assignment( + void* OutSGDeviceImpl, + void* Rhs) +{ + StaticCast(OutSGDeviceImpl)->SGDeviceImpl = + StaticCast(Rhs)->SGDeviceImpl; +} + +void SGCoreImpl_FSGDeviceImpl_ToSGDeviceImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToSGDeviceImplRef(); +} + +void SGCoreImpl_FSGDeviceImpl_ToBetaDeviceImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToBetaDeviceImplRef(); +} + +void SGCoreImpl_FSGDeviceImpl_ToHapticGloveImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToHapticGloveImplRef(); +} + +void SGCoreImpl_FSGDeviceImpl_ToNovaGloveImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToNovaGloveImplRef(); +} + +void SGCoreImpl_FSGDeviceImpl_ToSenseGloveImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToSenseGloveImplRef(); +} + +void SGCoreImpl_FSGDeviceImpl_GetDeviceType( + void* Instance, + void* OutType) +{ + StaticCast(OutType)->Type = + StaticCast(Instance)->Ptr->GetDeviceType(); +} + +void SGCoreImpl_FSGDeviceImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->Ptr->GetDeviceId(); +} + +void SGCoreImpl_FSGDeviceImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->Ptr->GetHardwareVersion(); +} + +int32 SGCoreImpl_FSGDeviceImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetFirmwareVersion(); +} + +int32 SGCoreImpl_FSGDeviceImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetSubFirmwareVersion(); +} + +void SGCoreImpl_FSGDeviceImpl_GetFirmwareString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->GetFirmwareString(); +} + +void SGCoreImpl_FSGDeviceImpl_GetAddress( + void* Instance, + void* Address) +{ + StaticCast(Address)->String = + StaticCast(Instance)->Ptr->GetAddress(); +} + +bool SGCoreImpl_FSGDeviceImpl_IsConnected( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsConnected(); +} + +void SGCoreImpl_FSGDeviceImpl_GetConnectionType( + void* Instance, + void* OutType) +{ + StaticCast(OutType)->Type = + StaticCast(Instance)->Ptr->GetConnectionType(); +} + +int32 SGCoreImpl_FSGDeviceImpl_PacketsPerSecondReceived( + void* Instance) +{ + return StaticCast(Instance)->Ptr->PacketsPerSecondReceived(); +} + +int32 SGCoreImpl_FSGDeviceImpl_PacketsPerSecondSent( + void* Instance) +{ + return StaticCast(Instance)->Ptr->PacketsPerSecondSent(); +} + +int32 SGCoreImpl_FSGDeviceImpl_GetDeviceIndex( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetDeviceIndex(); +} + +void SGCoreImpl_FSGDeviceImpl_SetDeviceIndex( + void* Instance, + const int32 Index) +{ + return StaticCast(Instance)->Ptr->SetDeviceIndex(Index); +} + +bool SGCoreImpl_FSGDeviceImpl_IsWireless( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsWireless(); +} + +bool SGCoreImpl_FSGDeviceImpl_HasBattery( + void* Instance) +{ + return StaticCast(Instance)->Ptr->HasBattery(); +} + +bool SGCoreImpl_FSGDeviceImpl_IsCharging( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsCharging(); +} + +bool SGCoreImpl_FSGDeviceImpl_GetBatteryLevel( + void* Instance, + float* OutLevel) +{ + return StaticCast(Instance)->Ptr->GetBatteryLevel( + *OutLevel); +} + +void SGCoreImpl_FSGDeviceImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->ToString(); +} + +/******************************************************************************* + * SGDeviceListImpl.h + ******************************************************************************/ + +int32 SGCoreImpl_FSGDeviceListImpl_ActiveDevices() +{ + return FSGDeviceListImpl::ActiveDevices(); +} + +bool SGCoreImpl_FSGDeviceListImpl_SenseCommRunning() +{ + return FSGDeviceListImpl::SenseCommRunning(); +} + +void SGCoreImpl_FSGDeviceListImpl_Dispose() +{ + FSGDeviceListImpl::Dispose(); +} + +void SGCoreImpl_FSGDeviceListImpl_Reinitialize() +{ + FSGDeviceListImpl::Reinitialize(); +} + +void SGCoreImpl_FSGDeviceListImpl_GetDevices( + void* OutDevices) +{ + StaticCast(OutDevices)->Array = + FSGDeviceListImpl::GetDevices(); +} + +bool SGCoreImpl_FSGDeviceListImpl_GetSensorDataString( + int32 IpcIndex, + void* IpcAddress, + void* OutString) +{ + return FSGDeviceListImpl::GetSensorDataString( + IpcIndex, + StaticCast(IpcAddress)->String, + StaticCast(OutString)->String); +} + +bool SGCoreImpl_FSGDeviceListImpl_SendHaptics( + int32 IpcIndex, + void* IpcAddress, + void* Commands) +{ + return FSGDeviceListImpl::SendHaptics( + IpcIndex, + StaticCast(IpcAddress)->String, + StaticCast(Commands)->String); +} + +void SGCoreImpl_FSGDeviceListImpl_GetDeviceStringAt( + void* OutString, int32 IpcIndex, + void* IpcAddress, int32 Index) +{ + StaticCast(OutString)->String = FSGDeviceListImpl::GetDeviceStringAt( + IpcIndex, + StaticCast(IpcAddress)->String, Index); +} + +void SGCoreImpl_FSGDeviceListImpl_GetAddress( + void* OutAddress, int32 IpcIndex, + void* IpcAddress) +{ + StaticCast(OutAddress)->String = FSGDeviceListImpl::GetAddress( + IpcIndex, + StaticCast(IpcAddress)->String); +} + +void SGCoreImpl_FSGDeviceListImpl_GetConnectionType( + void* OutType, int32 IpcIndex, + void* IpcAddress) +{ + StaticCast(OutType)->Type = + FSGDeviceListImpl::GetConnectionType( + IpcIndex, + StaticCast(IpcAddress)->String); +} + +bool SGCoreImpl_FSGDeviceListImpl_IsConnected( + int32 IpcIndex, + void* IpcAddress) +{ + return FSGDeviceListImpl::IsConnected(IpcIndex, StaticCast(IpcAddress)->String); +} + +int32 SGCoreImpl_FSGDeviceListImpl_PacketsPerSecondReceived( + int32 IpcIndex, + void* IpcAddress) +{ + return FSGDeviceListImpl::PacketsPerSecondReceived(IpcIndex, StaticCast(IpcAddress)->String); +} + +int32 SGCoreImpl_FSGDeviceListImpl_PacketsPerSecondSent( + int32 IpcIndex, + void* IpcAddress) +{ + return FSGDeviceListImpl::PacketsPerSecondSent(IpcIndex, StaticCast(IpcAddress)->String); +} + +/******************************************************************************* + * SGDeviceModelImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGDeviceModelImpl_ParseFunctions( + void* OutParseFunctions, + const int32 Value, + const int32 Size) +{ + StaticCast(OutParseFunctions)->Array = FSGDeviceModelImpl::ParseFunctions(Value, Size); +} + +void SGCoreImpl_FSGDeviceModelImpl_ParseFirmware( + void* RawFirmware, + void* OutMainVersion, + void* OutSubVersion) +{ + FSGDeviceModelImpl::ParseFirmware( + StaticCast(RawFirmware)->String, + StaticCast(OutMainVersion)->Ref, + StaticCast(OutSubVersion)->Ref); +} + +void SGCoreImpl_FSGDeviceModelImpl_ctor( + void* OutDeviceModelImpl) +{ + StaticCast(OutDeviceModelImpl)->DeviceModelImpl = FSGDeviceModelImpl(); +} + +void SGCoreImpl_FSGDeviceModelImpl_ctor_Id_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + void* OutDeviceModelImpl, + void* Id, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + StaticCast(OutDeviceModelImpl)->DeviceModelImpl = + FSGDeviceModelImpl( + StaticCast(Id)->String, + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion); +} + +void SGCoreImpl_FSGDeviceModelImpl_ctor_copy( + void* OutDeviceModelImpl, + void* Rhs) +{ + StaticCast(OutDeviceModelImpl)->DeviceModelImpl = + FSGDeviceModelImpl(StaticCast(Rhs)->DeviceModelImpl); +} + +void SGCoreImpl_FSGDeviceModelImpl_ctor_copy_assignment( + void* OutDeviceModelImpl, + void* Rhs) +{ + StaticCast(OutDeviceModelImpl)->DeviceModelImpl = + StaticCast(Rhs)->DeviceModelImpl; +} + +void SGCoreImpl_FSGDeviceModelImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->DeviceModelImpl.GetDeviceId(); +} + +void SGCoreImpl_FSGDeviceModelImpl_SetDeviceId( + void* Instance, + void* Id) +{ + StaticCast(Instance)->DeviceModelImpl.SetDeviceId( + StaticCast(Id)->String); +} + +void SGCoreImpl_FSGDeviceModelImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->DeviceModelImpl.GetHardwareVersion(); +} + +void SGCoreImpl_FSGDeviceModelImpl_SetHardwareVersion( + void* Instance, + void* Version) +{ + StaticCast(Instance)->DeviceModelImpl.SetHardwareVersion( + StaticCast(Version)->String); +} + +int32 SGCoreImpl_FSGDeviceModelImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->DeviceModelImpl.GetFirmwareVersion(); +} + +void SGCoreImpl_FSGDeviceModelImpl_SetFirmwareVersion( + void* Instance, + const int32 Version) +{ + StaticCast(Instance)->DeviceModelImpl.SetFirmwareVersion( + Version); +} + +int32 SGCoreImpl_FSGDeviceModelImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->DeviceModelImpl.GetSubFirmwareVersion(); +} + +void SGCoreImpl_FSGDeviceModelImpl_SetSubFirmwareVersion( + void* Instance, + const int32 Version) +{ + StaticCast(Instance)->DeviceModelImpl.SetSubFirmwareVersion(Version); +} + +/******************************************************************************* + * SGFingerCommandImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGFingerCommandImpl_ctor( + void* OutFingerCommandImpl) +{ + StaticCast(OutFingerCommandImpl)->FingerCommandImpl = FSGFingerCommandImpl(); +} + +void SGCoreImpl_FSGFingerCommandImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGFingerCommandImpl_ctor_Levels( + void* OutFingerCommandImpl, + void* Levels) +{ + StaticCast(OutFingerCommandImpl)->FingerCommandImpl = + FSGFingerCommandImpl(StaticCast(Levels)->Array); +} + +void SGCoreImpl_FSGFingerCommandImpl_ctor_Levels_MakeShared( + void* OutSharedPtr, + void* Levels) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Levels)->Array); +} + +void SGCoreImpl_FSGFingerCommandImpl_ctor_copy( + void* OutFingerCommandImpl, + void* Rhs) +{ + StaticCast(OutFingerCommandImpl)->FingerCommandImpl = + FSGFingerCommandImpl(StaticCast(Rhs)->FingerCommandImpl); +} + +void SGCoreImpl_FSGFingerCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Rhs)->FingerCommandImpl); +} + +void SGCoreImpl_FSGFingerCommandImpl_ctor_copy_assignment( + void* OutFingerCommandImpl, + void* Rhs) +{ + StaticCast(OutFingerCommandImpl)->FingerCommandImpl = + StaticCast(Rhs)->FingerCommandImpl; +} + +void SGCoreImpl_FSGFingerCommandImpl_ToFingerCommandImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToFingerCommandImplRef(); +} + +void SGCoreImpl_FSGFingerCommandImpl_ToBuzzCommandImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToBuzzCommandImplRef(); +} + +void SGCoreImpl_FSGFingerCommandImpl_ToForceFeedbackCommandImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToForceFeedbackCommandImplRef(); +} + +void SGCoreImpl_FSGFingerCommandImpl_ToTimedBuzzCommandImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr->ToTimedBuzzCommandImplRef(); +} + +void SGCoreImpl_FSGFingerCommandImpl_GetLevels( + void* Instance, + void* OutLevels) +{ + StaticCast(OutLevels)->Array = + StaticCast(Instance)->Ptr->GetLevels(); +} + +void SGCoreImpl_FSGFingerCommandImpl_SetLevels( + void* Instance, + void* Levels) +{ + StaticCast(Instance)->Ptr->SetLevels( + StaticCast(Levels)->Array); +} + +int32 SGCoreImpl_FSGFingerCommandImpl_GetLevel( + void* Instance, + const int32 Finger) +{ + return StaticCast(Instance)->Ptr->GetLevel( + Finger); +} + +void SGCoreImpl_FSGFingerCommandImpl_SetLevel( + void* Instance, + const int32 Finger, + const int32 Value) +{ + return StaticCast(Instance)->Ptr->SetLevel( + Finger, + Value); +} + +bool SGCoreImpl_FSGFingerCommandImpl_Equals( + void* Instance, + void* FingerCommandImpl) +{ + return StaticCast(Instance)->Ptr->Equals( + StaticCast(FingerCommandImpl)->FingerCommandImpl); +} + +void SGCoreImpl_FSGFingerCommandImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->ToString(); +} + +/******************************************************************************* + * SGForcedFeedbackCommandImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGForceFeedbackCommandImpl_Off(void* OutForceFeedbackCommand) +{ + StaticCast(OutForceFeedbackCommand)->ForceFeedbackCommandImpl = + FSGForceFeedbackCommandImpl::Off(); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor( + void* OutForceFeedbackCommandImpl) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + FSGForceFeedbackCommandImpl(); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_ForceFeedbackLevels( + void* OutForceFeedbackCommandImpl, + void* ForceFeedbackLevels) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + FSGForceFeedbackCommandImpl(StaticCast(ForceFeedbackLevels)->Array); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_ForceFeedbackLevels_MakeShared( + void* OutSharedPtr, + void* ForceFeedbackLevels) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(ForceFeedbackLevels)->Array); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky( + void* OutForceFeedbackCommandImpl, + const int32 Thumb, + const int32 Index, + const int32 Middle, + const int32 Ring, + const int32 Pinky) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + FSGForceFeedbackCommandImpl( + Thumb, + Index, + Middle, + Ring, + Pinky); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + void* OutSharedPtr, + const int32 Thumb, + const int32 Index, + const int32 Middle, + const int32 Ring, + const int32 Pinky) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + Thumb, + Index, + Middle, + Ring, + Pinky); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Finger_BuzzLevel( + void* OutForceFeedbackCommandImpl, + void* Finger, + const int32 BuzzLevel) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + FSGForceFeedbackCommandImpl(StaticCast(Finger)->Finger, BuzzLevel); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + void* OutSharedPtr, + void* Finger, + const int32 BuzzLevel) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Finger)->Finger, BuzzLevel); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy( + void* OutForceFeedbackCommandImpl, + void* Rhs) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + FSGForceFeedbackCommandImpl(StaticCast(Rhs)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Rhs)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy_assignment( + void* OutForceFeedbackCommandImpl, + void* Rhs) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + StaticCast(Rhs)->ForceFeedbackCommandImpl; +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_Copy( + void* Instance, + void* OutForceFeedbackCommandImpl) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + StaticCast(Instance)->Ptr->Copy(); +} + +void SGCoreImpl_FSGForceFeedbackCommandImpl_Merge( + void* Instance, + void* OutForceFeedbackCommandImpl, + void* Command) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + StaticCast(Instance)->Ptr->Merge( + StaticCast(Command)->ForceFeedbackCommandImpl); +} + +/******************************************************************************* + * SGHandInterpolatorImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGHandInterpolatorImpl_Default( + void* OutHandInterpolatorImpl, + const bool bRightHanded) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + FSGHandInterpolatorImpl::Default(bRightHanded); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_Deserialize( + void* OutHandInterpolatorImpl, + void* SerializedString) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + FSGHandInterpolatorImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_InterpolateFingerAngles( + void* OutAngles, + void* Finger, + void* Interpolator, + void* TotalGloveAngles) +{ + StaticCast(OutAngles)->Array = + FSGHandInterpolatorImpl::InterpolateFingerAngles( + StaticCast(Finger)->Finger, + StaticCast(Interpolator)->HandInterpolatorImpl, + StaticCast(TotalGloveAngles)->Vector); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_InterpolateThumbAngles( + void* OutAngles, + void* Interpolator, + void* TotalGloveAngles) +{ + StaticCast(OutAngles)->Array = + FSGHandInterpolatorImpl::InterpolateThumbAngles( + StaticCast(Interpolator)->HandInterpolatorImpl, + StaticCast(TotalGloveAngles)->Vector); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_InterpolateHandAngles( + void* OutAngles, + void* Interpolator, + void* TotalAngles) +{ + StaticCast(OutAngles)->Array = + FSGHandInterpolatorImpl::InterpolateHandAngles( + StaticCast(Interpolator)->HandInterpolatorImpl, + StaticCast(TotalAngles)->Array); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_ctor( + void* OutHandInterpolatorImpl) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + FSGHandInterpolatorImpl(); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations( + void* OutHandInterpolatorImpl, + void* JointInterpolations) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + FSGHandInterpolatorImpl( + StaticCast(JointInterpolations)->Array); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations_CmcStartRotation( + void* OutHandInterpolatorImpl, + void* JointInterpolations, + void* CmcStartRotation) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + FSGHandInterpolatorImpl( + StaticCast(JointInterpolations)->Array, + StaticCast(CmcStartRotation)->Quat); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_ctor_copy( + void* OutHandInterpolatorImpl, + void* Rhs) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + FSGHandInterpolatorImpl(StaticCast(Rhs)->HandInterpolatorImpl); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_ctor_copy_assignment( + void* OutHandInterpolatorImpl, + void* Rhs) +{ + StaticCast(OutHandInterpolatorImpl)->HandInterpolatorImpl = + StaticCast(Rhs)->HandInterpolatorImpl; +} + +void SGCoreImpl_FSGHandInterpolatorImpl_GetJointInterpolations( + void* Instance, + void* OutInterpolations) +{ + StaticCast(OutInterpolations)->Array = + StaticCast(Instance)->HandInterpolatorImpl.GetJointInterpolations(); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_SetJointInterpolations( + void* Instance, + void* OutJointInterpolations) +{ + StaticCast(Instance)->HandInterpolatorImpl.SetJointInterpolations( + StaticCast(OutJointInterpolations)->Array); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_GetCmcStartRotation( + void* Instance, + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = + StaticCast(Instance)->HandInterpolatorImpl.GetCmcStartRotation(); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_SetCmcStartRotation( + void* Instance, + void* CmcStartRotation) +{ + StaticCast(Instance)->HandInterpolatorImpl.SetCmcStartRotation( + StaticCast(CmcStartRotation)->Quat); +} + +float SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_int32Movement_Value( + void* Instance, + void* Finger, + const int32 Movement, + const float Value) +{ + return StaticCast(Instance)->HandInterpolatorImpl.CalculateAngle( + StaticCast(Finger)->Finger, + Movement, + Value); +} + +float SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_ESGFingerMovement_Value( + void* Instance, + void* Finger, + void* Movement, + const float Value) +{ + return StaticCast(Instance)->HandInterpolatorImpl.CalculateAngle( + StaticCast(Finger)->Finger, + StaticCast(Movement)->Movement, + Value); +} + +float SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_ESGThumbMovement_Value( + void* Instance, + void* Finger, + void* Movement, + const float Value) +{ + return StaticCast(Instance)->HandInterpolatorImpl.CalculateAngle( + StaticCast(Finger)->Finger, + StaticCast(Movement)->Movement, + Value); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_int32Finger_int32Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + void* Instance, + const int32 Finger, + const int32 Movement, + const float InputAt0, + const float InputAt1, + const float AngleAt0, + const float AngleAt1) +{ + StaticCast(Instance)->HandInterpolatorImpl.SetInterpolation( + Finger, + Movement, + InputAt0, + InputAt1, + AngleAt0, + AngleAt1); +} + +void +SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_ESGFinger_ESGFingerMovement_InputAt0_InputAt1_AngleAt0_AngleAt1( + void* Instance, + void* Finger, + void* Movement, + const float InputAt0, + const float InputAt1, + const float AngleAt0, + const float AngleAt1) +{ + StaticCast(Instance)->HandInterpolatorImpl.SetInterpolation( + StaticCast(Finger)->Finger, + StaticCast(Movement)->Movement, + InputAt0, + InputAt1, + AngleAt0, + AngleAt1); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + void* Instance, + void* Movement, + const float InputAt0, + const float InputAt1, + const float AngleAt0, + const float AngleAt1) +{ + StaticCast(Instance)->HandInterpolatorImpl.SetInterpolation( + StaticCast(Movement)->Movement, + InputAt0, + InputAt1, + AngleAt0, + AngleAt1); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_GetInterpolation( + void* Instance, + void* OutInterpolation, + const int32 Finger, + const int32 Movement) +{ + StaticCast(OutInterpolation)->InterpolationSetImpl = + StaticCast(Instance)->HandInterpolatorImpl.GetInterpolation( + Finger, + Movement); +} + +bool SGCoreImpl_FSGHandInterpolatorImpl_Equals( + void* Instance, + void* HandInterpolatorImpl) +{ + return StaticCast(Instance)->HandInterpolatorImpl.Equals( + StaticCast(HandInterpolatorImpl)->HandInterpolatorImpl); +} + +void SGCoreImpl_FSGHandInterpolatorImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->HandInterpolatorImpl.Serialize(); +} + +/******************************************************************************* + * SGHandPoseImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGHandPoseImpl_Deserialize( + void* OutHandPoseImpl, + void* SerializedString) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::Deserialize(StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGHandPoseImpl_FromHandAngles_HandAngles_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + void* HandAngles, + const bool bRightHanded, + void* HandDimensions) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::FromHandAngles( + StaticCast(HandAngles)->Array, + bRightHanded, + StaticCast(HandDimensions)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGHandPoseImpl_FromHandAngles_HandAngles_bRightHanded( + void* OutHandPoseImpl, + void* HandAngles, + const bool bRightHanded) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::FromHandAngles( + StaticCast(HandAngles)->Array, + bRightHanded); +} + +void SGCoreImpl_FSGHandPoseImpl_DefaultIdle_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + const bool bRightHanded, + void* HandDimensions) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::DefaultIdle( + bRightHanded, + StaticCast(HandDimensions)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGHandPoseImpl_DefaultIdle_bRightHanded( + void* OutHandPoseImpl, + const bool bRightHanded) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::DefaultIdle( + bRightHanded); +} + +void SGCoreImpl_FSGHandPoseImpl_FlatHand_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + const bool bRightHanded, + void* HandDimensions) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::FlatHand( + bRightHanded, + StaticCast(HandDimensions)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGHandPoseImpl_FlatHand_bRightHanded( + void* OutHandPoseImpl, + const bool bRightHanded) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::FlatHand( + bRightHanded); +} + +void SGCoreImpl_FSGHandPoseImpl_ThumbsUp_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + const bool bRightHanded, + void* HandDimensions) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::ThumbsUp( + bRightHanded, + StaticCast(HandDimensions)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGHandPoseImpl_ThumbsUp_bRightHanded( + void* OutHandPoseImpl, + const bool bRightHanded) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::ThumbsUp( + bRightHanded); +} + +void SGCoreImpl_FSGHandPoseImpl_Fist_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + const bool bRightHanded, + void* HandDimensions) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::Fist( + bRightHanded, + StaticCast(HandDimensions)->BasicHandModelImpl); +} + +void SGCoreImpl_FSGHandPoseImpl_Fist_bRightHanded( + void* OutHandPoseImpl, + const bool bRightHanded) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl::Fist( + bRightHanded); +} + +void SGCoreImpl_FSGHandPoseImpl_ctor( + void* OutHandPoseImpl) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = FSGHandPoseImpl(); +} + +void SGCoreImpl_FSGHandPoseImpl_ctor_bRightHanded_JointPositions_JointRotations_HandAngles( + void* OutHandPoseImpl, + const bool bRightHanded, + void* JointPositions, + void* JointRotations, + void* HandAngles) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl( + bRightHanded, + StaticCast(JointPositions)->Array, + StaticCast(JointRotations)->Array, + StaticCast(HandAngles)->Array); +} + +void SGCoreImpl_FSGHandPoseImpl_ctor_copy( + void* OutHandPoseImpl, + void* Rhs) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + FSGHandPoseImpl(StaticCast(Rhs)->HandPoseImpl); +} + +void SGCoreImpl_FSGHandPoseImpl_ctor_copy_assignment( + void* OutHandPoseImpl, + void* Rhs) +{ + StaticCast(OutHandPoseImpl)->HandPoseImpl = + StaticCast(Rhs)->HandPoseImpl; +} + +bool SGCoreImpl_FSGHandPoseImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->HandPoseImpl.IsRight(); +} + +void SGCoreImpl_FSGHandPoseImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->HandPoseImpl.SetIsRight(bRightHanded); +} + +void SGCoreImpl_FSGHandPoseImpl_GetJointPositions( + void* Instance, + void* OutPositions) +{ + StaticCast(OutPositions)->Array = + StaticCast(Instance)->HandPoseImpl.GetJointPositions(); +} + +void SGCoreImpl_FSGHandPoseImpl_SetJointPositions( + void* Instance, + void* JointPositions) +{ + StaticCast(Instance)->HandPoseImpl.SetJointPositions( + StaticCast(JointPositions)->Array); +} + +void SGCoreImpl_FSGHandPoseImpl_GetJointRotations( + void* Instance, + void* OutRotations) +{ + StaticCast(OutRotations)->Array = + StaticCast(Instance)->HandPoseImpl.GetJointRotations(); +} + +void SGCoreImpl_FSGHandPoseImpl_SetJointRotations( + void* Instance, + void* JointRotations) +{ + StaticCast(Instance)->HandPoseImpl.SetJointRotations( + StaticCast(JointRotations)->Array); +} + +void SGCoreImpl_FSGHandPoseImpl_GetHandAngles( + void* Instance, + void* OutAngles) +{ + StaticCast(OutAngles)->Array = + StaticCast(Instance)->HandPoseImpl.GetHandAngles(); +} + +void SGCoreImpl_FSGHandPoseImpl_SetHandAngles( + void* Instance, + void* HandAngles) +{ + StaticCast(Instance)->HandPoseImpl.SetHandAngles( + StaticCast(HandAngles)->Array); +} + +bool SGCoreImpl_FSGHandPoseImpl_Equals( + void* Instance, + void* HandPoseImpl) +{ + return StaticCast(Instance)->HandPoseImpl.Equals( + StaticCast(HandPoseImpl)->HandPoseImpl); +} + +float SGCoreImpl_FSGHandPoseImpl_GetNormalizedFlexion_Finger_bClamp01( + void* Instance, + void* Finger, + const bool bClamp01) +{ + return StaticCast(Instance)->HandPoseImpl.GetNormalizedFlexion( + StaticCast(Finger)->Finger, + bClamp01); +} + +void SGCoreImpl_FSGHandPoseImpl_GetNormalizedFlexion_bClamp01( + void* Instance, + void* OutFlexion, + const bool bClamp01) +{ + StaticCast(OutFlexion)->Array = + StaticCast(Instance)->HandPoseImpl.GetNormalizedFlexion( + bClamp01); +} + +void SGCoreImpl_FSGHandPoseImpl_ToString( + void* Instance, + void* OutString, + const bool bShortFormat) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->HandPoseImpl.ToString(bShortFormat); +} + +void SGCoreImpl_FSGHandPoseImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->HandPoseImpl.Serialize(); +} + +/******************************************************************************* + * SGHandProfileImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGHandProfileImpl_Default( + void* OutHandProfileImpl, + const bool bRightHanded) +{ + StaticCast(OutHandProfileImpl)->HandProfileImpl = + FSGHandProfileImpl::Default(bRightHanded); +} + +void SGCoreImpl_FSGHandProfileImpl_Deserialize( + void* OutHandProfileImpl, + void* SerializedString) +{ + StaticCast(OutHandProfileImpl)->HandProfileImpl = + FSGHandProfileImpl::Deserialize(StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGHandProfileImpl_GetProfileDirectory( + void* OutDirectory) +{ + StaticCast(OutDirectory)->String = FSGHandProfileImpl::GetProfileDirectory(); +} + +void SGCoreImpl_FSGHandProfileImpl_GetLeftHandFileName( + void* OutFileName) +{ + StaticCast(OutFileName)->String = FSGHandProfileImpl::GetLeftHandFileName(); +} + +void SGCoreImpl_FSGHandProfileImpl_GetRightHandFileName( + void* OutFileName) +{ + StaticCast(OutFileName)->String = FSGHandProfileImpl::GetRightHandFileName(); +} + +void SGCoreImpl_FSGHandProfileImpl_GetProfileFileName( + void* OutFileName, + const bool bRightHanded) +{ + StaticCast(OutFileName)->String = FSGHandProfileImpl::GetProfileFileName(bRightHanded); +} + +bool SGCoreImpl_FSGHandProfileImpl_GetLatestProfile( + const bool bRightHanded, + void* OutLatestProfile) +{ + return FSGHandProfileImpl::GetLatestProfile( + bRightHanded, + StaticCast(OutLatestProfile)->HandProfileImpl); +} + +bool SGCoreImpl_FSGHandProfileImpl_StoreProfile( + void* ProfileToStore) +{ + return FSGHandProfileImpl::StoreProfile( + StaticCast(ProfileToStore)->HandProfileImpl); +} + +bool SGCoreImpl_FSGHandProfileImpl_ResetCalibration_bRightHanded_bOnDisk( + const bool bRightHanded, + const bool bOnDisk) +{ + return FSGHandProfileImpl::ResetCalibration(bRightHanded, bOnDisk); +} + +void SGCoreImpl_FSGHandProfileImpl_ResetCalibration_bOnDisk( + const bool bOnDisk) +{ + /// NOTE + /// Due to overload method with a default parameter value, the compiler will get confused and stops with the error: + /// "call to 'ResetCalibration' is ambiguous" + /// So: + void (*RC)(bool) = &FSGHandProfileImpl::ResetCalibration; + RC(bOnDisk); +} + +void SGCoreImpl_FSGHandProfileImpl_ctor( + void* OutHandProfileImpl) +{ + StaticCast(OutHandProfileImpl)->HandProfileImpl = FSGHandProfileImpl(); +} + +void SGCoreImpl_FSGHandProfileImpl_ctor_bRightHanded_SenseGloveHandProfile_NovaGloveHandProfile( + void* OutHandProfileImpl, + const bool bRightHanded, + void* SenseGloveHandProfile, + void* NovaGloveHandProfile) +{ + StaticCast(OutHandProfileImpl)->HandProfileImpl = FSGHandProfileImpl( + bRightHanded, + StaticCast(SenseGloveHandProfile)->SenseGloveHandProfileImpl, + StaticCast(NovaGloveHandProfile)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGHandProfileImpl_ctor_copy( + void* OutHandProfileImpl, + void* Rhs) +{ + StaticCast(OutHandProfileImpl)->HandProfileImpl = + FSGHandProfileImpl(StaticCast(Rhs)->HandProfileImpl); +} + +void SGCoreImpl_FSGHandProfileImpl_ctor_copy_assignment( + void* OutHandProfileImpl, + void* Rhs) +{ + StaticCast(OutHandProfileImpl)->HandProfileImpl = + StaticCast(Rhs)->HandProfileImpl; +} + +bool SGCoreImpl_FSGHandProfileImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->HandProfileImpl.IsRight(); +} + +void SGCoreImpl_FSGHandProfileImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->HandProfileImpl.SetIsRight(bRightHanded); +} + +void SGCoreImpl_FSGHandProfileImpl_GetSenseGloveHandProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(OutProfile)->SenseGloveHandProfileImpl = + StaticCast(Instance)->HandProfileImpl.GetSenseGloveHandProfile(); +} + +void SGCoreImpl_FSGHandProfileImpl_SetSenseGloveHandProfile( + void* Instance, + void* SenseGloveHandProfile) +{ + StaticCast(Instance)->HandProfileImpl.SetSenseGloveHandProfile( + StaticCast(SenseGloveHandProfile)->SenseGloveHandProfileImpl); +} + +void SGCoreImpl_FSGHandProfileImpl_GetNovaGloveHandProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(OutProfile)->NovaGloveHandProfileImpl = + StaticCast(Instance)->HandProfileImpl.GetNovaGloveHandProfile(); +} + +void SGCoreImpl_FSGHandProfileImpl_SetNovaGloveHandProfile( + void* Instance, + void* NovaGloveHandProfile) +{ + StaticCast(Instance)->HandProfileImpl.SetNovaGloveHandProfile( + StaticCast(NovaGloveHandProfile)->NovaGloveHandProfileImpl); +} + +bool SGCoreImpl_FSGHandProfileImpl_Equals( + void* Instance, + void* HandProfileImpl) +{ + return StaticCast(Instance)->HandProfileImpl.Equals( + StaticCast(HandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHandProfileImpl_Reset( + void* Instance) +{ + StaticCast(Instance)->HandProfileImpl.Reset(); +} + +void SGCoreImpl_FSGHandProfileImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->HandProfileImpl.Serialize(); +} + +/******************************************************************************* + * SGHapticGloveImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGHapticGloveImpl_GetHapticGloves( + void* OutGloves) +{ + StaticCast(OutGloves)->Array = + FSGHapticGloveImpl::GetHapticGloves(); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetGlove_OutGlove( + void* OutGlove) +{ + return FSGHapticGloveImpl::GetGlove( + StaticCast(OutGlove)->Ptr); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetGlove_bRightHanded_OutGlove( + const bool bRightHanded, + void* OutGlove) +{ + return FSGHapticGloveImpl::GetGlove( + bRightHanded, + StaticCast(OutGlove)->Ptr); +} + +void SGCoreImpl_FSGHapticGloveImpl_ctor( + void* OutHapticGloveImpl) +{ + StaticCast(OutHapticGloveImpl)->HapticGloveImpl = FSGHapticGloveImpl(); +} + +void SGCoreImpl_FSGHapticGloveImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGHapticGloveImpl_ctor_copy( + void* OutHapticGloveImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveImpl)->HapticGloveImpl = + FSGHapticGloveImpl(StaticCast(Rhs)->HapticGloveImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(StaticCast(Rhs)->HapticGloveImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_ctor_copy_assignment( + void* OutHapticGloveImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveImpl)->HapticGloveImpl = + StaticCast(Rhs)->HapticGloveImpl; +} + +void SGCoreImpl_FSGHapticGloveImpl_GetDeviceType( + void* Instance, + void* OutType) +{ + StaticCast(OutType)->Type = + StaticCast(Instance)->Ptr->GetDeviceType(); +} + +void SGCoreImpl_FSGHapticGloveImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->Ptr->GetDeviceId(); +} + +void SGCoreImpl_FSGHapticGloveImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->Ptr->GetHardwareVersion(); +} + +int32 SGCoreImpl_FSGHapticGloveImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetFirmwareVersion(); +} + +int32 SGCoreImpl_FSGHapticGloveImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetSubFirmwareVersion(); +} + +bool SGCoreImpl_FSGHapticGloveImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsRight(); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetImuRotation( + void* Instance, + void* OutImu) +{ + return StaticCast(Instance)->Ptr->GetImuRotation( + StaticCast(OutImu)->Quat); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + void* Instance, + void* HandGeometry, + void* HandProfile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandGeometry)->BasicHandModelImpl, + StaticCast(HandProfile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandProfile_OutHandPose( + void* Instance, + void* HandProfile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandProfile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandGeometry_OutHandPose( + void* Instance, + void* HandGeometry, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandGeometry)->BasicHandModelImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_OutHandPose( + void* Instance, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(OutHandPose)->HandPoseImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_StopHaptics( + void* Instance) +{ + return StaticCast(Instance)->Ptr->StopHaptics(); +} + +void SGCoreImpl_FSGHapticGloveImpl_StopVibrations( + void* Instance) +{ + return StaticCast(Instance)->Ptr->StopVibrations(); +} + +void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_BuzzCommand( + void* Instance, + void* BuzzCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(BuzzCommand)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ThumperCommand( + void* Instance, + void* ThumperCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ThumperCommand)->ThumperCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl, + StaticCast(BuzzCommand)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand, + void* ThumperCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl, + StaticCast(BuzzCommand)->BuzzCommandImpl, + StaticCast(ThumperCommand)->ThumperCommandImpl); +} + +bool SGCoreImpl_FSGHapticGloveImpl_GetCalibrationValues( + void* Instance, + void* OutValues) +{ + return StaticCast(Instance)->Ptr->GetCalibrationValues( + StaticCast(OutValues)->Array); +} + +void SGCoreImpl_FSGHapticGloveImpl_ResetCalibrationRange( + void* Instance) +{ + StaticCast(Instance)->Ptr->ResetCalibrationRange(); +} + +void SGCoreImpl_FSGHapticGloveImpl_UpdateCalibrationRange( + void* Instance) +{ + StaticCast(Instance)->Ptr->UpdateCalibrationRange(); +} + +void SGCoreImpl_FSGHapticGloveImpl_UpdateCalibrationRange_CalibrationValues( + void* Instance, + void* CalibrationValues) +{ + StaticCast(Instance)->Ptr->UpdateCalibrationRange( + StaticCast(CalibrationValues)->Array); +} + +void SGCoreImpl_FSGHapticGloveImpl_GetCalibrationRange( + void* Instance, + void* OutMinValues, + void* OutMaxValues) +{ + StaticCast(Instance)->Ptr->GetCalibrationRange( + StaticCast(OutMinValues)->Array, + StaticCast(OutMaxValues)->Array); +} + +void SGCoreImpl_FSGHapticGloveImpl_UpdateCalibration( + void* Instance, + void* OutProfile) +{ + StaticCast(Instance)->Ptr->UpdateCalibration( + StaticCast(OutProfile)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_ApplyCalibration( + void* Instance, + void* OutProfile) +{ + StaticCast(Instance)->Ptr->ApplyCalibration( + StaticCast(OutProfile)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveImpl_GetWristLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutWristPosition, + void* OutWristRotation) +{ + StaticCast(Instance)->Ptr->GetWristLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(OutWristPosition)->Vector, + StaticCast(OutWristRotation)->Quat); +} + +void SGCoreImpl_FSGHapticGloveImpl_GetGloveLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutGlovePosition, + void* OutGloveRotation) +{ + StaticCast(Instance)->Ptr->GetGloveLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(OutGlovePosition)->Vector, + StaticCast(OutGloveRotation)->Quat); +} + +/******************************************************************************* + * SGHapticGloveCalibrationCheckImpl.h + ******************************************************************************/ + +float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveThreshold() +{ + return FSGHapticGloveCalibrationCheckImpl::GetSenseGloveThreshold(); +} + +float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveThreshold() +{ + return FSGHapticGloveCalibrationCheckImpl::GetNovaGloveThreshold(); +} + +float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveMinFlexion() +{ + return FSGHapticGloveCalibrationCheckImpl::GetSenseGloveMinFlexion(); +} + +float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveMinFlexion() +{ + return FSGHapticGloveCalibrationCheckImpl::GetNovaGloveMinFlexion(); +} + +float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveMinAbduction() +{ + return FSGHapticGloveCalibrationCheckImpl::GetSenseGloveMinAbduction(); +} + +float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveMinAbduction() +{ + return FSGHapticGloveCalibrationCheckImpl::GetNovaGloveMinAbduction(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_NeedsCheck( + void* DeviceType) +{ + return FSGHapticGloveCalibrationCheckImpl::NeedsCheck(StaticCast(DeviceType)->Type); +} + +int32 SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_OutOfBounds( + void* PreviousRange, + void* CurrentValues, + void* DeviceType) +{ + return FSGHapticGloveCalibrationCheckImpl::OutOfBounds( + StaticCast(PreviousRange)->SensorRangeImpl, + StaticCast(CurrentValues)->Array, + StaticCast(DeviceType)->Type); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_MovedMinimum( + void* CurrentRange, + void* DeviceType) +{ + return FSGHapticGloveCalibrationCheckImpl::MovedMinimum( + StaticCast(CurrentRange)->Array, + StaticCast(DeviceType)->Type); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_MatchesLast( + void* CurrentRange, + void* LastRange, + void* DeviceType) +{ + return FSGHapticGloveCalibrationCheckImpl::MatchesLast( + StaticCast(CurrentRange)->Array, + StaticCast(LastRange)->Array, + StaticCast(DeviceType)->Type); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor( + void* OutHapticGloveCalibrationCheckImpl) +{ + StaticCast(OutHapticGloveCalibrationCheckImpl)-> + HapticGloveCalibrationCheckImpl = FSGHapticGloveCalibrationCheckImpl(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_LastCalibrationRange( + void* OutHapticGloveCalibrationCheckImpl, + void* LastCalibrationRange) +{ + StaticCast(OutHapticGloveCalibrationCheckImpl)-> + HapticGloveCalibrationCheckImpl = FSGHapticGloveCalibrationCheckImpl( + StaticCast(LastCalibrationRange)->SensorRangeImpl); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_copy( + void* OutHapticGloveCalibrationCheckImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveCalibrationCheckImpl)-> + HapticGloveCalibrationCheckImpl = FSGHapticGloveCalibrationCheckImpl( + StaticCast(Rhs)->HapticGloveCalibrationCheckImpl); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_copy_assignment( + void* OutHapticGloveCalibrationCheckImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveCalibrationCheckImpl)-> + HapticGloveCalibrationCheckImpl = StaticCast(Rhs)-> + HapticGloveCalibrationCheckImpl; +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetLastSensorRange( + void* Instance, + void* OutLastSensorRange) +{ + StaticCast(OutLastSensorRange)->SensorRangeImpl = + StaticCast( + Instance)->HapticGloveCalibrationCheckImpl.GetLastSensorRange(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_SetLastSensorRange( + void* Instance, + void* LastSensorRange) +{ + StaticCast( + Instance)->HapticGloveCalibrationCheckImpl.SetLastSensorRange( + StaticCast(LastSensorRange)->SensorRangeImpl); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetCalibrationStage( + void* Instance, + void* OutStage) +{ + StaticCast(OutStage)->Stage = + StaticCast( + Instance)->HapticGloveCalibrationCheckImpl.GetCalibrationStage(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ReachedConclusion( + void* Instance) +{ + return StaticCast( + Instance)->HapticGloveCalibrationCheckImpl.ReachedConclusion(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_Reset( + void* Instance) +{ + StaticCast(Instance)->HapticGloveCalibrationCheckImpl.Reset(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_CheckRange( + void* Instance, + void* CurrentValues, + const float DeltaSeconds, + void* DeviceType) +{ + StaticCast(Instance)->HapticGloveCalibrationCheckImpl.CheckRange( + StaticCast(CurrentValues)->Array, + DeltaSeconds, + StaticCast(DeviceType)->Type); +} + +/******************************************************************************* + * SGHapticGloveCalibrationSequenceImpl.h + ******************************************************************************/ + +int32 SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetMaxDataPoints() +{ + return FSGHapticGloveCalibrationSequenceImpl::GetMaxDataPoints(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileProfile_SensorRange_ForDevice_bRightHanded_OutProfile( + void* SensorRange, + void* ForDevice, + const bool bRightHanded, + void* OutProfile) +{ + return FSGHapticGloveCalibrationSequenceImpl::CompileProfile( + StaticCast(SensorRange)->SensorRangeImpl, + StaticCast(ForDevice)->Type, + bRightHanded, + StaticCast(OutProfile)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor( + void* OutHapticGloveCalibrationSequenceImpl) +{ + StaticCast(OutHapticGloveCalibrationSequenceImpl)-> + HapticGloveCalibrationSequenceImpl = FSGHapticGloveCalibrationSequenceImpl{}; +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_LinkedGlove( + void* OutHapticGloveCalibrationSequenceImpl, + void* LinkedGlove) +{ + StaticCast(OutHapticGloveCalibrationSequenceImpl)-> + HapticGloveCalibrationSequenceImpl = FSGHapticGloveCalibrationSequenceImpl{ + StaticCast(LinkedGlove)->Ptr.ToSharedRef() + }; +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_LinkedGlove_MakeShared( + void* OutSharedPtr, + void* LinkedGlove) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(LinkedGlove)->Ptr.ToSharedRef() + ); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy( + void* OutHapticGloveCalibrationSequenceImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveCalibrationSequenceImpl)-> + HapticGloveCalibrationSequenceImpl = FSGHapticGloveCalibrationSequenceImpl{ + StaticCast(Rhs)->HapticGloveCalibrationSequenceImpl + }; +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Rhs)->HapticGloveCalibrationSequenceImpl + ); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy_assignment( + void* OutHapticGloveCalibrationSequenceImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveCalibrationSequenceImpl)-> + HapticGloveCalibrationSequenceImpl = + StaticCast(Rhs)->HapticGloveCalibrationSequenceImpl; +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ToHapticGloveCalibrationSequenceImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr-> + ToHapticGloveCalibrationSequenceImplRef(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ToHapticGloveQuickCalibrationImplRef( + void* Instance, + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + StaticCast(Instance)->Ptr-> + ToHapticGloveQuickCalibrationImplRef(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetLinkedGlove( + void* Instance, + void* OutGlove) +{ + StaticCast(OutGlove)->Ptr = + StaticCast(Instance)->Ptr->GetLinkedGlove(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_SetLinkedGlove( + void* Instance, + void* LinkedGlove) +{ + StaticCast(Instance)->Ptr->SetLinkedGlove( + StaticCast(LinkedGlove)->Ptr.ToSharedRef()); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCalibrationPoints( + void* Instance, + void* OutPoints) +{ + StaticCast(OutPoints)->Array = + StaticCast(Instance)->Ptr->GetCalibrationPoints(); +} + +float SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetElapsedTime( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetElapsedTime(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_IsManuallyCompleted( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsManuallyCompleted(); +} + +int32 SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCurrentStage( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetCurrentStage(); +} + +SIZE_T SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCalibrationPointsCount( + void* Instance) +{ + return StaticCast(Instance)->Ptr-> + GetCalibrationPointsCount(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_AutoCompleted( + void* Instance) +{ + return StaticCast(Instance)->Ptr->AutoCompleted(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Completed( + void* Instance) +{ + return StaticCast(Instance)->Ptr->Completed(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Reset( + void* Instance) +{ + StaticCast(Instance)->Ptr->Reset(); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_AddDataPoint( + void* Instance, + void* CalibrationPoints) +{ + StaticCast(Instance)->Ptr->AddDataPoint( + StaticCast(CalibrationPoints)->Array); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Update( + void* Instance, + const float DeltaSeconds) +{ + StaticCast(Instance)->Ptr->Update( + DeltaSeconds); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ConfirmCurrentStep( + void* Instance) +{ + StaticCast(Instance)->Ptr->ConfirmCurrentStep(); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileRange( + void* Instance, + void* OutSensorRange) +{ + return StaticCast(Instance)->Ptr->CompileRange( + StaticCast(OutSensorRange)->SensorRangeImpl); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileProfile_ForDevice_bRightHanded_OutProfile( + void* Instance, + void* ForDevice, + const bool bRightHanded, + void* OutProfile) +{ + return StaticCast(Instance)->Ptr->CompileProfile( + StaticCast(ForDevice)->Type, + bRightHanded, + StaticCast(OutProfile)->HandProfileImpl); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetHandPose_OutCurrentHandPose( + void* Instance, + void* OutCurrentHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(OutCurrentHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetHandPose_bRightHanded_OutCurrentHandPose( + void* Instance, + const bool bRightHanded, + void* OutCurrentHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + bRightHanded, + StaticCast(OutCurrentHandPose)->HandPoseImpl); +} + +void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCurrentInstruction( + void* Instance, + void* OutInstruction, + void* NextStepKey) +{ + StaticCast(NextStepKey)->String = + StaticCast(Instance)->Ptr->GetCurrentInstruction( + StaticCast(NextStepKey)->String); +} + +/******************************************************************************* + * SGHapticGloveCommandBufferImpl.h + ******************************************************************************/ + +int32 SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxForceFeedbackCommands() +{ + return FSGHapticGloveCommandBufferImpl::GetMaxForceFeedbackCommands(); +} + +int32 SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxBuzzCommands() +{ + return FSGHapticGloveCommandBufferImpl::GetMaxBuzzCommands(); +} + +int32 SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxThumpCommands() +{ + return FSGHapticGloveCommandBufferImpl::GetMaxThumpCommands(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor( + void* OutHapticGloveCommandBufferImpl) +{ + StaticCast(OutHapticGloveCommandBufferImpl)-> + HapticGloveCommandBufferImpl = FSGHapticGloveCommandBufferImpl(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor_copy( + void* OutHapticGloveCommandBufferImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveCommandBufferImpl)-> + HapticGloveCommandBufferImpl = FSGHapticGloveCommandBufferImpl( + StaticCast(Rhs)->HapticGloveCommandBufferImpl); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor_copy_assignment( + void* OutHapticGloveCommandBufferImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveCommandBufferImpl)-> + HapticGloveCommandBufferImpl = StaticCast(Rhs)-> + HapticGloveCommandBufferImpl; +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetForceFeedbackCommandsQueue( + void* Instance, + void* OutForceFeedbackCommandsQueue) +{ + StaticCast(OutForceFeedbackCommandsQueue)->Array = + StaticCast(Instance)->HapticGloveCommandBufferImpl. + GetForceFeedbackCommandsQueue(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_SetForceFeedbackCommandsQueue( + void* Instance, + void* ForceFeedbackCommandsQueue) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl. + SetForceFeedbackCommandsQueue( + StaticCast< + FSGIC_TArray_FSGForceFeedbackCommandImpl*>( + ForceFeedbackCommandsQueue)->Array); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetBuzzCommandsQueue( + void* Instance, + void* OutBuzzCommandsQueue) +{ + StaticCast(OutBuzzCommandsQueue)->Array = + StaticCast(Instance)->HapticGloveCommandBufferImpl. + GetBuzzCommandsQueue(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_SetBuzzCommandsQueue( + void* Instance, + void* BuzzCommandsQueue) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl. + SetBuzzCommandsQueue( + StaticCast( + BuzzCommandsQueue)->Array); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetThumperCommandsQueue( + void* Instance, + void* OutThumperCommandsQueue) +{ + StaticCast(OutThumperCommandsQueue)->Array = + StaticCast(Instance)->HapticGloveCommandBufferImpl. + GetThumperCommandsQueue(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_SetThumperCommandsQueue( + void* Instance, + void* ThumperCommandsQueue) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl. + SetThumperCommandsQueue( + StaticCast( + ThumperCommandsQueue)->Array); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ClearForceFeedbackCommandsQueue( + void* Instance) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl. + ClearForceFeedbackCommandsQueue(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ClearVibrations( + void* Instance) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.ClearVibrations(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_Clear( + void* Instance) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.Clear(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.AddCommand( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_BuzzCommand( + void* Instance, + void* BuzzCommand) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.AddCommand( + StaticCast(BuzzCommand)->TimedBuzzCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_ThumpCommand( + void* Instance, + void* ThumpCommand) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.AddCommand( + StaticCast(ThumpCommand)->TimedThumpCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_UpdateTimedCommands( + void* Instance, + const float DeltaSeconds) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.UpdateTimedCommands( + DeltaSeconds); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalForceFeedbackLevels_LastForceFeedbackCommand( + void* Instance, + void* OutForceFeedbackCommandImpl, + void* LastForceFeedbackCommand) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + StaticCast(Instance)-> + HapticGloveCommandBufferImpl.GetTotalForceFeedbackLevels(StaticCast( + LastForceFeedbackCommand)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalForceFeedbackLevels( + void* Instance, + void* OutForceFeedbackCommandImpl) +{ + StaticCast(OutForceFeedbackCommandImpl)->ForceFeedbackCommandImpl = + StaticCast(Instance)-> + HapticGloveCommandBufferImpl.GetTotalForceFeedbackLevels(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalBuzzLevels( + void* Instance, + void* OutBuzzCommandImpl) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + StaticCast(Instance)-> + HapticGloveCommandBufferImpl.GetTotalBuzzLevels(); +} + +void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalThumperLevels( + void* Instance, + void* OutThumperCommandImpl) +{ + StaticCast(OutThumperCommandImpl)->ThumperCommandImpl = + StaticCast(Instance)-> + HapticGloveCommandBufferImpl.GetTotalThumperLevels(); +} + +void +SGCoreImpl_FSGHapticGloveCommandBufferImpl_FlushHaptics_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand_bClearForceFeedbackQueue( + void* Instance, + void* LastBrakeLevel, + void* OutForceFeedbackCommand, + void* OutBuzzCommand, + void* OutThumperCommand, + const bool bClearForceFeedbackQueue) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.FlushHaptics( + StaticCast(LastBrakeLevel)->ForceFeedbackCommandImpl, + StaticCast(OutForceFeedbackCommand)->ForceFeedbackCommandImpl, + StaticCast(OutBuzzCommand)->BuzzCommandImpl, + StaticCast(OutThumperCommand)->ThumperCommandImpl, + bClearForceFeedbackQueue); +} + +void +SGCoreImpl_FSGHapticGloveCommandBufferImpl_FlushHaptics_DeltaSeconds_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand( + void* Instance, + const float DeltaSeconds, + void* LastBrakeLevel, + void* OutForceFeedbackCommand, + void* OutBuzzCommand, + void* OutThumperCommand) +{ + StaticCast(Instance)->HapticGloveCommandBufferImpl.FlushHaptics( + DeltaSeconds, + StaticCast(LastBrakeLevel)->ForceFeedbackCommandImpl, + StaticCast(OutForceFeedbackCommand)->ForceFeedbackCommandImpl, + StaticCast(OutBuzzCommand)->BuzzCommandImpl, + StaticCast(OutThumperCommand)->ThumperCommandImpl); +} + +/******************************************************************************* + * SGHapticGloveHandProfilesImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetProfileDirectory( + void* OutDirectory) +{ + StaticCast(OutDirectory)->String = FSGHapticGloveHandProfilesImpl::GetProfileDirectory(); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfileDirectory( + void* Directory) +{ + FSGHapticGloveHandProfilesImpl::SetProfileDirectory(StaticCast(Directory)->String); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetLeftHandProfile( + void* OutHandProfileImpl) +{ + FSGHapticGloveHandProfilesImpl::GetLeftHandProfile( + StaticCast(OutHandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetLeftHandProfile( + void* HandProfileImpl) +{ + FSGHapticGloveHandProfilesImpl::SetLeftHandProfile( + StaticCast(HandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetRightHandProfile( + void* OutHandProfileImpl) +{ + FSGHapticGloveHandProfilesImpl::GetRightHandProfile( + StaticCast(OutHandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetRightHandProfile( + void* HandProfileImpl) +{ + FSGHapticGloveHandProfilesImpl::SetRightHandProfile( + StaticCast(HandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetProfile( + const bool bRightHanded, + void* OutHandProfileImpl) +{ + FSGHapticGloveHandProfilesImpl::GetProfile( + bRightHanded, + StaticCast(OutHandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfile_HandProfileImpl( + void* HandProfileImpl) +{ + FSGHapticGloveHandProfilesImpl::SetProfile( + StaticCast(HandProfileImpl)->HandProfileImpl); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfile_HandProfileImpl_bRightHanded( + void* HandProfileImpl, + const bool bRightHanded) +{ + FSGHapticGloveHandProfilesImpl::SetProfile( + StaticCast(HandProfileImpl)->HandProfileImpl, + bRightHanded); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_RestoreDefaults() +{ + FSGHapticGloveHandProfilesImpl::RestoreDefaults(); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_RestoreDefaults_bRightHanded( + const bool bRightHanded) +{ + FSGHapticGloveHandProfilesImpl::RestoreDefaults(bRightHanded); +} + +void SGCoreImpl_FSGHapticGloveHandProfilesImpl_TryLoadingFromDisk() +{ + FSGHapticGloveHandProfilesImpl::TryLoadingFromDisk(); +} + +bool SGCoreImpl_FSGHapticGloveHandProfilesImpl_SaveLastRange( + void* CurrentRange, + void* ForGlove) +{ + return FSGHapticGloveHandProfilesImpl::SaveLastRange( + StaticCast(CurrentRange)->SensorRangeImpl, + StaticCast(ForGlove)->Ptr.ToSharedRef()); +} + +bool SGCoreImpl_FSGHapticGloveHandProfilesImpl_LoadLastRange( + void* ForGlove, + void* OutLastRange) +{ + return FSGHapticGloveHandProfilesImpl::LoadLastRange( + StaticCast(ForGlove)->Ptr.ToSharedRef(), + StaticCast(OutLastRange)->SensorRangeImpl); +} + +/******************************************************************************* + * SGHapticGloveQuickCalibrationImpl.h + ******************************************************************************/ + +float SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetDefaultAutoEndTimeout() +{ + return FSGHapticGloveQuickCalibrationImpl::GetDefaultAutoEndTimeout(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor( + void* OutHapticGloveQuickCalibrationImpl) +{ + StaticCast(OutHapticGloveQuickCalibrationImpl)-> + HapticGloveQuickCalibrationImpl = FSGHapticGloveQuickCalibrationImpl{}; +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_GloveToCalibrate_AutoEndTimeout( + void* OutHapticGloveQuickCalibrationImpl, + void* GloveToCalibrate, + const float AutoEndTimeout) +{ + StaticCast(OutHapticGloveQuickCalibrationImpl)-> + HapticGloveQuickCalibrationImpl = + FSGHapticGloveQuickCalibrationImpl{ + StaticCast(GloveToCalibrate)->Ptr.ToSharedRef(), + AutoEndTimeout}; +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_GloveToCalibrate_AutoEndTimeout_MakeShared( + void* OutSharedPtr, + void* GloveToCalibrate, + const float AutoEndTimeout) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(GloveToCalibrate)->Ptr.ToSharedRef(), + AutoEndTimeout); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy( + void* OutHapticGloveQuickCalibrationImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveQuickCalibrationImpl)-> + HapticGloveQuickCalibrationImpl = FSGHapticGloveQuickCalibrationImpl( + StaticCast(Rhs)->HapticGloveQuickCalibrationImpl); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Rhs)->HapticGloveQuickCalibrationImpl); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy_assignment( + void* OutHapticGloveQuickCalibrationImpl, + void* Rhs) +{ + StaticCast(OutHapticGloveQuickCalibrationImpl)-> + HapticGloveQuickCalibrationImpl = StaticCast(Rhs)-> + HapticGloveQuickCalibrationImpl; +} + +float SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetAutoEndTimeout( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetAutoEndTimeout(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_SetAutoEndTimeout( + void* Instance, + const float AutoEndTimeout) +{ + StaticCast(Instance)->Ptr->SetAutoEndTimeout( + AutoEndTimeout); +} + +int32 SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetSmoothingSamples( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetSmoothingSamples(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetSensorRange( + void* Instance, + void* OutRange) +{ + StaticCast(OutRange)->SensorRangeImpl = + StaticCast(Instance)->Ptr->GetSensorRange(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetTemporaryProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(OutProfile)->HandProfileImpl = + StaticCast(Instance)->Ptr->GetTemporaryProfile(); +} + +bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_CanAnimate( + void* Instance) +{ + return StaticCast(Instance)->Ptr->CanAnimate(); +} + +bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_AutoCompleted( + void* Instance) +{ + return StaticCast(Instance)->Ptr->AutoCompleted(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_Reset( + void* Instance) +{ + StaticCast(Instance)->Ptr->Reset(); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_Update( + void* Instance, + const float DeltaSeconds) +{ + StaticCast(Instance)->Ptr->Update( + DeltaSeconds); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_AddDataPoint( + void* Instance, + void* CalibrationData) +{ + StaticCast(Instance)->Ptr->AddDataPoint( + StaticCast(CalibrationData)->Array); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ConfirmCurrentStep( + void* Instance) +{ + StaticCast(Instance)->Ptr->ConfirmCurrentStep(); +} + +bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_CompileRange( + void* Instance, + void* OutSensorRange) +{ + return StaticCast(Instance)->Ptr->CompileRange( + StaticCast(OutSensorRange)->SensorRangeImpl); +} + +bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetHandPose( + void* Instance, + const bool bRightHanded, + void* OutCurrentHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + bRightHanded, + StaticCast(OutCurrentHandPose)->HandPoseImpl); +} + +void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetCurrentInstruction( + void* Instance, + void* OutInstruction, + void* NextStepKey) +{ + StaticCast(OutInstruction)->String = + StaticCast(Instance)->Ptr->GetCurrentInstruction( + StaticCast(NextStepKey)->String); +} + +/******************************************************************************* + * SGInterpolationSetImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGInterpolationSetImpl_Deserialize( + void* OutInterpolationSetImpl, + void* SerializedString) +{ + StaticCast(OutInterpolationSetImpl)->InterpolationSetImpl = + FSGInterpolationSetImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ctor( + void* OutInterpolationSetImpl) +{ + StaticCast(OutInterpolationSetImpl)->InterpolationSetImpl = + FSGInterpolationSetImpl(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2( + void* OutInterpolationSetImpl, + const float From1, + const float From2, + const float To1, + const float To2) +{ + StaticCast(OutInterpolationSetImpl)->InterpolationSetImpl = + FSGInterpolationSetImpl( + From1, + From2, + To1, + To2); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2_Min_Max( + void* OutInterpolationSetImpl, + const float From1, + const float From2, + const float To1, + const float To2, + const float Min, + const float Max) +{ + StaticCast(OutInterpolationSetImpl)->InterpolationSetImpl = + FSGInterpolationSetImpl( + From1, + From2, + To1, + To2, + Min, + Max); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ctor_copy( + void* OutInterpolationSetImpl, + void* Rhs) +{ + StaticCast(OutInterpolationSetImpl)->InterpolationSetImpl = + FSGInterpolationSetImpl(StaticCast(Rhs)->InterpolationSetImpl); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ctor_copy_assignment( + void* OutInterpolationSetImpl, + void* Rhs) +{ + StaticCast(OutInterpolationSetImpl)->InterpolationSetImpl = + StaticCast(Rhs)->InterpolationSetImpl; +} + +float SGCoreImpl_FSGInterpolationSetImpl_GetX0( + void* Instance) +{ + return StaticCast(Instance)->InterpolationSetImpl.GetX0(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_SetX0( + void* Instance, + const float X0) +{ + return StaticCast(Instance)->InterpolationSetImpl.SetX0(X0); +} + +float SGCoreImpl_FSGInterpolationSetImpl_GetX1( + void* Instance) +{ + return StaticCast(Instance)->InterpolationSetImpl.GetX1(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_SetX1( + void* Instance, + const float X1) +{ + return StaticCast(Instance)->InterpolationSetImpl.SetX1(X1); +} + +float SGCoreImpl_FSGInterpolationSetImpl_GetY0( + void* Instance) +{ + return StaticCast(Instance)->InterpolationSetImpl.GetY0(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_SetY0( + void* Instance, + const float Y0) +{ + return StaticCast(Instance)->InterpolationSetImpl.SetY0(Y0); +} + +float SGCoreImpl_FSGInterpolationSetImpl_GetY1( + void* Instance) +{ + return StaticCast(Instance)->InterpolationSetImpl.GetY1(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_SetY1( + void* Instance, + const float Y1) +{ + return StaticCast(Instance)->InterpolationSetImpl.SetY1(Y1); +} + +float SGCoreImpl_FSGInterpolationSetImpl_GetMin( + void* Instance) +{ + return StaticCast(Instance)->InterpolationSetImpl.GetMin(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_SetMin( + void* Instance, + const float Min) +{ + StaticCast(Instance)->InterpolationSetImpl.SetMin(Min); +} + +float SGCoreImpl_FSGInterpolationSetImpl_GetMax( + void* Instance) +{ + return StaticCast(Instance)->InterpolationSetImpl.GetMax(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_SetMax( + void* Instance, + const float Max) +{ + StaticCast(Instance)->InterpolationSetImpl.SetMax(Max); +} + +float SGCoreImpl_FSGInterpolationSetImpl_Get( + void* Instance, + const float Value, + const bool bLimit, + const bool bNormalizeAngle) +{ + return StaticCast(Instance)->InterpolationSetImpl.Get( + Value, + bLimit, + bNormalizeAngle); +} + +bool SGCoreImpl_FSGInterpolationSetImpl_Equals( + void* Instance, + void* InterpolationSetImpl) +{ + return StaticCast(Instance)->InterpolationSetImpl.Equals( + StaticCast(Instance)->InterpolationSetImpl); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->InterpolationSetImpl.ToString(); +} + +void SGCoreImpl_FSGInterpolationSetImpl_ToString_bLimits( + void* Instance, + void* OutString, + const bool bLimits) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->InterpolationSetImpl.ToString(bLimits); +} + +void SGCoreImpl_FSGInterpolationSetImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->InterpolationSetImpl.Serialize(); +} + +/******************************************************************************* + * SGJointKinematicsImpl.h + ******************************************************************************/ + +bool +SGCoreImpl_FSGJointKinematicsImpl_ForwardKinematics_StartPosition_StartRotation_JointLengths_JointAngles_OutNewPositions_OutNewRotations( + void* StartPosition, + void* StartRotation, + void* JointLengths, + void* JointAngles, + void* OutNewPositions, + void* OutNewRotations) +{ + return FSGJointKinematicsImpl::ForwardKinematics( + StaticCast(StartPosition)->Vector, + StaticCast(StartRotation)->Quat, + StaticCast(JointLengths)->Array, + StaticCast(JointAngles)->Array, + StaticCast(OutNewPositions)->Array, + StaticCast(OutNewRotations)->Array); +} + +bool SGCoreImpl_FSGJointKinematicsImpl_ForwardKinematics_Profile_Finger_JointAngles_OutNewPositions_OutNewRotations( + void* Profile, + void* Finger, + void* JointAngles, + void* OutNewPositions, + void* OutNewRotations) +{ + return FSGJointKinematicsImpl::ForwardKinematics( + StaticCast(Profile)->BasicHandModelImpl, + StaticCast(Finger)->Finger, + StaticCast(JointAngles)->Array, + StaticCast(OutNewPositions)->Array, + StaticCast(OutNewRotations)->Array); +} + +/******************************************************************************* + * SGLibraryImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGLibraryImpl_Version( + void* OutVersion) +{ + StaticCast(OutVersion)->String = FSGLibraryImpl::Version(); +} + +void SGCoreImpl_FSGLibraryImpl_GetBackendType( + void* OutType) +{ + StaticCast(OutType)->Type = FSGLibraryImpl::GetBackendType(); +} + +void SGCoreImpl_FSGLibraryImpl_BackendVersion( + void* OutVersion) +{ + StaticCast(OutVersion)->String = FSGLibraryImpl::BackendVersion(); +} + +void SGCoreImpl_FSGLibraryImpl_SGConnectVersion( + void* OutVersion) +{ + StaticCast(OutVersion)->String = FSGLibraryImpl::SGConnectVersion(); +} + +/******************************************************************************* + * SGNovaGloveImpl.h + ******************************************************************************/ + +ANSICHAR SGCoreImpl_FSGNovaGloveImpl_GetHapticsByte() +{ + return FSGNovaGloveImpl::GetHapticsByte(); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetMinCalibrationRange( + void* OutRange) +{ + StaticCast(OutRange)->Vector = FSGNovaGloveImpl::GetMinCalibrationRange(); +} + +void SGCoreImpl_FSGNovaGloveImpl_CalculateHandPose( + void* OutPose, + void* HandModel, + void* NovaData, + void* Profile) +{ + StaticCast(OutPose)->HandPoseImpl = + FSGNovaGloveImpl::CalculateHandPose( + StaticCast(HandModel)->BasicHandModelImpl, + StaticCast(NovaData)->NovaGloveSensorDataImpl, + StaticCast(Profile)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_Parse( + void* OutNovaGloveImpl, + void* ConstantsString) +{ + StaticCast(OutNovaGloveImpl)->Ptr = + FSGNovaGloveImpl::Parse(StaticCast(ConstantsString)->String); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetNovaGloves( + void* OutGloves) +{ + StaticCast(OutGloves)->Array = + FSGNovaGloveImpl::GetNovaGloves(); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetNovaGlove_OutGlove( + void* OutGlove) +{ + return FSGNovaGloveImpl::GetNovaGlove( + StaticCast(OutGlove)->NovaGloveImpl); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetNovaGlove_bRightHanded_OutGlove( + const bool bRightHanded, + void* OutGlove) +{ + return FSGNovaGloveImpl::GetNovaGlove( + bRightHanded, + StaticCast(OutGlove)->NovaGloveImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetCalibrationValues_SensorData( + void* OutValues, + void* SensorData) +{ + StaticCast(OutValues)->Array = + FSGNovaGloveImpl::GetCalibrationValues( + StaticCast(SensorData)->NovaGloveSensorDataImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_CalibrateInterpolation( + void* MinValues, + void* MaxValues, + void* OutProfile) +{ + FSGNovaGloveImpl::CalibrateInterpolation( + StaticCast(MinValues)->Array, + StaticCast(MaxValues)->Array, + StaticCast(OutProfile)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_CalculateGloveLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + const bool bRightHanded, + void* OutGlovePosition, + void* OutGloveRotation) +{ + FSGNovaGloveImpl::CalculateGloveLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + bRightHanded, + StaticCast(OutGlovePosition)->Vector, + StaticCast(OutGloveRotation)->Quat); +} + +void SGCoreImpl_FSGNovaGloveImpl_CalculateWristLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + const bool bRightHanded, + void* OutWristPosition, + void* OutWristRotation) +{ + FSGNovaGloveImpl::CalculateWristLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + bRightHanded, + StaticCast(OutWristPosition)->Vector, + StaticCast(OutWristRotation)->Quat); +} + +void SGCoreImpl_FSGNovaGloveImpl_ToBytes_ThumperCommand( + void* OutBytes, + void* ThumperCommand) +{ + StaticCast(OutBytes)->String = + FSGNovaGloveImpl::ToBytes( + StaticCast(ThumperCommand)->ThumperCommandImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ToBytes_ForceFeedbackCommand( + void* OutBytes, + void* ForceFeedbackCommand) +{ + StaticCast(OutBytes)->String = + FSGNovaGloveImpl::ToBytes( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ToBytes_BuzzCommand( + void* OutBytes, + void* BuzzCommand) +{ + StaticCast(OutBytes)->String = + FSGNovaGloveImpl::ToBytes( + StaticCast(BuzzCommand)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor( + void* OutNovaGloveImpl) +{ + StaticCast(OutNovaGloveImpl)->NovaGloveImpl = FSGNovaGloveImpl{}; +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor_DeviceInfo( + void* OutNovaGloveImpl, + void* DeviceInfo) +{ + StaticCast(OutNovaGloveImpl)->NovaGloveImpl = + FSGNovaGloveImpl{ + StaticCast(DeviceInfo)->NovaGloveInfoImpl}; +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor_DeviceInfo_MakeShared( + void* OutSharedPtr, + void* DeviceInfo) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(DeviceInfo)->NovaGloveInfoImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor_copy( + void* OutNovaGloveImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveImpl)->NovaGloveImpl = + FSGNovaGloveImpl(StaticCast(Rhs)->NovaGloveImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(StaticCast(Rhs)->NovaGloveImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ctor_copy_assignment( + void* OutNovaGloveImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveImpl)->NovaGloveImpl = + StaticCast(Rhs)->NovaGloveImpl; +} + +void SGCoreImpl_FSGNovaGloveImpl_GetDeviceType( + void* Instance, + void* OutType) +{ + StaticCast(OutType)->Type = + StaticCast(Instance)->Ptr->GetDeviceType(); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->Ptr->GetDeviceId(); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->Ptr->GetHardwareVersion(); +} + +int32 SGCoreImpl_FSGNovaGloveImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetFirmwareVersion(); +} + +int32 SGCoreImpl_FSGNovaGloveImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetSubFirmwareVersion(); +} + +bool SGCoreImpl_FSGNovaGloveImpl_HasBattery( + void* Instance) +{ + return StaticCast(Instance)->Ptr->HasBattery();; +} + +bool SGCoreImpl_FSGNovaGloveImpl_IsCharging( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsCharging(); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetBatteryLevel( + void* Instance, + float* OutBatteryLevel) +{ + return StaticCast(Instance)->Ptr->GetBatteryLevel( + *OutBatteryLevel); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetSensorData( + void* Instance, + void* OutSensorData) +{ + return StaticCast(Instance)->Ptr->GetSensorData( + StaticCast(OutSensorData)->NovaGloveSensorDataImpl); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetImuRotation( + void* Instance, + void* OutImu) +{ + return StaticCast(Instance)->Ptr->GetImuRotation( + StaticCast(OutImu)->Quat); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandModel_Profile_OutHandPose( + void* Instance, + void* HandModel, + void* Profile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandModel)->BasicHandModelImpl, + StaticCast(Profile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + void* Instance, + void* HandGeometry, + void* HandProfile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandGeometry)->BasicHandModelImpl, + StaticCast(HandProfile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandProfile_OutHandPose( + void* Instance, + void* HandProfile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandProfile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand, + void* ThumperCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl, + StaticCast(BuzzCommand)->BuzzCommandImpl, + StaticCast(ThumperCommand)->ThumperCommandImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_BuzzCommand( + void* Instance, + void* BuzzCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(BuzzCommand)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ThumperCommand( + void* Instance, + void* ThumperCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ThumperCommand)->ThumperCommandImpl); +} + +bool SGCoreImpl_FSGNovaGloveImpl_GetCalibrationValues_OutValues( + void* Instance, + void* OutValues) +{ + return StaticCast(Instance)->Ptr->GetCalibrationValues( + StaticCast(OutValues)->Array); +} + +void SGCoreImpl_FSGNovaGloveImpl_ApplyCalibration_HandProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(Instance)->Ptr->ApplyCalibration( + StaticCast(OutProfile)->HandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_ApplyCalibration_NovaGloveHandProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(Instance)->Ptr->ApplyCalibration( + StaticCast(OutProfile)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetGloveLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutGlovePosition, + void* OutGloveRotation) +{ + StaticCast(Instance)->Ptr->GetGloveLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(OutGlovePosition)->Vector, + StaticCast(OutGloveRotation)->Quat); +} + +void SGCoreImpl_FSGNovaGloveImpl_GetWristLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutWristPosition, + void* OutWristRotation) +{ + StaticCast(Instance)->Ptr->GetWristLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(OutWristPosition)->Vector, + StaticCast(OutWristRotation)->Quat); +} + +void SGCoreImpl_FSGNovaGloveImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->ToString(); +} + +/******************************************************************************* + * SGNovaGloveCalibrationImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGNovaGloveCalibrationImpl_ApplyDefaultCalibrationInterpolationValues( + void* RetractedValues, + void* ExtendedValues, + void* Profile) +{ + FSGNovaGloveCalibrationImpl::ApplyDefaultCalibrationInterpolationValues( + StaticCast(RetractedValues)->Array, + StaticCast(ExtendedValues)->Array, + StaticCast(Profile)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveCalibrationImpl_ApplyInterpolationValues( + void* RetractedValues, + void* ExtendedValues, + void* RetractedAngles, + void* ExtendedAngles, + void* Profile) +{ + FSGNovaGloveCalibrationImpl::ApplyInterpolationValues( + StaticCast(RetractedValues)->Array, + StaticCast(ExtendedValues)->Array, + StaticCast(RetractedAngles)->Array, + StaticCast(ExtendedAngles)->Array, + StaticCast(Profile)->NovaGloveHandProfileImpl); +} + +/******************************************************************************* + * SGNovaGloveHandProfileImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_Default( + void* OutNovaGloveHandProfileImpl, + const bool bRightHanded) +{ + StaticCast(OutNovaGloveHandProfileImpl)->NovaGloveHandProfileImpl = + FSGNovaGloveHandProfileImpl::Default(bRightHanded); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_Deserialize( + void* OutNovaGloveHandProfileImpl, + void* SerializedString) +{ + StaticCast(OutNovaGloveHandProfileImpl)->NovaGloveHandProfileImpl = + FSGNovaGloveHandProfileImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor( + void* OutNovaGloveHandProfileImpl) +{ + StaticCast(OutNovaGloveHandProfileImpl)->NovaGloveHandProfileImpl = + FSGNovaGloveHandProfileImpl(); +} + +void +SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_bRightHanded_Interpolator( + void* OutNovaGloveHandProfileImpl, + const bool bRightHanded, + void* Interpolator) +{ + StaticCast(OutNovaGloveHandProfileImpl)->NovaGloveHandProfileImpl = + FSGNovaGloveHandProfileImpl( + bRightHanded, + StaticCast(Interpolator)->HandInterpolatorImpl); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_copy( + void* OutNovaGloveHandProfileImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveHandProfileImpl)->NovaGloveHandProfileImpl = + FSGNovaGloveHandProfileImpl(StaticCast(Rhs)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_copy_assignment( + void* OutNovaGloveHandProfileImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveHandProfileImpl)->NovaGloveHandProfileImpl = + StaticCast(Rhs)->NovaGloveHandProfileImpl; +} + +bool SGCoreImpl_FSGNovaGloveHandProfileImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveHandProfileImpl.IsRight(); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->NovaGloveHandProfileImpl.SetIsRight(bRightHanded); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_GetInterpolationSet( + void* Instance, + void* OutSet) +{ + StaticCast(OutSet)->HandInterpolatorImpl = + StaticCast(Instance)->NovaGloveHandProfileImpl.GetInterpolationSet(); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_SetInterpolationSet( + void* Instance, + void* InterpolationSet) +{ + StaticCast(Instance)->NovaGloveHandProfileImpl.SetInterpolationSet( + StaticCast(InterpolationSet)->HandInterpolatorImpl); +} + +bool SGCoreImpl_FSGNovaGloveHandProfileImpl_Equals( + void* Instance, + void* NovaGloveHandProfileImpl) +{ + return StaticCast(Instance)->NovaGloveHandProfileImpl.Equals( + StaticCast(Instance)->NovaGloveHandProfileImpl); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_Reset( + void* Instance) +{ + StaticCast(Instance)->NovaGloveHandProfileImpl.Reset(); +} + +void SGCoreImpl_FSGNovaGloveHandProfileImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->NovaGloveHandProfileImpl.Serialize(); +} + +/******************************************************************************* + * SGNovaGloveInfoImpl.h + ******************************************************************************/ + +bool SGCoreImpl_FSGNovaGloveInfoImpl_Parse( + void* ConstantsString, + void* OutGloveInfo) +{ + return FSGNovaGloveInfoImpl::Parse( + StaticCast(ConstantsString)->String, + StaticCast(OutGloveInfo)->NovaGloveInfoImpl); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_Deserialize( + void* OutNovaGloveInfoImpl, + void* SerializedString) +{ + StaticCast(OutNovaGloveInfoImpl)->NovaGloveInfoImpl = + FSGNovaGloveInfoImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_ctor( + void* OutNovaGloveInfoImpl) +{ + StaticCast(OutNovaGloveInfoImpl)->NovaGloveInfoImpl = FSGNovaGloveInfoImpl(); +} + +void +SGCoreImpl_FSGNovaGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_ImuCorrection_NumberOfSensors( + void* OutNovaGloveInfoImpl, + void* DeviceId, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion, + const bool bRightHanded, + void* ImuCorrection, + const int32 NumberOfSensors) +{ + StaticCast(OutNovaGloveInfoImpl)->NovaGloveInfoImpl = + FSGNovaGloveInfoImpl( + StaticCast(DeviceId)->String, + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion, + bRightHanded, + StaticCast(ImuCorrection)->Quat, + NumberOfSensors); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_ctor_copy( + void* OutNovaGloveInfoImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveInfoImpl)->NovaGloveInfoImpl = + FSGNovaGloveInfoImpl(StaticCast(Rhs)->NovaGloveInfoImpl); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_ctor_copy_assignment( + void* OutNovaGloveInfoImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveInfoImpl)->NovaGloveInfoImpl = + StaticCast(Rhs)->NovaGloveInfoImpl; +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->NovaGloveInfoImpl.GetDeviceId(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetDeviceId( + void* Instance, + void* DeviceId) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetDeviceId( + StaticCast(DeviceId)->String); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->NovaGloveInfoImpl.GetHardwareVersion(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetHardwareVersion( + void* Instance, + void* HardwareVersion) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetHardwareVersion( + StaticCast(HardwareVersion)->String); +} + +int32 SGCoreImpl_FSGNovaGloveInfoImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveInfoImpl.GetFirmwareVersion(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetFirmwareVersion( + void* Instance, + const int32 FirmwareVersion) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetFirmwareVersion(FirmwareVersion); +} + +int32 SGCoreImpl_FSGNovaGloveInfoImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveInfoImpl.GetSubFirmwareVersion(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetSubFirmwareVersion( + void* Instance, + const int32 SubFirmwareVersion) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetSubFirmwareVersion(SubFirmwareVersion); +} + +bool SGCoreImpl_FSGNovaGloveInfoImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveInfoImpl.IsRight(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetIsRight(bRightHanded); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_GetImuCorrection( + void* Instance, + void* OutCorrection) +{ + StaticCast(OutCorrection)->Quat = + StaticCast(Instance)->NovaGloveInfoImpl.GetImuCorrection(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetImuCorrection( + void* Instance, + void* ImuCorrection) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetImuCorrection( + StaticCast(ImuCorrection)->Quat); +} + +int32 SGCoreImpl_FSGNovaGloveInfoImpl_GetNumberOfSensors( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveInfoImpl.GetNumberOfSensors(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_SetNumberOfSensors( + void* Instance, + const int32 NumberOfSensors) +{ + StaticCast(Instance)->NovaGloveInfoImpl.SetNumberOfSensors(NumberOfSensors); +} + +bool SGCoreImpl_FSGNovaGloveInfoImpl_Equals( + void* Instance, + void* NovaGloveInfoImpl) +{ + return StaticCast(Instance)->NovaGloveInfoImpl.Equals( + StaticCast(Instance)->NovaGloveInfoImpl); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->NovaGloveInfoImpl.ToString(); +} + +void SGCoreImpl_FSGNovaGloveInfoImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->NovaGloveInfoImpl.Serialize(); +} + +/******************************************************************************* + * SGNovaGloveSensorDataImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_Empty( + void* OutNovaGloveSensorDataImpl) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + FSGNovaGloveSensorDataImpl::Empty(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_Parse( + void* OutNovaGloveSensorDataImpl, + void* RawData, + void* GloveInfo) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + FSGNovaGloveSensorDataImpl::Parse( + StaticCast(RawData)->String, + StaticCast(GloveInfo)->NovaGloveInfoImpl); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_Deserialize( + void* OutNovaGloveSensorDataImpl, + void* SerializedString) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + FSGNovaGloveSensorDataImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor( + void* OutNovaGloveSensorDataImpl) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + FSGNovaGloveSensorDataImpl(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_Values_ParsedValues_ImuRotation_bImuParsed_BatteryLevel_bCharging( + void* OutNovaGloveSensorDataImpl, + void* Values, + const int32 ParsedValues, + void* ImuRotation, + const bool bImuParsed, + const float BatteryLevel, + const bool bCharging) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + FSGNovaGloveSensorDataImpl( + StaticCast(Values)->Array, + ParsedValues, + StaticCast(ImuRotation)->Quat, + bImuParsed, + BatteryLevel, + bCharging); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_copy( + void* OutNovaGloveSensorDataImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + FSGNovaGloveSensorDataImpl(StaticCast(Rhs)->NovaGloveSensorDataImpl); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_copy_assignment( + void* OutNovaGloveSensorDataImpl, + void* Rhs) +{ + StaticCast(OutNovaGloveSensorDataImpl)->NovaGloveSensorDataImpl = + StaticCast(Rhs)->NovaGloveSensorDataImpl; +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_GetSensorValues( + void* Instance, + void* OutValues) +{ + StaticCast(OutValues)->Array = + StaticCast(Instance)->NovaGloveSensorDataImpl.GetSensorValues(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetSensorValues( + void* Instance, + void* SensorValues) +{ + StaticCast(Instance)->NovaGloveSensorDataImpl.SetSensorValues( + StaticCast(SensorValues)->Array); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_GetImuRotation( + void* Instance, + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = + StaticCast(Instance)->NovaGloveSensorDataImpl.GetImuRotation(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetImuRotation( + void* Instance, + void* ImuRotation) +{ + StaticCast(Instance)->NovaGloveSensorDataImpl.SetImuRotation( + StaticCast(ImuRotation)->Quat); +} + +int32 SGCoreImpl_FSGNovaGloveSensorDataImpl_GetParsedValues( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveSensorDataImpl.GetParsedValues(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetParsedValues( + void* Instance, + const int32 ParsedValues) +{ + StaticCast(Instance)->NovaGloveSensorDataImpl.SetParsedValues(ParsedValues); +} + +bool SGCoreImpl_FSGNovaGloveSensorDataImpl_IsImuParsed( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveSensorDataImpl.IsImuParsed(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetImuParsed( + void* Instance, + const bool bImuParsed) +{ + StaticCast(Instance)->NovaGloveSensorDataImpl.SetImuParsed(bImuParsed); +} + +float SGCoreImpl_FSGNovaGloveSensorDataImpl_GetBatteryLevel( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveSensorDataImpl.GetBatteryLevel(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetBatteryLevel( + void* Instance, + const float BatteryLevel) +{ + StaticCast(Instance)->NovaGloveSensorDataImpl.SetBatteryLevel(BatteryLevel); +} + +bool SGCoreImpl_FSGNovaGloveSensorDataImpl_IsCharging( + void* Instance) +{ + return StaticCast(Instance)->NovaGloveSensorDataImpl.IsCharging(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetIsCharging( + void* Instance, + const bool bCharging) +{ + StaticCast(Instance)->NovaGloveSensorDataImpl.SetIsCharging(bCharging); +} + +bool SGCoreImpl_FSGNovaGloveSensorDataImpl_Equals( + void* Instance, + void* NovaGloveSensorDataImpl) +{ + return StaticCast(Instance)->NovaGloveSensorDataImpl.Equals( + StaticCast(NovaGloveSensorDataImpl)->NovaGloveSensorDataImpl); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->NovaGloveSensorDataImpl.ToString(); +} + +void SGCoreImpl_FSGNovaGloveSensorDataImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->NovaGloveSensorDataImpl.Serialize(); +} + +/******************************************************************************* + * SGSenseComImpl.h + ******************************************************************************/ + +bool SGCoreImpl_FSGSenseComImpl_RegisterExe() +{ + return FSGSenseComImpl::RegisterExe(); +} + +bool SGCoreImpl_FSGSenseComImpl_RegisterExe_ExePath(void* ExePath) +{ + return FSGSenseComImpl::RegisterExe(StaticCast(ExePath)->String); +} + +bool SGCoreImpl_FSGSenseComImpl_GetExePath(void* OutExePath) +{ + return FSGSenseComImpl::GetExePath(StaticCast(OutExePath)->String); +} + +bool SGCoreImpl_FSGSenseComImpl_ScanningActive() +{ + return FSGSenseComImpl::ScanningActive(); +} + +bool SGCoreImpl_FSGSenseComImpl_GetCurrentExeDirectory(void* OutDirectory) +{ + return FSGSenseComImpl::GetCurrentExeDirectory(StaticCast(OutDirectory)->String); +} + +bool SGCoreImpl_FSGSenseComImpl_StartupSenseCom() +{ + return FSGSenseComImpl::StartupSenseCom(); +} + +/******************************************************************************* + * SGSenseGloveImpl.h + ******************************************************************************/ + +ANSICHAR SGCoreImpl_FSGSenseGloveImpl_GetHapticsByte() +{ + return FSGSenseGloveImpl::GetHapticsByte(); +} + +ANSICHAR SGCoreImpl_FSGSenseGloveImpl_GetThumperByte() +{ + return FSGSenseGloveImpl::GetThumperByte(); +} + +void SGCoreImpl_FSGSenseGloveImpl_CalculateGlovePose_SensorData_GloveModel( + void* OutPose, + void* SensorData, + void* GloveModel) +{ + StaticCast(OutPose)->SenseGlovePoseImpl = + FSGSenseGloveImpl::CalculateGlovePose( + StaticCast(SensorData)->SenseGloveSensorDataImpl, + StaticCast(GloveModel)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_CalculateGlovePose_GloveAngles_GloveModel( + void* OutPose, + void* GloveAngles, + void* GloveModel) +{ + StaticCast(OutPose)->SenseGlovePoseImpl = + FSGSenseGloveImpl::CalculateGlovePose( + StaticCast(GloveAngles)->Array, + StaticCast(GloveModel)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_CalculateHandPose( + void* OutPose, + void* GlovePose, + void* HandModel, + void* Profile) +{ + StaticCast(OutPose)->HandPoseImpl = + FSGSenseGloveImpl::CalculateHandPose( + StaticCast(GlovePose)->SenseGlovePoseImpl, + StaticCast(HandModel)->BasicHandModelImpl, + StaticCast(Profile)->SenseGloveHandProfileImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_Parse( + void* OutSenseGloveImpl, + void* ConstantsString) +{ + StaticCast(OutSenseGloveImpl)->Ptr = + FSGSenseGloveImpl::Parse(StaticCast(ConstantsString)->String); +} + +void SGCoreImpl_FSGSenseGloveImpl_GetSenseGloves( + void* OutGloves) +{ + StaticCast(OutGloves)->Array = + FSGSenseGloveImpl::GetSenseGloves(); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetSenseGlove_OutGlove( + void* OutGlove) +{ + return FSGSenseGloveImpl::GetSenseGlove( + StaticCast(OutGlove)->SenseGloveImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetSenseGlove_bRightHanded_OutGlove( + const bool bRightHanded, + void* OutGlove) +{ + return FSGSenseGloveImpl::GetSenseGlove( + bRightHanded, + StaticCast(OutGlove)->SenseGloveImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_GetCalibrationValues_GlovePose( + void* OutValues, + void* GlovePose) +{ + StaticCast(OutValues)->Array = + FSGSenseGloveImpl::GetCalibrationValues( + StaticCast(GlovePose)->SenseGlovePoseImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_CalibrateInterpolation( + void* MinValues, + void* MaxValues, + const bool bRightHanded, + void* OutProfile) +{ + FSGSenseGloveImpl::CalibrateInterpolation( + StaticCast(MinValues)->Array, + StaticCast(MaxValues)->Array, + bRightHanded, + StaticCast(OutProfile)->SenseGloveHandProfileImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_CalculateGloveLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + const bool bRightHanded, + void* MountedOn, + void* OutGlovePosition, + void* OutGloveRotation) +{ + FSGSenseGloveImpl::CalculateGloveLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + bRightHanded, + StaticCast(MountedOn)->Finger, + StaticCast(OutGlovePosition)->Vector, + StaticCast(OutGloveRotation)->Quat); +} + +void SGCoreImpl_FSGSenseGloveImpl_CalculateWristLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + const bool bRightHanded, + void* MountedOn, + void* GloveWristPositionOffset, + void* GloveWristRotationOffset, + void* OutWristPosition, + void* OutWristRotation) +{ + FSGSenseGloveImpl::CalculateWristLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + bRightHanded, + StaticCast(MountedOn)->Finger, + StaticCast(GloveWristPositionOffset)->Vector, + StaticCast(GloveWristRotationOffset)->Quat, + StaticCast(OutWristPosition)->Vector, + StaticCast(OutWristRotation)->Quat); +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor( + void* OutSenseGloveImpl) +{ + StaticCast(OutSenseGloveImpl)->SenseGloveImpl = FSGSenseGloveImpl{}; +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor_Model( + void* OutSenseGloveImpl, + void* Model) +{ + StaticCast(OutSenseGloveImpl)->SenseGloveImpl = + FSGSenseGloveImpl{ + StaticCast(Model)->SenseGloveInfoImpl}; +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor_Model_MakeShared( + void* OutSharedPtr, + void* Model) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Model)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor_copy( + void* OutSenseGloveImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveImpl)->SenseGloveImpl = + FSGSenseGloveImpl(StaticCast(Rhs)->SenseGloveImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(StaticCast(Rhs)->SenseGloveImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_ctor_copy_assignment( + void* OutSenseGloveImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveImpl)->SenseGloveImpl = + StaticCast(Rhs)->SenseGloveImpl; +} + +void SGCoreImpl_FSGSenseGloveImpl_GetGloveModel( + void* Instance, + void* OutModel) +{ + StaticCast(OutModel)->SenseGloveInfoImpl = + StaticCast(Instance)->Ptr->GetGloveModel(); +} + +bool SGCoreImpl_FSGSenseGloveImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->Ptr->IsRight(); +} + +void SGCoreImpl_FSGSenseGloveImpl_GetDeviceType( + void* Instance, + void* OutType) +{ + StaticCast(OutType)->Type = + StaticCast(Instance)->Ptr->GetDeviceType(); +} + +void SGCoreImpl_FSGSenseGloveImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->Ptr->GetDeviceId(); +} + +void SGCoreImpl_FSGSenseGloveImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->Ptr->GetHardwareVersion(); +} + +int32 SGCoreImpl_FSGSenseGloveImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetFirmwareVersion(); +} + +int32 SGCoreImpl_FSGSenseGloveImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetSubFirmwareVersion(); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetSensorData( + void* Instance, + void* OutSensorData) +{ + return StaticCast(Instance)->Ptr->GetSensorData( + StaticCast(OutSensorData)->NovaGloveSensorDataImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetImuRotation( + void* Instance, + void* OutImu) +{ + return StaticCast(Instance)->Ptr->GetImuRotation( + StaticCast(OutImu)->Quat); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetGlovePose_OutGlovePose( + void* Instance, + void* OutGlovePose) +{ + return StaticCast(Instance)->Ptr->GetGlovePose( + StaticCast(OutGlovePose)->SenseGlovePoseImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetGlovePose_SensorData_OutGlovePose( + void* Instance, + void* SensorData, + void* OutGlovePose) +{ + return StaticCast(Instance)->Ptr->GetGlovePose( + StaticCast(OutGlovePose)->SenseGloveSensorDataImpl, + StaticCast(OutGlovePose)->SenseGlovePoseImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandModel_Profile_OutHandPose( + void* Instance, + void* HandModel, + void* Profile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandModel)->BasicHandModelImpl, + StaticCast(Profile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + void* Instance, + void* HandGeometry, + void* HandProfile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandGeometry)->BasicHandModelImpl, + StaticCast(HandProfile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandProfile_OutHandPose( + void* Instance, + void* HandProfile, + void* OutHandPose) +{ + return StaticCast(Instance)->Ptr->GetHandPose( + StaticCast(HandProfile)->HandProfileImpl, + StaticCast(OutHandPose)->HandPoseImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_BuzzCommand( + void* Instance, + void* BuzzCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(BuzzCommand)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand, + void* ThumperCommand) +{ + StaticCast(Instance)->Ptr->SendHaptics( + StaticCast(ForceFeedbackCommand)->ForceFeedbackCommandImpl, + StaticCast(BuzzCommand)->BuzzCommandImpl, + StaticCast(ThumperCommand)->ThumperCommandImpl); +} + +bool SGCoreImpl_FSGSenseGloveImpl_GetCalibrationValues_OutValues( + void* Instance, + void* OutValues) +{ + return StaticCast(Instance)->Ptr->GetCalibrationValues( + StaticCast(OutValues)->Array); +} + +void SGCoreImpl_FSGSenseGloveImpl_ResetCalibrationRange( + void* Instance) +{ + StaticCast(Instance)->Ptr->ResetCalibrationRange(); +} + +void SGCoreImpl_FSGSenseGloveImpl_ApplyCalibration_HandProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(Instance)->Ptr->ApplyCalibration( + StaticCast(OutProfile)->HandProfileImpl); +} + +void SGCoreImpl_FSGSenseGloveImpl_ApplyCalibration_SenseGloveHandProfile( + void* Instance, + void* OutProfile) +{ + StaticCast(Instance)->Ptr->ApplyCalibration( + StaticCast(OutProfile)->SenseGloveHandProfileImpl); +} + +void +SGCoreImpl_FSGSenseGloveImpl_GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutGlovePosition, + void* OutGloveRotation) +{ + StaticCast(Instance)->Ptr->GetGloveLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(OutGlovePosition)->Vector, + StaticCast(OutGloveRotation)->Quat); +} + +void +SGCoreImpl_FSGSenseGloveImpl_GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_MountedOn_OutGlovePosition_OutGloveRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* MountedOn, + void* OutGlovePosition, + void* OutGloveRotation) +{ + StaticCast(Instance)->Ptr->GetGloveLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(MountedOn)->Finger, + StaticCast(OutGlovePosition)->Vector, + StaticCast(OutGloveRotation)->Quat); +} + +void +SGCoreImpl_FSGSenseGloveImpl_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutWristPosition, + void* OutWristRotation) +{ + StaticCast(Instance)->Ptr->GetWristLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(OutWristPosition)->Vector, + StaticCast(OutWristRotation)->Quat); +} + +void +SGCoreImpl_FSGSenseGloveImpl_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_GloveWristPositionOffset_GloveWristRotationOffset_OutWristPosition_OutWristRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* GloveWristPositionOffset, + void* GloveWristRotationOffset, + void* OutWristPosition, + void* OutWristRotation) +{ + StaticCast(Instance)->Ptr->GetWristLocation( + StaticCast(ReferencePosition)->Vector, + StaticCast(ReferenceRotation)->Quat, + StaticCast(TrackingHardware)->Hardware, + StaticCast(GloveWristPositionOffset)->Vector, + StaticCast(GloveWristRotationOffset)->Quat, + StaticCast(OutWristPosition)->Vector, + StaticCast(OutWristRotation)->Quat); +} + +void SGCoreImpl_FSGSenseGloveImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->ToString(); +} + +/******************************************************************************* + * SGSenseGloveHandProfileImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_Default( + void* OutSenseGloveHandProfileImpl, + const bool bRightHanded) +{ + StaticCast(OutSenseGloveHandProfileImpl)->SenseGloveHandProfileImpl = + FSGSenseGloveHandProfileImpl::Default(bRightHanded); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_Deserialize( + void* OutSenseGloveHandProfileImpl, + void* SerializedString) +{ + StaticCast(OutSenseGloveHandProfileImpl)->SenseGloveHandProfileImpl = + FSGSenseGloveHandProfileImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetDefaultThimbleOffset( + void* OutOffset) +{ + StaticCast(OutOffset)->Vector = FSGSenseGloveHandProfileImpl::GetDefaultThimbleOffset(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor( + void* OutSenseGloveHandProfileImpl) +{ + StaticCast(OutSenseGloveHandProfileImpl)->SenseGloveHandProfileImpl = + FSGSenseGloveHandProfileImpl(); +} + +void +SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_bRightHanded_Interpolator_ThumbSolver_FingerSolver_FingerThimbleOffset( + void* OutSenseGloveHandProfileImpl, + const bool bRightHanded, + void* Interpolator, + void* ThumbSolver, + void* FingerSolver, + void* FingerThimbleOffset) +{ + StaticCast(OutSenseGloveHandProfileImpl)->SenseGloveHandProfileImpl = + FSGSenseGloveHandProfileImpl( + bRightHanded, + StaticCast(Interpolator)->HandInterpolatorImpl, + StaticCast(ThumbSolver)->Solver, + StaticCast(FingerSolver)->Solver, + StaticCast(FingerThimbleOffset)->Array); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_copy( + void* OutSenseGloveHandProfileImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveHandProfileImpl)->SenseGloveHandProfileImpl = + FSGSenseGloveHandProfileImpl(StaticCast(Rhs)->SenseGloveHandProfileImpl); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_copy_assignment( + void* OutSenseGloveHandProfileImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveHandProfileImpl)->SenseGloveHandProfileImpl = + StaticCast(Rhs)->SenseGloveHandProfileImpl; +} + +bool SGCoreImpl_FSGSenseGloveHandProfileImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveHandProfileImpl.IsRight(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->SenseGloveHandProfileImpl.SetIsRight(bRightHanded); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetInterpolationSet( + void* Instance, + void* OutSet) +{ + StaticCast(OutSet)->HandInterpolatorImpl = + StaticCast(Instance)->SenseGloveHandProfileImpl.GetInterpolationSet(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetInterpolationSet( + void* Instance, + void* InterpolationSet) +{ + StaticCast(Instance)->SenseGloveHandProfileImpl.SetInterpolationSet( + StaticCast(InterpolationSet)->HandInterpolatorImpl); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetThumbSolver( + void* Instance, + void* OutSolver) +{ + StaticCast(OutSolver)->Solver = + StaticCast(Instance)->SenseGloveHandProfileImpl.GetThumbSolver(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetThumbSolver( + void* Instance, + void* ThumbSolver) +{ + StaticCast(Instance)->SenseGloveHandProfileImpl.SetThumbSolver( + StaticCast(ThumbSolver)->Solver); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetFingerSolver( + void* Instance, + void* OutSolver) +{ + StaticCast(OutSolver)->Solver = + StaticCast(Instance)->SenseGloveHandProfileImpl.GetFingerSolver(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetFingerSolver( + void* Instance, + void* FingerSolver) +{ + StaticCast(Instance)->SenseGloveHandProfileImpl.SetFingerSolver( + StaticCast(FingerSolver)->Solver); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetFingerThimbleOffset( + void* Instance, + void* OutOffset) +{ + StaticCast(OutOffset)->Array = + StaticCast(Instance)->SenseGloveHandProfileImpl.GetFingerThimbleOffset(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetFingerThimbleOffset( + void* Instance, + void* FingerThimbleOffset) +{ + StaticCast(Instance)->SenseGloveHandProfileImpl.SetFingerThimbleOffset( + StaticCast(FingerThimbleOffset)->Array); +} + +bool SGCoreImpl_FSGSenseGloveHandProfileImpl_Equals( + void* Instance, + void* SenseGloveHandProfileImpl) +{ + return StaticCast(Instance)->SenseGloveHandProfileImpl.Equals( + StaticCast(Instance)->SenseGloveHandProfileImpl); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_Reset( + void* Instance) +{ + StaticCast(Instance)->SenseGloveHandProfileImpl.Reset(); +} + +void SGCoreImpl_FSGSenseGloveHandProfileImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGloveHandProfileImpl.Serialize(); +} + +/******************************************************************************* + * SGSenseGloveInfoImpl.h + ******************************************************************************/ + +bool SGCoreImpl_FSGSenseGloveInfoImpl_Parse( + void* ConstantsString, + void* OutGloveInfo, + const bool bUpdateOldModels) +{ + return FSGSenseGloveInfoImpl::Parse( + StaticCast(ConstantsString)->String, + StaticCast(OutGloveInfo)->SenseGloveInfoImpl, + bUpdateOldModels); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_Deserialize( + void* OutSenseGloveInfoImpl, + void* SerializedString) +{ + StaticCast(OutSenseGloveInfoImpl)->SenseGloveInfoImpl = + FSGSenseGloveInfoImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_ctor( + void* OutSenseGloveInfoImpl) +{ + StaticCast(OutSenseGloveInfoImpl)->SenseGloveInfoImpl = FSGSenseGloveInfoImpl(); +} + +void +SGCoreImpl_FSGSenseGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPositions_StartRotations_GloveLengths_Functions( + void* OutSenseGloveInfoImpl, + void* DeviceId, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion, + const bool bRightHanded, + const int32 NumberOfSensors, + void* ImuCorrection, + void* StartPositions, + void* StartRotations, + void* GloveLengths, + void* Functions) +{ + StaticCast(OutSenseGloveInfoImpl)->SenseGloveInfoImpl = + FSGSenseGloveInfoImpl( + StaticCast(DeviceId)->String, + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion, + bRightHanded, + NumberOfSensors, + StaticCast(ImuCorrection)->Quat, + StaticCast(StartPositions)->Array, + StaticCast(StartRotations)->Array, + StaticCast(GloveLengths)->Array, + StaticCast(StartPositions)->Array); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_ctor_copy( + void* OutSenseGloveInfoImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveInfoImpl)->SenseGloveInfoImpl = + FSGSenseGloveInfoImpl(StaticCast(Rhs)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_ctor_copy_assignment( + void* OutSenseGloveInfoImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveInfoImpl)->SenseGloveInfoImpl = + StaticCast(Rhs)->SenseGloveInfoImpl; +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetDeviceId( + void* Instance, + void* OutId) +{ + StaticCast(OutId)->String = + StaticCast(Instance)->SenseGloveInfoImpl.GetDeviceId(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetDeviceId( + void* Instance, + void* DeviceId) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetDeviceId( + StaticCast(DeviceId)->String); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetHardwareVersion( + void* Instance, + void* OutVersion) +{ + StaticCast(OutVersion)->String = + StaticCast(Instance)->SenseGloveInfoImpl.GetHardwareVersion(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetHardwareVersion( + void* Instance, + void* HardwareVersion) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetHardwareVersion( + StaticCast(HardwareVersion)->String); +} + +int32 SGCoreImpl_FSGSenseGloveInfoImpl_GetFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveInfoImpl.GetFirmwareVersion(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetFirmwareVersion( + void* Instance, + const int32 FirmwareVersion) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetFirmwareVersion(FirmwareVersion); +} + +int32 SGCoreImpl_FSGSenseGloveInfoImpl_GetSubFirmwareVersion( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveInfoImpl.GetSubFirmwareVersion(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetSubFirmwareVersion( + void* Instance, + const int32 SubFirmwareVersion) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetSubFirmwareVersion(SubFirmwareVersion); +} + +bool SGCoreImpl_FSGSenseGloveInfoImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveInfoImpl.IsRight(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetIsRight( + void* Instance, + const bool bRightHanded) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetIsRight(bRightHanded); +} + +int32 SGCoreImpl_FSGSenseGloveInfoImpl_GetNumberOfSensors( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveInfoImpl.GetNumberOfSensors(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetNumberOfSensors( + void* Instance, + const int32 NumberOfSensors) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetNumberOfSensors(NumberOfSensors); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetImuCorrection( + void* Instance, + void* OutCorrection) +{ + StaticCast(OutCorrection)->Quat = + StaticCast(Instance)->SenseGloveInfoImpl.GetImuCorrection(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetImuCorrection( + void* Instance, + void* ImuCorrection) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetImuCorrection( + StaticCast(ImuCorrection)->Quat); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartPositions( + void* Instance, + void* OutPositions) +{ + StaticCast(OutPositions)->Array = + StaticCast(Instance)->SenseGloveInfoImpl.GetStartPositions(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetStartPositions( + void* Instance, + void* StartPositions) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetStartPositions( + StaticCast(StartPositions)->Array); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartRotations( + void* Instance, + void* OutRotations) +{ + StaticCast(OutRotations)->Array = + StaticCast(Instance)->SenseGloveInfoImpl.GetStartRotations(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetStartRotations( + void* Instance, + void* StartRotations) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetStartRotations( + StaticCast(StartRotations)->Array); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetGloveLengths( + void* Instance, + void* OutLengths) +{ + StaticCast(OutLengths)->Array = + StaticCast(Instance)->SenseGloveInfoImpl.GetGloveLengths(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetGloveLengths( + void* Instance, + void* GloveLengths) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetGloveLengths( + StaticCast(GloveLengths)->Array); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetFunctions( + void* Instance, + void* OutFunctions) +{ + StaticCast(OutFunctions)->Array = + StaticCast(Instance)->SenseGloveInfoImpl.GetFunctions(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_SetFunctions( + void* Instance, + void* Functions) +{ + StaticCast(Instance)->SenseGloveInfoImpl.SetFunctions( + StaticCast(Functions)->Array); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartPosition( + void* Instance, + void* OutPosition, + void* Finger) +{ + StaticCast(OutPosition)->Vector = + StaticCast(Instance)->SenseGloveInfoImpl.GetStartPosition( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartRotation( + void* Instance, + void* OutRotation, + void* Finger) +{ + StaticCast(OutRotation)->Quat = + StaticCast(Instance)->SenseGloveInfoImpl.GetStartRotation( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_GetGloveLengths_Finger( + void* Instance, + void* OutLengths, + void* Finger) +{ + StaticCast(OutLengths)->Array = + StaticCast(Instance)->SenseGloveInfoImpl.GetGloveLengths( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_ToGloveAngles( + void* Instance, + void* OutAngles, + void* SensorAngles) +{ + StaticCast(OutAngles)->Array = + StaticCast(Instance)->SenseGloveInfoImpl.ToGloveAngles( + StaticCast(SensorAngles)->Array); +} + +bool SGCoreImpl_FSGSenseGloveInfoImpl_Equals( + void* Instance, + void* SenseGloveInfoImpl) +{ + return StaticCast(Instance)->SenseGloveInfoImpl.Equals( + StaticCast(Instance)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_ToString_bShortNotation( + void* Instance, + void* OutString, + const bool bShortNotation) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGloveInfoImpl.ToString(bShortNotation); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGloveInfoImpl.ToString(); +} + +void SGCoreImpl_FSGSenseGloveInfoImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGloveInfoImpl.Serialize(); +} + +/******************************************************************************* + * SGSenseGlovePoseImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGSenseGlovePoseImpl_IdlePose( + void* OutSenseGlovePoseImpl, + void* GloveInfo) +{ + StaticCast(OutSenseGlovePoseImpl)->SenseGlovePoseImpl = + FSGSenseGlovePoseImpl::IdlePose( + StaticCast(GloveInfo)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_Deserialize( + void* OutSenseGlovePoseImpl, + void* SerializedString) +{ + StaticCast(OutSenseGlovePoseImpl)->SenseGlovePoseImpl = + FSGSenseGlovePoseImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_ctor( + void* OutSenseGlovePoseImpl) +{ + StaticCast(OutSenseGlovePoseImpl)->SenseGlovePoseImpl = FSGSenseGlovePoseImpl(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_ctor_bRightHanded_JointPositions_JointRotations_GloveAngles( + void* OutSenseGlovePoseImpl, + const bool bRightHanded, + void* JointPositions, + void* JointRotations, + void* GloveAngles) +{ + StaticCast(OutSenseGlovePoseImpl)->SenseGlovePoseImpl = + FSGSenseGlovePoseImpl( + bRightHanded, + StaticCast(JointPositions)->Array, + StaticCast(JointRotations)->Array, + StaticCast(GloveAngles)->Array); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_ctor_copy( + void* OutSenseGlovePoseImpl, + void* Rhs) +{ + StaticCast(OutSenseGlovePoseImpl)->SenseGlovePoseImpl = + FSGSenseGlovePoseImpl(StaticCast(Rhs)->SenseGlovePoseImpl); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_ctor_copy_assignment( + void* OutSenseGlovePoseImpl, + void* Rhs) +{ + StaticCast(OutSenseGlovePoseImpl)->SenseGlovePoseImpl = + StaticCast(Rhs)->SenseGlovePoseImpl; +} + +bool SGCoreImpl_FSGSenseGlovePoseImpl_IsRight( + void* Instance) +{ + return StaticCast(Instance)->SenseGlovePoseImpl.IsRight(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_SetIsRight( + void* Instance, + const bool bRightGloveed) +{ + StaticCast(Instance)->SenseGlovePoseImpl.SetIsRight(bRightGloveed); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_GetJointPositions( + void* Instance, + void* OutPositions) +{ + StaticCast(OutPositions)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.GetJointPositions(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_SetJointPositions( + void* Instance, + void* JointPositions) +{ + StaticCast(Instance)->SenseGlovePoseImpl.SetJointPositions( + StaticCast(JointPositions)->Array); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_GetJointRotations( + void* Instance, + void* OutRotations) +{ + StaticCast(OutRotations)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.GetJointRotations(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_SetJointRotations( + void* Instance, + void* JointRotations) +{ + StaticCast(Instance)->SenseGlovePoseImpl.SetJointRotations( + StaticCast(JointRotations)->Array); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_GetGloveAngles( + void* Instance, + void* OutAngles) +{ + StaticCast(OutAngles)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.GetGloveAngles(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_SetGloveAngles( + void* Instance, + void* GloveAngles) +{ + StaticCast(Instance)->SenseGlovePoseImpl.SetGloveAngles( + StaticCast(GloveAngles)->Array); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_GetThimblePositions( + void* Instance, + void* OutPositions) +{ + StaticCast(OutPositions)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.GetThimblePositions(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_GetThimbleRotations( + void* Instance, + void* OutRotations) +{ + StaticCast(OutRotations)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.GetThimbleRotations(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_GetTotalGloveAngles( + void* Instance, + void* OutAngles) +{ + StaticCast(OutAngles)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.GetTotalGloveAngles(); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_CalculateFingerTips_SenseGloveHandProfileImpl( + void* Instance, + void* OutFingerTips, + void* SenseGloveHandProfileImpl) +{ + StaticCast(OutFingerTips)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.CalculateFingerTips( + StaticCast(SenseGloveHandProfileImpl)->SenseGloveHandProfileImpl); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_CalculateFingerTips_FingerOffsets( + void* Instance, + void* OutFingerTips, + void* FingerOffsets) +{ + StaticCast(OutFingerTips)->Array = + StaticCast(Instance)->SenseGlovePoseImpl.CalculateFingerTips( + StaticCast(FingerOffsets)->Array); +} + +bool SGCoreImpl_FSGSenseGlovePoseImpl_Equals( + void* Instance, + void* SenseGlovePoseImpl) +{ + return StaticCast(Instance)->SenseGlovePoseImpl.Equals( + StaticCast(Instance)->SenseGlovePoseImpl); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_ToString( + void* Instance, + void* OutString, + const bool bShortFormat) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGlovePoseImpl.ToString(bShortFormat); +} + +void SGCoreImpl_FSGSenseGlovePoseImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGlovePoseImpl.Serialize(); +} + +/******************************************************************************* + * SGSenseGloveSensorDataImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_Empty( + void* OutSenseGloveSensorDataImpl) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + FSGSenseGloveSensorDataImpl::Empty(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_Parse( + void* OutSenseGloveSensorDataImpl, + void* RawData, + void* GloveInfo) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + FSGSenseGloveSensorDataImpl::Parse( + StaticCast(RawData)->String, + StaticCast(GloveInfo)->SenseGloveInfoImpl); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_Deserialize( + void* OutSenseGloveSensorDataImpl, + void* SerializedString) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + FSGSenseGloveSensorDataImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor( + void* OutSenseGloveSensorDataImpl) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + FSGSenseGloveSensorDataImpl(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + void* OutSenseGloveSensorDataImpl, + void* SensorAngles, + void* ImuRotation, + const int32 ParsedValues, + const bool bImuParsed) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + FSGSenseGloveSensorDataImpl( + StaticCast(SensorAngles)->Array, + StaticCast(ImuRotation)->Quat, + ParsedValues, + bImuParsed); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_copy( + void* OutSenseGloveSensorDataImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + FSGSenseGloveSensorDataImpl(StaticCast(Rhs)->SenseGloveSensorDataImpl); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_copy_assignment( + void* OutSenseGloveSensorDataImpl, + void* Rhs) +{ + StaticCast(OutSenseGloveSensorDataImpl)->SenseGloveSensorDataImpl = + StaticCast(Rhs)->SenseGloveSensorDataImpl; +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetSensorAngles( + void* Instance, + void* OutAngles) +{ + StaticCast(OutAngles)->Array = + StaticCast(Instance)->SenseGloveSensorDataImpl.GetSensorAngles(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetSensorAngles( + void* Instance, + void* SensorAngles) +{ + StaticCast(Instance)->SenseGloveSensorDataImpl.SetSensorAngles( + StaticCast(SensorAngles)->Array); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetSensorAngles_Finger( + void* Instance, + void* OutAngles, + void* Finger) +{ + StaticCast(OutAngles)->Array = + StaticCast(Instance)->SenseGloveSensorDataImpl.GetSensorAngles( + StaticCast(Finger)->Finger); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetAngleSequence( + void* Instance, + void* OutSequence) +{ + StaticCast(OutSequence)->Array = + StaticCast(Instance)->SenseGloveSensorDataImpl.GetAngleSequence(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetImuRotation( + void* Instance, + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = + StaticCast(Instance)->SenseGloveSensorDataImpl.GetImuRotation(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetImuRotation( + void* Instance, + void* ImuRotation) +{ + StaticCast(Instance)->SenseGloveSensorDataImpl.SetImuRotation( + StaticCast(ImuRotation)->Quat); +} + +int32 SGCoreImpl_FSGSenseGloveSensorDataImpl_GetParsedValues( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveSensorDataImpl.GetParsedValues(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetParsedValues( + void* Instance, + const int32 ParsedValues) +{ + StaticCast(Instance)->SenseGloveSensorDataImpl.SetParsedValues(ParsedValues); +} + +bool SGCoreImpl_FSGSenseGloveSensorDataImpl_IsImuParsed( + void* Instance) +{ + return StaticCast(Instance)->SenseGloveSensorDataImpl.IsImuParsed(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetImuParsed( + void* Instance, + const bool bImuParsed) +{ + StaticCast(Instance)->SenseGloveSensorDataImpl.SetImuParsed(bImuParsed); +} + +bool SGCoreImpl_FSGSenseGloveSensorDataImpl_Equals( + void* Instance, + void* SenseGloveSensorDataImpl) +{ + return StaticCast(Instance)->SenseGloveSensorDataImpl.Equals( + StaticCast(SenseGloveSensorDataImpl)->SenseGloveSensorDataImpl); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGloveSensorDataImpl.ToString(); +} + +void SGCoreImpl_FSGSenseGloveSensorDataImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SenseGloveSensorDataImpl.Serialize(); +} + +/******************************************************************************* + * SGSenseGloveVarsImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetStandardConstantsString( + void* OutString, + void* HardwareVersion, + float FirmwareVersion, + const bool bRightHanded) +{ + StaticCast(OutString)->String = FSGSenseGloveVarsImpl::GetStandardConstantsString( + StaticCast(HardwareVersion)->String, + FirmwareVersion, + bRightHanded); +} + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetSensorString( + void* OutString, + void* HardwareVersion, + const float FirmwareVersion) +{ + StaticCast(OutString)->String = FSGSenseGloveVarsImpl::GetSensorString( + StaticCast(HardwareVersion)->String, + FirmwareVersion); +} + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetStartPositions( + void* OutPositions, + void* HardwareVersion, + const bool bRightHanded) +{ + StaticCast(OutPositions)->Array = FSGSenseGloveVarsImpl::GetStartPositions( + StaticCast(HardwareVersion)->String, + bRightHanded); +} + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetStartRotations( + void* OutRotations, + void* HardwareVersion, + const bool bRightHanded) +{ + StaticCast(OutRotations)->Array = FSGSenseGloveVarsImpl::GetStartRotations( + StaticCast(HardwareVersion)->String, + bRightHanded); +} + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetGloveLengths( + void* OutLengths, + void* HardwareVersion) +{ + StaticCast(OutLengths)->Array = FSGSenseGloveVarsImpl::GetGloveLengths( + StaticCast(HardwareVersion)->String); +} + +int32 SGCoreImpl_FSGSenseGloveVarsImpl_GetSensors( + void* HardwareVersion) +{ + return FSGSenseGloveVarsImpl::GetSensors(StaticCast(HardwareVersion)->String); +} + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetImuCorrection( + void* OutCorrection, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + StaticCast(OutCorrection)->Quat = FSGSenseGloveVarsImpl::GetImuCorrection( + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion); +} + +void SGCoreImpl_FSGSenseGloveVarsImpl_GetFunctions( + void* OutFunctions, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + StaticCast(OutFunctions)->Array = FSGSenseGloveVarsImpl::GetFunctions( + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion); +} + +void +SGCoreImpl_FSGSenseGloveVarsImpl_GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded( + void* OutModel, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion, + const bool bRightHanded) +{ + StaticCast(OutModel)->SenseGloveInfoImpl = + FSGSenseGloveVarsImpl::GenerateGloveModel( + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion, + bRightHanded); +} + +void +SGCoreImpl_FSGSenseGloveVarsImpl_GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_CustomId( + void* OutModel, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion, + const bool bRightHanded, + void* CustomId) +{ + StaticCast(OutModel)->SenseGloveInfoImpl = + FSGSenseGloveVarsImpl::GenerateGloveModel( + StaticCast(HardwareVersion)->String, + FirmwareVersion, + SubFirmwareVersion, + bRightHanded, + StaticCast(CustomId)->String); +} + + +/******************************************************************************* + * SGSensorRangeImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGSensorRangeImpl_ForCalibration( + void* OutSensorRangeImpl) +{ + StaticCast(OutSensorRangeImpl)->SensorRangeImpl = + FSGSensorRangeImpl::ForCalibration(); +} + +void SGCoreImpl_FSGSensorRangeImpl_Deserialize( + void* OutSensorRangeImpl, + void* SerializedString) +{ + StaticCast(OutSensorRangeImpl)->SensorRangeImpl = + FSGSensorRangeImpl::Deserialize( + StaticCast(SerializedString)->String); +} + +void SGCoreImpl_FSGSensorRangeImpl_CheckMax( + void* CurrentValues, + void* OutMaxValues) +{ + FSGSensorRangeImpl::CheckMax( + StaticCast(OutMaxValues)->Vector, + StaticCast(CurrentValues)->Vector); +} + +void SGCoreImpl_FSGSensorRangeImpl_CheckMin( + void* CurrentValues, + void* OutMinValues) +{ + FSGSensorRangeImpl::CheckMin( + StaticCast(OutMinValues)->Vector, + StaticCast(CurrentValues)->Vector); +} + +void SGCoreImpl_FSGSensorRangeImpl_ctor( + void* OutSensorRangeImpl) +{ + StaticCast(OutSensorRangeImpl)->SensorRangeImpl = FSGSensorRangeImpl(); +} + +void SGCoreImpl_FSGSensorRangeImpl_ctor_MinValues_MaxValues( + void* OutSensorRangeImpl, + void* MinValues, + void* MaxValues) +{ + StaticCast(OutSensorRangeImpl)->SensorRangeImpl = + FSGSensorRangeImpl( + StaticCast(MinValues)->Array, + StaticCast(MaxValues)->Array); +} + +void SGCoreImpl_FSGSensorRangeImpl_ctor_copy( + void* OutSensorRangeImpl, + void* Rhs) +{ + StaticCast(OutSensorRangeImpl)->SensorRangeImpl = + FSGSensorRangeImpl(StaticCast(Rhs)->SensorRangeImpl); +} + +void SGCoreImpl_FSGSensorRangeImpl_ctor_copy_assignment( + void* OutSensorRangeImpl, + void* Rhs) +{ + StaticCast(OutSensorRangeImpl)->SensorRangeImpl = + StaticCast(Rhs)->SensorRangeImpl; +} + +void SGCoreImpl_FSGSensorRangeImpl_GetMinValues( + void* Instance, + void* OutValues) +{ + StaticCast(OutValues)->Array = + StaticCast(Instance)->SensorRangeImpl.GetMinValues(); +} + +void SGCoreImpl_FSGSensorRangeImpl_SetMinValues( + void* Instance, + void* Values) +{ + StaticCast(Instance)->SensorRangeImpl.SetMinValues( + StaticCast(Values)->Array); +} + +void SGCoreImpl_FSGSensorRangeImpl_GetMaxValues( + void* Instance, + void* OutValues) +{ + StaticCast(OutValues)->Array = + StaticCast(Instance)->SensorRangeImpl.GetMaxValues(); +} + +void SGCoreImpl_FSGSensorRangeImpl_SetMaxValues( + void* Instance, + void* Values) +{ + StaticCast(Instance)->SensorRangeImpl.SetMaxValues( + StaticCast(Values)->Array); +} + +void SGCoreImpl_FSGSensorRangeImpl_GetRange( + void* Instance, + void* OutRange) +{ + StaticCast(OutRange)->Array = + StaticCast(Instance)->SensorRangeImpl.GetRange(); +} + +void SGCoreImpl_FSGSensorRangeImpl_UpdateRange( + void* Instance) +{ + StaticCast(Instance)->SensorRangeImpl.UpdateRange(); +} + +void SGCoreImpl_FSGSensorRangeImpl_CheckForExtremes( + void* Instance, + void* OtherValues) +{ + StaticCast(Instance)->SensorRangeImpl.CheckForExtremes( + StaticCast(OtherValues)->Array); +} + +void SGCoreImpl_FSGSensorRangeImpl_RangeString( + void* Instance, + void* OutString, + const bool bYOnly) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SensorRangeImpl.RangeString(bYOnly); +} + +void SGCoreImpl_FSGSensorRangeImpl_ToString( + void* Instance, + void* OutString, + const bool bYOnly) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SensorRangeImpl.ToString(bYOnly); +} + +void SGCoreImpl_FSGSensorRangeImpl_Serialize( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->SensorRangeImpl.Serialize(); +} + +/******************************************************************************* + * SGThumperCommandImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGThumperCommandImpl_Off( + void* OutThumperCommandImpl) +{ + StaticCast(OutThumperCommandImpl)->ThumperCommandImpl = + FSGThumperCommandImpl::Off(); +} + +void SGCoreImpl_FSGThumperCommandImpl_ctor( + void* OutThumperCommandImpl) +{ + StaticCast(OutThumperCommandImpl)->ThumperCommandImpl = + FSGThumperCommandImpl(); +} + +void SGCoreImpl_FSGThumperCommandImpl_ctor_Magnitude( + void* OutThumperCommandImpl, + const int32 Magnitude) +{ + StaticCast(OutThumperCommandImpl)->ThumperCommandImpl = + FSGThumperCommandImpl(Magnitude); +} + +void SGCoreImpl_FSGThumperCommandImpl_ctor_copy( + void* OutThumperCommand, + void* Rhs) +{ + StaticCast(OutThumperCommand)->ThumperCommandImpl = + FSGThumperCommandImpl(StaticCast(Rhs)->ThumperCommandImpl); +} + +void SGCoreImpl_FSGThumperCommandImpl_ctor_copy_assignment( + void* Instance, + void* Rhs) +{ + StaticCast(Instance)->ThumperCommandImpl = + StaticCast(Rhs)->ThumperCommandImpl; +} + +int32 SGCoreImpl_FSGThumperCommandImpl_GetMagnitude( + void* Instance) +{ + return StaticCast(Instance)->ThumperCommandImpl.GetMagnitude(); +} + +void SGCoreImpl_FSGThumperCommandImpl_SetMagnitude( + void* Instance, + const int32 Magnitude) +{ + StaticCast(Instance)->ThumperCommandImpl.SetMagnitude(Magnitude); +} + +void SGCoreImpl_FSGThumperCommandImpl_Copy( + void* Instance, + void* OutThumperCommandImpl) +{ + StaticCast(OutThumperCommandImpl)->ThumperCommandImpl = + StaticCast(Instance)->ThumperCommandImpl.Copy(); +} + +void SGCoreImpl_FSGThumperCommandImpl_Merge( + void* Instance, + void* OutThumperCommandImpl, + void* ThumperCommandImpl) +{ + StaticCast(OutThumperCommandImpl)->ThumperCommandImpl = + StaticCast(Instance)->ThumperCommandImpl.Merge( + StaticCast(ThumperCommandImpl)->ThumperCommandImpl); +} + +bool SGCoreImpl_FSGThumperCommandImpl_Equals( + void* Instance, + void* ThumperCommandImpl) +{ + return StaticCast(Instance)->ThumperCommandImpl.Equals( + StaticCast(ThumperCommandImpl)->ThumperCommandImpl); +} + +/******************************************************************************* + * SGTimedBuzzCommandImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor( + void* OutTimedBuzzCommandImpl) +{ + StaticCast(OutTimedBuzzCommandImpl)->TimedBuzzCommandImpl = + FSGTimedBuzzCommandImpl(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_MakeShared( + void* OutSharedPtr) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared(); +} + +void +SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_Finger_Magnitude_DurationSeconds_StartTimeSeconds( + void* OutTimedBuzzCommandImpl, + void* Finger, + const int32 Magnitude, + const float DurationSeconds, + const float StartTimeSeconds) +{ + StaticCast(OutTimedBuzzCommandImpl)->TimedBuzzCommandImpl = + FSGTimedBuzzCommandImpl( + StaticCast(Finger)->Finger, + Magnitude, + DurationSeconds, + StartTimeSeconds); +} + +void +SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_Finger_Magnitude_DurationSeconds_StartTimeSeconds_MakeShared( + void* OutSharedPtr, + void* Finger, + const int32 Magnitude, + const float DurationSeconds, + const float StartTimeSeconds) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Finger)->Finger, + Magnitude, + DurationSeconds, + StartTimeSeconds); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds( + void* OutTimedBuzzCommandImpl, + void* BaseCommand, + const float DurationSeconds, + const float StartTimeSeconds) +{ + StaticCast(OutTimedBuzzCommandImpl)->TimedBuzzCommandImpl = + FSGTimedBuzzCommandImpl( + StaticCast(BaseCommand)->BuzzCommandImpl, + DurationSeconds, + StartTimeSeconds); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds_MakeShared( + void* OutSharedPtr, + void* BaseCommand, + const float DurationSeconds, + const float StartTimeSeconds) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(BaseCommand)->BuzzCommandImpl, + DurationSeconds, + StartTimeSeconds); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy( + void* OutTimedBuzzCommandImpl, + void* Rhs) +{ + StaticCast(OutTimedBuzzCommandImpl)->TimedBuzzCommandImpl = + FSGTimedBuzzCommandImpl(StaticCast(Rhs)->TimedBuzzCommandImpl); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs) +{ + StaticCast(OutSharedPtr)->Ptr = + MakeShared( + StaticCast(Rhs)->TimedBuzzCommandImpl); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy_assignment( + void* OutTimedBuzzCommandImpl, + void* Rhs) +{ + StaticCast(OutTimedBuzzCommandImpl)->TimedBuzzCommandImpl = + StaticCast(Rhs)->TimedBuzzCommandImpl; +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_Copy( + void* Instance, + void* OutBuzzCommandImpl) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + StaticCast(Instance)->Ptr->Copy(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_Merge( + void* Instance, + void* OutBuzzCommandImpl, + void* BuzzCommand) +{ + StaticCast(OutBuzzCommandImpl)->BuzzCommandImpl = + StaticCast(Instance)->Ptr->Merge( + StaticCast(BuzzCommand)->BuzzCommandImpl); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_GetBaseCommand( + void* Instance, + void* OutCommand) +{ + StaticCast(OutCommand)->BuzzCommandImpl = + StaticCast(Instance)->Ptr->GetBaseCommand(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_SetBaseCommand( + void* Instance, + void* BaseCommand) +{ + StaticCast(Instance)->Ptr->SetBaseCommand( + StaticCast(BaseCommand)->BuzzCommandImpl); +} + +int32 SGCoreImpl_FSGTimedBuzzCommandImpl_GetMagnitude( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetMagnitude(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_SetMagnitude( + void* Instance, + const int32 Magnitude) +{ + return StaticCast(Instance)->Ptr->SetMagnitude(Magnitude); +} + +float SGCoreImpl_FSGTimedBuzzCommandImpl_GetDuration( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetDuration(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_SetDuration( + void* Instance, + const float Duration) +{ + return StaticCast(Instance)->Ptr->SetDuration(Duration); +} + +float SGCoreImpl_FSGTimedBuzzCommandImpl_GetElapsedTime( + void* Instance) +{ + return StaticCast(Instance)->Ptr->GetElapsedTime(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_SetElapsedTime( + void* Instance, + const float ElapsedTime) +{ + return StaticCast(Instance)->Ptr->SetElapsedTime(ElapsedTime); +} + +bool SGCoreImpl_FSGTimedBuzzCommandImpl_HasTimeElapsed( + void* Instance) +{ + return StaticCast(Instance)->Ptr->HasTimeElapsed(); +} + +float SGCoreImpl_FSGTimedBuzzCommandImpl_NormalizedTime( + void* Instance, + const bool bClamp01) +{ + return StaticCast(Instance)->Ptr->NormalizedTime(bClamp01); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ResetTiming( + void* Instance) +{ + StaticCast(Instance)->Ptr->ResetTiming(); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_UpdateTiming( + void* Instance, + const float DeltaSeconds) +{ + StaticCast(Instance)->Ptr->UpdateTiming(DeltaSeconds); +} + +void SGCoreImpl_FSGTimedBuzzCommandImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->Ptr->ToString(); +} + +/******************************************************************************* + * SGTimedThumpCommandImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGTimedThumpCommandImpl_ctor( + void* OutTimedThumpCommandImpl) +{ + StaticCast(OutTimedThumpCommandImpl)->TimedThumpCommandImpl = + FSGTimedThumpCommandImpl(); +} + +void +SGCoreImpl_FSGTimedThumpCommandImpl_ctor_Magnitude_DurationSeconds_StartTimeSeconds( + void* OutTimedThumpCommandImpl, + const int32 Magnitude, + const float DurationSeconds, + const float StartTimeSeconds) +{ + StaticCast(OutTimedThumpCommandImpl)->TimedThumpCommandImpl = + FSGTimedThumpCommandImpl( + Magnitude, + DurationSeconds, + StartTimeSeconds); +} + +void +SGCoreImpl_FSGTimedThumpCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds( + void* OutTimedThumpCommandImpl, + void* BaseCommand, + const float DurationSeconds, + const float StartTimeSeconds) +{ + StaticCast(OutTimedThumpCommandImpl)->TimedThumpCommandImpl = + FSGTimedThumpCommandImpl( + StaticCast(BaseCommand)->ThumperCommandImpl, + DurationSeconds, + StartTimeSeconds); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_ctor_copy( + void* OutTimedThumpCommandImpl, + void* Rhs) +{ + StaticCast(OutTimedThumpCommandImpl)->TimedThumpCommandImpl = + FSGTimedThumpCommandImpl(StaticCast(Rhs)->TimedThumpCommandImpl); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_ctor_copy_assignment( + void* OutTimedThumpCommandImpl, + void* Rhs) +{ + StaticCast(OutTimedThumpCommandImpl)->TimedThumpCommandImpl = + StaticCast(Rhs)->TimedThumpCommandImpl; +} + +int32 SGCoreImpl_FSGTimedThumpCommandImpl_GetMagnitude( + void* Instance) +{ + return StaticCast(Instance)->TimedThumpCommandImpl.GetMagnitude(); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_SetMagnitude( + void* Instance, + const int32 Magnitude) +{ + StaticCast(Instance)->TimedThumpCommandImpl.SetMagnitude(Magnitude); +} + +float SGCoreImpl_FSGTimedThumpCommandImpl_GetDuration( + void* Instance) +{ + return StaticCast(Instance)->TimedThumpCommandImpl.GetDuration(); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_SetDuration( + void* Instance, + const float Duration) +{ + StaticCast(Instance)->TimedThumpCommandImpl.SetDuration(Duration); +} + +float SGCoreImpl_FSGTimedThumpCommandImpl_GetElapsedTime( + void* Instance) +{ + return StaticCast(Instance)->TimedThumpCommandImpl.GetElapsedTime(); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_SetElapsedTime( + void* Instance, + const float ElapsedTime) +{ + StaticCast(Instance)->TimedThumpCommandImpl.SetElapsedTime(ElapsedTime); +} + +bool SGCoreImpl_FSGTimedThumpCommandImpl_HasTimeElapsed( + void* Instance) +{ + return StaticCast(Instance)->TimedThumpCommandImpl.HasTimeElapsed(); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_Copy( + void* Instance, + void* OutTimedThumpCommandImpl, + const bool bCopyElapsed) +{ + StaticCast(OutTimedThumpCommandImpl)->TimedThumpCommandImpl = + StaticCast(Instance)->TimedThumpCommandImpl.Copy(bCopyElapsed); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_Update( + void* Instance, + const float DeltaSeconds) +{ + StaticCast(Instance)->TimedThumpCommandImpl.Update(DeltaSeconds); +} + +bool SGCoreImpl_FSGTimedThumpCommandImpl_Equals( + void* Instance, + void* TimedThumpCommandImpl) +{ + return StaticCast(Instance)->TimedThumpCommandImpl.Equals( + StaticCast(TimedThumpCommandImpl)->ThumperCommandImpl); +} + +void SGCoreImpl_FSGTimedThumpCommandImpl_ToString( + void* Instance, + void* OutString) +{ + StaticCast(OutString)->String = + StaticCast(Instance)->TimedThumpCommandImpl.ToString(); +} + +/******************************************************************************* + * SGTrackingImpl.h + ******************************************************************************/ + +void SGCoreImpl_FSGTrackingImpl_CalculateLocation( + void* TrackedPosition, + void* TrackedRotation, + void* PositionOffset, + void* RotationOffset, + void* OutNewPosition, + void* OutNewRotation) +{ + FSGTrackingImpl::CalculateLocation( + StaticCast(TrackedPosition)->Vector, + StaticCast(TrackedRotation)->Quat, + StaticCast(PositionOffset)->Vector, + StaticCast(RotationOffset)->Quat, + StaticCast(OutNewPosition)->Vector, + StaticCast(OutNewRotation)->Quat); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveFingerToGlovePositionOrigin( + void* OutOrigin) +{ + StaticCast(OutOrigin)->Array = + FSGTrackingImpl::GetSenseGloveFingerToGlovePositionOrigin(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveFingerToGloveRotationOrigin( + void* OutOrigin) +{ + StaticCast(OutOrigin)->Array = FSGTrackingImpl::GetSenseGloveFingerToGloveRotationOrigin(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveWristPositionOffset( + void* OutOffset) +{ + StaticCast(OutOffset)->Vector = FSGTrackingImpl::GetSenseGloveWristPositionOffset(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveWristRotationOffset( + void* OutOffset) +{ + StaticCast(OutOffset)->Quat = FSGTrackingImpl::GetSenseGloveWristRotationOffset(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveMountOffset( + const bool bRightHanded, + void* ToFinger, + void* OutIPosition, + void* OutIRotation) +{ + FSGTrackingImpl::GetSenseGloveMountOffset( + bRightHanded, + StaticCast(ToFinger)->Finger, + StaticCast(OutIPosition)->Vector, + StaticCast(OutIRotation)->Quat); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveTrackerMountOffset( + void* Hardware, + const bool bRightHanded, + void* OutPositionOffset, + void* OutRotationOffset) +{ + FSGTrackingImpl::GetSenseGloveTrackerMountOffset( + StaticCast(Hardware)->Hardware, + bRightHanded, + StaticCast(OutPositionOffset)->Vector, + StaticCast(OutRotationOffset)->Quat); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveViveToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetSenseGloveViveToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveViveToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetSenseGloveViveToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveOculusTouchToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetSenseGloveOculusTouchToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetSenseGloveOculusTouchToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetSenseGloveOculusTouchToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetNovaToWristPositionOffset( + void* OutOffset) +{ + StaticCast(OutOffset)->Vector = FSGTrackingImpl::GetNovaToWristPositionOffset(); +} + +void SGCoreImpl_FSGTrackingImpl_GetNovaToWristRotationOffset( + void* OutOffset) +{ + StaticCast(OutOffset)->Quat = FSGTrackingImpl::GetNovaToWristRotationOffset(); +} + +void SGCoreImpl_FSGTrackingImpl_GetNovaGloveWristOffset( + const bool bRightHanded, + void* OutPositionOffset, + void* OutRotationOffset) +{ + FSGTrackingImpl::GetNovaGloveWristOffset( + bRightHanded, + StaticCast(OutPositionOffset)->Vector, + StaticCast(OutRotationOffset)->Quat); +} + +void SGCoreImpl_FSGTrackingImpl_GetRightNovaViveToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetRightNovaViveToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetRightNovaViveToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetRightNovaViveToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetLeftNovaViveToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetLeftNovaViveToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetLeftNovaViveToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetLeftNovaViveToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetRightNovaQuest2ToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetRightNovaQuest2ToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetRightNovaQuest2ToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetRightNovaQuest2ToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetLeftNovaQuest2ToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetLeftNovaQuest2ToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetLeftNovaQuest2ToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetLeftNovaQuest2ToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetRightNovaPico2ToAttachPosition( + void* OutPosition) +{ + StaticCast(OutPosition)->Vector = FSGTrackingImpl::GetRightNovaPico2ToAttachPosition(); +} + +void SGCoreImpl_FSGTrackingImpl_GetRightNovaPico2ToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetRightNovaPico2ToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetLeftNovaPico2ToAttachRotation( + void* OutRotation) +{ + StaticCast(OutRotation)->Quat = FSGTrackingImpl::GetLeftNovaPico2ToAttachRotation(); +} + +void SGCoreImpl_FSGTrackingImpl_GetNovaGloveTrackerOffset( + void* Hardware, + const bool bRightHanded, + void* OutPositionOffset, + void* OutRotationOffset) +{ + FSGTrackingImpl::GetNovaGloveTrackerOffset( + StaticCast(Hardware)->Hardware, + bRightHanded, + StaticCast(OutPositionOffset)->Vector, + StaticCast(OutRotationOffset)->Quat); +} + +void SGCoreImpl_FSGTrackingImpl_ToString( + void* OutString, + void* Hardware) +{ + StaticCast(OutString)->String = FSGTrackingImpl::ToString( + StaticCast(Hardware)->Hardware); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGFingerCommandImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGFingerCommandImpl.cpp new file mode 100644 index 00000000..8e5fa9ed --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGFingerCommandImpl.cpp @@ -0,0 +1,289 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGFingerCommandImpl.h" + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BuzzCommand.h" +#include "SGBuildHacks/SGInclude_Core_FingerCommand.h" +#include "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" +#include "SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h" +#include "SGCoreImpl/SGForceFeedbackCommandImpl.h" +#include "SGCoreImpl/SGTimedBuzzCommandImpl.h" +#include "SGUtils/SGArrayUtils.h" +#include "Templates/Casts.h" + +struct FSGFingerCommandImpl::FImpl +{ + /************************ + * Static methods + ************************/ + + static TSharedPtr MakeNewFingerCommand(TSharedPtr Ptr); + + /************************ + * Member variables + ************************/ + + TSharedPtr FingerCommand; + + /************************ + * Owner object + ************************/ + + FSGFingerCommandImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGFingerCommandImpl* InOwner); + ~FImpl(); + + /************************ + * The copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs); + FImpl& operator=(const FImpl& Rhs); +}; + +FSGFingerCommandImpl::FSGFingerCommandImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGFingerCommandImpl::FSGFingerCommandImpl(const TArray& Levels) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector LevelsVector{ + FSGArrayUtils::ToStdVector(Levels) + }; + Pimpl->FingerCommand = MakeShared(MoveTemp(LevelsVector)); +} + +FSGFingerCommandImpl::FSGFingerCommandImpl(const FFingerCommandType& FingerCommand) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->FingerCommand = MakeShared(FingerCommand); +} + +FSGFingerCommandImpl::FSGFingerCommandImpl(const TSharedRef FingerCommand) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->FingerCommand = FImpl::MakeNewFingerCommand(FingerCommand); +} + +FSGFingerCommandImpl::FSGFingerCommandImpl(const FSGFingerCommandImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; + Pimpl->FingerCommand = FImpl::MakeNewFingerCommand(Rhs.Pimpl->FingerCommand); +} + +FSGFingerCommandImpl::FSGFingerCommandImpl(FSGFingerCommandImpl&& Rhs) noexcept = default; + +FSGFingerCommandImpl::~FSGFingerCommandImpl() = default; + +FSGFingerCommandImpl& FSGFingerCommandImpl::operator=(const FSGFingerCommandImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGFingerCommandImpl& FSGFingerCommandImpl::operator=(FSGFingerCommandImpl&& Rhs) noexcept = default; + +const FSGFingerCommandImpl::FFingerCommandType& FSGFingerCommandImpl::ToFingerCommand() const +{ + return *Pimpl->FingerCommand; +} + +TSharedRef FSGFingerCommandImpl::ToFingerCommandRef() const +{ + return Pimpl->FingerCommand.ToSharedRef(); +} + +FSGFingerCommandImpl::FFingerCommandType& FSGFingerCommandImpl::ToFingerCommand() +{ + return *Pimpl->FingerCommand; +} + +TSharedRef FSGFingerCommandImpl::ToFingerCommandRef() +{ + return Pimpl->FingerCommand.ToSharedRef(); +} + +TSharedRef FSGFingerCommandImpl::ToFingerCommandImplRef() +{ + return SharedThis(this); +} + +TSharedRef FSGFingerCommandImpl::ToBuzzCommandImplRef() +{ + FSGBuzzCommandImpl* BuzzCommandImpl{dynamic_cast(this)}; + ensureAlwaysMsgf(BuzzCommandImpl, TEXT("Invalid BuzzCommandImpl!")); + return SharedThis(BuzzCommandImpl); +} + +TSharedRef FSGFingerCommandImpl::ToForceFeedbackCommandImplRef() +{ + FSGForceFeedbackCommandImpl* ForceFeedbackCommandImpl{ + dynamic_cast(this)}; + ensureAlwaysMsgf(ForceFeedbackCommandImpl, TEXT("Invalid ForceFeedbackCommandImpl!")); + return SharedThis(ForceFeedbackCommandImpl); +} + +TSharedRef FSGFingerCommandImpl::ToTimedBuzzCommandImplRef() +{ + FSGTimedBuzzCommandImpl* TimedBuzzCommandImpl{dynamic_cast(this)}; + ensureAlwaysMsgf(TimedBuzzCommandImpl, TEXT("Invalid TimedBuzzCommandImpl!")); + return SharedThis(TimedBuzzCommandImpl); +} + +TArray FSGFingerCommandImpl::GetLevels() const +{ + return FSGArrayUtils::FromStdVector(Pimpl->FingerCommand->GetLevels()); +} + +void FSGFingerCommandImpl::SetLevels(const TArray& Levels) +{ + std::vector LevelsVector{FSGArrayUtils::ToStdVector(Levels)}; + Pimpl->FingerCommand->SetLevels(MoveTemp(LevelsVector)); +} + +int32 FSGFingerCommandImpl::GetLevel(const int32 Finger) const +{ + return Pimpl->FingerCommand->GetLevel(Finger); +} + +void FSGFingerCommandImpl::SetLevel(const int32 Finger, const int32 Value) +{ + return Pimpl->FingerCommand->SetLevel(Finger, Value); +} + +bool FSGFingerCommandImpl::Equals(const FSGFingerCommandImpl& FingerCommandImpl) const +{ + return Pimpl->FingerCommand->Equals(FingerCommandImpl.ToFingerCommand()); +} + +FString FSGFingerCommandImpl::ToString() const +{ + return UTF8_TO_TCHAR(Pimpl->FingerCommand->ToString().c_str()); +} + +TSharedPtr FSGFingerCommandImpl::FImpl::MakeNewFingerCommand( + const TSharedPtr Ptr) +{ + { + FSGTimedBuzzCommandImpl::FTimedBuzzCommandType* TimedBuzzCommand{dynamic_cast< + FSGTimedBuzzCommandImpl::FTimedBuzzCommandType*>(Ptr.Get())}; + if (TimedBuzzCommand) + { + return MakeShared(*TimedBuzzCommand); + } + } + + { + FSGBuzzCommandImpl::FBuzzCommandType* BuzzCommand{dynamic_cast< + FSGBuzzCommandImpl::FBuzzCommandType*>(Ptr.Get())}; + if (BuzzCommand) + { + return MakeShared(*BuzzCommand); + } + } + + { + FSGForceFeedbackCommandImpl::FForceFeedbackCommandType* ForceFeedbackCommand{dynamic_cast< + FSGForceFeedbackCommandImpl::FForceFeedbackCommandType*>(Ptr.Get())}; + if (ForceFeedbackCommand) + { + return MakeShared(*ForceFeedbackCommand); + } + } + + return MakeShared(*Ptr); +} + +FSGFingerCommandImpl::FImpl::FImpl(FSGFingerCommandImpl* InOwner) + : FingerCommand(MakeShared()), + Owner(InOwner) +{ +} + +FSGFingerCommandImpl::FImpl::~FImpl() = default; + +FSGFingerCommandImpl::FImpl::FImpl(const FImpl& Rhs) + : FingerCommand(MakeNewFingerCommand(Rhs.FingerCommand)) +{ +} + +FSGFingerCommandImpl::FImpl& FSGFingerCommandImpl::FImpl::operator=(const FImpl& Rhs) +{ + FingerCommand = MakeNewFingerCommand(Rhs.FingerCommand); + return *this; +} + +void FSGFingerCommandImpl::FImplDeleter::operator()(const FSGFingerCommandImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGForceFeedbackCommandImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGForceFeedbackCommandImpl.cpp new file mode 100644 index 00000000..a50c4939 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGForceFeedbackCommandImpl.cpp @@ -0,0 +1,194 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGForceFeedbackCommandImpl.h" + +#include "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGForceFeedbackCommandImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + FSGForceFeedbackCommandImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGForceFeedbackCommandImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGForceFeedbackCommandImpl& FSGForceFeedbackCommandImpl::Off() +{ + static const FSGForceFeedbackCommandImpl Command(FForceFeedbackCommandType::Off()); + return Command; +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl() + : FSGFingerCommandImpl(MakeShared()), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(const TArray& ForceFeedbackLevels) + : FSGFingerCommandImpl(MakeShared( + FSGArrayUtils::ToStdVector(ForceFeedbackLevels))), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(const int32 Thumb, const int32 Index, const int32 Middle, + const int32 Ring, const int32 Pinky) + : FSGFingerCommandImpl(MakeShared(Thumb, Index, Middle, Ring, Pinky)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(const ESGFinger Finger, const int32 BuzzLevel) + : FSGFingerCommandImpl(MakeShared(FSGCoreEnumCast::ToEFinger(Finger), BuzzLevel)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(const FForceFeedbackCommandType& ForceFeedbackCommand) + : FSGFingerCommandImpl(MakeShared(ForceFeedbackCommand)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(const TSharedRef ForceFeedbackCommand) + : FSGFingerCommandImpl(ForceFeedbackCommand), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(const FSGForceFeedbackCommandImpl& Rhs) + : FSGFingerCommandImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGForceFeedbackCommandImpl::FSGForceFeedbackCommandImpl(FSGForceFeedbackCommandImpl&& Rhs) noexcept = default; + +FSGForceFeedbackCommandImpl::~FSGForceFeedbackCommandImpl() = default; + +FSGForceFeedbackCommandImpl& FSGForceFeedbackCommandImpl::operator=(const FSGForceFeedbackCommandImpl& Rhs) +{ + FSGFingerCommandImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGForceFeedbackCommandImpl& FSGForceFeedbackCommandImpl::operator=(FSGForceFeedbackCommandImpl&& Rhs) noexcept += default; + +const FSGForceFeedbackCommandImpl::FForceFeedbackCommandType& FSGForceFeedbackCommandImpl::ToForceFeedbackCommand() const +{ + return *StaticCastSharedRef(ToFingerCommandRef()); +} + +TSharedRef FSGForceFeedbackCommandImpl::ToForceFeedbackCommandRef() const +{ + return StaticCastSharedRef(ToFingerCommandRef()); +} + +FSGForceFeedbackCommandImpl FSGForceFeedbackCommandImpl::Copy() const +{ + return FSGForceFeedbackCommandImpl(ToForceFeedbackCommand().Copy()); +} + +FSGForceFeedbackCommandImpl FSGForceFeedbackCommandImpl::Merge(const FSGForceFeedbackCommandImpl& Command) const +{ + return FSGForceFeedbackCommandImpl(ToForceFeedbackCommand().Merge(Command.ToForceFeedbackCommand())); +} + +FSGForceFeedbackCommandImpl::FImpl::FImpl(FSGForceFeedbackCommandImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGForceFeedbackCommandImpl::FImpl::~FImpl() = default; + +void FSGForceFeedbackCommandImpl::FImplDeleter::operator()(const FSGForceFeedbackCommandImpl::FImpl* P) const +{ + delete P; +} diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandInterpolatorImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandInterpolatorImpl.cpp new file mode 100644 index 00000000..9875abc0 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandInterpolatorImpl.cpp @@ -0,0 +1,312 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHandInterpolatorImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_HandInterpolator.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGInterpolationSetImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGHandInterpolatorImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FHandInterpolatorType HandInterpolator; + + /************************ + * Owner object + ************************/ + + FSGHandInterpolatorImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHandInterpolatorImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGHandInterpolatorImpl FSGHandInterpolatorImpl::Default(const bool bRightHanded) +{ + const FSGHandInterpolatorImpl HandInterpolatorImpl(FHandInterpolatorType::Default(bRightHanded)); + return HandInterpolatorImpl; +} + +FSGHandInterpolatorImpl FSGHandInterpolatorImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGHandInterpolatorImpl GlovePose(FHandInterpolatorType::Deserialize(MoveTemp(Serialized))); + return GlovePose; +} + +TArray FSGHandInterpolatorImpl::InterpolateFingerAngles( + ESGFinger Finger, const FSGHandInterpolatorImpl& Interpolator, const FVector& TotalGloveAngles) +{ + const TArray Angles{ + FSGArrayUtils::FromStdVector( + FHandInterpolatorType::InterpolateFingerAngles( + FSGCoreEnumCast::ToEFinger(Finger), Interpolator.ToHandInterpolator(), + FSGVect3DImpl(TotalGloveAngles).ToVect3D())) + }; + return Angles; +} + +TArray FSGHandInterpolatorImpl::InterpolateThumbAngles(const FSGHandInterpolatorImpl& Interpolator, + const FVector& TotalGloveAngles) +{ + const TArray Angles{ + FSGArrayUtils::FromStdVector( + FHandInterpolatorType::InterpolateThumbAngles( + Interpolator.ToHandInterpolator(), FSGVect3DImpl(TotalGloveAngles).ToVect3D())) + }; + return Angles; +} + +TArray> FSGHandInterpolatorImpl::InterpolateHandAngles(const FSGHandInterpolatorImpl& Interpolator, + const TArray& TotalAngles) +{ + std::vector TotalAnglesVector{ + FSGArrayUtils::ToStdVector( + TotalAngles) + }; + const TArray> Angles{ + FSGArrayUtils::FromStdVector( + FHandInterpolatorType::InterpolateHandAngles( + Interpolator.ToHandInterpolator(), MoveTemp(TotalAnglesVector))) + }; + return Angles; +} + +FSGHandInterpolatorImpl::FSGHandInterpolatorImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHandInterpolatorImpl::FSGHandInterpolatorImpl(const TArray>& JointInterpolations) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> JointInterpolationsVector{ + FSGArrayUtils::ToStdVector(JointInterpolations) + }; + Pimpl->HandInterpolator = FHandInterpolatorType(JointInterpolationsVector); +} + +FSGHandInterpolatorImpl::FSGHandInterpolatorImpl(const TArray>& JointInterpolations, + const FQuat& CmcStartRotation) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> JointInterpolationsVector{ + FSGArrayUtils::ToStdVector(JointInterpolations) + }; + Pimpl->HandInterpolator = FHandInterpolatorType(JointInterpolationsVector, + FSGQuatImpl(CmcStartRotation).ToQuat()); +} + +FSGHandInterpolatorImpl::FSGHandInterpolatorImpl(const FHandInterpolatorType& HandInterpolator) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HandInterpolator = HandInterpolator; +} + +FSGHandInterpolatorImpl::FSGHandInterpolatorImpl(const FSGHandInterpolatorImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHandInterpolatorImpl::FSGHandInterpolatorImpl(FSGHandInterpolatorImpl&& Rhs) noexcept = default; + +FSGHandInterpolatorImpl::~FSGHandInterpolatorImpl() = default; + +FSGHandInterpolatorImpl& FSGHandInterpolatorImpl::operator=(const FSGHandInterpolatorImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHandInterpolatorImpl& FSGHandInterpolatorImpl::operator=(FSGHandInterpolatorImpl&& Rhs) noexcept += default; + +const FSGHandInterpolatorImpl::FHandInterpolatorType& FSGHandInterpolatorImpl::ToHandInterpolator( + ) const +{ + return Pimpl->HandInterpolator; +} + +TArray> FSGHandInterpolatorImpl::GetJointInterpolations() const +{ + const TArray> JointInterpolations{ + FSGArrayUtils::FromStdVector( + Pimpl->HandInterpolator.GetJointInterpolations()) + }; + return JointInterpolations; +} + +void FSGHandInterpolatorImpl::SetJointInterpolations(const TArray>& JointInterpolations) +{ + Pimpl->HandInterpolator.SetJointInterpolations( + FSGArrayUtils::ToStdVector(JointInterpolations)); +} + +FQuat FSGHandInterpolatorImpl::GetCmcStartRotation() const +{ + return FSGQuatImpl(Pimpl->HandInterpolator.GetCmcStartRotation()).ToFQuat(); +} + +void FSGHandInterpolatorImpl::SetCmcStartRotation(const FQuat& CmcStartRotation) +{ + Pimpl->HandInterpolator.SetCmcStartRotation(FSGQuatImpl(CmcStartRotation).ToQuat()); +} + +float FSGHandInterpolatorImpl::CalculateAngle(const ESGFinger Finger, const int32 Movement, const float Value) const +{ + return Pimpl->HandInterpolator.CalculateAngle(FSGCoreEnumCast::ToEFinger(Finger), Movement, Value); +} + +float FSGHandInterpolatorImpl::CalculateAngle(const ESGFinger Finger, const ESGFingerMovement Movement, + const float Value) const +{ + return Pimpl->HandInterpolator.CalculateAngle( + FSGCoreEnumCast::ToEFinger(Finger), FSGCoreEnumCast::ToEFingerMovement(Movement), Value); +} + +float FSGHandInterpolatorImpl::CalculateAngle(const ESGFinger Finger, const ESGThumbMovement Movement, + const float Value) const +{ + return Pimpl->HandInterpolator.CalculateAngle( + FSGCoreEnumCast::ToEFinger(Finger), FSGCoreEnumCast::ToEThumbMovement(Movement), Value); +} + +void FSGHandInterpolatorImpl::SetInterpolation( + const int32 Finger, const int32 Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + Pimpl->HandInterpolator.SetInterpolation(Finger, Movement, InputAt0, InputAt1, AngleAt0, AngleAt1); +} + +void FSGHandInterpolatorImpl::SetInterpolation( + const ESGFinger Finger, const ESGFingerMovement Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + Pimpl->HandInterpolator.SetInterpolation( + FSGCoreEnumCast::ToEFinger(Finger), FSGCoreEnumCast::ToEFingerMovement(Movement), + InputAt0, InputAt1, AngleAt0, AngleAt1); +} + +void FSGHandInterpolatorImpl::SetInterpolation( + const ESGThumbMovement Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + Pimpl->HandInterpolator.SetInterpolation(FSGCoreEnumCast::ToEThumbMovement(Movement), + InputAt0, InputAt1, AngleAt0, AngleAt1); +} + +FSGInterpolationSetImpl FSGHandInterpolatorImpl::GetInterpolation(const int32 Finger, const int32 Movement) const +{ + return FSGInterpolationSetImpl(Pimpl->HandInterpolator.GetInterpolation(Finger, Movement)); +} + +bool FSGHandInterpolatorImpl::Equals(const FSGHandInterpolatorImpl& HandInterpolatorImpl) const +{ + return Pimpl->HandInterpolator.Equals(HandInterpolatorImpl.ToHandInterpolator()); +} + +FString FSGHandInterpolatorImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->HandInterpolator.Serialize().c_str())); + return Serialized; +} + +FSGHandInterpolatorImpl::FImpl::FImpl(FSGHandInterpolatorImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGHandInterpolatorImpl::FImpl::~FImpl() = default; + +void FSGHandInterpolatorImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandPoseImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandPoseImpl.cpp new file mode 100644 index 00000000..92a70750 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandPoseImpl.cpp @@ -0,0 +1,330 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHandPoseImpl.h" + +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_HandPose.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGBasicHandModelImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGHandPoseImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FHandPoseType HandPose; + + /************************ + * Owner object + ************************/ + + FSGHandPoseImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHandPoseImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGHandPoseImpl FSGHandPoseImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGHandPoseImpl HandPose(FHandPoseType::Deserialize(MoveTemp(Serialized))); + return HandPose; +} + +FSGHandPoseImpl FSGHandPoseImpl::FromHandAngles(const TArray>& HandAngles, const bool bRightHanded, + const FSGBasicHandModelImpl& HandDimensions) +{ + std::vector> HandAnglesVector{ + FSGArrayUtils::ToStdVector( + HandAngles) + }; + return FSGHandPoseImpl(FHandPoseType::FromHandAngles( + MoveTemp(HandAnglesVector), bRightHanded, HandDimensions.ToBasicHandModel())); +} + +FSGHandPoseImpl FSGHandPoseImpl::FromHandAngles(const TArray>& HandAngles, const bool bRightHanded) +{ + std::vector> HandAnglesVector{ + FSGArrayUtils::ToStdVector( + HandAngles) + }; + return FSGHandPoseImpl(FHandPoseType::FromHandAngles(MoveTemp(HandAnglesVector), bRightHanded)); +} + +FSGHandPoseImpl FSGHandPoseImpl::DefaultIdle(const bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions) +{ + return FSGHandPoseImpl(FHandPoseType::DefaultIdle(bRightHanded, HandDimensions.ToBasicHandModel())); +} + +FSGHandPoseImpl FSGHandPoseImpl::DefaultIdle(const bool bRightHanded) +{ + return FSGHandPoseImpl(FHandPoseType::DefaultIdle(bRightHanded)); +} + +FSGHandPoseImpl FSGHandPoseImpl::FlatHand(const bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions) +{ + return FSGHandPoseImpl(FHandPoseType::FlatHand(bRightHanded, HandDimensions.ToBasicHandModel())); +} + +FSGHandPoseImpl FSGHandPoseImpl::FlatHand(const bool bRightHanded) +{ + return FSGHandPoseImpl(FHandPoseType::FlatHand(bRightHanded)); +} + +FSGHandPoseImpl FSGHandPoseImpl::ThumbsUp(const bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions) +{ + return FSGHandPoseImpl(FHandPoseType::ThumbsUp(bRightHanded, HandDimensions.ToBasicHandModel())); +} + +FSGHandPoseImpl FSGHandPoseImpl::ThumbsUp(const bool bRightHanded) +{ + return FSGHandPoseImpl(FHandPoseType::ThumbsUp(bRightHanded)); +} + +FSGHandPoseImpl FSGHandPoseImpl::Fist(const bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions) +{ + return FSGHandPoseImpl(FHandPoseType::Fist(bRightHanded, HandDimensions.ToBasicHandModel())); +} + +FSGHandPoseImpl FSGHandPoseImpl::Fist(const bool bRightHanded) +{ + return FSGHandPoseImpl(FHandPoseType::Fist(bRightHanded)); +} + +FSGHandPoseImpl::FSGHandPoseImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHandPoseImpl::FSGHandPoseImpl(bool bRightHanded, const TArray>& JointPositions, + const TArray>& JointRotations, const TArray>& HandAngles) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> JointPositionsVector{ + FSGArrayUtils::ToStdVector( + JointPositions) + }; + + std::vector> JointRotationsVector{ + FSGArrayUtils::ToStdVector(JointRotations) + }; + + std::vector> HandAnglesVector{ + FSGArrayUtils::ToStdVector( + HandAngles) + }; + + Pimpl->HandPose = FHandPoseType( + bRightHanded, MoveTemp(JointPositionsVector), MoveTemp(JointRotationsVector), MoveTemp(HandAnglesVector)); +} + +FSGHandPoseImpl::FSGHandPoseImpl(const FHandPoseType& SenseGloveHandPose) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HandPose = SenseGloveHandPose; +} + +FSGHandPoseImpl::FSGHandPoseImpl(const FSGHandPoseImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHandPoseImpl::FSGHandPoseImpl(FSGHandPoseImpl&& Rhs) noexcept = default; + +FSGHandPoseImpl::~FSGHandPoseImpl() = default; + +FSGHandPoseImpl& FSGHandPoseImpl::operator=(const FSGHandPoseImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHandPoseImpl& FSGHandPoseImpl::operator=(FSGHandPoseImpl&& Rhs) noexcept += default; + +const FSGHandPoseImpl::FHandPoseType& FSGHandPoseImpl::ToHandPose() const +{ + return Pimpl->HandPose; +} + +bool FSGHandPoseImpl::IsRight() const +{ + return Pimpl->HandPose.IsRight(); +} + +void FSGHandPoseImpl::SetIsRight(const bool bRightHanded) const +{ + Pimpl->HandPose.SetIsRight(bRightHanded); +} + +TArray> FSGHandPoseImpl::GetJointPositions() const +{ + TArray> JointPositions{ + FSGArrayUtils::FromStdVector( + Pimpl->HandPose.GetJointPositions()) + }; + return MoveTemp(JointPositions); +} + +void FSGHandPoseImpl::SetJointPositions(const TArray>& JointPositions) const +{ + std::vector> JointPositionsVector{ + FSGArrayUtils::ToStdVector( + JointPositions) + }; + Pimpl->HandPose.SetJointPositions(MoveTemp(JointPositionsVector)); +} + +TArray> FSGHandPoseImpl::GetJointRotations() const +{ + TArray> JointRotations{ + FSGArrayUtils::FromStdVector( + Pimpl->HandPose.GetJointRotations()) + }; + return MoveTemp(JointRotations); +} + +void FSGHandPoseImpl::SetJointRotations(const TArray>& JointRotations) const +{ + std::vector> JointRotationsVector{ + FSGArrayUtils::ToStdVector( + JointRotations) + }; + Pimpl->HandPose.SetJointRotations(MoveTemp(JointRotationsVector)); +} + +TArray> FSGHandPoseImpl::GetHandAngles() const +{ + TArray> HandAngles{ + FSGArrayUtils::FromStdVector( + Pimpl->HandPose.GetHandAngles()) + }; + return MoveTemp(HandAngles); +} + +void FSGHandPoseImpl::SetHandAngles(const TArray>& HandAngles) const +{ + std::vector> HandAnglesVector{ + FSGArrayUtils::ToStdVector( + HandAngles) + }; + Pimpl->HandPose.SetHandAngles(MoveTemp(HandAnglesVector)); +} + +bool FSGHandPoseImpl::Equals(const FSGHandPoseImpl& HandPoseImpl) const +{ + return Pimpl->HandPose.Equals(HandPoseImpl.ToHandPose()); +} + +float FSGHandPoseImpl::GetNormalizedFlexion(ESGFinger Finger, bool bClamp01) const +{ + return Pimpl->HandPose.GetNormalizedFlexion(FSGCoreEnumCast::ToEFinger(Finger), bClamp01); +} + +TArray FSGHandPoseImpl::GetNormalizedFlexion(bool bClamp01) const +{ + TArray NormalizedFlexion{ + FSGArrayUtils::FromStdVector(Pimpl->HandPose.GetNormalizedFlexion(bClamp01)) + }; + return MoveTemp(NormalizedFlexion); +} + +FString FSGHandPoseImpl::ToString(bool bShortFormat) const +{ + FString String(UTF8_TO_TCHAR(Pimpl->HandPose.ToString(bShortFormat).c_str())); + return MoveTemp(String); +} + +FString FSGHandPoseImpl::Serialize() const +{ + FString Serialized(UTF8_TO_TCHAR(Pimpl->HandPose.Serialize().c_str())); + return MoveTemp(Serialized); +} + +FSGHandPoseImpl::FImpl::FImpl(FSGHandPoseImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGHandPoseImpl::FImpl::~FImpl() = default; + +void FSGHandPoseImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandProfileImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandProfileImpl.cpp new file mode 100644 index 00000000..0988dc65 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHandProfileImpl.cpp @@ -0,0 +1,265 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHandProfileImpl.h" + +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_HandInterpolator.h" +#include "SGBuildHacks/SGInclude_Core_HandProfile.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h" +#include "SGCoreImpl/SGNovaGloveHandProfileImpl.h" +#include "SGCoreImpl/SGSenseGloveHandProfileImpl.h" + +struct FSGHandProfileImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FHandProfileType HandProfile; + + /************************ + * Owner object + ************************/ + + FSGHandProfileImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHandProfileImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGHandProfileImpl FSGHandProfileImpl::Default(const bool bRightHanded) +{ + return FSGHandProfileImpl(FHandProfileType::Default(bRightHanded)); +} + +FSGHandProfileImpl FSGHandProfileImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGHandProfileImpl HandProfile(FHandProfileType::Deserialize(MoveTemp(Serialized))); + return HandProfile; +} + +const FString& FSGHandProfileImpl::GetProfileDirectory() +{ + static const FString Directory(UTF8_TO_TCHAR(FHandProfileType::GetProfileDirectory().c_str())); + return Directory; +} + +const FString& FSGHandProfileImpl::GetLeftHandFileName() +{ + static const FString FileName(UTF8_TO_TCHAR(FHandProfileType::GetLeftHandFileName().c_str())); + return FileName; +} + +const FString& FSGHandProfileImpl::GetRightHandFileName() +{ + static const FString FileName(UTF8_TO_TCHAR(FHandProfileType::GetRightHandFileName().c_str())); + return FileName; +} + +const FString& FSGHandProfileImpl::GetProfileFileName(const bool bRightHanded) +{ + static const FString FileName(UTF8_TO_TCHAR(FHandProfileType::GetProfileFileName(bRightHanded).c_str())); + return FileName; +} + +bool FSGHandProfileImpl::GetLatestProfile(const bool bRightHanded, FSGHandProfileImpl& OutLatestProfile) +{ + FHandProfileType LatestProfile; + const bool bResult = FHandProfileType::GetLatestProfile(bRightHanded, LatestProfile); + OutLatestProfile = FSGHandProfileImpl(OutLatestProfile); + return bResult; +} + +bool FSGHandProfileImpl::StoreProfile(const FSGHandProfileImpl& ProfileToStore) +{ + return FHandProfileType::StoreProfile(ProfileToStore.ToHandProfile()); +} + +bool FSGHandProfileImpl::ResetCalibration(const bool bRightHanded, const bool bOnDisk) +{ + return FHandProfileType::ResetCalibration(bRightHanded, bOnDisk); +} + +void FSGHandProfileImpl::ResetCalibration(const bool bOnDisk) +{ + /// NOTE + /// Due to overload method with a default parameter value, the compiler will get confused and stops with the error: + /// "call to 'ResetCalibration' is ambiguous" + /// So: + void (*RC)(bool) = &FHandProfileType::ResetCalibration; + RC(bOnDisk); +} + +FSGHandProfileImpl::FSGHandProfileImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHandProfileImpl::FSGHandProfileImpl(const bool bRightHanded, + const FSGSenseGloveHandProfileImpl& SenseGloveHandProfile, + const FSGNovaGloveHandProfileImpl& NovaGloveHandProfile) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HandProfile = FHandProfileType( + bRightHanded, SenseGloveHandProfile.ToSenseGloveHandProfile(), NovaGloveHandProfile.ToNovaGloveHandProfile()); +} + +FSGHandProfileImpl::FSGHandProfileImpl(const FHandProfileType& SenseGloveHandProfile) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HandProfile = SenseGloveHandProfile; +} + +FSGHandProfileImpl::FSGHandProfileImpl(const FSGHandProfileImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHandProfileImpl::FSGHandProfileImpl(FSGHandProfileImpl&& Rhs) noexcept = default; + +FSGHandProfileImpl::~FSGHandProfileImpl() = default; + +FSGHandProfileImpl& FSGHandProfileImpl::operator=(const FSGHandProfileImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHandProfileImpl& FSGHandProfileImpl::operator=(FSGHandProfileImpl&& Rhs) noexcept += default; + +const FSGHandProfileImpl::FHandProfileType& FSGHandProfileImpl::ToHandProfile( + ) const +{ + return Pimpl->HandProfile; +} + +bool FSGHandProfileImpl::IsRight() const +{ + return Pimpl->HandProfile.IsRight(); +} + +void FSGHandProfileImpl::SetIsRight(const bool bRightHanded) const +{ + Pimpl->HandProfile.SetIsRight(bRightHanded); +} + +FSGSenseGloveHandProfileImpl FSGHandProfileImpl::GetSenseGloveHandProfile() const +{ + return FSGSenseGloveHandProfileImpl(Pimpl->HandProfile.GetSenseGloveHandProfile()); +} + +void FSGHandProfileImpl::SetSenseGloveHandProfile(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfile) +{ + Pimpl->HandProfile.SetSenseGloveHandProfile(SenseGloveHandProfile.ToSenseGloveHandProfile()); +} + +FSGNovaGloveHandProfileImpl FSGHandProfileImpl::GetNovaGloveHandProfile() const +{ + return FSGNovaGloveHandProfileImpl(Pimpl->HandProfile.GetNovaGloveHandProfile()); +} + +void FSGHandProfileImpl::SetNovaGloveHandProfile(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfile) +{ + Pimpl->HandProfile.SetNovaGloveHandProfile(NovaGloveHandProfile.ToNovaGloveHandProfile()); +} + +bool FSGHandProfileImpl::Equals(const FSGHandProfileImpl& HandProfileImpl) const +{ + return Pimpl->HandProfile.Equals(HandProfileImpl.ToHandProfile()); +} + +void FSGHandProfileImpl::Reset() +{ + Pimpl->HandProfile.Reset(); +} + +FString FSGHandProfileImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->HandProfile.Serialize().c_str())); + return Serialized; +} + +FSGHandProfileImpl::FImpl::FImpl(FSGHandProfileImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGHandProfileImpl::FImpl::~FImpl() = default; + +void FSGHandProfileImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.cpp new file mode 100644 index 00000000..770d63cd --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.cpp @@ -0,0 +1,266 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCalibrationCheckImpl.h" + +#include + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h" +#include "SGBuildHacks/SGInclude_Core_SensorRange.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGSensorRangeImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGHapticGloveCalibrationCheckImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FHapticGloveCalibrationCheckType HapticGloveCalibrationCheck; + + /************************ + * Owner object + ************************/ + + FSGHapticGloveCalibrationCheckImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHapticGloveCalibrationCheckImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +float FSGHapticGloveCalibrationCheckImpl::GetSenseGloveThreshold() +{ + return FHapticGloveCalibrationCheckType::GetSenseGloveThreshold(); +} + +float FSGHapticGloveCalibrationCheckImpl::GetNovaGloveThreshold() +{ + return FHapticGloveCalibrationCheckType::GetNovaGloveThreshold(); +} + +float FSGHapticGloveCalibrationCheckImpl::GetSenseGloveMinFlexion() +{ + return FHapticGloveCalibrationCheckType::GetSenseGloveMinFlexion(); +} + +float FSGHapticGloveCalibrationCheckImpl::GetNovaGloveMinFlexion() +{ + return FHapticGloveCalibrationCheckType::GetNovaGloveMinFlexion(); +} + +float FSGHapticGloveCalibrationCheckImpl::GetSenseGloveMinAbduction() +{ + return FHapticGloveCalibrationCheckType::GetSenseGloveMinAbduction(); +} + +float FSGHapticGloveCalibrationCheckImpl::GetNovaGloveMinAbduction() +{ + return FHapticGloveCalibrationCheckType::GetNovaGloveMinAbduction(); +} + +bool FSGHapticGloveCalibrationCheckImpl::NeedsCheck(const ESGDeviceType DeviceType) +{ + return FHapticGloveCalibrationCheckType::NeedsCheck(FSGCoreEnumCast::ToEDeviceType(DeviceType)); +} + +int32 FSGHapticGloveCalibrationCheckImpl::OutOfBounds(const FSGSensorRangeImpl& PreviousRange, + const TArray& CurrentValues, + const ESGDeviceType DeviceType) +{ + std::vector CurrentValuesVector{ + FSGArrayUtils::ToStdVector( + CurrentValues) + }; + return FHapticGloveCalibrationCheckType::OutOfBounds(PreviousRange.ToSensorRange(), MoveTemp(CurrentValuesVector), + FSGCoreEnumCast::ToEDeviceType(DeviceType)); +} + +bool FSGHapticGloveCalibrationCheckImpl::MovedMinimum(const TArray& CurrentRange, + const ESGDeviceType DeviceType) +{ + std::vector CurrentRangeVector{ + FSGArrayUtils::ToStdVector( + CurrentRange) + }; + return FHapticGloveCalibrationCheckType::MovedMinimum(MoveTemp(CurrentRangeVector), + FSGCoreEnumCast::ToEDeviceType(DeviceType)); +} + +bool FSGHapticGloveCalibrationCheckImpl::MatchesLast(const TArray& CurrentRange, + const TArray& LastRange, const ESGDeviceType DeviceType) +{ + std::vector CurrentRangeVector{ + FSGArrayUtils::ToStdVector( + CurrentRange) + }; + std::vector LastRangeVector{ + FSGArrayUtils::ToStdVector( + LastRange) + }; + return FHapticGloveCalibrationCheckType::MatchesLast(MoveTemp(CurrentRangeVector), MoveTemp(LastRangeVector), + FSGCoreEnumCast::ToEDeviceType(DeviceType)); +} + +FSGHapticGloveCalibrationCheckImpl::FSGHapticGloveCalibrationCheckImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveCalibrationCheckImpl::FSGHapticGloveCalibrationCheckImpl(const FSGSensorRangeImpl& LastCalibrationRange) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationCheck = FHapticGloveCalibrationCheckType(LastCalibrationRange.ToSensorRange()); +} + +FSGHapticGloveCalibrationCheckImpl::FSGHapticGloveCalibrationCheckImpl( + const FHapticGloveCalibrationCheckType& HapticGloveCalibrationCheck) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationCheck = HapticGloveCalibrationCheck; +} + +FSGHapticGloveCalibrationCheckImpl::FSGHapticGloveCalibrationCheckImpl( + const FSGHapticGloveCalibrationCheckImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHapticGloveCalibrationCheckImpl::FSGHapticGloveCalibrationCheckImpl( + FSGHapticGloveCalibrationCheckImpl&& Rhs) noexcept = default; + +FSGHapticGloveCalibrationCheckImpl::~FSGHapticGloveCalibrationCheckImpl() = default; + +FSGHapticGloveCalibrationCheckImpl& FSGHapticGloveCalibrationCheckImpl::operator=( + const FSGHapticGloveCalibrationCheckImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHapticGloveCalibrationCheckImpl& FSGHapticGloveCalibrationCheckImpl::operator=( + FSGHapticGloveCalibrationCheckImpl&& Rhs) noexcept = default; + +const FSGHapticGloveCalibrationCheckImpl::FHapticGloveCalibrationCheckType& +FSGHapticGloveCalibrationCheckImpl::ToHapticGloveCalibrationCheck() const +{ + return Pimpl->HapticGloveCalibrationCheck; +} + +FSGSensorRangeImpl FSGHapticGloveCalibrationCheckImpl::GetLastSensorRange() const +{ + return FSGSensorRangeImpl{Pimpl->HapticGloveCalibrationCheck.GetLastSensorRange()}; +} + +void FSGHapticGloveCalibrationCheckImpl::SetLastSensorRange(const FSGSensorRangeImpl& LastSensorRange) +{ + Pimpl->HapticGloveCalibrationCheck.SetLastSensorRange(LastSensorRange.ToSensorRange()); +} + +ESGCalibrationStage FSGHapticGloveCalibrationCheckImpl::GetCalibrationStage() const +{ + return FSGCoreEnumCast::ToESGCalibrationStage(Pimpl->HapticGloveCalibrationCheck.GetCalibrationStage()); +} + +bool FSGHapticGloveCalibrationCheckImpl::ReachedConclusion() const +{ + return Pimpl->HapticGloveCalibrationCheck.ReachedConclusion(); +} + +void FSGHapticGloveCalibrationCheckImpl::Reset() +{ + Pimpl->HapticGloveCalibrationCheck.Reset(); +} + +void FSGHapticGloveCalibrationCheckImpl::CheckRange(const TArray& CurrentValues, const float DeltaSeconds, + const ESGDeviceType DeviceType) +{ + std::vector CurrentValuesVector{ + FSGArrayUtils::ToStdVector( + CurrentValues) + }; + Pimpl->HapticGloveCalibrationCheck.CheckRange(MoveTemp(CurrentValuesVector), DeltaSeconds, + FSGCoreEnumCast::ToEDeviceType(DeviceType)); +} + +FSGHapticGloveCalibrationCheckImpl::FImpl::FImpl(FSGHapticGloveCalibrationCheckImpl* InOwner) + : HapticGloveCalibrationCheck(), + Owner(InOwner) +{ +} + +FSGHapticGloveCalibrationCheckImpl::FImpl::~FImpl() = default; + +void FSGHapticGloveCalibrationCheckImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.cpp new file mode 100644 index 00000000..2e6a7758 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.cpp @@ -0,0 +1,378 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_CalibrationDataPoint.h" +#include "SGBuildHacks/SGInclude_Core_HandPose.h" +#include "SGBuildHacks/SGInclude_Core_HandProfile.h" +#include "SGBuildHacks/SGInclude_Core_HapticGlove.h" +#include "SGBuildHacks/SGInclude_Core_HapticGloveCalibrationSequence.h" +#include "SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h" +#include "SGBuildHacks/SGInclude_Core_SensorRange.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCalibrationDataPointImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGHandPoseImpl.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h" +#include "SGCoreImpl/SGSensorRangeImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" +#include "Templates/Casts.h" + +struct FSGHapticGloveCalibrationSequenceImpl::FImpl +{ + /************************ + * Static methods + ************************/ + + static TSharedPtr MakeNewHapticGloveCalibrationSequence( + TSharedPtr Ptr); + + /************************ + * Member variables + ************************/ + + TSharedPtr HapticGloveCalibrationSequence; + + /************************ + * Owner object + ************************/ + + FSGHapticGloveCalibrationSequenceImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHapticGloveCalibrationSequenceImpl* InOwner); + ~FImpl(); + + /************************ + * The copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs); + FImpl& operator=(const FImpl& Rhs); +}; + +int32 FSGHapticGloveCalibrationSequenceImpl::GetMaxDataPoints() +{ + return FHapticGloveCalibrationSequenceType::GetMaxDataPoints(); +} + +bool FSGHapticGloveCalibrationSequenceImpl::CompileProfile(const FSGSensorRangeImpl& SensorRange, + const ESGDeviceType ForDevice, const bool bRightHanded, + FSGHandProfileImpl& OutProfile) +{ + FSGHandProfileImpl::FHandProfileType Profile; + const bool bResult = FHapticGloveCalibrationSequenceType::CompileProfile( + SensorRange.ToSensorRange(), FSGCoreEnumCast::ToEDeviceType(ForDevice), bRightHanded, Profile); + OutProfile = FSGHandProfileImpl{Profile}; + return bResult; +} + +FSGHapticGloveCalibrationSequenceImpl::FSGHapticGloveCalibrationSequenceImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveCalibrationSequenceImpl::FSGHapticGloveCalibrationSequenceImpl( + const TSharedRef LinkedGlove) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationSequence = MakeShared( + LinkedGlove->ToHapticGlovePtrChecked()); +} + +FSGHapticGloveCalibrationSequenceImpl::FSGHapticGloveCalibrationSequenceImpl( + const FHapticGloveCalibrationSequenceType& HapticGloveCalibrationSequence) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationSequence = MakeShared( + HapticGloveCalibrationSequence); +} + +FSGHapticGloveCalibrationSequenceImpl::FSGHapticGloveCalibrationSequenceImpl( + TSharedRef HapticGloveCalibrationSequence) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCalibrationSequence = + Pimpl->MakeNewHapticGloveCalibrationSequence(HapticGloveCalibrationSequence); +} + +FSGHapticGloveCalibrationSequenceImpl::FSGHapticGloveCalibrationSequenceImpl( + const FSGHapticGloveCalibrationSequenceImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHapticGloveCalibrationSequenceImpl::FSGHapticGloveCalibrationSequenceImpl( + FSGHapticGloveCalibrationSequenceImpl&& Rhs) noexcept = default; + +FSGHapticGloveCalibrationSequenceImpl::~FSGHapticGloveCalibrationSequenceImpl() = default; + +FSGHapticGloveCalibrationSequenceImpl& FSGHapticGloveCalibrationSequenceImpl::operator=( + const FSGHapticGloveCalibrationSequenceImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHapticGloveCalibrationSequenceImpl& FSGHapticGloveCalibrationSequenceImpl::operator=( + FSGHapticGloveCalibrationSequenceImpl&& Rhs) noexcept = default; + +const FSGHapticGloveCalibrationSequenceImpl::FHapticGloveCalibrationSequenceType& +FSGHapticGloveCalibrationSequenceImpl::ToHapticGloveCalibrationSequence() const +{ + return *Pimpl->HapticGloveCalibrationSequence; +} + +TSharedRef +FSGHapticGloveCalibrationSequenceImpl::ToHapticGloveCalibrationSequenceRef() const +{ + return Pimpl->HapticGloveCalibrationSequence.ToSharedRef(); +} + +TSharedRef FSGHapticGloveCalibrationSequenceImpl:: +ToHapticGloveCalibrationSequenceImplRef() +{ + return SharedThis(this); +} + +TSharedRef FSGHapticGloveCalibrationSequenceImpl:: +ToHapticGloveQuickCalibrationImplRef() +{ + FSGHapticGloveQuickCalibrationImpl* HapticGloveQuickCalibration{ + dynamic_cast(this)}; + ensureAlwaysMsgf(HapticGloveQuickCalibration, TEXT("Invalid HapticGloveQuickCalibration!")); + return SharedThis(HapticGloveQuickCalibration); +} + +TSharedRef FSGHapticGloveCalibrationSequenceImpl::GetLinkedGlove() const +{ + FSGHapticGloveImpl::FHapticGlovePtrType Glove{Pimpl->HapticGloveCalibrationSequence->GetLinkedGlove()}; + return MakeShared(MoveTemp(Glove)); +} + +void FSGHapticGloveCalibrationSequenceImpl::SetLinkedGlove(const TSharedRef LinkedGlove) +{ + Pimpl->HapticGloveCalibrationSequence->SetLinkedGlove(LinkedGlove->ToHapticGlovePtrChecked()); +} + +TArray FSGHapticGloveCalibrationSequenceImpl::GetCalibrationPoints() const +{ + const TArray CalibrationPoints{ + FSGArrayUtils::FromStdVector( + Pimpl->HapticGloveCalibrationSequence->GetCalibrationPoints()) + }; + return CalibrationPoints; +} + +float FSGHapticGloveCalibrationSequenceImpl::GetElapsedTime() const +{ + return Pimpl->HapticGloveCalibrationSequence->GetElapsedTime(); +} + +bool FSGHapticGloveCalibrationSequenceImpl::IsManuallyCompleted() const +{ + return Pimpl->HapticGloveCalibrationSequence->IsManuallyCompleted(); +} + +int32 FSGHapticGloveCalibrationSequenceImpl::GetCurrentStage() const +{ + return Pimpl->HapticGloveCalibrationSequence->GetCurrentStage(); +} + +SIZE_T FSGHapticGloveCalibrationSequenceImpl::GetCalibrationPointsCount() const +{ + return Pimpl->HapticGloveCalibrationSequence->GetCalibrationPointsCount(); +} + +bool FSGHapticGloveCalibrationSequenceImpl::AutoCompleted() const +{ + return Pimpl->HapticGloveCalibrationSequence->AutoCompleted(); +} + +bool FSGHapticGloveCalibrationSequenceImpl::Completed() const +{ + return Pimpl->HapticGloveCalibrationSequence->Completed(); +} + +void FSGHapticGloveCalibrationSequenceImpl::Reset() +{ + Pimpl->HapticGloveCalibrationSequence.Reset(); +} + +void FSGHapticGloveCalibrationSequenceImpl::Update(const float DeltaSeconds) +{ + return Pimpl->HapticGloveCalibrationSequence->Update(DeltaSeconds); +} + +void FSGHapticGloveCalibrationSequenceImpl::AddDataPoint(const TArray& CalibrationData) +{ + std::vector CalibrationDataVector{ + FSGArrayUtils::ToStdVector( + CalibrationData) + }; + Pimpl->HapticGloveCalibrationSequence->AddDataPoint(MoveTemp(CalibrationDataVector)); +} + +void FSGHapticGloveCalibrationSequenceImpl::ConfirmCurrentStep() +{ + Pimpl->HapticGloveCalibrationSequence->ConfirmCurrentStep(); +} + +bool FSGHapticGloveCalibrationSequenceImpl::CompileRange(FSGSensorRangeImpl& OutSensorRange) const +{ + FSGSensorRangeImpl::FSensorRangeType SensorRange; + const bool bResult = Pimpl->HapticGloveCalibrationSequence->CompileRange(SensorRange); + OutSensorRange = FSGSensorRangeImpl{SensorRange}; + return bResult; +} + +bool FSGHapticGloveCalibrationSequenceImpl::CompileProfile(const ESGDeviceType ForDevice, const bool bRightHanded, + FSGHandProfileImpl& OutProfile) const +{ + FSGHandProfileImpl::FHandProfileType Profile; + const bool bResult = Pimpl->HapticGloveCalibrationSequence->CompileProfile( + FSGCoreEnumCast::ToEDeviceType(ForDevice), bRightHanded, Profile); + OutProfile = FSGHandProfileImpl{Profile}; + return bResult; +} + +bool FSGHapticGloveCalibrationSequenceImpl::GetHandPose(FSGHandPoseImpl& OutCurrentHandPose) const +{ + FSGHandPoseImpl::FHandPoseType CurrentHandPose; + const bool bResult = Pimpl->HapticGloveCalibrationSequence->GetHandPose(CurrentHandPose); + OutCurrentHandPose = FSGHandPoseImpl{CurrentHandPose}; + return bResult; +} + +bool FSGHapticGloveCalibrationSequenceImpl::GetHandPose(const bool bRightHanded, + FSGHandPoseImpl& OutCurrentHandPose) const +{ + FSGHandPoseImpl::FHandPoseType CurrentHandPose; + const bool bResult = Pimpl->HapticGloveCalibrationSequence->GetHandPose(bRightHanded, CurrentHandPose); + OutCurrentHandPose = FSGHandPoseImpl{CurrentHandPose}; + return bResult; +} + +FString FSGHapticGloveCalibrationSequenceImpl::GetCurrentInstruction(const FString& NextStepKey) const +{ + std::string NextStepKeyString{TCHAR_TO_UTF8(*NextStepKey)}; + const FString CurrentInstruction{TCHAR_TO_UTF8(Pimpl->HapticGloveCalibrationSequence->GetCurrentInstruction( + MoveTemp(NextStepKeyString)).c_str())}; + return CurrentInstruction; +} + +TSharedPtr +FSGHapticGloveCalibrationSequenceImpl::FImpl::MakeNewHapticGloveCalibrationSequence( + const TSharedPtr Ptr) +{ + { + FSGHapticGloveQuickCalibrationImpl::FHapticGloveQuickCalibrationType* HapticGloveQuickCalibration{ + dynamic_cast( + Ptr.Get()) + }; + if (HapticGloveQuickCalibration) + { + return MakeShared( + *HapticGloveQuickCalibration); + } + } + + return MakeShared(*Ptr); +} + +FSGHapticGloveCalibrationSequenceImpl::FImpl::FImpl(FSGHapticGloveCalibrationSequenceImpl* InOwner) + : HapticGloveCalibrationSequence(MakeShared()), + Owner(InOwner) +{ +} + +FSGHapticGloveCalibrationSequenceImpl::FImpl::~FImpl() = default; + +FSGHapticGloveCalibrationSequenceImpl::FImpl::FImpl(const FImpl& Rhs) + : HapticGloveCalibrationSequence(MakeNewHapticGloveCalibrationSequence(Rhs.HapticGloveCalibrationSequence)) +{ +} + +FSGHapticGloveCalibrationSequenceImpl::FImpl& FSGHapticGloveCalibrationSequenceImpl::FImpl::operator=(const FImpl& Rhs) +{ + HapticGloveCalibrationSequence = MakeNewHapticGloveCalibrationSequence(Rhs.HapticGloveCalibrationSequence); + return *this; +} + +void FSGHapticGloveCalibrationSequenceImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCommandBufferImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCommandBufferImpl.cpp new file mode 100644 index 00000000..272e99e4 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveCommandBufferImpl.cpp @@ -0,0 +1,329 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCommandBufferImpl.h" + +#include + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BuzzCommand.h" +#include "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" +#include "SGBuildHacks/SGInclude_Core_HapticGloveCommandBuffer.h" +#include "SGBuildHacks/SGInclude_Core_ThumperCommand.h" +#include "SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h" +#include "SGBuildHacks/SGInclude_Core_TimedThumpCommand.h" +#include "SGCoreImpl/SGBuzzCommandImpl.h" +#include "SGCoreImpl/SGForceFeedbackCommandImpl.h" +#include "SGCoreImpl/SGThumperCommandImpl.h" +#include "SGCoreImpl/SGTimedBuzzCommandImpl.h" +#include "SGCoreImpl/SGTimedThumpCommandImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGHapticGloveCommandBufferImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FHapticGloveCommandBufferType HapticGloveCommandBuffer; + + /************************ + * Owner object + ************************/ + + FSGHapticGloveCommandBufferImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHapticGloveCommandBufferImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +int32 FSGHapticGloveCommandBufferImpl::GetMaxForceFeedbackCommands() +{ + return FHapticGloveCommandBufferType::GetMaxForceFeedbackCommands(); +} + +int32 FSGHapticGloveCommandBufferImpl::GetMaxBuzzCommands() +{ + return FHapticGloveCommandBufferType::GetMaxBuzzCommands(); +} + +int32 FSGHapticGloveCommandBufferImpl::GetMaxThumpCommands() +{ + return FHapticGloveCommandBufferType::GetMaxThumpCommands(); +} + +FSGHapticGloveCommandBufferImpl::FSGHapticGloveCommandBufferImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveCommandBufferImpl::FSGHapticGloveCommandBufferImpl( + const FHapticGloveCommandBufferType& HapticGloveCommandBuffer) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->HapticGloveCommandBuffer = HapticGloveCommandBuffer; +} + +FSGHapticGloveCommandBufferImpl::FSGHapticGloveCommandBufferImpl( + const FSGHapticGloveCommandBufferImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHapticGloveCommandBufferImpl::FSGHapticGloveCommandBufferImpl( + FSGHapticGloveCommandBufferImpl&& Rhs) noexcept = default; + +FSGHapticGloveCommandBufferImpl::~FSGHapticGloveCommandBufferImpl() = default; + +FSGHapticGloveCommandBufferImpl& FSGHapticGloveCommandBufferImpl::operator=( + const FSGHapticGloveCommandBufferImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHapticGloveCommandBufferImpl& FSGHapticGloveCommandBufferImpl::operator=( + FSGHapticGloveCommandBufferImpl&& Rhs) noexcept = default; + +const FSGHapticGloveCommandBufferImpl::FHapticGloveCommandBufferType& +FSGHapticGloveCommandBufferImpl::ToHapticGloveCommandBuffer() const +{ + return Pimpl->HapticGloveCommandBuffer; +} + +TArray FSGHapticGloveCommandBufferImpl::GetForceFeedbackCommandsQueue() const +{ + TArray ForceFeedbackCommandQueue{ + FSGArrayUtils::FromStdVector( + Pimpl->HapticGloveCommandBuffer.GetForceFeedbackCommandsQueue()) + }; + return MoveTemp(ForceFeedbackCommandQueue); +} + +void FSGHapticGloveCommandBufferImpl::SetForceFeedbackCommandsQueue( + const TArray& ForceFeedbackCommandsQueue) +{ + std::vector ForceFeedbackCommandsQueueVector{ + FSGArrayUtils::ToStdVector(ForceFeedbackCommandsQueue) + }; + Pimpl->HapticGloveCommandBuffer.SetForceFeedbackCommandsQueue(MoveTemp(ForceFeedbackCommandsQueueVector)); +} + +TArray FSGHapticGloveCommandBufferImpl::GetBuzzCommandsQueue() const +{ + TArray TimedBuzzCommandQueue{ + FSGArrayUtils::FromStdVector( + Pimpl->HapticGloveCommandBuffer.GetBuzzCommandsQueue()) + }; + return MoveTemp(TimedBuzzCommandQueue); +} + +void FSGHapticGloveCommandBufferImpl::SetBuzzCommandsQueue( + const TArray& TimedBuzzCommandsQueue) +{ + std::vector TimedBuzzCommandsQueueVector{ + FSGArrayUtils::ToStdVector(TimedBuzzCommandsQueue) + }; + Pimpl->HapticGloveCommandBuffer.SetBuzzCommandsQueue(MoveTemp(TimedBuzzCommandsQueueVector)); +} + +TArray FSGHapticGloveCommandBufferImpl::GetThumperCommandsQueue() const +{ + TArray ThumperCommandQueue{ + FSGArrayUtils::FromStdVector( + Pimpl->HapticGloveCommandBuffer.GetThumperCommandsQueue()) + }; + return MoveTemp(ThumperCommandQueue); +} + +void FSGHapticGloveCommandBufferImpl::SetThumperCommandsQueue( + const TArray& TimedThumpCommandsQueue) +{ + std::vector TimedThumpCommandsQueueVector{ + FSGArrayUtils::ToStdVector(TimedThumpCommandsQueue) + }; + Pimpl->HapticGloveCommandBuffer.SetThumperCommandsQueue(MoveTemp(TimedThumpCommandsQueueVector)); +} + +void FSGHapticGloveCommandBufferImpl::ClearForceFeedbackCommandsQueue() +{ + Pimpl->HapticGloveCommandBuffer.ClearForceFeedbackCommandsQueue(); +} + +void FSGHapticGloveCommandBufferImpl::ClearVibrations() +{ + Pimpl->HapticGloveCommandBuffer.ClearVibrations(); +} + +void FSGHapticGloveCommandBufferImpl::Clear() +{ + Pimpl->HapticGloveCommandBuffer.Clear(); +} + +void FSGHapticGloveCommandBufferImpl::AddCommand(const FSGForceFeedbackCommandImpl& ForceFeedbackCommandImpl) +{ + Pimpl->HapticGloveCommandBuffer.AddCommand(ForceFeedbackCommandImpl.ToForceFeedbackCommand()); +} + +void FSGHapticGloveCommandBufferImpl::AddCommand(const FSGTimedBuzzCommandImpl& BuzzCommandImpl) +{ + Pimpl->HapticGloveCommandBuffer.AddCommand(BuzzCommandImpl.ToTimedBuzzCommand()); +} + +void FSGHapticGloveCommandBufferImpl::AddCommand(const FSGTimedThumpCommandImpl& ThumpCommand) +{ + Pimpl->HapticGloveCommandBuffer.AddCommand(ThumpCommand.ToTimedThumpCommand()); +} + +void FSGHapticGloveCommandBufferImpl::UpdateTimedCommands(const float DeltaSeconds) +{ + Pimpl->HapticGloveCommandBuffer.UpdateTimedCommands(DeltaSeconds); +} + +FSGForceFeedbackCommandImpl FSGHapticGloveCommandBufferImpl::GetTotalForceFeedbackLevels( + const FSGForceFeedbackCommandImpl& LastForceFeedbackCommand) const +{ + FSGForceFeedbackCommandImpl TotalForceFeedbackLevels{ + Pimpl->HapticGloveCommandBuffer.GetTotalForceFeedbackLevels( + LastForceFeedbackCommand.ToForceFeedbackCommand())}; + return MoveTemp(TotalForceFeedbackLevels); +} + +FSGForceFeedbackCommandImpl FSGHapticGloveCommandBufferImpl::GetTotalForceFeedbackLevels() const +{ + FSGForceFeedbackCommandImpl TotalForceFeedbackLevels{ + Pimpl->HapticGloveCommandBuffer.GetTotalForceFeedbackLevels()}; + return MoveTemp(TotalForceFeedbackLevels); +} + +FSGBuzzCommandImpl FSGHapticGloveCommandBufferImpl::GetTotalBuzzLevels() const +{ + FSGBuzzCommandImpl TotalBuzzLevels{Pimpl->HapticGloveCommandBuffer.GetTotalBuzzLevels()}; + return MoveTemp(TotalBuzzLevels); +} + +FSGThumperCommandImpl FSGHapticGloveCommandBufferImpl::GetTotalThumperLevels() const +{ + FSGThumperCommandImpl TotalThumperLevels{Pimpl->HapticGloveCommandBuffer.GetTotalThumperLevels()}; + return MoveTemp(TotalThumperLevels); +} + +void FSGHapticGloveCommandBufferImpl::FlushHaptics(const FSGForceFeedbackCommandImpl& LastBrakeLevel, + FSGForceFeedbackCommandImpl& OutForceFeedbackCommand, + FSGBuzzCommandImpl& OutBuzzCommand, + FSGThumperCommandImpl& OutThumperCommand, + const bool bClearForceFeedbackQueue) +{ + FSGForceFeedbackCommandImpl::FForceFeedbackCommandType ForceFeedbackCommand; + FSGBuzzCommandImpl::FBuzzCommandType BuzzCommand; + FSGThumperCommandImpl::FThumperCommandType ThumperCommand; + + Pimpl->HapticGloveCommandBuffer.FlushHaptics(LastBrakeLevel.ToForceFeedbackCommand(), + ForceFeedbackCommand, + BuzzCommand, + ThumperCommand, + bClearForceFeedbackQueue); + + OutForceFeedbackCommand = FSGForceFeedbackCommandImpl{ForceFeedbackCommand}; + OutBuzzCommand = FSGBuzzCommandImpl{BuzzCommand}; + OutThumperCommand = FSGThumperCommandImpl{ThumperCommand}; +} + +void FSGHapticGloveCommandBufferImpl::FlushHaptics(const float DeltaSeconds, + const FSGForceFeedbackCommandImpl& LastBrakeLevel, + FSGForceFeedbackCommandImpl& OutForceFeedbackCommand, + FSGBuzzCommandImpl& OutBuzzCommand, + FSGThumperCommandImpl& OutThumperCommand) +{ + FSGForceFeedbackCommandImpl::FForceFeedbackCommandType ForceFeedbackCommand; + FSGBuzzCommandImpl::FBuzzCommandType BuzzCommand; + FSGThumperCommandImpl::FThumperCommandType ThumperCommand; + + Pimpl->HapticGloveCommandBuffer.FlushHaptics(DeltaSeconds, + LastBrakeLevel.ToForceFeedbackCommand(), + ForceFeedbackCommand, + BuzzCommand, + ThumperCommand); + + OutForceFeedbackCommand = FSGForceFeedbackCommandImpl{ForceFeedbackCommand}; + OutBuzzCommand = FSGBuzzCommandImpl{BuzzCommand}; + OutThumperCommand = FSGThumperCommandImpl{ThumperCommand}; +} + +FSGHapticGloveCommandBufferImpl::FImpl::FImpl(FSGHapticGloveCommandBufferImpl* InOwner) + : HapticGloveCommandBuffer(), + Owner(InOwner) +{ +} + +FSGHapticGloveCommandBufferImpl::FImpl::~FImpl() = default; + +void FSGHapticGloveCommandBufferImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveHandProfilesImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveHandProfilesImpl.cpp new file mode 100644 index 00000000..cb71762a --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveHandProfilesImpl.cpp @@ -0,0 +1,130 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveHandProfilesImpl.h" + +#include "Containers/StringConv.h" + +#include "SGBuildHacks/SGInclude_Core_HandProfile.h" +#include "SGBuildHacks/SGInclude_Core_HapticGloveHandProfiles.h" +#include "SGBuildHacks/SGInclude_Core_SensorRange.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGSenseGloveImpl.h" +#include "SGCoreImpl/SGSensorRangeImpl.h" + +const FString& FSGHapticGloveHandProfilesImpl::GetProfileDirectory() +{ + static const FString Directory(UTF8_TO_TCHAR(FHapticGloveHandProfilesType::GetProfileDirectory().c_str())); + return Directory; +} + +void FSGHapticGloveHandProfilesImpl::SetProfileDirectory(const FString& Directory) +{ + std::string DirectoryString(TCHAR_TO_UTF8(*Directory)); + FHapticGloveHandProfilesType::SetProfileDirectory(MoveTemp(DirectoryString)); +} + +void FSGHapticGloveHandProfilesImpl::GetLeftHandProfile(FSGHandProfileImpl& OutHandProfileImpl) +{ + FSGHandProfileImpl::FHandProfileType HandProfile; + FHapticGloveHandProfilesType::GetRightHandProfile(HandProfile); + OutHandProfileImpl = FSGHandProfileImpl(MoveTemp(HandProfile)); +} + +void FSGHapticGloveHandProfilesImpl::SetLeftHandProfile(const FSGHandProfileImpl& HandProfileImpl) +{ + FHapticGloveHandProfilesType::SetLeftHandProfile(HandProfileImpl.ToHandProfile()); +} + +void FSGHapticGloveHandProfilesImpl::GetRightHandProfile(FSGHandProfileImpl& OutHandProfileImpl) +{ + FSGHandProfileImpl::FHandProfileType HandProfile; + FHapticGloveHandProfilesType::GetRightHandProfile(HandProfile); + OutHandProfileImpl = FSGHandProfileImpl(MoveTemp(HandProfile)); +} + +void FSGHapticGloveHandProfilesImpl::SetRightHandProfile(const FSGHandProfileImpl& HandProfileImpl) +{ + FHapticGloveHandProfilesType::SetRightHandProfile(HandProfileImpl.ToHandProfile()); +} + +void FSGHapticGloveHandProfilesImpl::GetProfile(const bool bRightHanded, FSGHandProfileImpl& OutHandProfileImpl) +{ + FSGHandProfileImpl::FHandProfileType HandProfile; + FHapticGloveHandProfilesType::GetProfile(bRightHanded, HandProfile); + OutHandProfileImpl = FSGHandProfileImpl(MoveTemp(HandProfile)); +} + +void FSGHapticGloveHandProfilesImpl::SetProfile(const FSGHandProfileImpl& HandProfileImpl) +{ + FHapticGloveHandProfilesType::SetProfile(HandProfileImpl.ToHandProfile()); +} + +void FSGHapticGloveHandProfilesImpl::SetProfile(const FSGHandProfileImpl& HandProfileImpl, const bool bRightHanded) +{ + FHapticGloveHandProfilesType::SetProfile(HandProfileImpl.ToHandProfile(), bRightHanded); +} + +void FSGHapticGloveHandProfilesImpl::RestoreDefaults() +{ + FHapticGloveHandProfilesType::RestoreDefaults(); +} + +void FSGHapticGloveHandProfilesImpl::RestoreDefaults(const bool bRightHanded) +{ + FHapticGloveHandProfilesType::RestoreDefaults(bRightHanded); +} + +void FSGHapticGloveHandProfilesImpl::TryLoadingFromDisk() +{ + FHapticGloveHandProfilesType::TryLoadingFromDisk(); +} + +bool FSGHapticGloveHandProfilesImpl::SaveLastRange(const FSGSensorRangeImpl& CurrentRange, + const TSharedRef ForGlove) +{ + return FHapticGloveHandProfilesType::SaveLastRange(CurrentRange.ToSensorRange(), + ForGlove->ToHapticGlovePtrChecked()); +} + +bool FSGHapticGloveHandProfilesImpl::LoadLastRange(const TSharedRef ForGlove, + FSGSensorRangeImpl& OutLastRange) +{ + FSGSensorRangeImpl::FSensorRangeType LastRange; + const bool bResult = FHapticGloveHandProfilesType::LoadLastRange(ForGlove->ToHapticGlovePtrChecked(), LastRange); + OutLastRange = FSGSensorRangeImpl{LastRange}; + return bResult; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveImpl.cpp new file mode 100644 index 00000000..806320cb --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveImpl.cpp @@ -0,0 +1,395 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BasicHandModel.h" +#include "SGBuildHacks/SGInclude_Core_BuzzCommand.h" +#include "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" +#include "SGBuildHacks/SGInclude_Core_HandPose.h" +#include "SGBuildHacks/SGInclude_Core_HandProfile.h" +#include "SGBuildHacks/SGInclude_Core_HapticGlove.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_ThumperCommand.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGBasicHandModelImpl.h" +#include "SGCoreImpl/SGBuzzCommandImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGForceFeedbackCommandImpl.h" +#include "SGCoreImpl/SGHandPoseImpl.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGThumperCommandImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGHapticGloveImpl::FImpl +{ + /************************ + * Owner object + ************************/ + + FSGHapticGloveImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHapticGloveImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +TArray> FSGHapticGloveImpl::GetHapticGloves() +{ + const FHapticGlovePtrVectorType HapticGloves{FHapticGloveType::GetHapticGloves()}; + TArray> HapticGloveImpls; + + for (FHapticGlovePtrType HapticGlove: HapticGloves) + { + TSharedRef HapticGloveImpl{MakeShared(MoveTemp(HapticGlove))}; + HapticGloveImpls.Push(MoveTemp(HapticGloveImpl)); + } + + return MoveTemp(HapticGloveImpls); +} + +bool FSGHapticGloveImpl::GetGlove(TSharedPtr& OutGlove) +{ + FHapticGlovePtrType Glove; + const bool bReturn = FHapticGloveType::GetGlove(Glove); + + if (bReturn) + { + OutGlove = MakeShared(MoveTemp(Glove)); + } + + return bReturn; +} + +bool FSGHapticGloveImpl::GetGlove(const bool bRightHanded, TSharedPtr& OutGlove) +{ + FHapticGlovePtrType Glove; + const bool bReturn = FHapticGloveType::GetGlove(bRightHanded, Glove); + + if (bReturn) + { + OutGlove = MakeShared(MoveTemp(Glove)); + } + + return bReturn; +} + +FSGHapticGloveImpl::FSGHapticGloveImpl() + : FSGDeviceImpl(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveImpl::FSGHapticGloveImpl(const FHapticGlovePtrType HapticGlove) + : FSGDeviceImpl(std::dynamic_pointer_cast(HapticGlove)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveImpl::FSGHapticGloveImpl(const FSGHapticGloveImpl& Rhs) + : FSGDeviceImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHapticGloveImpl::FSGHapticGloveImpl(FSGHapticGloveImpl&& Rhs) noexcept = default; + +FSGHapticGloveImpl::~FSGHapticGloveImpl() = default; + +FSGHapticGloveImpl& FSGHapticGloveImpl::operator=(const FSGHapticGloveImpl& Rhs) +{ + FSGDeviceImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHapticGloveImpl& FSGHapticGloveImpl::operator=(FSGHapticGloveImpl&& Rhs) noexcept = default; + +FSGHapticGloveImpl::FHapticGlovePtrType FSGHapticGloveImpl::ToHapticGlovePtr() const +{ + return std::dynamic_pointer_cast(ToSGDevicePtr()); +} + +FSGHapticGloveImpl::FHapticGlovePtrType FSGHapticGloveImpl::ToHapticGlovePtrChecked() const +{ + FHapticGlovePtrType HapticGlove = std::dynamic_pointer_cast(ToSGDevicePtr()); + ensureAlwaysMsgf(HapticGlove.get(), TEXT("Invalid HapticGlove")); + return HapticGlove; +} + +ESGDeviceType FSGHapticGloveImpl::GetDeviceType() const +{ + return FSGCoreEnumCast::ToESGDeviceType(ToHapticGlovePtrChecked()->GetDeviceType()); +} + +FString FSGHapticGloveImpl::GetDeviceId() const +{ + const FString Id{UTF8_TO_TCHAR(ToHapticGlovePtrChecked()->GetDeviceId().c_str())}; + return Id; +} + +FString FSGHapticGloveImpl::GetHardwareVersion() const +{ + const FString Version{UTF8_TO_TCHAR(ToHapticGlovePtrChecked()->GetHardwareVersion().c_str())}; + return Version; +} + +int32 FSGHapticGloveImpl::GetFirmwareVersion() const +{ + return ToHapticGlovePtrChecked()->GetFirmwareVersion(); +} + +int32 FSGHapticGloveImpl::GetSubFirmwareVersion() const +{ + return ToHapticGlovePtrChecked()->GetSubFirmwareVersion(); +} + +bool FSGHapticGloveImpl::IsRight() const +{ + return ToHapticGlovePtrChecked()->IsRight(); +} + +bool FSGHapticGloveImpl::GetImuRotation(FQuat& OutImu) +{ + FSGQuatImpl::FQuatType Imu; + const bool bResult = ToHapticGlovePtrChecked()->GetImuRotation(Imu); + OutImu = FSGQuatImpl(MoveTemp(Imu)).ToFQuat(); + return bResult; +} + +bool FSGHapticGloveImpl::GetHandPose(const FSGBasicHandModelImpl& HandGeometry, const FSGHandProfileImpl& HandProfile, + FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToHapticGlovePtrChecked()->GetHandPose(HandGeometry.ToBasicHandModel(), + HandProfile.ToHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl(MoveTemp(HandPose)); + return bResult; +} + +bool FSGHapticGloveImpl::GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToHapticGlovePtrChecked()->GetHandPose(HandProfile.ToHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl(MoveTemp(HandPose)); + return bResult; +} + +bool FSGHapticGloveImpl::GetHandPose(const FSGBasicHandModelImpl& HandGeometry, FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToHapticGlovePtrChecked()->GetHandPose(HandGeometry.ToBasicHandModel(), HandPose); + OutHandPose = FSGHandPoseImpl(MoveTemp(HandPose)); + return bResult; +} + +bool FSGHapticGloveImpl::GetHandPose(FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToHapticGlovePtrChecked()->GetHandPose(HandPose); + OutHandPose = FSGHandPoseImpl(MoveTemp(HandPose)); + return bResult; +} + +void FSGHapticGloveImpl::StopHaptics() +{ + ToHapticGlovePtrChecked()->StopHaptics(); +} + +void FSGHapticGloveImpl::StopVibrations() +{ + ToHapticGlovePtrChecked()->StopVibrations(); +} + +void FSGHapticGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) +{ + ToHapticGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand()); +} + +void FSGHapticGloveImpl::SendHaptics(const FSGBuzzCommandImpl& BuzzCommand) +{ + ToHapticGlovePtrChecked()->SendHaptics(BuzzCommand.ToBuzzCommand()); +} + +void FSGHapticGloveImpl::SendHaptics(const FSGThumperCommandImpl& ThumperCommand) +{ + ToHapticGlovePtrChecked()->SendHaptics(ThumperCommand.ToThumperCommand()); +} + +void FSGHapticGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand) +{ + ToHapticGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand(), + BuzzCommand.ToBuzzCommand()); +} + +void FSGHapticGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand, const FSGThumperCommandImpl& ThumperCommand) +{ + ToHapticGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand(), + BuzzCommand.ToBuzzCommand(), + ThumperCommand.ToThumperCommand()); +} + +bool FSGHapticGloveImpl::GetCalibrationValues(TArray& OutValues) +{ + std::vector Values; + const bool bResult = ToHapticGlovePtrChecked()->GetCalibrationValues(Values); + OutValues = FSGArrayUtils::FromStdVector(MoveTemp(Values)); + return bResult; +} + +void FSGHapticGloveImpl::ResetCalibrationRange() +{ + ToHapticGlovePtrChecked()->ResetCalibrationRange(); +} + +void FSGHapticGloveImpl::UpdateCalibrationRange() +{ + ToHapticGlovePtrChecked()->UpdateCalibrationRange(); +} + +void FSGHapticGloveImpl::UpdateCalibrationRange(const TArray& CalibrationValues) +{ + std::vector CalibrationValuesVector{ + FSGArrayUtils::ToStdVector( + CalibrationValues) + }; + ToHapticGlovePtrChecked()->UpdateCalibrationRange(MoveTemp(CalibrationValuesVector)); +} + +void FSGHapticGloveImpl::GetCalibrationRange(TArray& OutMinValues, TArray& OutMaxValues) +{ + std::vector MinValues; + std::vector MaxValues; + + ToHapticGlovePtrChecked()->GetCalibrationRange(MinValues, MaxValues); + + OutMinValues = FSGArrayUtils::FromStdVector(MoveTemp(MinValues)); + OutMaxValues = FSGArrayUtils::FromStdVector(MoveTemp(MaxValues)); +} + +void FSGHapticGloveImpl::UpdateCalibration(FSGHandProfileImpl& OutProfile) +{ + FSGHandProfileImpl::FHandProfileType Profile; + ToHapticGlovePtrChecked()->UpdateCalibration(Profile); + OutProfile = FSGHandProfileImpl(MoveTemp(Profile)); +} + +void FSGHapticGloveImpl::ApplyCalibration(FSGHandProfileImpl& OutProfile) const +{ + FSGHandProfileImpl::FHandProfileType Profile; + ToHapticGlovePtrChecked()->ApplyCalibration(Profile); + OutProfile = FSGHandProfileImpl(MoveTemp(Profile)); +} + +void FSGHapticGloveImpl::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + FSGVect3DImpl::FVect3DType WristPosition; + FSGQuatImpl::FQuatType WristRotation; + + ToHapticGlovePtrChecked()->GetWristLocation(FSGVect3DImpl(ReferencePosition).ToVect3D(), + FSGQuatImpl(ReferenceRotation).ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + WristPosition, WristRotation); + + OutWristPosition = FSGVect3DImpl(MoveTemp(WristPosition)).ToFVector(); + OutWristRotation = FSGQuatImpl(MoveTemp(WristRotation)).ToFQuat(); +} + +void FSGHapticGloveImpl::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, FVector& OutGlovePosition, + FQuat& OutGloveRotation) const +{ + FSGVect3DImpl::FVect3DType GlovePosition; + FSGQuatImpl::FQuatType GloveRotation; + + ToHapticGlovePtrChecked()->GetGloveLocation(FSGVect3DImpl(ReferencePosition).ToVect3D(), + FSGQuatImpl(ReferenceRotation).ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + GlovePosition, GloveRotation); + + OutGlovePosition = FSGVect3DImpl(MoveTemp(GlovePosition)).ToFVector(); + OutGloveRotation = FSGQuatImpl(MoveTemp(GloveRotation)).ToFQuat(); +} + +FSGHapticGloveImpl::FImpl::FImpl(FSGHapticGloveImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGHapticGloveImpl::FImpl::~FImpl() = default; + +void FSGHapticGloveImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.cpp new file mode 100644 index 00000000..9110cebf --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.cpp @@ -0,0 +1,256 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_HandPose.h" +#include "SGBuildHacks/SGInclude_Core_HapticGloveQuickCalibration.h" +#include "SGBuildHacks/SGInclude_Core_SensorRange.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGHandPoseImpl.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGCoreImpl/SGSensorRangeImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGHapticGloveQuickCalibrationImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + FSGHapticGloveQuickCalibrationImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGHapticGloveQuickCalibrationImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +float FSGHapticGloveQuickCalibrationImpl::GetDefaultAutoEndTimeout() +{ + static const float AutoEndTimeout = FHapticGloveQuickCalibrationType::GetDefaultAutoEndTimeout(); + return AutoEndTimeout; +} + +FSGHapticGloveQuickCalibrationImpl::FSGHapticGloveQuickCalibrationImpl() + : FSGHapticGloveCalibrationSequenceImpl(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveQuickCalibrationImpl::FSGHapticGloveQuickCalibrationImpl( + const TSharedRef GloveToCalibrate, const float AutoEndTimeout) + : FSGHapticGloveCalibrationSequenceImpl( + MakeShared(GloveToCalibrate->ToHapticGlovePtr(), AutoEndTimeout)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveQuickCalibrationImpl::FSGHapticGloveQuickCalibrationImpl( + const FHapticGloveQuickCalibrationType& HapticGloveQuickCalibration) + : FSGHapticGloveCalibrationSequenceImpl(MakeShared(HapticGloveQuickCalibration)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGHapticGloveQuickCalibrationImpl::FSGHapticGloveQuickCalibrationImpl(const FSGHapticGloveQuickCalibrationImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGHapticGloveQuickCalibrationImpl::FSGHapticGloveQuickCalibrationImpl( + FSGHapticGloveQuickCalibrationImpl&& Rhs) noexcept = default; + +FSGHapticGloveQuickCalibrationImpl::~FSGHapticGloveQuickCalibrationImpl() = default; + +FSGHapticGloveQuickCalibrationImpl& FSGHapticGloveQuickCalibrationImpl::operator=( + const FSGHapticGloveQuickCalibrationImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGHapticGloveQuickCalibrationImpl& FSGHapticGloveQuickCalibrationImpl::operator=( + FSGHapticGloveQuickCalibrationImpl&& Rhs) noexcept = default; + +const FSGHapticGloveQuickCalibrationImpl::FHapticGloveQuickCalibrationType& +FSGHapticGloveQuickCalibrationImpl::ToHapticGloveQuickCalibration() const +{ + return *StaticCastSharedRef(ToHapticGloveCalibrationSequenceRef()); +} + +TSharedRef FSGHapticGloveQuickCalibrationImpl:: +ToHapticGloveQuickCalibrationRef() const +{ + return StaticCastSharedRef(ToHapticGloveCalibrationSequenceRef()); +} + +float FSGHapticGloveQuickCalibrationImpl::GetAutoEndTimeout() const +{ + return ToHapticGloveQuickCalibrationRef()->GetAutoEndTimeout(); +} + +void FSGHapticGloveQuickCalibrationImpl::SetAutoEndTimeout(const float AutoEndTimeout) +{ + ToHapticGloveQuickCalibrationRef()->SetAutoEndTimeout(AutoEndTimeout); +} + +int32 FSGHapticGloveQuickCalibrationImpl::GetSmoothingSamples() const +{ + return ToHapticGloveQuickCalibrationRef()->GetSmoothingSamples(); +} + +FSGSensorRangeImpl FSGHapticGloveQuickCalibrationImpl::GetSensorRange() const +{ + const FSGSensorRangeImpl SensorRange{ToHapticGloveQuickCalibrationRef()->GetSensorRange()}; + return SensorRange; +} + +FSGHandProfileImpl FSGHapticGloveQuickCalibrationImpl::GetTemporaryProfile() const +{ + const FSGHandProfileImpl TemporaryProfile{ToHapticGloveQuickCalibrationRef()->GetTemporaryProfile()}; + return TemporaryProfile; +} + +bool FSGHapticGloveQuickCalibrationImpl::CanAnimate() const +{ + return ToHapticGloveQuickCalibrationRef()->CanAnimate(); +} + +bool FSGHapticGloveQuickCalibrationImpl::AutoCompleted() const +{ + return ToHapticGloveQuickCalibrationRef()->AutoCompleted(); +} + +void FSGHapticGloveQuickCalibrationImpl::Reset() +{ + ToHapticGloveQuickCalibrationRef()->Reset(); +} + +void FSGHapticGloveQuickCalibrationImpl::Update(const float DeltaSeconds) +{ + return ToHapticGloveQuickCalibrationRef()->Update(DeltaSeconds); +} + +void FSGHapticGloveQuickCalibrationImpl::AddDataPoint(const TArray& CalibrationData) +{ + std::vector CalibrationDataVector{ + FSGArrayUtils::ToStdVector( + CalibrationData) + }; + ToHapticGloveQuickCalibrationRef()->AddDataPoint(MoveTemp(CalibrationDataVector)); +} + +void FSGHapticGloveQuickCalibrationImpl::ConfirmCurrentStep() +{ + ToHapticGloveQuickCalibrationRef()->ConfirmCurrentStep(); +} + +bool FSGHapticGloveQuickCalibrationImpl::CompileRange(FSGSensorRangeImpl& OutSensorRange) const +{ + FSGSensorRangeImpl::FSensorRangeType SensorRange; + const bool bResult = ToHapticGloveQuickCalibrationRef()->CompileRange(SensorRange); + OutSensorRange = FSGSensorRangeImpl{SensorRange}; + return bResult; +} + +bool FSGHapticGloveQuickCalibrationImpl::GetHandPose(const bool bRightHanded, FSGHandPoseImpl& OutCurrentHandPose) const +{ + FSGHandPoseImpl::FHandPoseType CurrentHandPose; + const bool bResult = ToHapticGloveQuickCalibrationRef()->GetHandPose(bRightHanded, CurrentHandPose); + OutCurrentHandPose = FSGHandPoseImpl{CurrentHandPose}; + return bResult; +} + +FString FSGHapticGloveQuickCalibrationImpl::GetCurrentInstruction(const FString& NextStepKey) const +{ + std::string NextStepKeyString{TCHAR_TO_UTF8(*NextStepKey)}; + const FString CurrentInstruction{TCHAR_TO_UTF8(ToHapticGloveQuickCalibrationRef()->GetCurrentInstruction( + MoveTemp(NextStepKeyString)).c_str())}; + return CurrentInstruction; +} + +FSGHapticGloveQuickCalibrationImpl::FImpl::FImpl(FSGHapticGloveQuickCalibrationImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGHapticGloveQuickCalibrationImpl::FImpl::~FImpl() = default; + +void FSGHapticGloveQuickCalibrationImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGInterpolationSetImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGInterpolationSetImpl.cpp new file mode 100644 index 00000000..4cc9066d --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGInterpolationSetImpl.cpp @@ -0,0 +1,254 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGInterpolationSetImpl.h" + +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_InterpolationSet.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGInterpolationSetImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FInterpolationSetType InterpolationSet; + + /************************ + * Owner object + ************************/ + + FSGInterpolationSetImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGInterpolationSetImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGInterpolationSetImpl FSGInterpolationSetImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGInterpolationSetImpl InterpolationSet(FInterpolationSetType::Deserialize(MoveTemp(Serialized))); + return InterpolationSet; +} + +FSGInterpolationSetImpl::FSGInterpolationSetImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGInterpolationSetImpl::FSGInterpolationSetImpl(const float From1, const float From2, const float To1, const float To2) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->InterpolationSet = FInterpolationSetType(From1, From2, To1, To2); +} + +FSGInterpolationSetImpl::FSGInterpolationSetImpl(const float From1, const float From2, const float To1, const float To2, + const float Min, const float Max) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->InterpolationSet = FInterpolationSetType(From1, From2, To1, To2, Min, Max); +} + +FSGInterpolationSetImpl::FSGInterpolationSetImpl(const FInterpolationSetType& InterpolationSet) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->InterpolationSet = InterpolationSet; +} + +FSGInterpolationSetImpl::FSGInterpolationSetImpl(const FSGInterpolationSetImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGInterpolationSetImpl::FSGInterpolationSetImpl(FSGInterpolationSetImpl&& Rhs) noexcept = default; + +FSGInterpolationSetImpl::~FSGInterpolationSetImpl() = default; + +FSGInterpolationSetImpl& FSGInterpolationSetImpl::operator=(const FSGInterpolationSetImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGInterpolationSetImpl& FSGInterpolationSetImpl::operator=(FSGInterpolationSetImpl&& Rhs) noexcept = default; + +const FSGInterpolationSetImpl::FInterpolationSetType& FSGInterpolationSetImpl::ToInterpolationSet() const +{ + return Pimpl->InterpolationSet; +} + +float FSGInterpolationSetImpl::GetX0() const +{ + return Pimpl->InterpolationSet.GetX0(); +} + +void FSGInterpolationSetImpl::SetX0(const float X0) +{ + Pimpl->InterpolationSet.SetX0(X0); +} + +float FSGInterpolationSetImpl::GetX1() const +{ + return Pimpl->InterpolationSet.GetX1(); +} + +void FSGInterpolationSetImpl::SetX1(const float X1) +{ + Pimpl->InterpolationSet.SetX1(X1); +} + +float FSGInterpolationSetImpl::GetY0() const +{ + return Pimpl->InterpolationSet.GetY0(); +} + +void FSGInterpolationSetImpl::SetY0(const float Y0) +{ + Pimpl->InterpolationSet.SetY0(Y0); +} + +float FSGInterpolationSetImpl::GetY1() const +{ + return Pimpl->InterpolationSet.GetY1(); +} + +void FSGInterpolationSetImpl::SetY1(const float Y1) +{ + Pimpl->InterpolationSet.SetY1(Y1); +} + +float FSGInterpolationSetImpl::GetMin() const +{ + return Pimpl->InterpolationSet.GetMin(); +} + +void FSGInterpolationSetImpl::SetMin(const float Min) +{ + Pimpl->InterpolationSet.SetMin(Min); +} + +float FSGInterpolationSetImpl::GetMax() const +{ + return Pimpl->InterpolationSet.GetMax(); +} + +void FSGInterpolationSetImpl::SetMax(const float Max) +{ + Pimpl->InterpolationSet.SetMax(Max); +} + +float FSGInterpolationSetImpl::Get(const float Value, const bool bLimit, const bool bNormalizeAngle) const +{ + return Pimpl->InterpolationSet.Get(Value, bLimit, bNormalizeAngle); +} + +bool FSGInterpolationSetImpl::Equals(const FSGInterpolationSetImpl& InterpolationSetImpl) const +{ + return Pimpl->InterpolationSet.Equals(InterpolationSetImpl.ToInterpolationSet()); +} + +FString FSGInterpolationSetImpl::ToString() const +{ + const FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString().c_str())); + return String; +} + +FString FSGInterpolationSetImpl::ToString(const bool bLimits) const +{ + const FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString(bLimits).c_str())); + return String; +} + +FString FSGInterpolationSetImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->InterpolationSet.Serialize().c_str())); + return Serialized; +} + +FSGInterpolationSetImpl::FImpl::FImpl(FSGInterpolationSetImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGInterpolationSetImpl::FImpl::~FImpl() = default; + +void FSGInterpolationSetImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGJointKinematicsImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGJointKinematicsImpl.cpp new file mode 100644 index 00000000..acf379de --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGJointKinematicsImpl.cpp @@ -0,0 +1,96 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGJointKinematicsImpl.h" + +#include "SGBuildHacks/SGInclude_Core_JointKinematics.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGBasicHandModelImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +bool FSGJointKinematicsImpl::ForwardKinematics(const FVector& StartPosition, const FQuat& StartRotation, + const TArray& JointLengths, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations) +{ + FSGVect3DImpl::FVect3DType StartPositionVect3D(FSGVect3DImpl(StartPosition).ToVect3D()); + FSGQuatImpl::FQuatType StartRotationQuat(FSGQuatImpl(StartRotation).ToQuat()); + + std::vector JointLengthsVector{FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(JointLengths)}; + + std::vector JointAnglesVector{FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(JointAngles)}; + + std::vector NewPositions; + std::vector NewRotations; + + const bool bResults = FSGJointKinematicsImpl::FJointKinematicsType::ForwardKinematics( + MoveTemp(StartPositionVect3D), MoveTemp(StartRotationQuat), + MoveTemp(JointLengthsVector), MoveTemp(JointAnglesVector), + NewPositions, NewRotations); + + OutNewPositions = FSGArrayUtils::FromStdVector(NewPositions);; + OutNewRotations = FSGArrayUtils::FromStdVector(NewRotations);; + + return bResults; +} + +bool FSGJointKinematicsImpl::ForwardKinematics(const FSGBasicHandModelImpl& Profile, ESGFinger Finger, + const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations) +{ + std::vector JointAnglesVector(FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(JointAngles)); + + std::vector NewPositions; + std::vector NewRotations; + + const bool bResults = FSGJointKinematicsImpl::FJointKinematicsType::ForwardKinematics( + Profile.ToBasicHandModel(), FSGCoreEnumCast::ToEFinger(Finger), MoveTemp(JointAnglesVector), + NewPositions, NewRotations); + + OutNewPositions = FSGArrayUtils::FromStdVector(NewPositions);; + OutNewRotations = FSGArrayUtils::FromStdVector(NewRotations);; + + return bResults; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGLibraryImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGLibraryImpl.cpp new file mode 100644 index 00000000..dbcacaeb --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGLibraryImpl.cpp @@ -0,0 +1,64 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGLibraryImpl.h" + +#include "Containers/StringConv.h" + +#include "SGBuildHacks/SGInclude_Core_Library.h" +#include "SGCoreImpl/SGCoreEnumCast.h" + +FString FSGLibraryImpl::Version() +{ + const FString Version(UTF8_TO_TCHAR(FLibraryType::Version().c_str())); + return Version; +} + +ESGBackendType FSGLibraryImpl::GetBackendType() +{ + return FSGCoreEnumCast::ToESGBackendType(FLibraryType::GetBackendType()); +} + +FString FSGLibraryImpl::BackendVersion() +{ + const FString Version(UTF8_TO_TCHAR(FLibraryType::BackendVersion().c_str())); + return Version; +} + +FString FSGLibraryImpl::SGConnectVersion() +{ + const FString Version(UTF8_TO_TCHAR(FLibraryType::SGConnectVersion().c_str())); + return Version; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveCalibrationImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveCalibrationImpl.cpp new file mode 100644 index 00000000..12db49cb --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveCalibrationImpl.cpp @@ -0,0 +1,93 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveCalibrationImpl.h" + +#include "SGBuildHacks/SGInclude_Core_NovaGloveCalibration.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGNovaGloveHandProfileImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +void FSGNovaGloveCalibrationImpl::ApplyDefaultCalibrationInterpolationValues(const TArray& RetractedValues, + const TArray& ExtendedValues, + const FSGNovaGloveHandProfileImpl& Profile) +{ + std::vector RetractedValuesVector{ + FSGArrayUtils::ToStdVector( + RetractedValues) + }; + + std::vector ExtendedValuesVector{ + FSGArrayUtils::ToStdVector( + ExtendedValues) + }; + + FNovaGloveCalibrationType::ApplyDefaultCalibrationInterpolationValues( + MoveTemp(RetractedValuesVector), MoveTemp(ExtendedValuesVector), + Profile.ToNovaGloveHandProfile()); +} + +void FSGNovaGloveCalibrationImpl::ApplyInterpolationValues(const TArray& RetractedValues, + const TArray& ExtendedValues, + const TArray>& RetractedAngles, + const TArray>& ExtendedAngles, + const FSGNovaGloveHandProfileImpl& Profile) +{ + std::vector RetractedValuesVector{ + FSGArrayUtils::ToStdVector( + RetractedValues) + }; + + std::vector ExtendedValuesVector{ + FSGArrayUtils::ToStdVector( + ExtendedValues) + }; + + std::vector> RetractedAnglesVector{ + FSGArrayUtils::ToStdVector( + RetractedAngles) + }; + + std::vector> ExtendedAnglesVector{ + FSGArrayUtils::ToStdVector( + ExtendedAngles) + }; + + FNovaGloveCalibrationType::ApplyInterpolationValues( + MoveTemp(RetractedValuesVector), MoveTemp(ExtendedValuesVector), + MoveTemp(RetractedAnglesVector), MoveTemp(ExtendedAnglesVector), + Profile.ToNovaGloveHandProfile()); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveHandProfileImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveHandProfileImpl.cpp new file mode 100644 index 00000000..14d4734c --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveHandProfileImpl.cpp @@ -0,0 +1,202 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGCoreImpl/SGNovaGloveHandProfileImpl.h" + +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_HandInterpolator.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGCoreImpl/SGHandInterpolatorImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGNovaGloveHandProfileImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FNovaGloveHandProfileType NovaGloveHandProfile; + + /************************ + * Owner object + ************************/ + + FSGNovaGloveHandProfileImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGNovaGloveHandProfileImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGNovaGloveHandProfileImpl FSGNovaGloveHandProfileImpl::Default(const bool bRightHanded) +{ + FSGNovaGloveHandProfileImpl NovaGloveHandProfileImpl(FNovaGloveHandProfileType::Default(bRightHanded)); + return NovaGloveHandProfileImpl; +} + +FSGNovaGloveHandProfileImpl FSGNovaGloveHandProfileImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGNovaGloveHandProfileImpl HandProfile(FNovaGloveHandProfileType::Deserialize(MoveTemp(Serialized))); + return HandProfile; +} + +FSGNovaGloveHandProfileImpl::FSGNovaGloveHandProfileImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveHandProfileImpl::FSGNovaGloveHandProfileImpl(bool bRightHanded, const FSGHandInterpolatorImpl& Interpolator) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->NovaGloveHandProfile = FNovaGloveHandProfileType(bRightHanded, Interpolator.ToHandInterpolator()); +} + +FSGNovaGloveHandProfileImpl::FSGNovaGloveHandProfileImpl(const FNovaGloveHandProfileType& NovaGloveHandProfile) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->NovaGloveHandProfile = NovaGloveHandProfile; +} + +FSGNovaGloveHandProfileImpl::FSGNovaGloveHandProfileImpl(const FSGNovaGloveHandProfileImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGNovaGloveHandProfileImpl::FSGNovaGloveHandProfileImpl(FSGNovaGloveHandProfileImpl&& Rhs) noexcept = default; + +FSGNovaGloveHandProfileImpl::~FSGNovaGloveHandProfileImpl() = default; + +FSGNovaGloveHandProfileImpl& FSGNovaGloveHandProfileImpl::operator=(const FSGNovaGloveHandProfileImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGNovaGloveHandProfileImpl& FSGNovaGloveHandProfileImpl::operator=(FSGNovaGloveHandProfileImpl&& Rhs) noexcept += default; + +const FSGNovaGloveHandProfileImpl::FNovaGloveHandProfileType& FSGNovaGloveHandProfileImpl::ToNovaGloveHandProfile( + ) const +{ + return Pimpl->NovaGloveHandProfile; +} + +bool FSGNovaGloveHandProfileImpl::IsRight() const +{ + return Pimpl->NovaGloveHandProfile.IsRight(); +} + +void FSGNovaGloveHandProfileImpl::SetIsRight(const bool bRightHanded) +{ + Pimpl->NovaGloveHandProfile.SetIsRight(bRightHanded); +} + +FSGHandInterpolatorImpl FSGNovaGloveHandProfileImpl::GetInterpolationSet() const +{ + const FSGHandInterpolatorImpl HandInterpolatorImpl( + FSGHandInterpolatorImpl::FHandInterpolatorType(Pimpl->NovaGloveHandProfile.GetInterpolationSet())); + return HandInterpolatorImpl; +} + +void FSGNovaGloveHandProfileImpl::SetInterpolationSet(const FSGHandInterpolatorImpl& InterpolationSet) +{ + Pimpl->NovaGloveHandProfile.SetInterpolationSet(InterpolationSet.ToHandInterpolator()); +} + +bool FSGNovaGloveHandProfileImpl::Equals(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl) const +{ + return Pimpl->NovaGloveHandProfile.Equals(NovaGloveHandProfileImpl.ToNovaGloveHandProfile()); +} + +void FSGNovaGloveHandProfileImpl::Reset() +{ + Pimpl->NovaGloveHandProfile.Reset(); +} + +FString FSGNovaGloveHandProfileImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->NovaGloveHandProfile.Serialize().c_str())); + return Serialized; +} + +FSGNovaGloveHandProfileImpl::FImpl::FImpl(FSGNovaGloveHandProfileImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGNovaGloveHandProfileImpl::FImpl::~FImpl() = default; + +void FSGNovaGloveHandProfileImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveImpl.cpp new file mode 100644 index 00000000..be2f9116 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveImpl.cpp @@ -0,0 +1,489 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGCoreImpl/SGNovaGloveImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Misc/AssertionMacros.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BasicHandModel.h" +#include "SGBuildHacks/SGInclude_Core_BuzzCommand.h" +#include "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" +#include "SGBuildHacks/SGInclude_Core_HandPose.h" +#include "SGBuildHacks/SGInclude_Core_HandProfile.h" +#include "SGBuildHacks/SGInclude_Core_HapticGlove.h" +#include "SGBuildHacks/SGInclude_Core_NovaGlove.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveHandProfile.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveInfo.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_ThumperCommand.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGBasicHandModelImpl.h" +#include "SGCoreImpl/SGBuzzCommandImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGForceFeedbackCommandImpl.h" +#include "SGCoreImpl/SGHandPoseImpl.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGCoreImpl/SGNovaGloveHandProfileImpl.h" +#include "SGCoreImpl/SGNovaGloveInfoImpl.h" +#include "SGCoreImpl/SGNovaGloveSensorDataImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGThumperCommandImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGNovaGloveImpl::FImpl +{ + /************************ + * Owner object + ************************/ + + FSGNovaGloveImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGNovaGloveImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +ANSICHAR FSGNovaGloveImpl::GetHapticsByte() +{ + static const ANSICHAR Byte = FNovaGloveType::GetHapticsByte(); + return Byte; +} + +const FVector& FSGNovaGloveImpl::GetMinCalibrationRange() +{ + static const FVector Range{FSGVect3DImpl{FNovaGloveType::GetMinCalibrationRange()}.ToFVector()}; + return Range; +} + +FSGHandPoseImpl FSGNovaGloveImpl::CalculateHandPose(const FSGBasicHandModelImpl& HandModel, + const FSGNovaGloveSensorDataImpl& NovaData, + const FSGNovaGloveHandProfileImpl& Profile) +{ + FSGHandPoseImpl HandPose{FNovaGloveType::CalculateHandPose( + HandModel.ToBasicHandModel(), NovaData.ToNovaGloveSensorData(), Profile.ToNovaGloveHandProfile()) + }; + return MoveTemp(HandPose); +} + +TSharedRef FSGNovaGloveImpl::Parse(const FString& ConstantsString) +{ + std::string ConstantsStdString{TCHAR_TO_UTF8(*ConstantsString)}; + FSGDevicePtrType SGDevicePtr{FNovaGloveType::Parse(MoveTemp(ConstantsStdString))}; + ensureAlwaysMsgf(SGDevicePtr, TEXT("Invalid SGDevice!")); + TSharedRef NovaGloveImpl{MakeShared( + std::dynamic_pointer_cast(MoveTemp(SGDevicePtr)))}; + return MoveTemp(NovaGloveImpl); +} + +TArray FSGNovaGloveImpl::GetNovaGloves() +{ + FNovaGloveVectorType Vector{FNovaGloveType::GetNovaGloves()}; + + TArray Array{ + FSGArrayUtils::FromStdVector(MoveTemp(Vector)) + }; + + return MoveTemp(Array); +} + + +bool FSGNovaGloveImpl::GetNovaGlove(FSGNovaGloveImpl& OutGlove) +{ + FNovaGloveType Glove; + const bool bResult = FNovaGloveType::GetNovaGlove(Glove); + OutGlove = FSGNovaGloveImpl{MoveTemp(Glove)}; + return bResult; +} + +bool FSGNovaGloveImpl::GetNovaGlove(const bool bRightHanded, FSGNovaGloveImpl& OutGlove) +{ + FNovaGloveType Glove; + const bool bResult = FNovaGloveType::GetNovaGlove(bRightHanded, Glove); + OutGlove = FSGNovaGloveImpl{MoveTemp(Glove)}; + return bResult; +} + +TArray FSGNovaGloveImpl::GetCalibrationValues(const FSGNovaGloveSensorDataImpl& SensorData) +{ + TArray Values{ + FSGArrayUtils::FromStdVector( + FNovaGloveType::GetCalibrationValues(SensorData.ToNovaGloveSensorData())) + }; + return MoveTemp(Values); +} + +void FSGNovaGloveImpl::CalibrateInterpolation(const TArray& MinValues, const TArray& MaxValues, + FSGNovaGloveHandProfileImpl& OutProfile) +{ + std::vector MinValuesVector{ + FSGArrayUtils::ToStdVector( + MinValues) + }; + std::vector MaxValuesVector{ + FSGArrayUtils::ToStdVector( + MaxValues) + }; + + FSGNovaGloveHandProfileImpl::FNovaGloveHandProfileType Profile; + FNovaGloveType::CalibrateInterpolation(MoveTemp(MinValuesVector), MoveTemp(MaxValuesVector), Profile); + OutProfile = FSGNovaGloveHandProfileImpl{MoveTemp(Profile)}; +} + +void FSGNovaGloveImpl::CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + FSGVect3DImpl::FVect3DType GlovePosition; + FSGQuatImpl::FQuatType GloveRotation; + FNovaGloveType::CalculateGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + bRightHanded, + GlovePosition, GloveRotation); + OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector(); + OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat(); +} + +void FSGNovaGloveImpl::CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + FSGVect3DImpl::FVect3DType WristPosition; + FSGQuatImpl::FQuatType WristRotation; + FNovaGloveType::CalculateWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + bRightHanded, + WristPosition, WristRotation); + OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector(); + OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat(); +} + +FString FSGNovaGloveImpl::ToBytes(const FSGThumperCommandImpl& ThumperCommand) +{ + const FString Bytes{UTF8_TO_TCHAR(FNovaGloveType::ToBytes(ThumperCommand.ToThumperCommand()).c_str())}; + return Bytes; +} + +FString FSGNovaGloveImpl::ToBytes(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) +{ + FString Bytes{UTF8_TO_TCHAR(FNovaGloveType::ToBytes(ForceFeedbackCommand.ToForceFeedbackCommand()).c_str())}; + return MoveTemp(Bytes); +} + +FString FSGNovaGloveImpl::ToBytes(const FSGBuzzCommandImpl& BuzzCommand) +{ + FString Bytes{UTF8_TO_TCHAR(FNovaGloveType::ToBytes(BuzzCommand.ToBuzzCommand()).c_str())}; + return MoveTemp(Bytes); +} + +FSGNovaGloveImpl::FSGNovaGloveImpl() + : FSGHapticGloveImpl(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveImpl::FSGNovaGloveImpl(const FSGNovaGloveInfoImpl DeviceInfo) + : FSGHapticGloveImpl(FSGNovaGloveImpl(std::make_shared((DeviceInfo.ToNovaGloveInfo())))), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveImpl::FSGNovaGloveImpl(const FNovaGloveType NovaGlove) + : FSGHapticGloveImpl(std::make_shared(NovaGlove)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveImpl::FSGNovaGloveImpl(const FNovaGlovePtrType NovaGlove) + : FSGHapticGloveImpl(NovaGlove), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveImpl::FSGNovaGloveImpl(const FSGNovaGloveImpl& Rhs) + : FSGHapticGloveImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGNovaGloveImpl::FSGNovaGloveImpl(FSGNovaGloveImpl&& Rhs) noexcept = default; + +FSGNovaGloveImpl::~FSGNovaGloveImpl() = default; + +FSGNovaGloveImpl& FSGNovaGloveImpl::operator=(const FSGNovaGloveImpl& Rhs) +{ + FSGHapticGloveImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGNovaGloveImpl& FSGNovaGloveImpl::operator=(FSGNovaGloveImpl&& Rhs) noexcept = default; + +const FSGNovaGloveImpl::FNovaGloveType& FSGNovaGloveImpl::ToNovaGlove() const +{ + return *ToNovaGlovePtrChecked(); +} + +FSGNovaGloveImpl::FNovaGlovePtrType FSGNovaGloveImpl::ToNovaGlovePtr() const +{ + return std::dynamic_pointer_cast(ToSGDevicePtr()); +} + +FSGNovaGloveImpl::FNovaGlovePtrType FSGNovaGloveImpl::ToNovaGlovePtrChecked() const +{ + FNovaGlovePtrType NovaGlove = std::dynamic_pointer_cast(ToSGDevicePtr()); + ensureAlwaysMsgf(NovaGlove.get(), TEXT("Invalid NovaGlove")); + return NovaGlove; +} + +ESGDeviceType FSGNovaGloveImpl::GetDeviceType() const +{ + return FSGCoreEnumCast::ToESGDeviceType(ToNovaGlovePtrChecked()->GetDeviceType()); +} + +FString FSGNovaGloveImpl::GetDeviceId() const +{ + const FString Id{UTF8_TO_TCHAR(ToNovaGlovePtrChecked()->GetDeviceId().c_str())}; + return Id; +} + +FString FSGNovaGloveImpl::GetHardwareVersion() const +{ + const FString Version{UTF8_TO_TCHAR(ToNovaGlovePtrChecked()->GetHardwareVersion().c_str())}; + return Version; +} + +int32 FSGNovaGloveImpl::GetFirmwareVersion() const +{ + return ToNovaGlovePtrChecked()->GetFirmwareVersion(); +} + +int32 FSGNovaGloveImpl::GetSubFirmwareVersion() const +{ + return ToNovaGlovePtrChecked()->GetSubFirmwareVersion(); +} + +bool FSGNovaGloveImpl::HasBattery() const +{ + return ToNovaGlovePtrChecked()->HasBattery(); +} + +bool FSGNovaGloveImpl::IsCharging() +{ + return ToNovaGlovePtrChecked()->IsCharging(); +} + +bool FSGNovaGloveImpl::GetBatteryLevel(float& OutBatteryLevel) +{ + return ToNovaGlovePtrChecked()->GetBatteryLevel(OutBatteryLevel); +} + +bool FSGNovaGloveImpl::GetSensorData(FSGNovaGloveSensorDataImpl& OutSensorData) +{ + FSGNovaGloveSensorDataImpl::FNovaGloveSensorDataType SensorData; + const bool bResult = ToNovaGlovePtrChecked()->GetSensorData(SensorData); + OutSensorData = FSGNovaGloveSensorDataImpl{MoveTemp(SensorData)}; + return bResult; +} + +bool FSGNovaGloveImpl::GetImuRotation(FQuat& OutImu) +{ + FSGQuatImpl::FQuatType Imu; + const bool bResult = ToNovaGlovePtrChecked()->GetImuRotation(Imu); + OutImu = FSGQuatImpl{MoveTemp(Imu)}.ToFQuat(); + return bResult; +} + +bool FSGNovaGloveImpl::GetHandPose(const FSGBasicHandModelImpl& HandModel, const FSGNovaGloveHandProfileImpl& Profile, + FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToNovaGlovePtrChecked()->GetHandPose( + HandModel.ToBasicHandModel(), Profile.ToNovaGloveHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl{MoveTemp(HandPose)}; + return bResult; +} + +bool FSGNovaGloveImpl::GetHandPose(const FSGBasicHandModelImpl& HandGeometry, const FSGHandProfileImpl& HandProfile, + FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToNovaGlovePtrChecked()->GetHandPose( + HandGeometry.ToBasicHandModel(), HandProfile.ToHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl{MoveTemp(HandPose)}; + return bResult; +} + +bool FSGNovaGloveImpl::GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToNovaGlovePtrChecked()->GetHandPose(HandProfile.ToHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl{MoveTemp(HandPose)}; + return bResult; +} + +void FSGNovaGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand, const FSGThumperCommandImpl& ThumperCommand) +{ + ToNovaGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand(), + BuzzCommand.ToBuzzCommand(), ThumperCommand.ToThumperCommand()); +} + +void FSGNovaGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) +{ + ToNovaGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand()); +} + +void FSGNovaGloveImpl::SendHaptics(const FSGBuzzCommandImpl& BuzzCommand) +{ + ToNovaGlovePtrChecked()->SendHaptics(BuzzCommand.ToBuzzCommand()); +} + +void FSGNovaGloveImpl::SendHaptics(const FSGThumperCommandImpl& ThumperCommand) +{ + ToNovaGlovePtrChecked()->SendHaptics(ThumperCommand.ToThumperCommand()); +} + +bool FSGNovaGloveImpl::GetCalibrationValues(TArray& OutValues) +{ + std::vector Values; + const bool bResult = ToNovaGlovePtrChecked()->GetCalibrationValues(Values); + OutValues = FSGArrayUtils::FromStdVector(MoveTemp(Values)); + return bResult; +} + +void FSGNovaGloveImpl::ApplyCalibration(FSGHandProfileImpl& OutProfile) const +{ + FSGHandProfileImpl::FHandProfileType Profile; + ToNovaGlovePtrChecked()->ApplyCalibration(Profile); + OutProfile = FSGHandProfileImpl{MoveTemp(Profile)}; +} + +void FSGNovaGloveImpl::ApplyCalibration(FSGNovaGloveHandProfileImpl& OutProfile) const +{ + FSGNovaGloveHandProfileImpl::FNovaGloveHandProfileType Profile; + ToNovaGlovePtrChecked()->ApplyCalibration(Profile); + OutProfile = FSGNovaGloveHandProfileImpl{MoveTemp(Profile)}; +} + +void FSGNovaGloveImpl::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + FSGVect3DImpl::FVect3DType GlovePosition; + FSGQuatImpl::FQuatType GloveRotation; + ToNovaGlovePtrChecked()->GetGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + GlovePosition, GloveRotation); + OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector(); + OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat(); +} + +void FSGNovaGloveImpl::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + FSGVect3DImpl::FVect3DType WristPosition; + FSGQuatImpl::FQuatType WristRotation; + ToNovaGlovePtrChecked()->GetWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + WristPosition, WristRotation); + OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector(); + OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat(); +} + +FString FSGNovaGloveImpl::ToString() const +{ + FString String{UTF8_TO_TCHAR(ToNovaGlovePtrChecked()->ToString().c_str())}; + return MoveTemp(String); +} + + +FSGNovaGloveImpl::FImpl::FImpl(FSGNovaGloveImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGNovaGloveImpl::FImpl::~FImpl() = default; + +void FSGNovaGloveImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveInfoImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveInfoImpl.cpp new file mode 100644 index 00000000..15efcffc --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveInfoImpl.cpp @@ -0,0 +1,266 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGCoreImpl/SGNovaGloveInfoImpl.h" + +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveInfo.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGNovaGloveInfoImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FNovaGloveInfoType NovaGloveInfo; + + /************************ + * Owner object + ************************/ + + FSGNovaGloveInfoImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGNovaGloveInfoImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +bool FSGNovaGloveInfoImpl::Parse(const FString& ConstantsString, FSGNovaGloveInfoImpl& OutGloveInfo) +{ + std::string Constants(TCHAR_TO_UTF8(*ConstantsString)); + FNovaGloveInfoType GloveInfo; + + const bool bResults = FNovaGloveInfoType::Parse(MoveTemp(Constants), GloveInfo); + OutGloveInfo = FSGNovaGloveInfoImpl(GloveInfo); + + return bResults; +} + +FSGNovaGloveInfoImpl FSGNovaGloveInfoImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGNovaGloveInfoImpl GloveInfo(FNovaGloveInfoType::Deserialize(MoveTemp(Serialized))); + return GloveInfo; +} + +FSGNovaGloveInfoImpl::FSGNovaGloveInfoImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveInfoImpl::FSGNovaGloveInfoImpl( + const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const FQuat& ImuCorrection, const int32 NumberOfSensors) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::string DeviceIdString(TCHAR_TO_UTF8(*DeviceId)); + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + FSGQuatImpl::FQuatType ImuCorrectionQuat(FSGQuatImpl(ImuCorrection).ToQuat()); + + Pimpl->NovaGloveInfo = FNovaGloveInfoType(MoveTemp(DeviceIdString), + MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion, + bRightHanded, MoveTemp(ImuCorrectionQuat), NumberOfSensors); +} + +FSGNovaGloveInfoImpl::FSGNovaGloveInfoImpl(const FNovaGloveInfoType& GloveInfo) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->NovaGloveInfo = GloveInfo; +} + +FSGNovaGloveInfoImpl::FSGNovaGloveInfoImpl(const FSGNovaGloveInfoImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGNovaGloveInfoImpl::FSGNovaGloveInfoImpl(FSGNovaGloveInfoImpl&& Rhs) noexcept = default; + +FSGNovaGloveInfoImpl::~FSGNovaGloveInfoImpl() = default; + +FSGNovaGloveInfoImpl& FSGNovaGloveInfoImpl::operator=(const FSGNovaGloveInfoImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGNovaGloveInfoImpl& FSGNovaGloveInfoImpl::operator=(FSGNovaGloveInfoImpl&& Rhs) noexcept = default; + +const FSGNovaGloveInfoImpl::FNovaGloveInfoType& FSGNovaGloveInfoImpl::ToNovaGloveInfo() const +{ + return Pimpl->NovaGloveInfo; +} + +FString FSGNovaGloveInfoImpl::GetDeviceId() const +{ + const FString DeviceId(UTF8_TO_TCHAR(Pimpl->NovaGloveInfo.GetDeviceId().c_str())); + return DeviceId; +} + +void FSGNovaGloveInfoImpl::SetDeviceId(const FString& DeviceId) +{ + return Pimpl->NovaGloveInfo.SetDeviceId(TCHAR_TO_UTF8(*DeviceId)); +} + +FString FSGNovaGloveInfoImpl::GetHardwareVersion() const +{ + const FString HardwareVersion(UTF8_TO_TCHAR(Pimpl->NovaGloveInfo.GetHardwareVersion().c_str())); + return HardwareVersion; +} + +void FSGNovaGloveInfoImpl::SetHardwareVersion(const FString& HardwareVersion) +{ + Pimpl->NovaGloveInfo.SetHardwareVersion(TCHAR_TO_UTF8(*HardwareVersion)); +} + +int32 FSGNovaGloveInfoImpl::GetFirmwareVersion() const +{ + return Pimpl->NovaGloveInfo.GetFirmwareVersion(); +} + +void FSGNovaGloveInfoImpl::SetFirmwareVersion(const int32 FirmwareVersion) +{ + Pimpl->NovaGloveInfo.SetFirmwareVersion(FirmwareVersion); +} + +int32 FSGNovaGloveInfoImpl::GetSubFirmwareVersion() const +{ + return Pimpl->NovaGloveInfo.GetSubFirmwareVersion(); +} + +void FSGNovaGloveInfoImpl::SetSubFirmwareVersion(const int32 SubFirmwareVersion) +{ + Pimpl->NovaGloveInfo.SetSubFirmwareVersion(SubFirmwareVersion); +} + +bool FSGNovaGloveInfoImpl::IsRight() const +{ + return Pimpl->NovaGloveInfo.IsRight(); +} + +void FSGNovaGloveInfoImpl::SetIsRight(const bool bRightHanded) +{ + Pimpl->NovaGloveInfo.SetIsRight(bRightHanded); +} + +FQuat FSGNovaGloveInfoImpl::GetImuCorrection() const +{ + const FQuat ImuCorrection(FSGQuatImpl(Pimpl->NovaGloveInfo.GetImuCorrection()).ToFQuat()); + return ImuCorrection; +} + +void FSGNovaGloveInfoImpl::SetImuCorrection(const FQuat& ImuCorrection) +{ + Pimpl->NovaGloveInfo.SetImuCorrection(FSGQuatImpl(ImuCorrection).ToQuat()); +} + +int32 FSGNovaGloveInfoImpl::GetNumberOfSensors() const +{ + return Pimpl->NovaGloveInfo.GetNumberOfSensors(); +} + +void FSGNovaGloveInfoImpl::SetNumberOfSensors(const int32 NumberOfSensors) +{ + Pimpl->NovaGloveInfo.SetNumberOfSensors(NumberOfSensors); +} + +bool FSGNovaGloveInfoImpl::Equals(const FSGNovaGloveInfoImpl& SGNovaGloveInfo) const +{ + return Pimpl->NovaGloveInfo.Equals(SGNovaGloveInfo.ToNovaGloveInfo()); +} + +FString FSGNovaGloveInfoImpl::ToString() const +{ + FString String(UTF8_TO_TCHAR(Pimpl->NovaGloveInfo.ToString().c_str())); + return String; +} + +FString FSGNovaGloveInfoImpl::Serialize() const +{ + FString Serialized(UTF8_TO_TCHAR(Pimpl->NovaGloveInfo.Serialize().c_str())); + return Serialized; +} + +FSGNovaGloveInfoImpl::FImpl::FImpl(FSGNovaGloveInfoImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGNovaGloveInfoImpl::FImpl::~FImpl() = default; + +void FSGNovaGloveInfoImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveSensorDataImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveSensorDataImpl.cpp new file mode 100644 index 00000000..3f70c0bd --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGNovaGloveSensorDataImpl.cpp @@ -0,0 +1,269 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGCoreImpl/SGNovaGloveSensorDataImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_NovaGloveSensorData.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGNovaGloveInfoImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGNovaGloveSensorDataImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FNovaGloveSensorDataType NovaGloveSensorData; + + /************************ + * Owner object + ************************/ + + FSGNovaGloveSensorDataImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGNovaGloveSensorDataImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGNovaGloveSensorDataImpl& FSGNovaGloveSensorDataImpl::Empty() +{ + static const FSGNovaGloveSensorDataImpl EmptyData(FNovaGloveSensorDataType::Empty()); + return EmptyData; +} + +FSGNovaGloveSensorDataImpl FSGNovaGloveSensorDataImpl::Parse(const FString& RawData, + const FSGNovaGloveInfoImpl& GloveInfo) +{ + std::string RawDataString(TCHAR_TO_UTF8(*RawData)); + const FSGNovaGloveSensorDataImpl SensorData(FNovaGloveSensorDataType::Parse( + MoveTemp(RawDataString), GloveInfo.ToNovaGloveInfo())); + return SensorData; +} + +FSGNovaGloveSensorDataImpl FSGNovaGloveSensorDataImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGNovaGloveSensorDataImpl SensorData(FNovaGloveSensorDataType::Deserialize(MoveTemp(Serialized))); + return SensorData; +} + +FSGNovaGloveSensorDataImpl::FSGNovaGloveSensorDataImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGNovaGloveSensorDataImpl::FSGNovaGloveSensorDataImpl(const TArray& Values, const int32 ParsedValues, + const FQuat& ImuRotation, const bool bImuParsed, + const float BatteryLevel, const bool bCharging) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector ValuesVector{ + FSGArrayUtils::ToStdVector( + Values) + }; + Pimpl->NovaGloveSensorData = FNovaGloveSensorDataType( + MoveTemp(ValuesVector), ParsedValues, FSGQuatImpl(ImuRotation).ToQuat(), bImuParsed, + BatteryLevel, bCharging); +} + +FSGNovaGloveSensorDataImpl::FSGNovaGloveSensorDataImpl(const FNovaGloveSensorDataType& NovaGloveSensorData) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->NovaGloveSensorData = NovaGloveSensorData; +} + +FSGNovaGloveSensorDataImpl::FSGNovaGloveSensorDataImpl(const FSGNovaGloveSensorDataImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGNovaGloveSensorDataImpl::FSGNovaGloveSensorDataImpl(FSGNovaGloveSensorDataImpl&& Rhs) noexcept = default; + +FSGNovaGloveSensorDataImpl::~FSGNovaGloveSensorDataImpl() = default; + +FSGNovaGloveSensorDataImpl& FSGNovaGloveSensorDataImpl::operator=(const FSGNovaGloveSensorDataImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGNovaGloveSensorDataImpl& FSGNovaGloveSensorDataImpl::operator=(FSGNovaGloveSensorDataImpl&& Rhs + ) noexcept = default; + +const FSGNovaGloveSensorDataImpl::FNovaGloveSensorDataType& FSGNovaGloveSensorDataImpl::ToNovaGloveSensorData( + ) const +{ + return Pimpl->NovaGloveSensorData; +} + +TArray FSGNovaGloveSensorDataImpl::GetSensorValues() const +{ + TArray SensorValues{ + FSGArrayUtils::FromStdVector( + Pimpl->NovaGloveSensorData.GetSensorValues()) + }; + return MoveTemp(SensorValues); +} + +void FSGNovaGloveSensorDataImpl::SetSensorValues(const TArray& SensorValues) const +{ + std::vector SensorValuesVector{ + FSGArrayUtils::ToStdVector( + SensorValues) + }; + Pimpl->NovaGloveSensorData.SetSensorValues(MoveTemp(SensorValuesVector)); +} + +FQuat FSGNovaGloveSensorDataImpl::GetImuRotation() const +{ + return FSGQuatImpl(Pimpl->NovaGloveSensorData.GetImuRotation()).ToFQuat(); +} + +void FSGNovaGloveSensorDataImpl::SetImuRotation(const FQuat& ImuRotation) +{ + Pimpl->NovaGloveSensorData.SetImuRotation(FSGQuatImpl(ImuRotation).ToQuat()); +} + +int32 FSGNovaGloveSensorDataImpl::GetParsedValues() const +{ + return Pimpl->NovaGloveSensorData.GetParsedValues(); +} + +void FSGNovaGloveSensorDataImpl::SetParsedValues(const int32 ParsedValues) +{ + Pimpl->NovaGloveSensorData.SetParsedValues(ParsedValues); +} + +bool FSGNovaGloveSensorDataImpl::IsImuParsed() const +{ + return Pimpl->NovaGloveSensorData.IsImuParsed(); +} + +void FSGNovaGloveSensorDataImpl::SetImuParsed(const bool bImuParsed) +{ + Pimpl->NovaGloveSensorData.SetImuParsed(bImuParsed); +} + +float FSGNovaGloveSensorDataImpl::GetBatteryLevel() const +{ + return Pimpl->NovaGloveSensorData.GetBatteryLevel(); +} + +void FSGNovaGloveSensorDataImpl::SetBatteryLevel(const float BatteryLevel) +{ + Pimpl->NovaGloveSensorData.SetBatteryLevel(BatteryLevel); +} + +bool FSGNovaGloveSensorDataImpl::IsCharging() const +{ + return Pimpl->NovaGloveSensorData.IsCharging(); +} + +void FSGNovaGloveSensorDataImpl::SetIsCharging(const bool bCharging) +{ + Pimpl->NovaGloveSensorData.SetIsCharging(bCharging); +} + +bool FSGNovaGloveSensorDataImpl::Equals(const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl) const +{ + return Pimpl->NovaGloveSensorData.Equals(NovaGloveSensorDataImpl.ToNovaGloveSensorData()); +} + +FString FSGNovaGloveSensorDataImpl::ToString() const +{ + FString String(UTF8_TO_TCHAR(Pimpl->NovaGloveSensorData.ToString().c_str())); + return MoveTemp(String); +} + +FString FSGNovaGloveSensorDataImpl::Serialize() const +{ + FString Serialized(UTF8_TO_TCHAR(Pimpl->NovaGloveSensorData.Serialize().c_str())); + return MoveTemp(Serialized); +} + +FSGNovaGloveSensorDataImpl::FImpl::FImpl(FSGNovaGloveSensorDataImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGNovaGloveSensorDataImpl::FImpl::~FImpl() = default; + +void FSGNovaGloveSensorDataImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.cpp new file mode 100644 index 00000000..4471617e --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.cpp @@ -0,0 +1,333 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGQuatImpl.h" + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGVect3DImpl.h" + +struct FSGQuatImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FQuatType Quat; + + /************************ + * Owner object + ************************/ + + FSGQuatImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGQuatImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGQuatImpl& FSGQuatImpl::Identity() +{ + static const FSGQuatImpl I(FQuatType::Identity()); + return I; +} + +FSGQuatImpl FSGQuatImpl::FromEuler(const float XAngle, const float YAngle, const float ZAngle) +{ + return FSGQuatImpl(FQuatType::FromEuler(XAngle, YAngle, ZAngle)); +} + +FSGQuatImpl FSGQuatImpl::FromEuler(const FSGVect3DImpl& Euler) +{ + return FSGQuatImpl(FQuatType::FromEuler(Euler.ToVect3D())); +} + +FSGQuatImpl FSGQuatImpl::FromEuler(const FVector& Euler) +{ + return FSGQuatImpl(FQuatType::FromEuler(FSGVect3DImpl(Euler).ToVect3D())); +} + +FSGQuatImpl FSGQuatImpl::FromAngleAxis(const float Angle, const float XAxis, const float YAxis, const float ZAxis) +{ + return FSGQuatImpl(FQuatType::FromAngleAxis(Angle, XAxis, YAxis, ZAxis)); +} + +FSGQuatImpl FSGQuatImpl::FromAngleAxis(const float Angle, const FSGVect3DImpl& Axis) +{ + return FSGQuatImpl(FQuatType::FromAngleAxis(Angle, Axis.ToVect3D())); +} + +FSGQuatImpl FSGQuatImpl::FromAngleAxis(const float Angle, const FVector& Axis) +{ + return FSGQuatImpl(FQuatType::FromAngleAxis(Angle, FSGVect3DImpl(Axis).ToVect3D())); +} + +FSGQuatImpl FSGQuatImpl::Invert(const FSGQuatImpl& QuatImpl) +{ + return FSGQuatImpl(FQuatType::Invert(QuatImpl.ToQuat())); +} + +FSGQuatImpl FSGQuatImpl::Normalize(const FSGQuatImpl& QuatImpl) +{ + return FSGQuatImpl(FQuatType::Normalize(QuatImpl.ToQuat())); +} + +bool FSGQuatImpl::Deserialize(const FString& String, FSGQuatImpl& OutResult, const ANSICHAR Delimiter) +{ + FQuatType Quat; + const bool bReturn = FQuatType::Deserialize(TCHAR_TO_UTF8(*String), Quat, Delimiter); + OutResult = FSGQuatImpl(Quat); + return bReturn; +} + +FSGQuatImpl::FSGQuatImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGQuatImpl::FSGQuatImpl(const float X, const float Y, const float Z, const float W) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Quat = FQuatType(X, Y, Z, W); +} + +FSGQuatImpl::FSGQuatImpl(const FQuatType& Quat) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Quat = Quat; +} + +FSGQuatImpl::FSGQuatImpl(const FQuat& Quat) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + /// NOTE + /// Unreal Engine uses a left-handed, z-up world coordinate system, which yealds clockwise rotations: + /// Forward X + /// Right Y + /// Up Z + /// SenseGlove uses a right-handed, z-up corrdinate systenm, which yealds counter-clockwise rotations: + /// Forward Y + /// Right X + /// Up Z + Pimpl->Quat = FQuatType(-Quat.Y, -Quat.X, -Quat.Z, Quat.W); +} + +FSGQuatImpl::FSGQuatImpl(const FSGQuatImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGQuatImpl::FSGQuatImpl(FSGQuatImpl&& Rhs) noexcept = default; + +FSGQuatImpl::~FSGQuatImpl() = default; + +FSGQuatImpl& FSGQuatImpl::operator=(const FSGQuatImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGQuatImpl& FSGQuatImpl::operator=(FSGQuatImpl&& Rhs) noexcept = default; + +const FSGQuatImpl::FQuatType& FSGQuatImpl::ToQuat() const +{ + return Pimpl->Quat; +} + +FQuat FSGQuatImpl::ToFQuat() const +{ + /// NOTE + /// Unreal Engine uses a left-handed, z-up world coordinate system, which yealds clockwise rotations: + /// Forward X + /// Right Y + /// Up Z + /// SenseGlove uses a right-handed, z-up corrdinate systenm, which yealds counter-clockwise rotations: + /// Forward Y + /// Right X + /// Up Z + return FQuat(-Pimpl->Quat.GetY(), -Pimpl->Quat.GetX(), -Pimpl->Quat.GetZ(), Pimpl->Quat.GetW()); +} + +FSGQuatImpl FSGQuatImpl::operator*(const FSGQuatImpl& QuatImpl) const +{ + return FSGQuatImpl(Pimpl->Quat.operator*(QuatImpl.ToQuat())); +} + +FSGVect3DImpl FSGQuatImpl::operator*(const FSGVect3DImpl& Vect3DImpl) const +{ + return FSGVect3DImpl(Pimpl->Quat.operator*(Vect3DImpl.ToVect3D())); +} + +FVector FSGQuatImpl::operator*(const FVector& Vector) const +{ + return FSGVect3DImpl(Pimpl->Quat.operator*(FSGVect3DImpl(Vector).ToVect3D())).ToFVector(); +} + +float FSGQuatImpl::GetX() const +{ + return Pimpl->Quat.GetX(); +} + +void FSGQuatImpl::SetX(const float X) +{ + Pimpl->Quat.SetX(X); +} + +float FSGQuatImpl::GetY() const +{ + return Pimpl->Quat.GetY(); +} + +void FSGQuatImpl::SetY(const float Y) +{ + Pimpl->Quat.SetY(Y); +} + +float FSGQuatImpl::GetZ() const +{ + return Pimpl->Quat.GetZ(); +} + +void FSGQuatImpl::SetZ(const float Z) +{ + Pimpl->Quat.SetZ(Z); +} + +float FSGQuatImpl::GetW() const +{ + return Pimpl->Quat.GetW(); +} + +void FSGQuatImpl::SetW(const float W) +{ + Pimpl->Quat.SetW(W); +} + +FSGVect3DImpl FSGQuatImpl::ToEulerImpl() const +{ + return FSGVect3DImpl(Pimpl->Quat.ToEuler()); +} + +FVector FSGQuatImpl::ToEuler() const +{ + return FSGVect3DImpl(Pimpl->Quat.ToEuler()).ToFVector(); +} + +FSGVect3DImpl FSGQuatImpl::Rotate(const FSGVect3DImpl& Vect3DImpl) const +{ + return FSGVect3DImpl(Pimpl->Quat.Rotate(Vect3DImpl.ToVect3D())); +} + +FVector FSGQuatImpl::Rotate(const FVector& Vector) const +{ + return FSGVect3DImpl(Pimpl->Quat.Rotate(FSGVect3DImpl(Vector).ToVect3D())).ToFVector(); +} + +bool FSGQuatImpl::Equals(const FSGQuatImpl& QuatImpl) const +{ + return Pimpl->Quat.Equals(QuatImpl.ToQuat()); +} + +bool FSGQuatImpl::IsIdentity() const +{ + return Pimpl->Quat.IsIdentity(); +} + +float FSGQuatImpl::Magnitude() const +{ + return Pimpl->Quat.Magnitude(); +} + +FString FSGQuatImpl::ToString() const +{ + return UTF8_TO_TCHAR(Pimpl->Quat.ToString().c_str()); +} + +FString FSGQuatImpl::Serialize(const ANSICHAR Delimiter) const +{ + return UTF8_TO_TCHAR(Pimpl->Quat.Serialize(Delimiter).c_str()); +} + +FSGQuatImpl::FImpl::FImpl(FSGQuatImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGQuatImpl::FImpl::~FImpl() = default; + +void FSGQuatImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.h b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.h new file mode 100644 index 00000000..1d9b88c8 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGQuatImpl.h @@ -0,0 +1,172 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +class FSGVect3DImpl; + +namespace SGCore +{ + namespace Kinematics + { + class Quat; + } +} + +class SENSEGLOVECOREIMPL_API FSGQuatImpl +{ +public: + typedef SGCore::Kinematics::Quat FQuatType; + +public: + static const FSGQuatImpl& Identity(); + + static FSGQuatImpl FromEuler(float XAngle, float YAngle, float ZAngle); + static FSGQuatImpl FromEuler(const FSGVect3DImpl& Euler); + static FSGQuatImpl FromEuler(const FVector& Euler); + static FSGQuatImpl FromAngleAxis(float Angle, float XAxis, float YAxis, float ZAxis); + static FSGQuatImpl FromAngleAxis(float Angle, const FSGVect3DImpl& Axis); + static FSGQuatImpl FromAngleAxis(float Angle, const FVector& Axis); + + static FSGQuatImpl Invert(const FSGQuatImpl& QuatImpl); + static FSGQuatImpl Normalize(const FSGQuatImpl& QuatImpl); + + static bool Deserialize(const FString& String, FSGQuatImpl& OutResult, ANSICHAR Delimiter); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGQuatImpl(); + FSGQuatImpl(float X, float Y, float Z, float W); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGQuatImpl(const FQuatType& Quat); + + /** + * The cast from FQuat type constructor. + */ + explicit FSGQuatImpl(const FQuat& Quat); + +public: + /** + * The copy constructor. + */ + FSGQuatImpl(const FSGQuatImpl& Rhs); + + /** + * The move constructor. + */ + FSGQuatImpl(FSGQuatImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGQuatImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGQuatImpl& operator=(const FSGQuatImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGQuatImpl& operator=(FSGQuatImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FQuatType& ToQuat() const; + + /** + * The cast to FQuat type method. + */ + FQuat ToFQuat() const; + +public: + FSGQuatImpl operator*(const FSGQuatImpl& QuatImpl) const; + FSGVect3DImpl operator*(const FSGVect3DImpl& Vect3DImpl) const; + FVector operator*(const FVector& Vector) const; + +public: + float GetX() const; + void SetX(float X); + + float GetY() const; + void SetY(float Y); + + float GetZ() const; + void SetZ(float Z); + + float GetW() const; + void SetW(float W); + +public: + FSGVect3DImpl ToEulerImpl() const; + FVector ToEuler() const; + + FSGVect3DImpl Rotate(const FSGVect3DImpl& Vect3DImpl) const; + FVector Rotate(const FVector& Vector) const; + + bool Equals(const FSGQuatImpl& QuatImpl) const; + + bool IsIdentity() const; + + float Magnitude() const; + + FString ToString() const; + + FString Serialize(ANSICHAR Delimiter) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseComImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseComImpl.cpp new file mode 100644 index 00000000..83d518ab --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseComImpl.cpp @@ -0,0 +1,76 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseComImpl.h" + +#include "Containers/StringConv.h" + +#include "SGBuildHacks/SGInclude_Core_SenseCom.h" + +bool FSGSenseComImpl::RegisterExe() +{ + return FSenseComType::RegisterExe(); +} + +bool FSGSenseComImpl::RegisterExe(const FString& ExePath) +{ + return FSenseComType::RegisterExe(std::move(std::string(TCHAR_TO_UTF8(*ExePath)))); +} + +bool FSGSenseComImpl::GetExePath(FString& OutExePath) +{ + std::string Path; + const bool bResult = FSenseComType::GetExePath(Path); + OutExePath = FString(UTF8_TO_TCHAR(Path.c_str())); + return bResult; +} + +bool FSGSenseComImpl::ScanningActive() +{ + return FSenseComType::ScanningActive(); +} + +bool FSGSenseComImpl::GetCurrentExeDirectory(FString& OutDirectory) +{ + std::string Directory; + const bool bResult = FSenseComType::GetCurrentExeDirectory(Directory); + OutDirectory = FString(UTF8_TO_TCHAR(Directory.c_str())); + return bResult; +} + +bool FSGSenseComImpl::StartupSenseCom() +{ + return FSenseComType::StartupSenseCom(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveHandProfileImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveHandProfileImpl.cpp new file mode 100644 index 00000000..f712404b --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveHandProfileImpl.cpp @@ -0,0 +1,262 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveHandProfileImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_HandInterpolator.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGHandInterpolatorImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGSenseGloveHandProfileImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FSenseGloveHandProfileType SenseGloveHandProfile; + + /************************ + * Owner object + ************************/ + + FSGSenseGloveHandProfileImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGSenseGloveHandProfileImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGSenseGloveHandProfileImpl FSGSenseGloveHandProfileImpl::Default(const bool bRightHanded) +{ + FSGSenseGloveHandProfileImpl SenseGloveHandProfileImpl(FSenseGloveHandProfileType::Default(bRightHanded)); + return SenseGloveHandProfileImpl; +} + +FSGSenseGloveHandProfileImpl FSGSenseGloveHandProfileImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGSenseGloveHandProfileImpl HandProfile(FSenseGloveHandProfileType::Deserialize(MoveTemp(Serialized))); + return HandProfile; +} + +const FVector& FSGSenseGloveHandProfileImpl::GetDefaultThimbleOffset() +{ + static const FVector DefaultThimbleOffset( + FSGVect3DImpl(FSenseGloveHandProfileType::GetDefaultThimbleOffset()).ToFVector()); + return DefaultThimbleOffset; +} + +FSGSenseGloveHandProfileImpl::FSGSenseGloveHandProfileImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveHandProfileImpl::FSGSenseGloveHandProfileImpl(const bool bRightHanded, + const FSGHandInterpolatorImpl& Interpolator, + const ESGThumbSolver ThumbSolver, + const ESGFingerSolver FingerSolver, + const TArray& FingerThimbleOffset) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector FingerThimbleOffsetVector{ + FSGArrayUtils::ToStdVector( + FingerThimbleOffset) + }; + Pimpl->SenseGloveHandProfile = FSenseGloveHandProfileType( + bRightHanded, Interpolator.ToHandInterpolator(), + FSGCoreEnumCast::ToEThumbSolver(ThumbSolver), + FSGCoreEnumCast::ToEFingerSolver(FingerSolver), + MoveTemp(FingerThimbleOffsetVector)); +} + +FSGSenseGloveHandProfileImpl::FSGSenseGloveHandProfileImpl(const FSenseGloveHandProfileType& SenseGloveHandProfile) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SenseGloveHandProfile = SenseGloveHandProfile; +} + +FSGSenseGloveHandProfileImpl::FSGSenseGloveHandProfileImpl(const FSGSenseGloveHandProfileImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGSenseGloveHandProfileImpl::FSGSenseGloveHandProfileImpl(FSGSenseGloveHandProfileImpl&& Rhs) noexcept = default; + +FSGSenseGloveHandProfileImpl::~FSGSenseGloveHandProfileImpl() = default; + +FSGSenseGloveHandProfileImpl& FSGSenseGloveHandProfileImpl::operator=(const FSGSenseGloveHandProfileImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGSenseGloveHandProfileImpl& FSGSenseGloveHandProfileImpl::operator=(FSGSenseGloveHandProfileImpl&& Rhs) noexcept += default; + +const FSGSenseGloveHandProfileImpl::FSenseGloveHandProfileType& FSGSenseGloveHandProfileImpl::ToSenseGloveHandProfile( + ) const +{ + return Pimpl->SenseGloveHandProfile; +} + +bool FSGSenseGloveHandProfileImpl::IsRight() const +{ + return Pimpl->SenseGloveHandProfile.IsRight(); +} + +void FSGSenseGloveHandProfileImpl::SetIsRight(const bool bRightHanded) +{ + Pimpl->SenseGloveHandProfile.SetIsRight(bRightHanded); +} + +FSGHandInterpolatorImpl FSGSenseGloveHandProfileImpl::GetInterpolationSet() const +{ + const FSGHandInterpolatorImpl HandInterpolatorImpl( + FSGHandInterpolatorImpl::FHandInterpolatorType(Pimpl->SenseGloveHandProfile.GetInterpolationSet())); + return HandInterpolatorImpl; +} + +void FSGSenseGloveHandProfileImpl::SetInterpolationSet(const FSGHandInterpolatorImpl& InterpolationSet) +{ + Pimpl->SenseGloveHandProfile.SetInterpolationSet(InterpolationSet.ToHandInterpolator()); +} + +ESGThumbSolver FSGSenseGloveHandProfileImpl::GetThumbSolver() const +{ + return FSGCoreEnumCast::ToESGThumbSolver(Pimpl->SenseGloveHandProfile.GetThumbSolver()); +} + +void FSGSenseGloveHandProfileImpl::SetThumbSolver(const ESGThumbSolver ThumbSolver) +{ + Pimpl->SenseGloveHandProfile.SetThumbSolver(FSGCoreEnumCast::ToEThumbSolver(ThumbSolver)); +} + +ESGFingerSolver FSGSenseGloveHandProfileImpl::GetFingerSolver() const +{ + return FSGCoreEnumCast::ToESGFingerSolver(Pimpl->SenseGloveHandProfile.GetFingerSolver()); +} + +void FSGSenseGloveHandProfileImpl::SetFingerSolver(const ESGFingerSolver FingerSolver) +{ + Pimpl->SenseGloveHandProfile.SetFingerSolver(FSGCoreEnumCast::ToEFingerSolver(FingerSolver)); +} + +TArray FSGSenseGloveHandProfileImpl::GetFingerThimbleOffset() const +{ + const TArray FingerThimbleOffset{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGloveHandProfile.GetFingerThimbleOffset()) + }; + return FingerThimbleOffset; +} + +void FSGSenseGloveHandProfileImpl::SetFingerThimbleOffset(const TArray& FingerThimbleOffset) +{ + std::vector FingerThimbleOffsetVector{ + FSGArrayUtils::ToStdVector( + FingerThimbleOffset) + }; + Pimpl->SenseGloveHandProfile.SetFingerThimbleOffset(MoveTemp(FingerThimbleOffsetVector)); +} + +bool FSGSenseGloveHandProfileImpl::Equals(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) const +{ + return Pimpl->SenseGloveHandProfile.Equals(SenseGloveHandProfileImpl.ToSenseGloveHandProfile()); +} + +void FSGSenseGloveHandProfileImpl::Reset() +{ + Pimpl->SenseGloveHandProfile.Reset(); +} + +FString FSGSenseGloveHandProfileImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->SenseGloveHandProfile.Serialize().c_str())); + return Serialized; +} + +FSGSenseGloveHandProfileImpl::FImpl::FImpl(FSGSenseGloveHandProfileImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGSenseGloveHandProfileImpl::FImpl::~FImpl() = default; + +void FSGSenseGloveHandProfileImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveImpl.cpp new file mode 100644 index 00000000..3ed7ad1d --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveImpl.cpp @@ -0,0 +1,545 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Misc/AssertionMacros.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_BasicHandModel.h" +#include "SGBuildHacks/SGInclude_Core_BuzzCommand.h" +#include "SGBuildHacks/SGInclude_Core_ForceFeedbackCommand.h" +#include "SGBuildHacks/SGInclude_Core_HandPose.h" +#include "SGBuildHacks/SGInclude_Core_HandProfile.h" +#include "SGBuildHacks/SGInclude_Core_HapticGlove.h" +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_SenseGlove.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveInfo.h" +#include "SGBuildHacks/SGInclude_Core_SenseGlovePose.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h" +#include "SGBuildHacks/SGInclude_Core_ThumperCommand.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGBasicHandModelImpl.h" +#include "SGCoreImpl/SGBuzzCommandImpl.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGForceFeedbackCommandImpl.h" +#include "SGCoreImpl/SGHandPoseImpl.h" +#include "SGCoreImpl/SGHandProfileImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGSenseGloveHandProfileImpl.h" +#include "SGCoreImpl/SGSenseGloveInfoImpl.h" +#include "SGCoreImpl/SGSenseGlovePoseImpl.h" +#include "SGCoreImpl/SGSenseGloveSensorDataImpl.h" +#include "SGCoreImpl/SGThumperCommandImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGSenseGloveImpl::FImpl +{ + /************************ + * Owner object + ************************/ + + FSGSenseGloveImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGSenseGloveImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +ANSICHAR FSGSenseGloveImpl::GetHapticsByte() +{ + static const ANSICHAR Byte = FSenseGloveType::GetHapticsByte(); + return Byte; +} + +ANSICHAR FSGSenseGloveImpl::GetThumperByte() +{ + static const ANSICHAR Byte = FSenseGloveType::GetThumperByte(); + return Byte; +} + +FSGSenseGlovePoseImpl FSGSenseGloveImpl::CalculateGlovePose(const FSGSenseGloveSensorDataImpl& SensorData, + const FSGSenseGloveInfoImpl& GloveModel) +{ + FSGSenseGlovePoseImpl Pose{ + FSenseGloveType::CalculateGlovePose(SensorData.ToSenseGloveSensorData(), GloveModel.ToSenseGloveInfo()) + }; + return MoveTemp(Pose); +} + +FSGSenseGlovePoseImpl FSGSenseGloveImpl::CalculateGlovePose(const TArray>& GloveAngles, + const FSGSenseGloveInfoImpl& GloveModel) +{ + std::vector> GloveAnglesVector{ + FSGArrayUtils::ToStdVector( + GloveAngles) + }; + FSGSenseGlovePoseImpl Pose{ + FSenseGloveType::CalculateGlovePose(MoveTemp(GloveAnglesVector), GloveModel.ToSenseGloveInfo()) + }; + return MoveTemp(Pose); +} + +FSGHandPoseImpl FSGSenseGloveImpl::CalculateHandPose(const FSGSenseGlovePoseImpl& GlovePose, + const FSGBasicHandModelImpl& HandModel, + const FSGSenseGloveHandProfileImpl& Profile) +{ + FSGHandPoseImpl HandPose{FSenseGloveType::CalculateHandPose( + GlovePose.ToSenseGlovePose(), HandModel.ToBasicHandModel(), Profile.ToSenseGloveHandProfile()) + }; + return MoveTemp(HandPose); +} + +TSharedRef FSGSenseGloveImpl::Parse(const FString& ConstantsString) +{ + std::string ConstantsStdString{TCHAR_TO_UTF8(*ConstantsString)}; + FSGDevicePtrType SGDevicePtr{FSenseGloveType::Parse(MoveTemp(ConstantsStdString))}; + ensureAlwaysMsgf(SGDevicePtr, TEXT("Invalid SGDevice!")); + TSharedRef SenseGloveImpl{MakeShared( + std::dynamic_pointer_cast(MoveTemp(SGDevicePtr)))}; + return MoveTemp(SenseGloveImpl); +} + +TArray FSGSenseGloveImpl::GetSenseGloves() +{ + FSenseGloveVectorType Vector{FSenseGloveType::GetSenseGloves()}; + + TArray Array{ + FSGArrayUtils::FromStdVector(MoveTemp(Vector)) + }; + + return MoveTemp(Array); +} + + +bool FSGSenseGloveImpl::GetSenseGlove(FSGSenseGloveImpl& OutGlove) +{ + FSenseGloveType Glove; + const bool bResult = FSenseGloveType::GetSenseGlove(Glove); + OutGlove = FSGSenseGloveImpl{MoveTemp(Glove)}; + return bResult; +} + +bool FSGSenseGloveImpl::GetSenseGlove(const bool bRightHanded, FSGSenseGloveImpl& OutGlove) +{ + FSenseGloveType Glove; + const bool bResult = FSenseGloveType::GetSenseGlove(bRightHanded, Glove); + OutGlove = FSGSenseGloveImpl{MoveTemp(Glove)}; + return bResult; +} + +TArray FSGSenseGloveImpl::GetCalibrationValues(const FSGSenseGlovePoseImpl& GlovePose) +{ + TArray Values{ + FSGArrayUtils::FromStdVector( + FSenseGloveType::GetCalibrationValues(GlovePose.ToSenseGlovePose())) + }; + return MoveTemp(Values); +} + +void FSGSenseGloveImpl::CalibrateInterpolation(const TArray& MinValues, const TArray& MaxValues, + const bool bRightHanded, FSGSenseGloveHandProfileImpl& OutProfile) +{ + std::vector MinValuesVector{ + FSGArrayUtils::ToStdVector( + MinValues) + }; + std::vector MaxValuesVector{ + FSGArrayUtils::ToStdVector( + MaxValues) + }; + + FSGSenseGloveHandProfileImpl::FSenseGloveHandProfileType Profile; + FSenseGloveType::CalibrateInterpolation(MoveTemp(MinValuesVector), MoveTemp(MaxValuesVector), + bRightHanded, Profile); + OutProfile = FSGSenseGloveHandProfileImpl{MoveTemp(Profile)}; +} + +void FSGSenseGloveImpl::CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, const ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + FSGVect3DImpl::FVect3DType GlovePosition; + FSGQuatImpl::FQuatType GloveRotation; + FSenseGloveType::CalculateGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + bRightHanded, FSGCoreEnumCast::ToEFinger(MountedOn), + GlovePosition, GloveRotation); + OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector(); + OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat(); +} + +void FSGSenseGloveImpl::CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, const ESGFinger MountedOn, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + FSGVect3DImpl::FVect3DType WristPosition; + FSGQuatImpl::FQuatType WristRotation; + FSenseGloveType::CalculateWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + bRightHanded, FSGCoreEnumCast::ToEFinger(MountedOn), + FSGVect3DImpl(GloveWristPositionOffset).ToVect3D(), + FSGQuatImpl(GloveWristRotationOffset).ToQuat(), + WristPosition, WristRotation); + OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector(); + OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat(); +} + +FSGSenseGloveImpl::FSGSenseGloveImpl() + : FSGHapticGloveImpl(), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveImpl::FSGSenseGloveImpl(const FSGSenseGloveInfoImpl& Model) + : FSGHapticGloveImpl(std::make_shared(Model.ToSenseGloveInfo())), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveImpl::FSGSenseGloveImpl(const FSenseGloveType SenseGlove) + : FSGHapticGloveImpl(std::make_shared(SenseGlove)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveImpl::FSGSenseGloveImpl(const FSenseGlovePtrType SenseGlove) + : FSGHapticGloveImpl(std::dynamic_pointer_cast(SenseGlove)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveImpl::FSGSenseGloveImpl(const FSGSenseGloveImpl& Rhs) + : FSGHapticGloveImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGSenseGloveImpl::FSGSenseGloveImpl(FSGSenseGloveImpl&& Rhs) noexcept = default; + +FSGSenseGloveImpl::~FSGSenseGloveImpl() = default; + +FSGSenseGloveImpl& FSGSenseGloveImpl::operator=(const FSGSenseGloveImpl& Rhs) +{ + FSGHapticGloveImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGSenseGloveImpl& FSGSenseGloveImpl::operator=(FSGSenseGloveImpl&& Rhs) noexcept = default; + +const FSGSenseGloveImpl::FSenseGloveType& FSGSenseGloveImpl::ToSenseGlove() const +{ + return *ToSenseGlovePtrChecked(); +} + +FSGSenseGloveImpl::FSenseGlovePtrType FSGSenseGloveImpl::ToSenseGlovePtr() const +{ + return std::dynamic_pointer_cast(ToSGDevicePtr()); +} + +FSGSenseGloveImpl::FSenseGlovePtrType FSGSenseGloveImpl::ToSenseGlovePtrChecked() const +{ + FSenseGlovePtrType SenseGlove = std::dynamic_pointer_cast(ToSGDevicePtr()); + ensureAlwaysMsgf(SenseGlove.get(), TEXT("Invalid SenseGlove")); + return SenseGlove; +} + +FSGSenseGloveInfoImpl FSGSenseGloveImpl::GetGloveModel() const +{ + return FSGSenseGloveInfoImpl{ToSenseGlovePtr()->GetGloveModel()}; +} + +bool FSGSenseGloveImpl::IsRight() const +{ + return ToSenseGlovePtr()->IsRight(); +} + +ESGDeviceType FSGSenseGloveImpl::GetDeviceType() const +{ + return FSGCoreEnumCast::ToESGDeviceType(ToSenseGlovePtrChecked()->GetDeviceType()); +} + +FString FSGSenseGloveImpl::GetDeviceId() const +{ + const FString Id{UTF8_TO_TCHAR(ToSenseGlovePtrChecked()->GetDeviceId().c_str())}; + return Id; +} + +FString FSGSenseGloveImpl::GetHardwareVersion() const +{ + const FString Version{UTF8_TO_TCHAR(ToSenseGlovePtrChecked()->GetHardwareVersion().c_str())}; + return Version; +} + +int32 FSGSenseGloveImpl::GetFirmwareVersion() const +{ + return ToSenseGlovePtrChecked()->GetFirmwareVersion(); +} + +int32 FSGSenseGloveImpl::GetSubFirmwareVersion() const +{ + return ToSenseGlovePtrChecked()->GetSubFirmwareVersion(); +} + +bool FSGSenseGloveImpl::GetSensorData(FSGSenseGloveSensorDataImpl& OutSensorData) const +{ + FSGSenseGloveSensorDataImpl::FSenseGloveSensorDataType SensorData; + const bool bResult = ToSenseGlovePtrChecked()->GetSensorData(SensorData); + OutSensorData = FSGSenseGloveSensorDataImpl{MoveTemp(SensorData)}; + return bResult; +} + +bool FSGSenseGloveImpl::GetImuRotation(FQuat& OutImu) +{ + FSGQuatImpl::FQuatType Imu; + const bool bResult = ToSenseGlovePtrChecked()->GetImuRotation(Imu); + OutImu = FSGQuatImpl{MoveTemp(Imu)}.ToFQuat(); + return bResult; +} + +bool FSGSenseGloveImpl::GetGlovePose(FSGSenseGlovePoseImpl& OutGlovePose) +{ + FSGSenseGlovePoseImpl::FSenseGlovePoseType GlovePose; + const bool bResult = ToSenseGlovePtr()->GetGlovePose(GlovePose); + OutGlovePose = FSGSenseGlovePoseImpl{GlovePose}; + return bResult; +} + +bool FSGSenseGloveImpl::GetGlovePose(const FSGSenseGloveSensorDataImpl& SensorData, + FSGSenseGlovePoseImpl& OutGlovePose) +{ + FSGSenseGlovePoseImpl::FSenseGlovePoseType GlovePose; + const bool bResult = ToSenseGlovePtr()->GetGlovePose(SensorData.ToSenseGloveSensorData(), GlovePose); + OutGlovePose = FSGSenseGlovePoseImpl{GlovePose}; + return bResult; +} + +bool FSGSenseGloveImpl::GetHandPose(const FSGBasicHandModelImpl& HandModel, const FSGSenseGloveHandProfileImpl& Profile, + FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToSenseGlovePtrChecked()->GetHandPose( + HandModel.ToBasicHandModel(), Profile.ToSenseGloveHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl{MoveTemp(HandPose)}; + return bResult; +} + +bool FSGSenseGloveImpl::GetHandPose(const FSGBasicHandModelImpl& HandGeometry, const FSGHandProfileImpl& HandProfile, + FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToSenseGlovePtrChecked()->GetHandPose( + HandGeometry.ToBasicHandModel(), HandProfile.ToHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl{MoveTemp(HandPose)}; + return bResult; +} + +bool FSGSenseGloveImpl::GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose) +{ + FSGHandPoseImpl::FHandPoseType HandPose; + const bool bResult = ToSenseGlovePtrChecked()->GetHandPose(HandProfile.ToHandProfile(), HandPose); + OutHandPose = FSGHandPoseImpl{MoveTemp(HandPose)}; + return bResult; +} + +void FSGSenseGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) +{ + ToSenseGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand()); +} + +void FSGSenseGloveImpl::SendHaptics(const FSGBuzzCommandImpl& BuzzCommand) +{ + ToSenseGlovePtrChecked()->SendHaptics(BuzzCommand.ToBuzzCommand()); +} + +void FSGSenseGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand, const FSGThumperCommandImpl& ThumperCommand) +{ + ToSenseGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand(), + BuzzCommand.ToBuzzCommand(), ThumperCommand.ToThumperCommand()); +} + +bool FSGSenseGloveImpl::GetCalibrationValues(TArray& OutValues) +{ + std::vector Values; + const bool bResult = ToSenseGlovePtrChecked()->GetCalibrationValues(Values); + OutValues = FSGArrayUtils::FromStdVector(MoveTemp(Values)); + return bResult; +} + +void FSGSenseGloveImpl::ResetCalibrationRange() +{ + ToSenseGlovePtr()->ResetCalibrationRange(); +} + +void FSGSenseGloveImpl::ApplyCalibration(FSGHandProfileImpl& OutProfile) const +{ + FSGHandProfileImpl::FHandProfileType Profile; + ToSenseGlovePtrChecked()->ApplyCalibration(Profile); + OutProfile = FSGHandProfileImpl{MoveTemp(Profile)}; +} + +void FSGSenseGloveImpl::ApplyCalibration(FSGSenseGloveHandProfileImpl& OutProfile) const +{ + FSGSenseGloveHandProfileImpl::FSenseGloveHandProfileType Profile; + ToSenseGlovePtrChecked()->ApplyCalibration(Profile); + OutProfile = FSGSenseGloveHandProfileImpl{MoveTemp(Profile)}; +} + +void FSGSenseGloveImpl::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + FSGVect3DImpl::FVect3DType GlovePosition; + FSGQuatImpl::FQuatType GloveRotation; + ToSenseGlovePtrChecked()->GetGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + GlovePosition, GloveRotation); + OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector(); + OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat(); +} + +void FSGSenseGloveImpl::GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const +{ + FSGVect3DImpl::FVect3DType GlovePosition; + FSGQuatImpl::FQuatType GloveRotation; + ToSenseGlovePtrChecked()->GetGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + FSGCoreEnumCast::ToEFinger(MountedOn), + GlovePosition, GloveRotation); + OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector(); + OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat(); +} + +void FSGSenseGloveImpl::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + FSGVect3DImpl::FVect3DType WristPosition; + FSGQuatImpl::FQuatType WristRotation; + ToSenseGlovePtrChecked()->GetWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + WristPosition, WristRotation); + OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector(); + OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat(); +} + +void FSGSenseGloveImpl::GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const FVector& GloveWristPositionOffset, const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) const +{ + FSGVect3DImpl::FVect3DType WristPosition; + FSGQuatImpl::FQuatType WristRotation; + ToSenseGlovePtrChecked()->GetWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(), + FSGQuatImpl{ReferenceRotation}.ToQuat(), + FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware), + FSGVect3DImpl(GloveWristPositionOffset).ToVect3D(), + FSGQuatImpl(GloveWristRotationOffset).ToQuat(), + WristPosition, WristRotation); + OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector(); + OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat(); +} + +FString FSGSenseGloveImpl::ToString() const +{ + const FString String{UTF8_TO_TCHAR(ToSenseGlovePtrChecked()->ToString().c_str())}; + return String; +} + + +FSGSenseGloveImpl::FImpl::FImpl(FSGSenseGloveImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGSenseGloveImpl::FImpl::~FImpl() = default; + +void FSGSenseGloveImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveInfoImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveInfoImpl.cpp new file mode 100644 index 00000000..287a91ab --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveInfoImpl.cpp @@ -0,0 +1,396 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveInfoImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveInfo.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGSenseGloveInfoImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FSenseGloveInfoType SenseGloveInfo; + + /************************ + * Owner object + ************************/ + + FSGSenseGloveInfoImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGSenseGloveInfoImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +bool FSGSenseGloveInfoImpl::Parse(const FString& ConstantsString, FSGSenseGloveInfoImpl& OutGloveInfo, + const bool bUpdateOldModels) +{ + std::string Constants(TCHAR_TO_UTF8(*ConstantsString)); + FSenseGloveInfoType GloveInfo; + + const bool bResults = FSenseGloveInfoType::Parse(MoveTemp(Constants), GloveInfo, bUpdateOldModels); + OutGloveInfo = FSGSenseGloveInfoImpl(GloveInfo); + + return bResults; +} + +FSGSenseGloveInfoImpl FSGSenseGloveInfoImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGSenseGloveInfoImpl GloveInfo(FSenseGloveInfoType::Deserialize(MoveTemp(Serialized))); + return GloveInfo; +} + +FSGSenseGloveInfoImpl::FSGSenseGloveInfoImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveInfoImpl::FSGSenseGloveInfoImpl(const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, + const FQuat& ImuCorrection, + const TArray& StartPositions, + const TArray& StartRotations, + const TArray>& GloveLengths, + const TArray& Functions) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::string DeviceIdString(TCHAR_TO_UTF8(*DeviceId)); + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + FSGQuatImpl::FQuatType ImuCorrectionQuat(FSGQuatImpl(ImuCorrection).ToQuat()); + + std::vector StartPositionsVector(FSGArrayUtils::ToStdVector< + FVector, FSGVect3DImpl::FVect3DType, FSGVect3DImpl, &FSGVect3DImpl::ToVect3D>(StartPositions)); + + std::vector StartRotationsVector(FSGArrayUtils::ToStdVector< + FQuat, FSGQuatImpl::FQuatType, FSGQuatImpl, &FSGQuatImpl::ToQuat>(StartRotations)); + + std::vector> GloveLengthsVector{ + FSGArrayUtils::ToStdVector( + GloveLengths) + }; + + std::vector FunctionsVector{FSGArrayUtils::ToStdVector(Functions)}; + + Pimpl->SenseGloveInfo = FSenseGloveInfoType(MoveTemp(DeviceIdString), MoveTemp(HardwareVersionString), + FirmwareVersion, SubFirmwareVersion, + bRightHanded, NumberOfSensors, + MoveTemp(ImuCorrectionQuat), + MoveTemp(StartPositionsVector), MoveTemp(StartRotationsVector), + MoveTemp(GloveLengthsVector), MoveTemp(FunctionsVector)); +} + +FSGSenseGloveInfoImpl::FSGSenseGloveInfoImpl(const FSenseGloveInfoType& GloveInfo) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SenseGloveInfo = GloveInfo; +} + +FSGSenseGloveInfoImpl::FSGSenseGloveInfoImpl(const FSGSenseGloveInfoImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGSenseGloveInfoImpl::FSGSenseGloveInfoImpl(FSGSenseGloveInfoImpl&& Rhs) noexcept = default; + +FSGSenseGloveInfoImpl::~FSGSenseGloveInfoImpl() = default; + +FSGSenseGloveInfoImpl& FSGSenseGloveInfoImpl::operator=(const FSGSenseGloveInfoImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGSenseGloveInfoImpl& FSGSenseGloveInfoImpl::operator=(FSGSenseGloveInfoImpl&& Rhs) noexcept = default; + +const FSGSenseGloveInfoImpl::FSenseGloveInfoType& FSGSenseGloveInfoImpl::ToSenseGloveInfo() const +{ + return Pimpl->SenseGloveInfo; +} + +FString FSGSenseGloveInfoImpl::GetDeviceId() const +{ + FString DeviceId(UTF8_TO_TCHAR(Pimpl->SenseGloveInfo.GetDeviceId().c_str())); + return MoveTemp(DeviceId); +} + +void FSGSenseGloveInfoImpl::SetDeviceId(const FString& DeviceId) +{ + return Pimpl->SenseGloveInfo.SetDeviceId(TCHAR_TO_UTF8(*DeviceId)); +} + +FString FSGSenseGloveInfoImpl::GetHardwareVersion() const +{ + FString HardwareVersion(UTF8_TO_TCHAR(Pimpl->SenseGloveInfo.GetHardwareVersion().c_str())); + return MoveTemp(HardwareVersion); +} + +void FSGSenseGloveInfoImpl::SetHardwareVersion(const FString& HardwareVersion) +{ + Pimpl->SenseGloveInfo.SetHardwareVersion(TCHAR_TO_UTF8(*HardwareVersion)); +} + +int32 FSGSenseGloveInfoImpl::GetFirmwareVersion() const +{ + return Pimpl->SenseGloveInfo.GetFirmwareVersion(); +} + +void FSGSenseGloveInfoImpl::SetFirmwareVersion(const int32 FirmwareVersion) +{ + Pimpl->SenseGloveInfo.SetFirmwareVersion(FirmwareVersion); +} + +int32 FSGSenseGloveInfoImpl::GetSubFirmwareVersion() const +{ + return Pimpl->SenseGloveInfo.GetSubFirmwareVersion(); +} + +void FSGSenseGloveInfoImpl::SetSubFirmwareVersion(const int32 SubFirmwareVersion) +{ + Pimpl->SenseGloveInfo.SetSubFirmwareVersion(SubFirmwareVersion); +} + +bool FSGSenseGloveInfoImpl::IsRight() const +{ + return Pimpl->SenseGloveInfo.IsRight(); +} + +void FSGSenseGloveInfoImpl::SetIsRight(const bool bRightHanded) +{ + Pimpl->SenseGloveInfo.SetIsRight(bRightHanded); +} + +int32 FSGSenseGloveInfoImpl::GetNumberOfSensors() const +{ + return Pimpl->SenseGloveInfo.GetNumberOfSensors(); +} + +void FSGSenseGloveInfoImpl::SetNumberOfSensors(const int32 NumberOfSensors) +{ + Pimpl->SenseGloveInfo.SetNumberOfSensors(NumberOfSensors); +} + +FQuat FSGSenseGloveInfoImpl::GetImuCorrection() const +{ + FQuat ImuCorrection(FSGQuatImpl(Pimpl->SenseGloveInfo.GetImuCorrection()).ToFQuat()); + return MoveTemp(ImuCorrection); +} + +void FSGSenseGloveInfoImpl::SetImuCorrection(const FQuat& ImuCorrection) +{ + Pimpl->SenseGloveInfo.SetImuCorrection(FSGQuatImpl(ImuCorrection).ToQuat()); +} + +TArray FSGSenseGloveInfoImpl::GetStartPositions() const +{ + TArray StartPositionsArray{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGloveInfo.GetStartPositions())}; + return MoveTemp(StartPositionsArray); +} + +void FSGSenseGloveInfoImpl::SetStartPositions(const TArray& StartPositions) +{ + std::vector StartPositionsVector{ + FSGArrayUtils::ToStdVector( + StartPositions) + }; + Pimpl->SenseGloveInfo.SetStartPositions(MoveTemp(StartPositionsVector)); +} + +TArray FSGSenseGloveInfoImpl::GetStartRotations() const +{ + TArray StartRotationsArray{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGloveInfo.GetStartRotations())}; + return MoveTemp(StartRotationsArray); +} + +void FSGSenseGloveInfoImpl::SetStartRotations(const TArray& StartRotations) +{ + std::vector StartRotationsVector{ + FSGArrayUtils::ToStdVector( + StartRotations) + }; + Pimpl->SenseGloveInfo.SetStartRotations(MoveTemp(StartRotationsVector)); +} + +TArray> FSGSenseGloveInfoImpl::GetGloveLengths() const +{ + TArray> GloveLengths{ + FSGArrayUtils::FromStdVector< + FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( + Pimpl->SenseGloveInfo.GetGloveLengths()) + }; + return MoveTemp(GloveLengths); +} + +void FSGSenseGloveInfoImpl::SetGloveLengths(const TArray>& GloveLengths) const +{ + std::vector> GloveLengthsVector{ + FSGArrayUtils::ToStdVector( + GloveLengths) + }; + Pimpl->SenseGloveInfo.SetGloveLengths(MoveTemp(GloveLengthsVector)); +} + +TArray FSGSenseGloveInfoImpl::GetFunctions() const +{ + TArray FunctionsArray{FSGArrayUtils::FromStdVector(Pimpl->SenseGloveInfo.GetFunctions())}; + return MoveTemp(FunctionsArray); +} + +void FSGSenseGloveInfoImpl::SetFunctions(const TArray& Functions) const +{ + std::vector FunctionsVector{FSGArrayUtils::ToStdVector(Functions)}; + Pimpl->SenseGloveInfo.SetFunctions(MoveTemp(FunctionsVector)); +} + +FVector FSGSenseGloveInfoImpl::GetStartPosition(const ESGFinger Finger) const +{ + FVector StartPosition(FSGVect3DImpl(Pimpl->SenseGloveInfo.GetStartPosition( + FSGCoreEnumCast::ToEFinger(Finger))).ToFVector()); + return MoveTemp(StartPosition); +} + +FQuat FSGSenseGloveInfoImpl::GetStartRotation(const ESGFinger Finger) const +{ + FQuat StartRotation(FSGQuatImpl(Pimpl->SenseGloveInfo.GetStartRotation( + FSGCoreEnumCast::ToEFinger(Finger))).ToFQuat()); + return MoveTemp(StartRotation); +} + +TArray FSGSenseGloveInfoImpl::GetGloveLengths(const ESGFinger Finger) const +{ + std::vector GloveLengthsVector{ + Pimpl->SenseGloveInfo.GetGloveLengths(FSGCoreEnumCast::ToEFinger(Finger))}; + TArray GloveLengthsArray{ + FSGArrayUtils::FromStdVector( + MoveTemp(GloveLengthsVector))}; + return MoveTemp(GloveLengthsArray); +} + +TArray> FSGSenseGloveInfoImpl::ToGloveAngles(const TArray>& SensorAngles) const +{ + std::vector> SensorAnglesVector{FSGArrayUtils::ToStdVector(SensorAngles)}; + TArray> GloveAngles{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGloveInfo.ToGloveAngles(MoveTemp((SensorAnglesVector)))) + }; + return MoveTemp(GloveAngles); +} + +bool FSGSenseGloveInfoImpl::Equals(const FSGSenseGloveInfoImpl& SGSenseGloveInfo, const bool bGeometryOnly) const +{ + return Pimpl->SenseGloveInfo.Equals(SGSenseGloveInfo.ToSenseGloveInfo(), bGeometryOnly); +} + +FString FSGSenseGloveInfoImpl::ToString(const bool bShortNotation) const +{ + FString String(UTF8_TO_TCHAR(Pimpl->SenseGloveInfo.ToString(bShortNotation).c_str())); + return MoveTemp(String); +} + +FString FSGSenseGloveInfoImpl::ToString() const +{ + FString String(UTF8_TO_TCHAR(Pimpl->SenseGloveInfo.ToString().c_str())); + return MoveTemp(String); +} + +FString FSGSenseGloveInfoImpl::Serialize() const +{ + FString Serialized(UTF8_TO_TCHAR(Pimpl->SenseGloveInfo.Serialize().c_str())); + return MoveTemp(Serialized); +} + +FSGSenseGloveInfoImpl::FImpl::FImpl(FSGSenseGloveInfoImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGSenseGloveInfoImpl::FImpl::~FImpl() = default; + +void FSGSenseGloveInfoImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGlovePoseImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGlovePoseImpl.cpp new file mode 100644 index 00000000..d6f5133c --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGlovePoseImpl.cpp @@ -0,0 +1,315 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGlovePoseImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_SenseGlovePose.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGSenseGloveHandProfileImpl.h" +#include "SGCoreImpl/SGSenseGloveInfoImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGSenseGlovePoseImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FSenseGlovePoseType SenseGlovePose; + + /************************ + * Owner object + ************************/ + + FSGSenseGlovePoseImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGSenseGlovePoseImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGSenseGlovePoseImpl FSGSenseGlovePoseImpl::IdlePose(const FSGSenseGloveInfoImpl& GloveInfo) +{ + const FSGSenseGlovePoseImpl GlovePoseImpl(FSenseGlovePoseType::IdlePose(GloveInfo.ToSenseGloveInfo())); + return GlovePoseImpl; +} + +FSGSenseGlovePoseImpl FSGSenseGlovePoseImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGSenseGlovePoseImpl GlovePose(FSenseGlovePoseType::Deserialize(MoveTemp(Serialized))); + return GlovePose; +} + +FSGSenseGlovePoseImpl::FSGSenseGlovePoseImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGlovePoseImpl::FSGSenseGlovePoseImpl(bool bRightHanded, const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& GloveAngles) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> JointPositionsVector{ + FSGArrayUtils::ToStdVector( + JointPositions) + }; + std::vector> JointRotationsVector{ + FSGArrayUtils::ToStdVector( + JointRotations) + }; + std::vector> GloveAnglesVector{ + FSGArrayUtils::ToStdVector( + GloveAngles) + }; + + Pimpl->SenseGlovePose = FSenseGlovePoseType(bRightHanded, + MoveTemp(JointPositionsVector), + MoveTemp(JointRotationsVector), + MoveTemp(GloveAnglesVector)); +} + +FSGSenseGlovePoseImpl::FSGSenseGlovePoseImpl(const FSenseGlovePoseType& SenseGlovePose) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SenseGlovePose = SenseGlovePose; +} + +FSGSenseGlovePoseImpl::FSGSenseGlovePoseImpl(const FSGSenseGlovePoseImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGSenseGlovePoseImpl::FSGSenseGlovePoseImpl(FSGSenseGlovePoseImpl&& Rhs) noexcept = default; + +FSGSenseGlovePoseImpl::~FSGSenseGlovePoseImpl() = default; + +FSGSenseGlovePoseImpl& FSGSenseGlovePoseImpl::operator=(const FSGSenseGlovePoseImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGSenseGlovePoseImpl& FSGSenseGlovePoseImpl::operator=(FSGSenseGlovePoseImpl&& Rhs) noexcept = default; + +const FSGSenseGlovePoseImpl::FSenseGlovePoseType& FSGSenseGlovePoseImpl::ToSenseGlovePose() const +{ + return Pimpl->SenseGlovePose; +} + +bool FSGSenseGlovePoseImpl::IsRight() const +{ + return Pimpl->SenseGlovePose.IsRight(); +} + +void FSGSenseGlovePoseImpl::SetIsRight(const bool bRightHanded) const +{ + Pimpl->SenseGlovePose.SetIsRight(bRightHanded); +} + +TArray> FSGSenseGlovePoseImpl::GetJointPositions() const +{ + const TArray> JointPositions{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.GetJointPositions()) + }; + return JointPositions; +} + +void FSGSenseGlovePoseImpl::SetJointPositions(const TArray>& JointPositions) const +{ + std::vector> JointPositionsVector{ + FSGArrayUtils::ToStdVector( + JointPositions) + }; + Pimpl->SenseGlovePose.SetJointPositions(MoveTemp(JointPositionsVector)); +} + +TArray> FSGSenseGlovePoseImpl::GetJointRotations() const +{ + const TArray> JointRotations{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.GetJointRotations()) + }; + return JointRotations; +} + +void FSGSenseGlovePoseImpl::SetJointRotations(const TArray>& JointRotations) const +{ + std::vector> JointRotationsVector{ + FSGArrayUtils::ToStdVector( + JointRotations) + }; + Pimpl->SenseGlovePose.SetJointRotations(MoveTemp(JointRotationsVector)); +} + +TArray> FSGSenseGlovePoseImpl::GetGloveAngles() const +{ + const TArray> GloveAngles{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.GetGloveAngles()) + }; + return GloveAngles; +} + +void FSGSenseGlovePoseImpl::SetGloveAngles(const TArray>& GloveAngles) const +{ + std::vector> HandAnglesVector{ + FSGArrayUtils::ToStdVector( + GloveAngles) + }; + Pimpl->SenseGlovePose.SetGloveAngles(MoveTemp(HandAnglesVector)); +} + +TArray FSGSenseGlovePoseImpl::GetThimblePositions() const +{ + const TArray ThimblePositions{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.GetThimblePositions()) + }; + return ThimblePositions; +} + +TArray FSGSenseGlovePoseImpl::GetThimbleRotations() const +{ + const TArray ThimbleRotations{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.GetThimbleRotations()) + }; + return ThimbleRotations; +} + +TArray FSGSenseGlovePoseImpl::GetTotalGloveAngles() const +{ + const TArray TotalGloveAngles{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.GetTotalGloveAngles()) + }; + return TotalGloveAngles; +} + +TArray FSGSenseGlovePoseImpl::CalculateFingerTips( + const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) const +{ + const TArray FingerTips{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.CalculateFingerTips(SenseGloveHandProfileImpl.ToSenseGloveHandProfile())) + }; + return FingerTips; +} + +TArray FSGSenseGlovePoseImpl::CalculateFingerTips(const TArray& FingerOffsets) const +{ + std::vector FingerOffsetsVector{ + FSGArrayUtils::ToStdVector( + FingerOffsets) + }; + TArray FingerTips{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGlovePose.CalculateFingerTips(MoveTemp(FingerOffsetsVector))) + }; + return FingerTips; +} + +bool FSGSenseGlovePoseImpl::Equals(const FSGSenseGlovePoseImpl& SenseGlovePoseImpl) const +{ + return Pimpl->SenseGlovePose.Equals(SenseGlovePoseImpl.ToSenseGlovePose()); +} + +FString FSGSenseGlovePoseImpl::ToString(bool bShortFormat) const +{ + const FString String(UTF8_TO_TCHAR(Pimpl->SenseGlovePose.ToString(bShortFormat).c_str())); + return String; +} + +FString FSGSenseGlovePoseImpl::Serialize() const +{ + const FString Serialized(UTF8_TO_TCHAR(Pimpl->SenseGlovePose.Serialize().c_str())); + return Serialized; +} + +FSGSenseGlovePoseImpl::FImpl::FImpl(FSGSenseGlovePoseImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGSenseGlovePoseImpl::FImpl::~FImpl() = default; + +void FSGSenseGlovePoseImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveSensorDataImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveSensorDataImpl.cpp new file mode 100644 index 00000000..271e0ccc --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveSensorDataImpl.cpp @@ -0,0 +1,257 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveSensorDataImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveSensorData.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGSenseGloveInfoImpl.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGSenseGloveSensorDataImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FSenseGloveSensorDataType SenseGloveSensorData; + + /************************ + * Owner object + ************************/ + + FSGSenseGloveSensorDataImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGSenseGloveSensorDataImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGSenseGloveSensorDataImpl& FSGSenseGloveSensorDataImpl::Empty() +{ + static const FSGSenseGloveSensorDataImpl EmptyData(FSenseGloveSensorDataType::Empty()); + return EmptyData; +} + +FSGSenseGloveSensorDataImpl FSGSenseGloveSensorDataImpl::Parse(const FString& RawData, + const FSGSenseGloveInfoImpl& GloveInfo) +{ + std::string RawDataString(TCHAR_TO_UTF8(*RawData)); + const FSGSenseGloveSensorDataImpl SensorData(FSenseGloveSensorDataType::Parse( + MoveTemp(RawDataString), GloveInfo.ToSenseGloveInfo())); + return SensorData; +} + +FSGSenseGloveSensorDataImpl FSGSenseGloveSensorDataImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGSenseGloveSensorDataImpl SensorData(FSenseGloveSensorDataType::Deserialize(MoveTemp(Serialized))); + return SensorData; +} + +FSGSenseGloveSensorDataImpl::FSGSenseGloveSensorDataImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSenseGloveSensorDataImpl::FSGSenseGloveSensorDataImpl(const TArray>& SensorAngles, + const FQuat& ImuRotation, + const int32 ParsedValues, const bool bImuParsed) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector> SensorAnglesVector{FSGArrayUtils::ToStdVector(SensorAngles)}; + Pimpl->SenseGloveSensorData = FSenseGloveSensorDataType( + MoveTemp(SensorAnglesVector), FSGQuatImpl(ImuRotation).ToQuat(), ParsedValues, bImuParsed); +} + +FSGSenseGloveSensorDataImpl::FSGSenseGloveSensorDataImpl(const FSenseGloveSensorDataType& SenseGloveSensorData) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SenseGloveSensorData = SenseGloveSensorData; +} + +FSGSenseGloveSensorDataImpl::FSGSenseGloveSensorDataImpl(const FSGSenseGloveSensorDataImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGSenseGloveSensorDataImpl::FSGSenseGloveSensorDataImpl(FSGSenseGloveSensorDataImpl&& Rhs) noexcept = default; + +FSGSenseGloveSensorDataImpl::~FSGSenseGloveSensorDataImpl() = default; + +FSGSenseGloveSensorDataImpl& FSGSenseGloveSensorDataImpl::operator=(const FSGSenseGloveSensorDataImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGSenseGloveSensorDataImpl& FSGSenseGloveSensorDataImpl::operator=(FSGSenseGloveSensorDataImpl&& Rhs + ) noexcept = default; + +const FSGSenseGloveSensorDataImpl::FSenseGloveSensorDataType& FSGSenseGloveSensorDataImpl::ToSenseGloveSensorData( + ) const +{ + return Pimpl->SenseGloveSensorData; +} + +TArray> FSGSenseGloveSensorDataImpl::GetSensorAngles() const +{ + TArray> SensorAngles{ + FSGArrayUtils::FromStdVector(Pimpl->SenseGloveSensorData.GetSensorAngles()) + }; + return MoveTemp(SensorAngles); +} + +void FSGSenseGloveSensorDataImpl::SetSensorAngles(const TArray>& SensorAngles) +{ + std::vector> SensorAnglesVector{FSGArrayUtils::ToStdVector(SensorAngles)}; + Pimpl->SenseGloveSensorData.SetSensorAngles(MoveTemp(SensorAnglesVector)); +} + +TArray FSGSenseGloveSensorDataImpl::GetSensorAngles(ESGFinger Finger) const +{ + TArray SensorAngles{ + FSGArrayUtils::FromStdVector( + Pimpl->SenseGloveSensorData.GetSensorAngles(FSGCoreEnumCast::ToEFinger(Finger))) + }; + return MoveTemp(SensorAngles); +} + +TArray FSGSenseGloveSensorDataImpl::GetAngleSequence() const +{ + TArray AngleSequence{ + FSGArrayUtils::FromStdVector(Pimpl->SenseGloveSensorData.GetAngleSequence()) + }; + return MoveTemp(AngleSequence); +} + +FQuat FSGSenseGloveSensorDataImpl::GetImuRotation() const +{ + return FSGQuatImpl(Pimpl->SenseGloveSensorData.GetImuRotation()).ToFQuat(); +} + +void FSGSenseGloveSensorDataImpl::SetImuRotation(const FQuat& ImuRotation) +{ + Pimpl->SenseGloveSensorData.SetImuRotation(FSGQuatImpl{ImuRotation}.ToQuat()); +} + +int32 FSGSenseGloveSensorDataImpl::GetParsedValues() const +{ + return Pimpl->SenseGloveSensorData.GetParsedValues(); +} + +void FSGSenseGloveSensorDataImpl::SetParsedValues(const int32 ParsedValues) +{ + Pimpl->SenseGloveSensorData.SetParsedValues(ParsedValues); +} + +bool FSGSenseGloveSensorDataImpl::IsImuParsed() const +{ + return Pimpl->SenseGloveSensorData.IsImuParsed(); +} + +void FSGSenseGloveSensorDataImpl::SetImuParsed(bool bImuParsed) +{ + Pimpl->SenseGloveSensorData.SetImuParsed(bImuParsed); +} + +bool FSGSenseGloveSensorDataImpl::Equals(const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl) const +{ + return Pimpl->SenseGloveSensorData.Equals(SenseGloveSensorDataImpl.ToSenseGloveSensorData()); +} + +FString FSGSenseGloveSensorDataImpl::ToString() const +{ + FString String(UTF8_TO_TCHAR(Pimpl->SenseGloveSensorData.ToString().c_str())); + return MoveTemp(String); +} + +FString FSGSenseGloveSensorDataImpl::Serialize() const +{ + FString Serialized(UTF8_TO_TCHAR(Pimpl->SenseGloveSensorData.Serialize().c_str())); + return MoveTemp(Serialized); +} + +FSGSenseGloveSensorDataImpl::FImpl::FImpl(FSGSenseGloveSensorDataImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGSenseGloveSensorDataImpl::FImpl::~FImpl() = default; + +void FSGSenseGloveSensorDataImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveVarsImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveVarsImpl.cpp new file mode 100644 index 00000000..ce6177ca --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSenseGloveVarsImpl.cpp @@ -0,0 +1,139 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveVarsImpl.h" + +#include + +#include "Containers/StringConv.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_SenseGloveVars.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGSenseGloveInfoImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +FString FSGSenseGloveVarsImpl::GetStandardConstantsString(const FString& HardwareVersion, const float FirmwareVersion, + const bool bRightHanded) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + const FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetStandardConstantsString(MoveTemp(HardwareVersionString), + FirmwareVersion, bRightHanded).c_str())); + return String; +} + +FString FSGSenseGloveVarsImpl::GetSensorString(const FString& HardwareVersion, const float FirmwareVersion) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + const FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetSensorString(MoveTemp(HardwareVersionString), + FirmwareVersion).c_str())); + return String; +} + +TArray FSGSenseGloveVarsImpl::GetStartPositions(const FString& HardwareVersion, const bool bRightHanded) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + const TArray StartPositions{ + FSGArrayUtils::FromStdVector( + FSenseGloveVarsType::GetStartPositions(MoveTemp(HardwareVersionString), bRightHanded)) + }; + return StartPositions; +} + +TArray FSGSenseGloveVarsImpl::GetStartRotations(const FString& HardwareVersion, const bool bRightHanded) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + const TArray StartRotations{ + FSGArrayUtils::FromStdVector( + FSenseGloveVarsType::GetStartRotations(MoveTemp(HardwareVersionString), bRightHanded)) + }; + return StartRotations; +} + +TArray> FSGSenseGloveVarsImpl::GetGloveLengths(const FString& HardwareVersion) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + const TArray> GloveLengths{ + FSGArrayUtils::FromStdVector( + FSenseGloveVarsType::GetGloveLengths(MoveTemp(HardwareVersionString))) + }; + return GloveLengths; +} + +int32 FSGSenseGloveVarsImpl::GetSensors(const FString& HardwareVersion) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + return FSenseGloveVarsType::GetSensors(MoveTemp(HardwareVersionString)); +} + +FQuat FSGSenseGloveVarsImpl::GetImuCorrection(const FString& HardwareVersion, const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + return FSGQuatImpl(FSenseGloveVarsType::GetImuCorrection( + MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion)).ToFQuat(); +} + +TArray FSGSenseGloveVarsImpl::GetFunctions(const FString& HardwareVersion, const int32 FirmwareVersion, + const int32 SubFirmwareVersion) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + const TArray Functions{FSGArrayUtils::FromStdVector(FSenseGloveVarsType::GetFunctions( + MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion)) + }; + return Functions; +} + +FSGSenseGloveInfoImpl FSGSenseGloveVarsImpl::GenerateGloveModel(const FString& HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion, const bool bRightHanded) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + return FSGSenseGloveInfoImpl(FSenseGloveVarsType::GenerateGloveModel( + MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion, bRightHanded)); +} + +FSGSenseGloveInfoImpl FSGSenseGloveVarsImpl::GenerateGloveModel(const FString& HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion, const bool bRightHanded, + const FString& CustomId) +{ + std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion)); + std::string CustomIdString(TCHAR_TO_UTF8(*CustomId)); + return FSGSenseGloveInfoImpl(FSenseGloveVarsType::GenerateGloveModel( + MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion, bRightHanded, MoveTemp(CustomIdString))); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSensorRangeImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSensorRangeImpl.cpp new file mode 100644 index 00000000..af4159dc --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGSensorRangeImpl.cpp @@ -0,0 +1,256 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSensorRangeImpl.h" + +#include +#include + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_SensorRange.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGSensorRangeImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FSensorRangeType SensorRange; + + /************************ + * Owner object + ************************/ + + FSGSensorRangeImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGSensorRangeImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGSensorRangeImpl& FSGSensorRangeImpl::ForCalibration() +{ + static const FSGSensorRangeImpl SensorRange(FSensorRangeType::ForCalibration()); + return SensorRange; +} + +FSGSensorRangeImpl FSGSensorRangeImpl::Deserialize(const FString& SerializedString) +{ + std::string Serialized(TCHAR_TO_UTF8(*SerializedString)); + const FSGSensorRangeImpl SensorRange(FSensorRangeType::Deserialize(MoveTemp(Serialized))); + return SensorRange; +} + +void FSGSensorRangeImpl::CheckMax(const FVector CurrentValues, FVector& OutMaxValues) +{ + FSGVect3DImpl::FVect3DType Current(FSGVect3DImpl(CurrentValues).ToVect3D()); + FSGVect3DImpl::FVect3DType MaxValues; + FSensorRangeType::CheckMax(MoveTemp(Current), MaxValues); + OutMaxValues = FSGVect3DImpl(MaxValues).ToFVector(); +} + +void FSGSensorRangeImpl::CheckMin(const FVector& CurrentValues, FVector& OutMinValues) +{ + FSGVect3DImpl::FVect3DType Current(FSGVect3DImpl(CurrentValues).ToVect3D()); + FSGVect3DImpl::FVect3DType MinValues; + FSensorRangeType::CheckMax(MoveTemp(Current), MinValues); + OutMinValues = FSGVect3DImpl(MinValues).ToFVector(); +} + +FSGSensorRangeImpl::FSGSensorRangeImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGSensorRangeImpl::FSGSensorRangeImpl(const TArray& MinValues, const TArray& MaxValues) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + std::vector MinValuesVector( + FSGArrayUtils::ToStdVector( + MinValues)); + std::vector MaxValuesVector( + FSGArrayUtils::ToStdVector( + MaxValues)); + Pimpl->SensorRange = FSensorRangeType(MoveTemp(MinValuesVector), MoveTemp(MaxValuesVector)); +} + +FSGSensorRangeImpl::FSGSensorRangeImpl(const FSensorRangeType& SensorRange) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->SensorRange = SensorRange; +} + +FSGSensorRangeImpl::FSGSensorRangeImpl(const FSGSensorRangeImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGSensorRangeImpl::FSGSensorRangeImpl(FSGSensorRangeImpl&& Rhs) noexcept = default; + +FSGSensorRangeImpl::~FSGSensorRangeImpl() = default; + +FSGSensorRangeImpl& FSGSensorRangeImpl::operator=(const FSGSensorRangeImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGSensorRangeImpl& FSGSensorRangeImpl::operator=(FSGSensorRangeImpl&& Rhs) noexcept = default; + +const FSGSensorRangeImpl::FSensorRangeType& FSGSensorRangeImpl::ToSensorRange() const +{ + return Pimpl->SensorRange; +} + +TArray FSGSensorRangeImpl::GetMinValues() const +{ + std::vector Values(Pimpl->SensorRange.GetMinValues()); + TArray MinValues{FSGArrayUtils::FromStdVector< + FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>(MoveTemp(Values))}; + return MinValues; +} + +void FSGSensorRangeImpl::SetMinValues(const TArray& Values) +{ + std::vector MinValues( + FSGArrayUtils::ToStdVector( + Values)); + Pimpl->SensorRange.SetMinValues(MoveTemp(MinValues)); +} + +TArray FSGSensorRangeImpl::GetMaxValues() const +{ + std::vector Values(Pimpl->SensorRange.GetMaxValues()); + TArray MaxValues{FSGArrayUtils::FromStdVector< + FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>(MoveTemp(Values))}; + return MaxValues; +} + +void FSGSensorRangeImpl::SetMaxValues(const TArray& Values) +{ + std::vector MaxValues( + FSGArrayUtils::ToStdVector( + Values)); + Pimpl->SensorRange.SetMaxValues(MoveTemp(MaxValues)); +} + +TArray FSGSensorRangeImpl::GetRange() const +{ + std::vector RangeVector(Pimpl->SensorRange.GetRange()); + TArray Range{FSGArrayUtils::FromStdVector< + FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>(MoveTemp(RangeVector))}; + return Range; +} + +void FSGSensorRangeImpl::UpdateRange() +{ + Pimpl->SensorRange.UpdateRange(); +} + +void FSGSensorRangeImpl::CheckForExtremes(const TArray& OtherValues) +{ + std::vector Values( + FSGArrayUtils::ToStdVector( + OtherValues)); + Pimpl->SensorRange.CheckForExtremes(MoveTemp(Values)); + +} + +FString FSGSensorRangeImpl::RangeString(const bool bYOnly) const +{ + FString String(UTF8_TO_TCHAR(Pimpl->SensorRange.RangeString(bYOnly).c_str())); + return String; +} + +FString FSGSensorRangeImpl::ToString(const bool bYOnly) const +{ + FString String(UTF8_TO_TCHAR(Pimpl->SensorRange.ToString(bYOnly).c_str())); + return String; +} + +FString FSGSensorRangeImpl::Serialize() const +{ + FString Serialized(UTF8_TO_TCHAR(Pimpl->SensorRange.Serialize().c_str())); + return Serialized; +} + +FSGSensorRangeImpl::FImpl::FImpl(FSGSensorRangeImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGSensorRangeImpl::FImpl::~FImpl() = default; + +void FSGSensorRangeImpl::FImplDeleter::operator()(const FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGThumperCommandImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGThumperCommandImpl.cpp new file mode 100644 index 00000000..61dda8db --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGThumperCommandImpl.cpp @@ -0,0 +1,174 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGThumperCommandImpl.h" + +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_ThumperCommand.h" + +struct FSGThumperCommandImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FThumperCommandType ThumperCommand; + + /************************ + * Owner object + ************************/ + + FSGThumperCommandImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGThumperCommandImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGThumperCommandImpl& FSGThumperCommandImpl::Off() +{ + static const FSGThumperCommandImpl OffCmd(0); + return OffCmd; +} + +FSGThumperCommandImpl::FSGThumperCommandImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGThumperCommandImpl::FSGThumperCommandImpl(const int32 Magnitude) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->ThumperCommand = FThumperCommandType(Magnitude); +} + +FSGThumperCommandImpl::FSGThumperCommandImpl(const FThumperCommandType& ThumperCommand) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->ThumperCommand = ThumperCommand; +} + +FSGThumperCommandImpl::FSGThumperCommandImpl(const FSGThumperCommandImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGThumperCommandImpl::FSGThumperCommandImpl(FSGThumperCommandImpl&& Rhs) noexcept = default; + +FSGThumperCommandImpl::~FSGThumperCommandImpl() = default; + +FSGThumperCommandImpl& FSGThumperCommandImpl::operator=(const FSGThumperCommandImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGThumperCommandImpl& FSGThumperCommandImpl::operator=(FSGThumperCommandImpl&& Rhs) noexcept = default; + +const FSGThumperCommandImpl::FThumperCommandType& FSGThumperCommandImpl::ToThumperCommand() const +{ + return Pimpl->ThumperCommand; +} + +int32 FSGThumperCommandImpl::GetMagnitude() const +{ + return Pimpl->ThumperCommand.GetMagnitude(); +} + +void FSGThumperCommandImpl::SetMagnitude(const int32 Magnitude) +{ + Pimpl->ThumperCommand.SetMagnitude(Magnitude); +} + +FSGThumperCommandImpl FSGThumperCommandImpl::Copy() const +{ + return FSGThumperCommandImpl(Pimpl->ThumperCommand.Copy()); +} + +FSGThumperCommandImpl FSGThumperCommandImpl::Merge(const FSGThumperCommandImpl& ThumperCommandImpl) const +{ + return FSGThumperCommandImpl(Pimpl->ThumperCommand.Merge(ThumperCommandImpl.ToThumperCommand())); +} + +bool FSGThumperCommandImpl::Equals(const FSGThumperCommandImpl& ThumperCommandImpl) const +{ + return Pimpl->ThumperCommand.Equals(ThumperCommandImpl.ToThumperCommand()); +} + +FSGThumperCommandImpl::FImpl::FImpl(FSGThumperCommandImpl* InOwner) + : ThumperCommand(0), + Owner(InOwner) +{ +} + +FSGThumperCommandImpl::FImpl::~FImpl() = default; + +void FSGThumperCommandImpl::FImplDeleter::operator()(const FSGThumperCommandImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedBuzzCommandImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedBuzzCommandImpl.cpp new file mode 100644 index 00000000..ce4f1326 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedBuzzCommandImpl.cpp @@ -0,0 +1,254 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGTimedBuzzCommandImpl.h" + +#include "SGBuildHacks/SGInclude_Core_TimedBuzzCommand.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGUtils/SGArrayUtils.h" + +struct FSGTimedBuzzCommandImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + + /************************ + * Owner object + ************************/ + + FSGTimedBuzzCommandImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGTimedBuzzCommandImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl() + : FSGBuzzCommandImpl(MakeShared()), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl(const ESGFinger Finger, const int32 Magnitude, + const float DurationSeconds, const float StartTimeSeconds) + : FSGBuzzCommandImpl(MakeShared(FSGCoreEnumCast::ToEFinger(Finger), Magnitude, + DurationSeconds, StartTimeSeconds)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl(const FSGBuzzCommandImpl& BaseCommand, + const float DurationSeconds, const float StartTimeSeconds) + : FSGBuzzCommandImpl(MakeShared( + BaseCommand.ToBuzzCommand(), DurationSeconds, StartTimeSeconds)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl(const FTimedBuzzCommandType& TimedBuzzCommand) + : FSGBuzzCommandImpl(MakeShared(TimedBuzzCommand)), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl(const TSharedRef TimedBuzzCommand) + : FSGBuzzCommandImpl(TimedBuzzCommand), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl(const FSGTimedBuzzCommandImpl& Rhs) + : FSGBuzzCommandImpl(Rhs), +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGTimedBuzzCommandImpl::FSGTimedBuzzCommandImpl(FSGTimedBuzzCommandImpl&& Rhs) noexcept = default; + +FSGTimedBuzzCommandImpl::~FSGTimedBuzzCommandImpl() = default; + +FSGTimedBuzzCommandImpl& FSGTimedBuzzCommandImpl::operator=(const FSGTimedBuzzCommandImpl& Rhs) +{ + FSGBuzzCommandImpl::operator=(Rhs); + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGTimedBuzzCommandImpl& FSGTimedBuzzCommandImpl::operator=(FSGTimedBuzzCommandImpl&& Rhs) noexcept = default; + +const FSGTimedBuzzCommandImpl::FTimedBuzzCommandType& FSGTimedBuzzCommandImpl::ToTimedBuzzCommand() const +{ + return *StaticCastSharedRef(ToBuzzCommandRef()); +} + +TSharedRef FSGTimedBuzzCommandImpl::ToTimedBuzzCommandRef() const +{ + return StaticCastSharedRef(ToBuzzCommandRef()); +} + +FSGTimedBuzzCommandImpl::FTimedBuzzCommandType& FSGTimedBuzzCommandImpl::ToTimedBuzzCommand() +{ + return *StaticCastSharedRef(ToBuzzCommandRef()); +} + +TSharedRef FSGTimedBuzzCommandImpl::ToTimedBuzzCommandRef() +{ + return StaticCastSharedRef(ToBuzzCommandRef()); +} + +FSGBuzzCommandImpl FSGTimedBuzzCommandImpl::Copy() const +{ + return FSGBuzzCommandImpl{ToTimedBuzzCommandRef()->Copy()}; +} + +FSGBuzzCommandImpl FSGTimedBuzzCommandImpl::Merge(const FSGBuzzCommandImpl& BuzzCommand) const +{ + return FSGBuzzCommandImpl{ToTimedBuzzCommandRef()->Merge(BuzzCommand.ToBuzzCommand())}; +} + +FSGBuzzCommandImpl FSGTimedBuzzCommandImpl::GetBaseCommand() const +{ + return FSGBuzzCommandImpl{MakeShared(ToTimedBuzzCommandRef()->GetBaseCommand())}; +} + +void FSGTimedBuzzCommandImpl::SetBaseCommand(const FSGBuzzCommandImpl& BaseCommand) +{ + ToTimedBuzzCommandRef()->SetBaseCommand(BaseCommand.ToBuzzCommand()); +} + +int32 FSGTimedBuzzCommandImpl::GetMagnitude() const +{ + return ToTimedBuzzCommandRef()->GetMagnitude(); +} + +void FSGTimedBuzzCommandImpl::SetMagnitude(const int32 Magnitude) +{ + ToTimedBuzzCommandRef()->SetMagnitude(Magnitude); +} + +float FSGTimedBuzzCommandImpl::GetDuration() const +{ + return ToTimedBuzzCommandRef()->GetDuration(); +} + +void FSGTimedBuzzCommandImpl::SetDuration(const float Duration) +{ + ToTimedBuzzCommandRef()->SetDuration(Duration); +} + +float FSGTimedBuzzCommandImpl::GetElapsedTime() const +{ + return ToTimedBuzzCommandRef()->GetElapsedTime(); +} + +void FSGTimedBuzzCommandImpl::SetElapsedTime(const float ElapsedTime) +{ + ToTimedBuzzCommandRef()->SetElapsedTime(ElapsedTime); +} + +bool FSGTimedBuzzCommandImpl::HasTimeElapsed() const +{ + return ToTimedBuzzCommandRef()->HasTimeElapsed(); +} + +float FSGTimedBuzzCommandImpl::NormalizedTime(const bool bClamp01) const +{ + return ToTimedBuzzCommandRef()->NormalizedTime(bClamp01); +} + +void FSGTimedBuzzCommandImpl::ResetTiming() +{ + ToTimedBuzzCommandRef()->ResetTiming(); +} + +void FSGTimedBuzzCommandImpl::UpdateTiming(const float DeltaSeconds) +{ + ToTimedBuzzCommandRef()->UpdateTiming(DeltaSeconds); +} + +FString FSGTimedBuzzCommandImpl::ToString() const +{ + return UTF8_TO_TCHAR(ToTimedBuzzCommandRef()->ToString().c_str()); +} + +FSGTimedBuzzCommandImpl::FImpl::FImpl(FSGTimedBuzzCommandImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGTimedBuzzCommandImpl::FImpl::~FImpl() = default; + +void FSGTimedBuzzCommandImpl::FImplDeleter::operator()(const FSGTimedBuzzCommandImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedThumpCommandImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedThumpCommandImpl.cpp new file mode 100644 index 00000000..ad745989 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTimedThumpCommandImpl.cpp @@ -0,0 +1,214 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGTimedThumpCommandImpl.h" + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_TimedThumpCommand.h" +#include "SGCoreImpl/SGThumperCommandImpl.h" + +struct FSGTimedThumpCommandImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FTimedThumpCommandType TimedThumpCommand; + + /************************ + * Owner object + ************************/ + + FSGTimedThumpCommandImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGTimedThumpCommandImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +FSGTimedThumpCommandImpl::FSGTimedThumpCommandImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGTimedThumpCommandImpl::FSGTimedThumpCommandImpl(const int32 Magnitude, + const float DurationSeconds, const float StartTimeSeconds) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->TimedThumpCommand = FTimedThumpCommandType(Magnitude, DurationSeconds, StartTimeSeconds); +} + +FSGTimedThumpCommandImpl::FSGTimedThumpCommandImpl(const FSGThumperCommandImpl& BaseCommand, + const float DurationSeconds, const float StartTimeSeconds) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->TimedThumpCommand = FTimedThumpCommandType(BaseCommand.ToThumperCommand(), DurationSeconds, + StartTimeSeconds); +} + +FSGTimedThumpCommandImpl::FSGTimedThumpCommandImpl(const FTimedThumpCommandType& SGTimedThumpCommand) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->TimedThumpCommand = SGTimedThumpCommand; +} + +FSGTimedThumpCommandImpl::FSGTimedThumpCommandImpl(const FSGTimedThumpCommandImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGTimedThumpCommandImpl::FSGTimedThumpCommandImpl(FSGTimedThumpCommandImpl&& Rhs) noexcept = default; + +FSGTimedThumpCommandImpl::~FSGTimedThumpCommandImpl() = default; + +FSGTimedThumpCommandImpl& FSGTimedThumpCommandImpl::operator=(const FSGTimedThumpCommandImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGTimedThumpCommandImpl& FSGTimedThumpCommandImpl::operator=(FSGTimedThumpCommandImpl&& Rhs) noexcept = default; + +const FSGTimedThumpCommandImpl::FTimedThumpCommandType& FSGTimedThumpCommandImpl::ToTimedThumpCommand() const +{ + return Pimpl->TimedThumpCommand; +} + +int32 FSGTimedThumpCommandImpl::GetMagnitude() const +{ + return Pimpl->TimedThumpCommand.GetMagnitude(); +} + +void FSGTimedThumpCommandImpl::SetMagnitude(const int32 Magnitude) +{ + Pimpl->TimedThumpCommand.SetMagnitude(Magnitude); +} + +float FSGTimedThumpCommandImpl::GetDuration() const +{ + return Pimpl->TimedThumpCommand.GetDuration(); +} + +void FSGTimedThumpCommandImpl::SetDuration(const float Duration) +{ + Pimpl->TimedThumpCommand.SetDuration(Duration); +} + +float FSGTimedThumpCommandImpl::GetElapsedTime() const +{ + return Pimpl->TimedThumpCommand.GetElapsedTime(); +} + +void FSGTimedThumpCommandImpl::SetElapsedTime(const float ElapsedTime) +{ + Pimpl->TimedThumpCommand.SetElapsedTime(ElapsedTime); +} + +bool FSGTimedThumpCommandImpl::HasTimeElapsed() const +{ + return Pimpl->TimedThumpCommand.HasTimeElapsed(); +} + +FSGTimedThumpCommandImpl FSGTimedThumpCommandImpl::Copy(const bool bCopyElapsed) const +{ + return FSGTimedThumpCommandImpl(Pimpl->TimedThumpCommand.Copy(bCopyElapsed)); +} + +void FSGTimedThumpCommandImpl::Update(const float DeltaSeconds) +{ + Pimpl->TimedThumpCommand.Update(DeltaSeconds); +} + +bool FSGTimedThumpCommandImpl::Equals(const FSGThumperCommandImpl& SGThumperCommandImpl) const +{ + return Pimpl->TimedThumpCommand.Equals(SGThumperCommandImpl.ToThumperCommand()); +} + +FString FSGTimedThumpCommandImpl::ToString() const +{ + return UTF8_TO_TCHAR(Pimpl->TimedThumpCommand.ToString().c_str()); +} + +FSGTimedThumpCommandImpl::FImpl::FImpl(FSGTimedThumpCommandImpl* InOwner) + : TimedThumpCommand(), + Owner(InOwner) +{ +} + +FSGTimedThumpCommandImpl::FImpl::~FImpl() = default; + +void FSGTimedThumpCommandImpl::FImplDeleter::operator()(const FSGTimedThumpCommandImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTrackingImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTrackingImpl.cpp new file mode 100644 index 00000000..b735f030 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGTrackingImpl.cpp @@ -0,0 +1,258 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGTrackingImpl.h" + +#include "Containers/StringConv.h" + +#include "SGBuildHacks/SGInclude_Core_Quat.h" +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" +#include "SGCoreImpl/SGCoreEnumCast.h" +#include "SGCoreImpl/SGQuatImpl.h" +#include "SGCoreImpl/SGVect3DImpl.h" +#include "SGUtils/SGArrayUtils.h" + +void FSGTrackingImpl::CalculateLocation(const FVector& TrackedPosition, const FQuat& TrackedRotation, + const FVector& PositionOffset, const FQuat& RotationOffset, + FVector& OutNewPosition, FQuat& OutNewRotation) +{ + FSGVect3DImpl::FVect3DType TrackedPositionVect3D(FSGVect3DImpl(TrackedPosition).ToVect3D()); + FSGQuatImpl::FQuatType TrackedRotationQuat(FSGQuatImpl(TrackedRotation).ToQuat()); + FSGVect3DImpl::FVect3DType PositionOffsetVect3D(FSGVect3DImpl(PositionOffset).ToVect3D()); + FSGQuatImpl::FQuatType RotationOffsetQuat(FSGQuatImpl(RotationOffset).ToQuat()); + FSGVect3DImpl::FVect3DType NewPosition; + FSGQuatImpl::FQuatType NewRotation; + + FTrackingType::CalculateLocation(MoveTemp(TrackedPositionVect3D), + MoveTemp(TrackedRotationQuat), + MoveTemp(PositionOffsetVect3D), + MoveTemp(RotationOffsetQuat), + NewPosition, + NewRotation); + + OutNewPosition = FSGVect3DImpl(NewPosition).ToFVector(); + OutNewRotation = FSGQuatImpl(NewRotation).ToFQuat(); +} + +const TArray& FSGTrackingImpl::GetSenseGloveFingerToGlovePositionOrigin() +{ + static const TArray GlovePositionOrigin{FSGArrayUtils::FromStdVector< + FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( + FTrackingType::GetSenseGloveFingerToGlovePositionOrigin() + )}; + return GlovePositionOrigin; +} + +const TArray& FSGTrackingImpl::GetSenseGloveFingerToGloveRotationOrigin() +{ + static const TArray GloveRotationOrigin{FSGArrayUtils::FromStdVector< + FSGQuatImpl::FQuatType, FQuat, FSGQuatImpl, &FSGQuatImpl::ToFQuat>( + FTrackingType::GetSenseGloveFingerToGloveRotationOrigin() + )}; + return GloveRotationOrigin; +} + +const FVector& FSGTrackingImpl::GetSenseGloveWristPositionOffset() +{ + static const FVector Offset(FSGVect3DImpl(FTrackingType::GetSenseGloveWristPositionOffset()).ToFVector()); + return Offset; +} + +const FQuat& FSGTrackingImpl::GetSenseGloveWristRotationOffset() +{ + static FQuat Offset(FSGQuatImpl(FTrackingType::GetSenseGloveWristRotationOffset()).ToFQuat()); + return Offset; +} + +void FSGTrackingImpl::GetSenseGloveMountOffset(const bool bRightHanded, const ESGFinger ToFinger, + FVector& OutIPosition, FQuat& OutIRotation) +{ + FSGVect3DImpl::FVect3DType IPosition; + FSGQuatImpl::FQuatType IRotation; + + FTrackingType::GetSenseGloveMountOffset(bRightHanded, FSGCoreEnumCast::ToEFinger(ToFinger), + IPosition, IRotation); + + OutIPosition = FSGVect3DImpl(IPosition).ToFVector(); + OutIRotation = FSGQuatImpl(IRotation).ToFQuat(); +} + +void FSGTrackingImpl::GetSenseGloveTrackerMountOffset(const ESGPositionalTrackingHardware Hardware, + const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + FSGVect3DImpl::FVect3DType PositionOffset; + FSGQuatImpl::FQuatType RotationOffset; + + FTrackingType::GetSenseGloveTrackerMountOffset(FSGCoreEnumCast::ToEPositionalTrackingHardware(Hardware), + bRightHanded, PositionOffset, RotationOffset); + + OutPositionOffset = FSGVect3DImpl(PositionOffset).ToFVector(); + OutRotationOffset = FSGQuatImpl(RotationOffset).ToFQuat(); +} + +const FVector& FSGTrackingImpl::GetSenseGloveViveToAttachPosition() +{ + static const FVector Position(FSGVect3DImpl(FTrackingType::GetSenseGloveViveToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetSenseGloveViveToAttachRotation() +{ + static const FQuat Rotation(FSGQuatImpl(FTrackingType::GetSenseGloveViveToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FVector& FSGTrackingImpl::GetSenseGloveOculusTouchToAttachPosition() +{ + static const FVector Position(FSGVect3DImpl(FTrackingType::GetSenseGloveOculusTouchToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetSenseGloveOculusTouchToAttachRotation() +{ + static const FQuat Rotation(FSGQuatImpl(FTrackingType::GetSenseGloveOculusTouchToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FVector& FSGTrackingImpl::GetNovaToWristPositionOffset() +{ + static const FVector Offset(FSGVect3DImpl(FTrackingType::GetNovaToWristPositionOffset()).ToFVector()); + return Offset; +} + +const FQuat& FSGTrackingImpl::GetNovaToWristRotationOffset() +{ + static FQuat Offset(FSGQuatImpl(FTrackingType::GetNovaToWristRotationOffset()).ToFQuat()); + return Offset; +} + +void FSGTrackingImpl::GetNovaGloveWristOffset(const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + FSGVect3DImpl::FVect3DType PositionOffset; + FSGQuatImpl::FQuatType RotationOffset; + + FTrackingType::GetNovaGloveWristOffset(bRightHanded, PositionOffset, RotationOffset); + + OutPositionOffset = FSGVect3DImpl(PositionOffset).ToFVector(); + OutRotationOffset = FSGQuatImpl(RotationOffset).ToFQuat(); +} + +const FVector& FSGTrackingImpl::GetRightNovaViveToAttachPosition() +{ + static const FVector Position(FSGVect3DImpl(FTrackingType::GetRightNovaViveToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetRightNovaViveToAttachRotation() +{ + static const FQuat Rotation(FSGQuatImpl(FTrackingType::GetRightNovaViveToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FVector& FSGTrackingImpl::GetLeftNovaViveToAttachPosition() +{ + static const FVector Position(FSGVect3DImpl(FTrackingType::GetLeftNovaViveToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetLeftNovaViveToAttachRotation() +{ + static const FQuat Rotation(FSGQuatImpl(FTrackingType::GetLeftNovaViveToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FVector& FSGTrackingImpl::GetRightNovaQuest2ToAttachPosition() +{ + static const FVector Position(FSGVect3DImpl(FTrackingType::GetRightNovaQuest2ToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetRightNovaQuest2ToAttachRotation() +{ + static const FQuat Rotation(FSGQuatImpl(FTrackingType::GetRightNovaQuest2ToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FVector& FSGTrackingImpl::GetLeftNovaQuest2ToAttachPosition() +{ + static const FVector Position(FSGVect3DImpl(FTrackingType::GetLeftNovaQuest2ToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetLeftNovaQuest2ToAttachRotation() +{ + static const FQuat Rotation(FSGQuatImpl(FTrackingType::GetLeftNovaQuest2ToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FVector& FSGTrackingImpl::GetRightNovaPico2ToAttachPosition() +{ + static FVector Position(FSGVect3DImpl(FTrackingType::GetRightNovaPico2ToAttachPosition()).ToFVector()); + return Position; +} + +const FQuat& FSGTrackingImpl::GetRightNovaPico2ToAttachRotation() +{ + static FQuat Rotation(FSGQuatImpl(FTrackingType::GetRightNovaPico2ToAttachRotation()).ToFQuat()); + return Rotation; +} + +const FQuat& FSGTrackingImpl::GetLeftNovaPico2ToAttachRotation() +{ + static FQuat Rotation(FSGQuatImpl(FTrackingType::GetLeftNovaPico2ToAttachRotation()).ToFQuat()); + return Rotation; +} + +void FSGTrackingImpl::GetNovaGloveTrackerOffset(const ESGPositionalTrackingHardware Hardware, const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + FSGVect3DImpl::FVect3DType PositionOffset; + FSGQuatImpl::FQuatType RotationOffset; + + FTrackingType::GetNovaGloveTrackerOffset(FSGCoreEnumCast::ToEPositionalTrackingHardware(Hardware), bRightHanded, + PositionOffset, RotationOffset); + + OutPositionOffset = FSGVect3DImpl(PositionOffset).ToFVector(); + OutRotationOffset = FSGQuatImpl(RotationOffset).ToFQuat(); +} + +FString FSGTrackingImpl::ToString(const ESGPositionalTrackingHardware Hardware) +{ + FString String(UTF8_TO_TCHAR( + FTrackingType::ToString(FSGCoreEnumCast::ToEPositionalTrackingHardware(Hardware)).c_str())); + return String; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.cpp b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.cpp new file mode 100644 index 00000000..aa12e23e --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.cpp @@ -0,0 +1,285 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGVect3DImpl.h" + +#include "Containers/StringConv.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "SGBuildHacks/SGInclude_Core_Vect3D.h" + +struct FSGVect3DImpl::FImpl +{ + /************************ + * Member variables + ************************/ + + FVect3DType Vect3D; + + /************************ + * Owner object + ************************/ + + FSGVect3DImpl* Owner; + + /************************ + * Constructor / Destructor + ************************/ + + explicit FImpl(FSGVect3DImpl* InOwner); + ~FImpl(); + + /************************ + * Default copy constructor & copy assignment operator + ************************/ + + FImpl(const FImpl& Rhs) = default; + FImpl& operator=(const FImpl& Rhs) = default; +}; + +const FSGVect3DImpl& FSGVect3DImpl::Zero() +{ + static const FSGVect3DImpl Z(FVect3DType::Zero()); + return Z; +} + +bool FSGVect3DImpl::Deserialize(const FString& String, FSGVect3DImpl& OutResult, const ANSICHAR Delimiter) +{ + FVect3DType Vect3D; + const bool bReturn = FVect3DType::Deserialize(TCHAR_TO_UTF8(*String), Vect3D, Delimiter); + OutResult = FSGVect3DImpl(Vect3D); + return bReturn; +} + +FSGVect3DImpl::FSGVect3DImpl() + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ +} + +FSGVect3DImpl::FSGVect3DImpl(const float X, const float Y, const float Z) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Vect3D = FVect3DType(X, Y, Z); +} + +FSGVect3DImpl::FSGVect3DImpl(const FVect3DType& Vect3D) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Vect3D = Vect3D; +} + +FSGVect3DImpl::FSGVect3DImpl(const FVector& Vector) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{this}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{this})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + /// NOTE + /// Unreal Engine uses a left-handed, z-up world coordinate system, which yealds clockwise rotations: + /// Forward X + /// Right Y + /// Up Z + /// SenseGlove uses a right-handed, z-up corrdinate systenm, which yealds counter-clockwise rotations: + /// Forward Y + /// Right X + /// Up Z + FVect3DType Vect3D(Vector.Y, Vector.X, Vector.Z); + + /// NOTE + /// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length; + /// while SenseGlove uses millimeters. + Vect3D.Scale(10.0f); + + Pimpl->Vect3D = MoveTemp(Vect3D); +} + +FSGVect3DImpl::FSGVect3DImpl(const FSGVect3DImpl& Rhs) + : +#if ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl}, PimplDeleter)) +#else + Pimpl(TUniquePtr(new FImpl{*Rhs.Pimpl})) +#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */ +{ + Pimpl->Owner = this; +} + +FSGVect3DImpl::FSGVect3DImpl(FSGVect3DImpl&& Rhs) noexcept = default; + +FSGVect3DImpl::~FSGVect3DImpl() = default; + +FSGVect3DImpl& FSGVect3DImpl::operator=(const FSGVect3DImpl& Rhs) +{ + *Pimpl = *Rhs.Pimpl; + Pimpl->Owner = this; + return *this; +} + +FSGVect3DImpl& FSGVect3DImpl::operator=(FSGVect3DImpl&& Rhs) noexcept = default; + +const FSGVect3DImpl::FVect3DType& FSGVect3DImpl::ToVect3D() const +{ + return Pimpl->Vect3D; +} + +FVector FSGVect3DImpl::ToFVector() const +{ + /// NOTE + /// Unreal Engine uses a left-handed, z-up world coordinate system, which yealds clockwise rotations: + /// Forward X + /// Right Y + /// Up Z + /// SenseGlove uses a right-handed, z-up corrdinate systenm, which yealds counter-clockwise rotations: + /// Forward Y + /// Right X + /// Up Z + FVector Vector(Pimpl->Vect3D.GetY(), Pimpl->Vect3D.GetX(), Pimpl->Vect3D.GetZ()); + + /// NOTE + /// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length; + /// while SenseGlove uses millimeters. + Vector *= 0.1f; + + return MoveTemp(Vector); +} + +FSGVect3DImpl FSGVect3DImpl::operator+(const FSGVect3DImpl& Vect3DImpl) const +{ + return FSGVect3DImpl(Pimpl->Vect3D.operator+(Vect3DImpl.ToVect3D())); +} + +FSGVect3DImpl FSGVect3DImpl::operator-(const FSGVect3DImpl& Vect3DImpl) const +{ + return FSGVect3DImpl(Pimpl->Vect3D.operator-(Vect3DImpl.ToVect3D())); +} + +FSGVect3DImpl FSGVect3DImpl::operator*(const float& ScaleFactor) const +{ + return FSGVect3DImpl(Pimpl->Vect3D.operator*(ScaleFactor)); +} + +float FSGVect3DImpl::GetX() const +{ + return Pimpl->Vect3D.GetX(); +} + +void FSGVect3DImpl::SetX(const float X) +{ + Pimpl->Vect3D.SetX(X); +} + +float FSGVect3DImpl::GetY() const +{ + return Pimpl->Vect3D.GetY(); +} + +void FSGVect3DImpl::SetY(const float Y) +{ + Pimpl->Vect3D.SetY(Y); +} + +float FSGVect3DImpl::GetZ() const +{ + return Pimpl->Vect3D.GetZ(); +} + +void FSGVect3DImpl::SetZ(const float Z) +{ + Pimpl->Vect3D.SetZ(Z); +} + +float FSGVect3DImpl::Magnitude() const +{ + return Pimpl->Vect3D.Magnitude(); +} + +void FSGVect3DImpl::Normalize() +{ + Pimpl->Vect3D.Normalize(); +} + +void FSGVect3DImpl::Scale(const float Factor) +{ + Pimpl->Vect3D.Scale(Factor); +} + +float FSGVect3DImpl::DistTo(const FSGVect3DImpl& Vect3DImpl) const +{ + return Pimpl->Vect3D.DistTo(Vect3DImpl.ToVect3D()); +} + +bool FSGVect3DImpl::Equals(const FSGVect3DImpl& Vect3DImpl) const +{ + return Pimpl->Vect3D.Equals(Vect3DImpl.ToVect3D()); +} + +FString FSGVect3DImpl::ToString() const +{ + return UTF8_TO_TCHAR(Pimpl->Vect3D.ToString().c_str()); +} + +FString FSGVect3DImpl::Serialize(const ANSICHAR Delimiter) const +{ + return UTF8_TO_TCHAR(Pimpl->Vect3D.Serialize(Delimiter).c_str()); +} + +FSGVect3DImpl::FImpl::FImpl(FSGVect3DImpl* InOwner) + : Owner(InOwner) +{ +} + +FSGVect3DImpl::FImpl::~FImpl() = default; + +void FSGVect3DImpl::FImplDeleter::operator()(const FSGVect3DImpl::FImpl* P) const +{ + delete P; +} \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.h b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.h new file mode 100644 index 00000000..2e3ebd6c --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SGCoreImpl/SGVect3DImpl.h @@ -0,0 +1,221 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Kinematics + { + class Vect3D; + } +} + +class SENSEGLOVECOREIMPL_API FSGVect3DImpl +{ +public: + typedef SGCore::Kinematics::Vect3D FVect3DType; + +public: + /** + * Represents a vector with coordinates (0, 0, 0). + */ + static const FSGVect3DImpl& Zero(); + + /** + * Serialize a FSGVect3DImpl into a string representation. + */ + static bool Deserialize(const FString& String, FSGVect3DImpl& OutResult, ANSICHAR Delimiter); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + /** + * Creates an empty vector (0, 0, 0) for internal use. + */ + FSGVect3DImpl(); + + /** + * Create a new instance of a 3D vector. + */ + FSGVect3DImpl(float X, float Y, float Z); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGVect3DImpl(const FVect3DType& Vect3D); + + /** + * The cast from FVector type constructor. + */ + explicit FSGVect3DImpl(const FVector& Vector); + +public: + /** + * The copy constructor. + */ + FSGVect3DImpl(const FSGVect3DImpl& Rhs); + + /** + * The move constructor. + */ + FSGVect3DImpl(FSGVect3DImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGVect3DImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGVect3DImpl& operator=(const FSGVect3DImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGVect3DImpl& operator=(FSGVect3DImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FVect3DType& ToVect3D() const; + + /** + * The cast to FVector type method. + */ + FVector ToFVector() const; + +public: + /** + * Overload + operator to add two SGVect3Impl objects. + */ + FSGVect3DImpl operator+(const FSGVect3DImpl& Vect3DImpl) const; + + /** + * Overload - operator to subtract two SGVect3Impl objects. + */ + FSGVect3DImpl operator-(const FSGVect3DImpl& Vect3DImpl) const; + + /** + * Overload - operator to scale a vector3 by a float. + */ + FSGVect3DImpl operator*(const float& ScaleFactor) const; + +public: + /** + * Get the x-component of the 3D vector. + */ + float GetX() const; + + /** + * Set the x-component of the 3D vector. + */ + void SetX(float X); + + /** + * Get the y-component of the 3D vector. + */ + float GetY() const; + + /** + * Set the y-component of the 3D vector. + */ + void SetY(float Y); + + /** + * Get the z-component of the 3D vector. + */ + float GetZ() const; + + /** + * Set the z-component of the 3D vector. + */ + void SetZ(float Z); + +public: + /** + * Calculate the magnitude or 'length' of this Vector. + */ + float Magnitude() const; + + /** + * Returns this vector normalized to have a Magnitude on 1. + */ + void Normalize(); + + /** + * Scale all elements of this vector by a certain factor. + */ + void Scale(float Factor); + + /** + * Calculate the distance between this Vector and another one. + */ + float DistTo(const FSGVect3DImpl& Vect3DImpl) const; + + /** + * Check if this Vector is roughly equal to another. + */ + bool Equals(const FSGVect3DImpl& Vect3DImpl) const; + + /** + * Create a string representation of this Vector. + */ + FString ToString() const; + +public: + /** + * Convert a serialized FSGVect3DImpl back into its class representation. + */ + FString Serialize(ANSICHAR Delimiter) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.cpp b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.cpp new file mode 100644 index 00000000..c1cf4b61 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreImpl.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveCoreImplModule.h" + +IMPLEMENT_MODULE(FSenseGloveCoreImplModule, SenseGloveCoreImpl) \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.h b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.h new file mode 100644 index 00000000..d445de63 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImpl.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.cpp b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.cpp new file mode 100644 index 00000000..290da463 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.cpp @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreImplModule.h" +#include "Containers/UnrealString.h" +#include "SGCoreImpl/SGLibraryImpl.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveCoreImplModule" + +void FSenseGloveCoreImplModule::StartupModule() +{ + SGLOG("Starting up SenseGloveCoreImpl module..."); + SGLOG(FString::Printf(TEXT("The low-level implementation of '%s' has been loaded successfully!"), *FSGLibraryImpl:: + Version())); +} + +void FSenseGloveCoreImplModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveCoreImpl module..."); +} + +void FSenseGloveCoreImplModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveCoreImpl module has succeeded!"); +} + +void FSenseGloveCoreImplModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveCoreImpl module..."); +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.h b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.h new file mode 100644 index 00000000..39ccfc83 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Private/SenseGloveCoreImplModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreImpl" + +class FSenseGloveCoreImplModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGAnatomyImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGAnatomyImpl.h new file mode 100644 index 00000000..7fc727d1 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGAnatomyImpl.h @@ -0,0 +1,83 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +namespace SGCore +{ + namespace Kinematics + { + class Anatomy; + } +} + +class SENSEGLOVECOREIMPL_API FSGAnatomyImpl final +{ +public: + typedef SGCore::Kinematics::Anatomy FAnatomyType; + +public: + static float GetTotalFingerFlexion(); + + static float GetTotalFingerExtension(); + + static float GetTotalThumbFlexion(); + + static float GetTotalThumbExtension(); + +public: + static float GetFingerJointLimit(bool bRightHanded, int32 Joint, int32 Movement, bool bMax); + + static float GetThumbJointLimit(bool bRightHanded, int32 Joint, int32 Movement, bool bMax); + + static float NormalizeFingerFlex(float FlexionInRadians); + + static float NormalizeThumbFlex(float FlexionInRadians); + +public: + static TArray> GetDefaultHandAngles(bool bRightHanded); + + static TArray> GetFlatHandAngles(bool bRightHanded); + + static TArray> GetThumbsUpHandAngles(bool bRightHanded); + + static TArray> GetFistHandAngles(bool bRightHanded); + +public: + FSGAnatomyImpl() = delete; + virtual ~FSGAnatomyImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBasicHandModelImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBasicHandModelImpl.h new file mode 100644 index 00000000..11f02f4a --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBasicHandModelImpl.h @@ -0,0 +1,181 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Kinematics + { + class BasicHandModel; + } +} + +class SENSEGLOVECOREIMPL_API FSGBasicHandModelImpl final +{ +public: + typedef SGCore::Kinematics::BasicHandModel FBasicHandModelType; + +public: + static FSGBasicHandModelImpl Default(bool bRightHanded); + + static FSGBasicHandModelImpl Deserialize(const FString& SerializedString); + +public: + static const TArray>& GetBaseFingerLengths(); + + static const TArray& GetBaseJointPositions(); + + static const TArray& GetBaseJointRotations(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGBasicHandModelImpl(); + + FSGBasicHandModelImpl(bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions); + + FSGBasicHandModelImpl(bool bRightHanded, const TArray>& Lengths, + const TArray& StartPositions, const TArray& StartRotations); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGBasicHandModelImpl(const FBasicHandModelType& BasicHandModel); + +public: + /** + * The copy constructor. + */ + FSGBasicHandModelImpl(const FSGBasicHandModelImpl& Rhs); + + /** + * The move constructor. + */ + FSGBasicHandModelImpl(FSGBasicHandModelImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGBasicHandModelImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGBasicHandModelImpl& operator=(const FSGBasicHandModelImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGBasicHandModelImpl& operator=(FSGBasicHandModelImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FBasicHandModelType& ToBasicHandModel() const; + +public: + bool IsRight() const; + void SetIsRight(bool bRightHanded); + +public: + TArray> GetFingerLengths() const; + void SetFingerLengths(const TArray>& FingerLengths); + + TArray GetFingerLengths(ESGFinger Finger) const; + + void SetFingerLengths(ESGFinger Finger, const TArray& Lengths); + void SetFingerLengths(uint8 Finger, const TArray& Lengths); + + TArray> GetFingerRatios() const; + +public: + TArray GetFingerRatios(ESGFinger Finger) const; + + TArray GetStartJointPositions() const; + void SetStartJointPositions(const TArray& StartJointPositions); + + void SetStartJointPosition(ESGFinger Finger, const FVector& Position); + void SetStartJointPosition(uint8 Finger, const FVector& Position); + + TArray GetStartJointRotations() const; + void SetStartJointRotations(const TArray& StartJointRotations); + + FVector GetJointPosition(ESGFinger Finger) const; + + void SetJointPosition(const FVector& NewPosition, ESGFinger Finger); + + FQuat GetJointRotation(ESGFinger Finger) const; + + void SetJointRotation(const FQuat& NewRotation, ESGFinger Finger); + + TArray GetTotalLengths() const; + + float GetTotalLength(ESGFinger Finger) const; + +public: + TArray Get3DLengths(ESGFinger Finger) const; + +public: + bool Equals(const FSGBasicHandModelImpl& BasicHandModelImpl) const; + +public: + FString ToString() const; + + FString ToString(bool bLengthsOnly) const; + + FString Serialize() const; +}; diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBetaDeviceImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBetaDeviceImpl.h new file mode 100644 index 00000000..e25445f9 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBetaDeviceImpl.h @@ -0,0 +1,166 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 +#include + +#include "Containers/UnrealString.h" +#include "Runtime/Launch/Resources/Version.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + class BetaDevice; +} + +class SENSEGLOVECOREIMPL_API FSGBetaDeviceImpl final : public FSGDeviceImpl +{ +#if ENGINE_MAJOR_VERSION >= 5 + friend class SharedPointerInternals::TIntrusiveReferenceController; +#else + friend class SharedPointerInternals::TIntrusiveReferenceController; +#endif /* ENGINE_MAJOR_VERSION >= 5 */ + +public: + typedef SGCore::BetaDevice FBetaDeviceType; + + typedef std::shared_ptr FBetaDevicePtrType; + typedef std::vector FBetaDevicePtrVectorType; + +public: + static TSharedRef Parse(const FString& String); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGBetaDeviceImpl(); + + FSGBetaDeviceImpl(const FString& ConstantsString, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGBetaDeviceImpl(const FBetaDeviceType BetaDevice); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGBetaDeviceImpl(const FBetaDevicePtrType BetaDevice); + +public: + /** + * The copy constructor. + */ + FSGBetaDeviceImpl(const FSGBetaDeviceImpl& Rhs); + + /** + * The move constructor. + */ + FSGBetaDeviceImpl(FSGBetaDeviceImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGBetaDeviceImpl() override; + +public: + /** + * The copy assignment operator. + */ + FSGBetaDeviceImpl& operator=(const FSGBetaDeviceImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGBetaDeviceImpl& operator=(FSGBetaDeviceImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + FBetaDeviceType ToBetaDevice() const; + + /** + * The cast to underlying pointer type method. + */ + FBetaDevicePtrType ToBetaDevicePtr() const; + + /** + * The checked cast to underlying pointer type method. + */ + FBetaDevicePtrType ToBetaDevicePtrChecked() const; + +public: + virtual ESGDeviceType GetDeviceType() const override; + + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + + virtual int32 GetFirmwareVersion() const override; + + virtual int32 GetSubFirmwareVersion() const override; + +public: + FString GetConstantsString() const; + + FString GetSensorData() const; + + FString GetLastCommand() const; + +public: + bool SendHaptics(const FString& Command) const; + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBuzzCommandImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBuzzCommandImpl.h new file mode 100644 index 00000000..aeefdcc5 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGBuzzCommandImpl.h @@ -0,0 +1,147 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGFingerCommandImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Haptics + { + class BuzzCommand; + } +} + +class SENSEGLOVECOREIMPL_API FSGBuzzCommandImpl : public FSGFingerCommandImpl +{ +public: + typedef SGCore::Haptics::BuzzCommand FBuzzCommandType; + +public: + static const FSGBuzzCommandImpl& Off(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGBuzzCommandImpl(); + +public: + explicit FSGBuzzCommandImpl(const TArray& BuzzLevels); + + FSGBuzzCommandImpl(int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + + FSGBuzzCommandImpl(ESGFinger Finger, int32 BuzzLevel); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGBuzzCommandImpl(const FBuzzCommandType& BuzzCommand); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGBuzzCommandImpl(TSharedRef BuzzCommand); + +public: + /** + * The copy constructor. + */ + FSGBuzzCommandImpl(const FSGBuzzCommandImpl& Rhs); + + /** + * The move constructor + */ + FSGBuzzCommandImpl(FSGBuzzCommandImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGBuzzCommandImpl() override; + +public: + /** + * The copy assignment operator. + */ + FSGBuzzCommandImpl& operator=(const FSGBuzzCommandImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGBuzzCommandImpl& operator=(FSGBuzzCommandImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FBuzzCommandType& ToBuzzCommand() const; + + /** + * The cast to underlying pointer type method. + */ + TSharedRef ToBuzzCommandRef() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FBuzzCommandType& ToBuzzCommand(); + + /** + * The non-const cast to underlying pointer type method. + */ + TSharedRef ToBuzzCommandRef(); + +public: + virtual FSGBuzzCommandImpl Copy() const; + + virtual FSGBuzzCommandImpl Merge(const FSGBuzzCommandImpl& Command) const; +}; diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGCalibrationDataPointImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGCalibrationDataPointImpl.h new file mode 100644 index 00000000..77c90467 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGCalibrationDataPointImpl.h @@ -0,0 +1,121 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Calibration + { + class CalibrationDataPoint; + } +} + +class SENSEGLOVECOREIMPL_API FSGCalibrationDataPointImpl final +{ +public: + typedef SGCore::Calibration::CalibrationDataPoint FCalibrationDataPointType; + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGCalibrationDataPointImpl(); + + FSGCalibrationDataPointImpl(int32 CurrentStage, const TArray& CalibrationValues); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGCalibrationDataPointImpl(const FCalibrationDataPointType& CalibrationDataPoint); + +public: + /** + * The copy constructor. + */ + FSGCalibrationDataPointImpl(const FSGCalibrationDataPointImpl& Rhs); + + /** + * The move constructor. + */ + FSGCalibrationDataPointImpl(FSGCalibrationDataPointImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGCalibrationDataPointImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGCalibrationDataPointImpl& operator=(const FSGCalibrationDataPointImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGCalibrationDataPointImpl& operator=(FSGCalibrationDataPointImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FCalibrationDataPointType& ToCalibrationDataPoint() const; + +public: + TArray GetCalibrationValues() const; + + void SetCalibrationValues(const TArray& CalibrationValues); + + int32 GetStage() const; + + void SetStage(int32 Stage); + +public: + FString ToLogData(const FString& Delimiter = "\t") const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceImpl.h new file mode 100644 index 00000000..70a242f2 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceImpl.h @@ -0,0 +1,182 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 +#include + +#include "Containers/UnrealString.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + class SGDevice; +} + +class FSGBetaDeviceImpl; +class FSGHapticGloveImpl; +class FSGNovaGloveImpl; +class FSGSenseGloveImpl; + +class SENSEGLOVECOREIMPL_API FSGDeviceImpl : public TSharedFromThis +{ +public: + typedef SGCore::SGDevice FSGDeviceType; + + typedef std::shared_ptr FSGDevicePtrType; + typedef std::vector FSGDevicePtrVectorType; + +public: + static void ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion); + + static FString ToString(ESGDeviceType DeviceType); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGDeviceImpl(); + +public: + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGDeviceImpl(const FSGDevicePtrType SGDevice); + +public: + /** + * The copy constructor. + */ + FSGDeviceImpl(const FSGDeviceImpl& Rhs); + + /** + * The move constructor. + */ + FSGDeviceImpl(FSGDeviceImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGDeviceImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGDeviceImpl& operator=(const FSGDeviceImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGDeviceImpl& operator=(FSGDeviceImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying pointer type method. + */ + FSGDevicePtrType ToSGDevicePtr() const; + + /** + * The checked cast to underlying pointer type method. + */ + FSGDevicePtrType ToSGDevicePtrChecked() const; + +public: + /** + * The cast to base TSharedRef type method. + */ + TSharedRef ToSGDeviceImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToBetaDeviceImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToHapticGloveImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToNovaGloveImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToSenseGloveImplRef(); + +public: + virtual ESGDeviceType GetDeviceType() const; + + virtual FString GetDeviceId() const; + + virtual FString GetHardwareVersion() const; + virtual int32 GetFirmwareVersion() const; + virtual int32 GetSubFirmwareVersion() const; + virtual FString GetFirmwareString() const; + + FString GetAddress() const; + + bool IsConnected() const; + ESGConnectionType GetConnectionType() const; + + int32 PacketsPerSecondReceived() const; + int32 PacketsPerSecondSent() const; + + int32 GetDeviceIndex() const; + void SetDeviceIndex(int32 Index); + + virtual bool IsWireless() const; + + virtual bool HasBattery() const; + virtual bool IsCharging(); + virtual bool GetBatteryLevel(float& OutLevel); + + virtual FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceListImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceListImpl.h new file mode 100644 index 00000000..a820f9e0 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceListImpl.h @@ -0,0 +1,105 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGBetaDeviceImpl.h" +#include "Containers/UnrealString.h" + +#include "SGCoreImpl/SGAnatomyImpl.h" +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + class DeviceList; +} + +class SENSEGLOVECOREIMPL_API FSGDeviceListImpl final +{ +public: + typedef SGCore::DeviceList FDeviceListType; + +public: + static int32 ActiveDevices(); + + static bool SenseCommRunning(); + + static void Dispose(); + + static void Reinitialize(); + + static TArray> GetDevices(); + + template + static TArray> GetDevices() + { + const std::type_info& TType = typeid(T); + const TArray> CurrentDevices = GetDevices(); + TArray> Devices; + + for (TSharedRef Device : CurrentDevices) + { + auto &d = Device.Get(); + const std::type_info& DType = typeid(d); + if (DType.hash_code() == TType.hash_code()) + { + Devices.Push(Device); + } + } + + return Devices; + } + + static bool GetSensorDataString(int32 IpcIndex, const FString& IpcAddress, FString& OutString); + + static bool SendHaptics(int32 IpcIndex, const FString& IpcAddress, const FString& Commands); + + static FString GetDeviceStringAt(int32 IpcIndex, const FString& IpcAddress, int32 Index); + + static FString GetAddress(int32 IpcIndex, const FString& IpcAddress); + + static ESGConnectionType GetConnectionType(int32 IpcIndex, const FString& IpcAddress); + + static bool IsConnected(int32 IpcIndex, const FString& IpcAddress); + + static int32 PacketsPerSecondReceived(int32 IpcIndex, const FString& IpcAddress); + + static int32 PacketsPerSecondSent(int32 IpcIndex, const FString& IpcAddress); + +public: + FSGDeviceListImpl() = delete; + virtual ~FSGDeviceListImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceModelImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceModelImpl.h new file mode 100644 index 00000000..0065078f --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGDeviceModelImpl.h @@ -0,0 +1,125 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + class DeviceModel; +} + +class SENSEGLOVECOREIMPL_API FSGDeviceModelImpl final +{ +public: + typedef SGCore::DeviceModel FDeviceModelType; + +public: + static TArray ParseFunctions(int32 Value, int32 Size); + + static void ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGDeviceModelImpl(); + + FSGDeviceModelImpl(const FString& Id, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGDeviceModelImpl(const FDeviceModelType& DeviceModel); + +public: + /** + * The copy constructor. + */ + FSGDeviceModelImpl(const FSGDeviceModelImpl& Rhs); + + /** + * The move constructor. + */ + FSGDeviceModelImpl(FSGDeviceModelImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGDeviceModelImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGDeviceModelImpl& operator=(const FSGDeviceModelImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGDeviceModelImpl& operator=(FSGDeviceModelImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FDeviceModelType& ToDeviceModel() const; + +public: + FString GetDeviceId() const; + void SetDeviceId(const FString& Id) const; + + FString GetHardwareVersion() const; + void SetHardwareVersion(const FString& Version) const; + + int32 GetFirmwareVersion() const; + void SetFirmwareVersion(int32 Version) const; + + int32 GetSubFirmwareVersion() const; + void SetSubFirmwareVersion(int32 Version) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGExportedFunctions.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGExportedFunctions.h new file mode 100644 index 00000000..4ab8131e --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGExportedFunctions.h @@ -0,0 +1,3490 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + +/* Defines a C++ like static_assert. */ +#if __cplusplus +#include +#else +#include +#endif /* __cplusplus */ + +/* Contains __bool_true_false_are_defined macro that can be used in order to + check whether boolean type is supported by the compiler or not. */ +#include + +#include + +/* Check at compile time whether the C compiler has support for bool, true, + and false macros. */ +static_assert(__bool_true_false_are_defined, "Error: bool, true, and false are not defined!"); + +#if defined ( SENSEGLOVE_BUILDING_CORE_IMPL_MODULE ) +#define SENSEGLOVECOREIMPL_PUBLIC_API DLLEXPORT +#else +#define SENSEGLOVECOREIMPL_PUBLIC_API DLLIMPORT +#endif /* defined ( SENSEGLOVE_BUILDING_CORE_IMPL_MODULE ) */ + +/* If C++ is used, switch to C mode in order to prevent C++'s name mangling of + method names. */ +#if __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/******************************************************************************* + * SGAnatomyImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_GetTotalFingerFlexion(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_GetTotalFingerExtension(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_GetTotalThumbFlexion(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_GetTotalThumbExtension(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_GetFingerJointLimit( + bool bRightHanded, + int32 Joint, + int32 Movement, + bool bMax); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_GetThumbJointLimit( + bool bRightHanded, + int32 Joint, + int32 Movement, + bool bMax); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_NormalizeFingerFlex( + float FlexionInRadians); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGAnatomyImpl_NormalizeThumbFlex( + float FlexionInRadians); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGAnatomyImpl_GetDefaultHandAngles( + void* OutAngles, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGAnatomyImpl_GetFlatHandAngles( + void* OutAngles, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGAnatomyImpl_GetThumbsUpHandAngles( + void* OutAngles, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGAnatomyImpl_GetFistHandAngles( + void* OutAngles, + bool bRightHanded); + +/******************************************************************************* + * SGBasicHandModelImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_Default( + void* OutBasicHandModelImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_Deserialize( + void* OutBasicHandModelImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetBaseFingerLengths( + void* OutLengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetBaseJointPositions( + void* OutPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetBaseJointRotations( + void* OutRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_ctor( + void* OutBasicHandModelImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPosition( + void* OutBasicHandModelImpl, + bool bRightHanded, + void* Lengths, + void* StartPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGBasicHandModelImpl_ctor_bRightHanded_Lengths_StartPositions_StartRotations( + void* OutBasicHandModelImpl, + bool bRightHanded, + void* Lengths, + void* StartPositions, + void* StartRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_ctor_copy( + void* OutBasicHandModelImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_ctor_copy_assignment( + void* OutBasicHandModelImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGBasicHandModelImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetFingerLengths( + void* Instance, + void* OutLengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths( + void* Instance, + void* FingerLengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetFingerLengths_Finger( + void* Instance, + void* OutLengths, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths_ESGFinger( + void* Instance, + void* Finger, + void* Lengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetFingerLengths_uint8Finger( + void* Instance, + uint8 Finger, + void* Lengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetFingerRatios( + void* Instance, + void* OutRatios); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetFingerRatios_Finger( + void* Instance, + void* OutRatios, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetStartJointPositions( + void* Instance, + void* OutPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPositions( + void* Instance, + void* StartJointPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPosition_ESGFinger( + void* Instance, + void* Finger, + void* Position); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointPosition_uin8Finger( + void* Instance, + uint8 Finger, + void* Position); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetStartJointRotations( + void* Instance, + void* OutRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetStartJointRotations( + void* Instance, + void* StartJointRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetJointPosition( + void* Instance, + void* OutPosition, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetJointPosition( + void* Instance, + void* NewPosition, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetJointRotation( + void* Instance, + void* OutRotation, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_SetJointRotation( + void* Instance, + void* NewRotation, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_GetTotalLengths( + void* Instance, + void* OutLengths); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGBasicHandModelImpl_GetTotalLength( + void* Instance, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_Get3DLengths( + void* Instance, + void* OutLengths, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGBasicHandModelImpl_Equals( + void* Instance, + void* BasicHandModelImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_ToString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_ToString_bLengthsOnly( + void* Instance, + void* OutString, + bool bLengthsOnly); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBasicHandModelImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGBetaDeviceImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_Parse( + void* OutBetaDevice, + void* String); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_ctor( + void* OutBetaDeviceImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGBetaDeviceImpl_ctor_ConstantsString_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + void* OutBetaDeviceImpl, + void* ConstantsString, + void* DeviceId, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGBetaDeviceImpl_ctor_ConstantsString_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_MakeShared( + void* OutSharedPtr, + void* ConstantsString, + void* DeviceId, + void* HardwareVersion, + const int32 FirmwareVersion, + const int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_ctor_copy( + void* OutBetaDeviceImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_ctor_copy_assignment( + void* OutBetaDeviceImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_GetDeviceType( + void* Instance, + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGBetaDeviceImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGBetaDeviceImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_GetConstantsString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_GetSensorData( + void* Instance, + void* OutData); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_GetLastCommand( + void* Instance, + void* OutCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGBetaDeviceImpl_SendHaptics( + void* Instance, + void* Command); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBetaDeviceImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGBuzzCommandImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_Off( + void* OutBuzzCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor( + void* OutBuzzCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_BuzzLevels( + void* OutBuzzCommandImpl, + void* BuzzLevels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_BuzzLevels_MakeShared( + void* OutSharedPtr, + void* BuzzLevels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky( + void* OutBuzzCommandImpl, + int32 Thumb, + int32 Index, + int32 Middle, + int32 Ring, + int32 Pinky); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + void* OutSharedPtr, + int32 Thumb, + int32 Index, + int32 Middle, + int32 Ring, + int32 Pinky); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_Finger_BuzzLevel( + void* OutBuzzCommandImpl, + void* Finger, + int32 BuzzLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + void* OutSharedPtr, + void* Finger, + int32 BuzzLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_copy( + void* OutBuzzCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_ctor_copy_assignment( + void* OutBuzzCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_Copy( + void* Instance, + void* OutBuzzCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGBuzzCommandImpl_Merge( + void* Instance, + void* OutBuzzCommandImpl, + void* Command); + +/******************************************************************************* + * SGCalibrationDataPointImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_ctor( + void* OutCalibrationDataPointImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_ctor_CurrentStage_CalibrationValues( + void* OutCalibrationDataPointImpl, + int32 CurrentStage, + void* CalibrationValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_ctor_copy( + void* OutCalibrationDataPointImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_ctor_copy_assignment( + void* OutCalibrationDataPointImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_GetCalibrationValues( + void* Instance, + void* Values); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_SetCalibrationValues( + void* Instance, + void* CalibrationValues); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGCalibrationDataPointImpl_GetStage( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_SetStage( + void* Instance, + int32 Stage); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGCalibrationDataPointImpl_ToLogData( + void* Instance, + void* OutData, + void* Delimiter); + +/******************************************************************************* + * SGDeviceImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ParseFirmware( + void* RawFirmware, + int32* OutMainVersion, + int32* OutSubVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToString_DeviceType( + void* DeviceType, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ctor( + void* OutSGDeviceImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ctor_copy( + void* OutSGDeviceImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ctor_copy_assignment( + void* OutSGDeviceImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToSGDeviceImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToBetaDeviceImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToHapticGloveImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToNovaGloveImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToSenseGloveImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_GetDeviceType( + void* Instance, + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_GetFirmwareString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_GetAddress( + void* Instance, + void* Address); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_IsConnected( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_GetConnectionType( + void* Instance, + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceImpl_PacketsPerSecondReceived( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceImpl_PacketsPerSecondSent( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceImpl_GetDeviceIndex( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_SetDeviceIndex( + void* Instance, + int32 Index); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_IsWireless( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_HasBattery( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_IsCharging( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_GetBatteryLevel( + void* Instance, + float* OutLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGDeviceListImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceListImpl_ActiveDevices(); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceListImpl_SenseCommRunning(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceListImpl_Dispose(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceListImpl_Reinitialize(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceListImpl_GetDevices( + void* OutDevices); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceListImpl_GetSensorDataString( + int32 IpcIndex, + void* IpcAddress, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceListImpl_SendHaptics( + int32 IpcIndex, + void* IpcAddress, + void* Commands); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceListImpl_GetDeviceStringAt( + void* OutString, + int32 IpcIndex, + void* IpcAddress, + int32 Index); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceListImpl_GetAddress( + void* OutAddress, + int32 IpcIndex, + void* IpcAddress); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceListImpl_GetConnectionType( + void* OutType, + int32 IpcIndex, + void* IpcAddress); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceListImpl_IsConnected( + int32 IpcIndex, + void* IpcAddress); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceListImpl_PacketsPerSecondReceived( + int32 IpcIndex, + void* IpcAddress); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceListImpl_PacketsPerSecondSent( + int32 IpcIndex, + void* IpcAddress); + +/******************************************************************************* + * SGDeviceModelImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_ParseFunctions( + void* OutParseFunctions, + int32 Value, + int32 Size); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_ParseFirmware( + void* RawFirmware, + void* OutMainVersion, + void* OutSubVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_ctor( + void* OutDeviceModelImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGDeviceModelImpl_ctor_Id_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + void* OutDeviceModelImpl, + void* Id, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_ctor_copy( + void* OutDeviceModelImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_ctor_copy_assignment( + void* OutDeviceModelImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_SetDeviceId( + void* Instance, + void* Id); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_SetHardwareVersion( + void* Instance, + void* Version); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceModelImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_SetFirmwareVersion( + void* Instance, + int32 Version); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGDeviceModelImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceModelImpl_SetSubFirmwareVersion( + void* Instance, + int32 Version); + +/******************************************************************************* + * SGFingerCommandImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor( + void* OutFingerCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor_Levels( + void* OutFingerCommandImpl, + void* Levels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor_Levels_MakeShared( + void* OutSharedPtr, + void* Levels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor_copy( + void* OutFingerCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ctor_copy_assignment( + void* OutFingerCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ToFingerCommandImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ToBuzzCommandImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ToForceFeedbackCommandImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ToTimedBuzzCommandImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_GetLevels( + void* Instance, + void* OutLevels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_SetLevels( + void* Instance, + void* Levels); + +SENSEGLOVECOREIMPL_PUBLIC_API int SGCoreImpl_FSGFingerCommandImpl_GetLevel( + void* Instance, + int32 Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_SetLevel( + void* Instance, + int32 Finger, + int32 Value); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGFingerCommandImpl_Equals( + void* Instance, + void* FingerCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGFingerCommandImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGForcedFeedbackCommandImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_Off( + void* OutForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor( + void* OutForceFeedbackCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_ForceFeedbackLevels( + void* OutForceFeedbackCommandImpl, + void* ForceFeedbackLevels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_ForceFeedbackLevels_MakeShared( + void* OutSharedPtr, + void* ForceFeedbackLevels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky( + void* OutForceFeedbackCommandImpl, + int32 Thumb, + int32 Index, + int32 Middle, + int32 Ring, + int32 Pinky); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Thumb_Index_Middle_Ring_Pinky_MakeShared( + void* OutSharedPtr, + int32 Thumb, + int32 Index, + int32 Middle, + int32 Ring, + int32 Pinky); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Finger_BuzzLevel( + void* OutForceFeedbackCommandImpl, + void* Finger, + int32 BuzzLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_Finger_BuzzLevel_MakeShared( + void* OutSharedPtr, + void* Finger, + int32 BuzzLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy( + void* OutForceFeedbackCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_ctor_copy_assignment( + void* OutForceFeedbackCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_Copy( + void* Instance, + void* OutForceFeedbackCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGForceFeedbackCommandImpl_Merge( + void* Instance, + void* OutForceFeedbackCommandImpl, + void* Command); + +/******************************************************************************* + * SGHandInterpolatorImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_Default( + void* OutHandInterpolatorImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_Deserialize( + void* OutHandInterpolatorImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_InterpolateFingerAngles( + void* OutAngles, + void* Finger, + void* Interpolator, + void* TotalGloveAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_InterpolateThumbAngles( + void* OutAngles, + void* Interpolator, + void* TotalGloveAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_InterpolateHandAngles( + void* OutAngles, + void* Interpolator, + void* TotalAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_ctor( + void* OutHandInterpolatorImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations( + void* OutHandInterpolatorImpl, + void* JointInterpolations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_ctor_JointInterpolations_CmcStartRotation( + void* OutHandInterpolatorImpl, + void* JointInterpolations, + void* CmcStartRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_ctor_copy( + void* OutHandInterpolatorImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_ctor_copy_assignment( + void* OutHandInterpolatorImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_GetJointInterpolations( + void* Instance, + void* OutInterpolations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_SetJointInterpolations( + void* Instance, + void* OutJointInterpolations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_GetCmcStartRotation( + void* Instance, + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_SetCmcStartRotation( + void* Instance, + void* CmcStartRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_int32Movement_Value( + void* Instance, + void* Finger, + int32 Movement, + float Value); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_ESGFingerMovement_Value( + void* Instance, + void* Finger, + void* Movement, + float Value); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHandInterpolatorImpl_CalculateAngle_Finger_ESGThumbMovement_Value( + void* Instance, + void* Finger, + void* Movement, + float Value); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_int32Finger_int32Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + void* Instance, + int32 Finger, + int32 Movement, + float InputAt0, + float InputAt1, + float AngleAt0, + float AngleAt1); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_ESGFinger_ESGFingerMovement_InputAt0_InputAt1_AngleAt0_AngleAt1( + void* Instance, + void* Finger, + void* Movement, + float InputAt0, + float InputAt1, + float AngleAt0, + float AngleAt1); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHandInterpolatorImpl_SetInterpolation_Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + void* Instance, + void* Movement, + float InputAt0, + float InputAt1, + float AngleAt0, + float AngleAt1); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_GetInterpolation( + void* Instance, + void* OutInterpolation, + int32 Finger, + int32 Movement); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandInterpolatorImpl_Equals( + void* Instance, + void* HandInterpolatorImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandInterpolatorImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGHandPoseImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_Deserialize( + void* OutHandPoseImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_FromHandAngles_HandAngles_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + void* HandAngles, + bool bRightHanded, + void* HandDimensions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_FromHandAngles_HandAngles_bRightHanded( + void* OutHandPoseImpl, + void* HandAngles, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_DefaultIdle_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + bool bRightHanded, + void* HandDimensions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_DefaultIdle_bRightHanded( + void* OutHandPoseImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_FlatHand_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + bool bRightHanded, + void* HandDimensions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_FlatHand_bRightHanded( + void* OutHandPoseImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_ThumbsUp_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + bool bRightHanded, + void* HandDimensions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_ThumbsUp_bRightHanded( + void* OutHandPoseImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_Fist_bRightHanded_HandDimensions( + void* OutHandPoseImpl, + bool bRightHanded, + void* HandDimensions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_Fist_bRightHanded( + void* OutHandPoseImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_ctor( + void* OutHandPoseImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHandPoseImpl_ctor_bRightHanded_JointPositions_JointRotations_HandAngles( + void* OutHandPoseImpl, + bool bRightHanded, + void* JointPositions, + void* JointRotations, + void* HandAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_ctor_copy( + void* OutHandPoseImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_ctor_copy_assignment( + void* OutHandPoseImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandPoseImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_GetJointPositions( + void* Instance, + void* OutPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_SetJointPositions( + void* Instance, + void* JointPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_GetJointRotations( + void* Instance, + void* OutRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_SetJointRotations( + void* Instance, + void* JointRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_GetHandAngles( + void* Instance, + void* OutAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_SetHandAngles( + void* Instance, + void* HandAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandPoseImpl_Equals( + void* Instance, + void* HandPoseImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHandPoseImpl_GetNormalizedFlexion_Finger_bClamp01( + void* Instance, + void* Finger, + bool bClamp01); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_GetNormalizedFlexion_bClamp01( + void* Instance, + void* OutFlexion, + bool bClamp01); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_ToString( + void* Instance, + void* OutString, + bool bShortFormat); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandPoseImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGHandProfileImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_Default( + void* OutHandProfileImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_Deserialize( + void* OutHandProfileImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_GetProfileDirectory( + void* OutDirectory); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_GetLeftHandFileName( + void* OutFileName); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_GetRightHandFileName( + void* OutFileName); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_GetProfileFileName( + void* OutFileName, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandProfileImpl_GetLatestProfile( + bool bRightHanded, + void* OutLatestProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandProfileImpl_StoreProfile( + void* ProfileToStore); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandProfileImpl_ResetCalibration_bRightHanded_bOnDisk( + bool bRightHanded, + bool bOnDisk); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_ResetCalibration_bOnDisk( + bool bOnDisk); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_ctor( + void* OutHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHandProfileImpl_ctor_bRightHanded_SenseGloveHandProfile_NovaGloveHandProfile( + void* OutHandProfileImpl, + bool bRightHanded, + void* SenseGloveHandProfile, + void* NovaGloveHandProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_ctor_copy( + void* OutHandProfileImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_ctor_copy_assignment( + void* OutHandProfileImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandProfileImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_GetSenseGloveHandProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_SetSenseGloveHandProfile( + void* Instance, + void* SenseGloveHandProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_GetNovaGloveHandProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_SetNovaGloveHandProfile( + void* Instance, + void* NovaGloveHandProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHandProfileImpl_Equals( + void* Instance, + void* HandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_Reset( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHandProfileImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGHapticGloveImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetHapticGloves( + void* OutGloves); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetGlove_OutGlove( + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetGlove_bRightHanded_OutGlove( + bool bRightHanded, + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ctor( + void* OutHapticGloveImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ctor_copy( + void* OutHapticGloveImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ctor_copy_assignment( + void* OutHapticGloveImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetDeviceType( + void* Instance, + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetImuRotation( + void* Instance, + void* OutImu); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + void* Instance, + void* HandGeometry, + void* HandProfile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandProfile_OutHandPose( + void* Instance, + void* HandProfile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_HandGeometry_OutHandPose( + void* Instance, + void* HandGeometry, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetHandPose_OutHandPose( + void* Instance, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_StopHaptics( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_StopVibrations( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_BuzzCommand( + void* Instance, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ThumperCommand( + void* Instance, + void* ThumperCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand, + void* ThumperCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveImpl_GetCalibrationValues( + void* Instance, + void* OutValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ResetCalibrationRange( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_UpdateCalibrationRange( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_UpdateCalibrationRange_CalibrationValues( + void* Instance, + void* CalibrationValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetCalibrationRange( + void* Instance, + void* OutMinValues, + void* OutMaxValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_UpdateCalibration( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_ApplyCalibration( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetWristLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutWristPosition, + void* OutWristRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveImpl_GetGloveLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutGlovePosition, + void* OutGloveRotation); + +/******************************************************************************* + * SGHapticGloveCalibrationCheckImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveThreshold(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveThreshold(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveMinFlexion(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveMinFlexion(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetSenseGloveMinAbduction(); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetNovaGloveMinAbduction(); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_NeedsCheck( + void* DeviceType); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_OutOfBounds( + void* PreviousRange, + void* CurrentValues, + void* DeviceType); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_MovedMinimum( + void* CurrentRange, + void* DeviceType); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_MatchesLast( + void* CurrentRange, + void* LastRange, + void* DeviceType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor( + void* OutHapticGloveCalibrationCheckImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_LastCalibrationRange( + void* OutHapticGloveCalibrationCheckImpl, + void* LastCalibrationRange); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_copy( + void* OutHapticGloveCalibrationCheckImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ctor_copy_assignment( + void* OutHapticGloveCalibrationCheckImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetLastSensorRange( + void* Instance, + void* OutLastSensorRange); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_SetLastSensorRange( + void* Instance, + void* LastSensorRange); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_GetCalibrationStage( + void* Instance, + void* OutStage); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_ReachedConclusion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_Reset( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationCheckImpl_CheckRange( + void* Instance, + void* CurrentValues, + float DeltaSeconds, + void* DeviceType); + +/******************************************************************************* + * SGHapticGloveCalibrationSequenceImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetMaxDataPoints(); + +SENSEGLOVECOREIMPL_PUBLIC_API bool +SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileProfile_SensorRange_ForDevice_bRightHanded_OutProfile( + void* SensorRange, + void* ForDevice, + bool bRightHanded, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor( + void* OutHapticGloveCalibrationSequenceImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_LinkedGlove( + void* OutHapticGloveCalibrationSequenceImpl, + void* LinkedGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_LinkedGlove_MakeShared( + void* OutSharedPtr, + void* LinkedGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy( + void* OutHapticGloveCalibrationSequenceImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ctor_copy_assignment( + void* OutHapticGloveCalibrationSequenceImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ToHapticGloveCalibrationSequenceImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ToHapticGloveQuickCalibrationImplRef( + void* Instance, + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetLinkedGlove( + void* Instance, + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_SetLinkedGlove( + void* Instance, + void* LinkedGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCalibrationPoints( + void* Instance, + void* OutPoints); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetElapsedTime( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_IsManuallyCompleted( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCurrentStage( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API SIZE_T SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCalibrationPointsCount( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_AutoCompleted( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Completed( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Reset( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_AddDataPoint( + void* Instance, + void* CalibrationPoints); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_Update( + void* Instance, + float DeltaSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_ConfirmCurrentStep( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileRange( + void* Instance, + void* OutSensorRange); + +SENSEGLOVECOREIMPL_PUBLIC_API bool +SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_CompileProfile_ForDevice_bRightHanded_OutProfile( + void* Instance, + void* ForDevice, + bool bRightHanded, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetHandPose_OutCurrentHandPose( + void* Instance, + void* OutCurrentHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool +SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetHandPose_bRightHanded_OutCurrentHandPose( + void* Instance, + bool bRightHanded, + void* OutCurrentHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCalibrationSequenceImpl_GetCurrentInstruction( + void* Instance, + void* OutInstruction, + void* NextStepKey); + +/******************************************************************************* + * SGHapticGloveCommandBufferImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxForceFeedbackCommands(); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxBuzzCommands(); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetMaxThumpCommands(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor( + void* OutHapticGloveCommandBufferImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor_copy( + void* OutHapticGloveCommandBufferImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ctor_copy_assignment( + void* OutHapticGloveCommandBufferImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetForceFeedbackCommandsQueue( + void* Instance, + void* OutForceFeedbackCommandsQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_SetForceFeedbackCommandsQueue( + void* Instance, + void* ForceFeedbackCommandsQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetBuzzCommandsQueue( + void* Instance, + void* OutBuzzCommandsQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_SetBuzzCommandsQueue( + void* Instance, + void* BuzzCommandsQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetThumperCommandsQueue( + void* Instance, + void* OutThumperCommandsQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_SetThumperCommandsQueue( + void* Instance, + void* ThumperCommandsQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ClearForceFeedbackCommandsQueue( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_ClearVibrations( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_Clear( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_BuzzCommand( + void* Instance, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_AddCommand_ThumpCommand( + void* Instance, + void* ThumpCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_UpdateTimedCommands( + void* Instance, + float DeltaSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalForceFeedbackLevels_LastForceFeedbackCommand( + void* Instance, + void* OutForceFeedbackCommandImpl, + void* LastForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalForceFeedbackLevels( + void* Instance, + void* OutForceFeedbackCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalBuzzLevels( + void* Instance, + void* OutBuzzCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveCommandBufferImpl_GetTotalThumperLevels( + void* Instance, + void* OutThumperCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveCommandBufferImpl_FlushHaptics_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand_bClearForceFeedbackQueue( + void* Instance, + void* LastBrakeLevel, + void* OutForceFeedbackCommand, + void* OutBuzzCommand, + void* OutThumperCommand, + bool bClearForceFeedbackQueue); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveCommandBufferImpl_FlushHaptics_DeltaSeconds_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand( + void* Instance, + float DeltaSeconds, + void* LastBrakeLevel, + void* OutForceFeedbackCommand, + void* OutBuzzCommand, + void* OutThumperCommand); + +/******************************************************************************* + * SGHapticGloveHandProfilesImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetProfileDirectory( + void* OutDirectory); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfileDirectory( + void* Directory); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetLeftHandProfile( + void* OutHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetLeftHandProfile( + void* HandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetRightHandProfile( + void* OutHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetRightHandProfile( + void* HandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_GetProfile( + bool bRightHanded, + void* OutHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfile_HandProfileImpl( + void* HandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_SetProfile_HandProfileImpl_bRightHanded( + void* HandProfileImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_RestoreDefaults(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_RestoreDefaults_bRightHanded( + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveHandProfilesImpl_TryLoadingFromDisk(); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveHandProfilesImpl_SaveLastRange( + void* CurrentRange, + void* ForGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveHandProfilesImpl_LoadLastRange( + void* ForGlove, + void* OutLastRange); + +/******************************************************************************* + * SGHapticGloveQuickCalibrationImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetDefaultAutoEndTimeout(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor( + void* OutHapticGloveQuickCalibrationImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_GloveToCalibrate_AutoEndTimeout( + void* OutHapticGloveQuickCalibrationImpl, + void* GloveToCalibrate, + float AutoEndTimeout); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_GloveToCalibrate_AutoEndTimeout_MakeShared( + void* OutSharedPtr, + void* GloveToCalibrate, + float AutoEndTimeout); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy( + void* OutHapticGloveQuickCalibrationImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ctor_copy_assignment( + void* OutHapticGloveQuickCalibrationImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetAutoEndTimeout( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_SetAutoEndTimeout( + void* Instance, + float AutoEndTimeout); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetSmoothingSamples( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetSensorRange( + void* Instance, + void* OutRange); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetTemporaryProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_CanAnimate( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_AutoCompleted( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_Reset( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_Update( + void* Instance, + float DeltaSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_AddDataPoint( + void* Instance, + void* CalibrationData); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_ConfirmCurrentStep( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_CompileRange( + void* Instance, + void* OutSensorRange); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetHandPose( + void* Instance, + bool bRightHanded, + void* OutCurrentHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGHapticGloveQuickCalibrationImpl_GetCurrentInstruction( + void* Instance, + void* OutInstruction, + void* NextStepKey); + +/******************************************************************************* + * SGInterpolationSetImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_Deserialize( + void* OutInterpolationSetImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ctor( + void* OutInterpolationSetImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2( + void* OutInterpolationSetImpl, + float From1, + float From2, + float To1, + float To2); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ctor_From1_From2_To1_To2_Min_Max( + void* OutInterpolationSetImpl, + float From1, + float From2, + float To1, + float To2, + float Min, + float Max); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ctor_copy( + void* OutInterpolationSetImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ctor_copy_assignment( + void* OutInterpolationSetImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_GetX0( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_SetX0( + void* Instance, + float X0); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_GetX1( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_SetX1( + void* Instance, + float X1); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_GetY0( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_SetY0( + void* Instance, + float Y0); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_GetY1( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_SetY1( + void* Instance, + float Y1); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_GetMin( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_SetMin( + void* Instance, + float Min); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_GetMax( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_SetMax( + void* Instance, + float Max); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGInterpolationSetImpl_Get( + void* Instance, + float Value, + bool bLimit, + bool bNormalizeAngle); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGInterpolationSetImpl_Equals( + void* Instance, + void* InterpolationSetImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ToString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_ToString_bLimits( + void* Instance, + void* OutString, + bool bLimits); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGInterpolationSetImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGJointKinematicsImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API bool +SGCoreImpl_FSGJointKinematicsImpl_ForwardKinematics_StartPosition_StartRotation_JointLengths_JointAngles_OutNewPositions_OutNewRotations( + void* StartPosition, + void* StartRotation, + void* JointLengths, + void* JointAngles, + void* OutNewPositions, + void* OutNewRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API bool +SGCoreImpl_FSGJointKinematicsImpl_ForwardKinematics_Profile_Finger_JointAngles_OutNewPositions_OutNewRotations( + void* Profile, + void* Finger, + void* JointAngles, + void* OutNewPositions, + void* OutNewRotations); + +/******************************************************************************* + * SGLibraryImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGLibraryImpl_Version( + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGLibraryImpl_GetBackendType( + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGLibraryImpl_BackendVersion( + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGLibraryImpl_SGConnectVersion( + void* OutVersion); + +/******************************************************************************* + * SGNovaGloveImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API ANSICHAR SGCoreImpl_FSGNovaGloveImpl_GetHapticsByte(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetMinCalibrationRange( + void* OutRange); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_CalculateHandPose( + void* OutPose, + void* HandModel, + void* NovaData, + void* Profile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_Parse( + void* OutNovaGloveImpl, + void* ConstantsString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetNovaGloves( + void* OutGloves); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetNovaGlove_OutGlove( + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetNovaGlove_bRightHanded_OutGlove( + bool bRightHanded, + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetCalibrationValues_SensorData( + void* OutValues, + void* SensorData); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_CalibrateInterpolation( + void* MinValues, + void* MaxValues, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_CalculateGloveLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + bool bRightHanded, + void* OutGlovePosition, + void* OutGloveRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_CalculateWristLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + bool bRightHanded, + void* OutWristPosition, + void* OutWristRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ToBytes_ThumperCommand( + void* OutBytes, + void* ThumperCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ToBytes_ForceFeedbackCommand( + void* OutBytes, + void* ForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ToBytes_BuzzCommand( + void* OutBytes, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor( + void* OutNovaGloveImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor_DeviceInfo( + void* OutNovaGloveImpl, + void* DeviceInfo); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor_DeviceInfo_MakeShared( + void* OutSharedPtr, + void* DeviceInfo); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor_copy( + void* OutNovaGloveImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ctor_copy_assignment( + void* OutNovaGloveImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetDeviceType( + void* Instance, + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGNovaGloveImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGNovaGloveImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_HasBattery( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_IsCharging( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetBatteryLevel( + void* Instance, + float* OutBatteryLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetSensorData( + void* Instance, + void* OutSensorData); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetImuRotation( + void* Instance, + void* OutImu); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandModel_Profile_OutHandPose( + void* Instance, + void* HandModel, + void* Profile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + void* Instance, + void* HandGeometry, + void* HandProfile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetHandPose_HandProfile_OutHandPose( + void* Instance, + void* HandProfile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand, + void* ThumperCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_BuzzCommand( + void* Instance, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_SendHaptics_ThumperCommand( + void* Instance, + void* ThumperCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveImpl_GetCalibrationValues_OutValues( + void* Instance, + void* OutValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ApplyCalibration_HandProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ApplyCalibration_NovaGloveHandProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetGloveLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutGlovePosition, + void* OutGloveRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_GetWristLocation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutWristPosition, + void* OutWristRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGNovaGloveCalibrationImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveCalibrationImpl_ApplyDefaultCalibrationInterpolationValues( + void* RetractedValues, + void* ExtendedValues, + void* Profile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveCalibrationImpl_ApplyInterpolationValues( + void* RetractedValues, + void* ExtendedValues, + void* RetractedAngles, + void* ExtendedAngles, + void* Profile); + +/******************************************************************************* + * SGNovaGloveHandProfileImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_Default( + void* OutNovaGloveHandProfileImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_Deserialize( + void* OutNovaGloveHandProfileImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor( + void* OutNovaGloveHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_bRightHanded_Interpolator( + void* OutNovaGloveHandProfileImpl, + bool bRightHanded, + void* Interpolator); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_copy( + void* OutNovaGloveHandProfileImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_ctor_copy_assignment( + void* OutNovaGloveHandProfileImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveHandProfileImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_GetInterpolationSet( + void* Instance, + void* OutSet); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_SetInterpolationSet( + void* Instance, + void* InterpolationSet); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveHandProfileImpl_Equals( + void* Instance, + void* NovaGloveHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_Reset( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveHandProfileImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGNovaGloveInfoImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveInfoImpl_Parse( + void* ConstantsString, + void* OutGloveInfo); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_Deserialize( + void* OutNovaGloveInfoImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_ctor( + void* OutNovaGloveInfoImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGNovaGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_ImuCorrection_NumberOfSensors( + void* OutNovaGloveInfoImpl, + void* DeviceId, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion, + bool bRightHanded, + void* ImuCorrection, + int32 NumberOfSensors); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_ctor_copy( + void* OutNovaGloveInfoImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_ctor_copy_assignment( + void* OutNovaGloveInfoImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetDeviceId( + void* Instance, + void* DeviceId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetHardwareVersion( + void* Instance, + void* HardwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGNovaGloveInfoImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetFirmwareVersion( + void* Instance, + int32 FirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGNovaGloveInfoImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetSubFirmwareVersion( + void* Instance, + int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveInfoImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_GetImuCorrection( + void* Instance, + void* OutCorrection); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetImuCorrection( + void* Instance, + void* ImuCorrection); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGNovaGloveInfoImpl_GetNumberOfSensors( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_SetNumberOfSensors( + void* Instance, + int32 NumberOfSensors); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveInfoImpl_Equals( + void* Instance, + void* NovaGloveInfoImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_ToString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveInfoImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGNovaGloveSensorDataImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_Empty( + void* OutNovaGloveSensorDataImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_Parse( + void* OutNovaGloveSensorDataImpl, + void* RawData, + void* GloveInfo); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_Deserialize( + void* OutNovaGloveSensorDataImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor( + void* OutNovaGloveSensorDataImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_Values_ParsedValues_ImuRotation_bImuParsed_BatteryLevel_bCharging( + void* OutNovaGloveSensorDataImpl, + void* Values, + int32 ParsedValues, + void* ImuRotation, + bool bImuParsed, + float BatteryLevel, + bool bCharging); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_copy( + void* OutNovaGloveSensorDataImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_ctor_copy_assignment( + void* OutNovaGloveSensorDataImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_GetSensorValues( + void* Instance, + void* OutValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetSensorValues( + void* Instance, + void* SensorValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_GetImuRotation( + void* Instance, + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetImuRotation( + void* Instance, + void* ImuRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGNovaGloveSensorDataImpl_GetParsedValues( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetParsedValues( + void* Instance, + int32 ParsedValues); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveSensorDataImpl_IsImuParsed( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetImuParsed( + void* Instance, + bool bImuParsed); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGNovaGloveSensorDataImpl_GetBatteryLevel( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetBatteryLevel( + void* Instance, + float BatteryLevel); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveSensorDataImpl_IsCharging( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_SetIsCharging( + void* Instance, + bool bCharging); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGNovaGloveSensorDataImpl_Equals( + void* Instance, + void* NovaGloveSensorDataImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_ToString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGNovaGloveSensorDataImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGSenseComImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseComImpl_RegisterExe(); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseComImpl_RegisterExe_ExePath( + void* ExePath); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseComImpl_GetExePath( + void* OutExePath); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseComImpl_ScanningActive(); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseComImpl_GetCurrentExeDirectory( + void* OutDirectory); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseComImpl_StartupSenseCom(); + +/******************************************************************************* + * SGSenseGloveImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API ANSICHAR SGCoreImpl_FSGSenseGloveImpl_GetHapticsByte(); + +SENSEGLOVECOREIMPL_PUBLIC_API ANSICHAR SGCoreImpl_FSGSenseGloveImpl_GetThumperByte(); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_CalculateGlovePose_SensorData_GloveModel( + void* OutPose, + void* SensorData, + void* GloveModel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_CalculateGlovePose_GloveAngles_GloveModel( + void* OutPose, + void* GloveAngles, + void* GloveModel); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_CalculateHandPose( + void* OutPose, + void* GlovePose, + void* HandModel, + void* Profile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_Parse( + void* OutSenseGloveImpl, + void* ConstantsString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_GetSenseGloves( + void* OutGloves); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetSenseGlove_OutGlove( + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetSenseGlove_bRightHanded_OutGlove( + bool bRightHanded, + void* OutGlove); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_GetCalibrationValues_GlovePose( + void* OutValues, + void* GlovePose); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_CalibrateInterpolation( + void* MinValues, + void* MaxValues, + bool bRightHanded, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_CalculateGloveLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + bool bRightHanded, + void* MountedOn, + void* OutGlovePosition, + void* OutGloveRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_CalculateWristLocation( + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + bool bRightHanded, + void* MountedOn, + void* GloveWristPositionOffset, + void* GloveWristRotationOffset, + void* OutWristPosition, + void* OutWristRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor( + void* OutSenseGloveImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor_Model( + void* OutSenseGloveImpl, + void* Model); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor_Model_MakeShared( + void* OutSharedPtr, + void* Model); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor_copy( + void* OutSenseGloveImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ctor_copy_assignment( + void* OutSenseGloveImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_GetGloveModel( + void* Instance, + void* OutModel); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_GetDeviceType( + void* Instance, + void* OutType); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetSensorData( + void* Instance, + void* OutSensorData); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetImuRotation( + void* Instance, + void* OutImu); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetGlovePose_OutGlovePose( + void* Instance, + void* OutGlovePose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetGlovePose_SensorData_OutGlovePose( + void* Instance, + void* SensorData, + void* OutGlovePose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandModel_Profile_OutHandPose( + void* Instance, + void* HandModel, + void* Profile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandGeometry_HandProfile_OutHandPose( + void* Instance, + void* HandGeometry, + void* HandProfile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandProfile_OutHandPose( + void* Instance, + void* HandProfile, + void* OutHandPose); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand( + void* Instance, + void* ForceFeedbackCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_BuzzCommand( + void* Instance, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + void* Instance, + void* ForceFeedbackCommand, + void* BuzzCommand, + void* ThumperCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetCalibrationValues_OutValues( + void* Instance, + void* OutValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ResetCalibrationRange( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ApplyCalibration_HandProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ApplyCalibration_SenseGloveHandProfile( + void* Instance, + void* OutProfile); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveImpl_GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutGlovePosition, + void* OutGloveRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveImpl_GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_MountedOn_OutGlovePosition_OutGloveRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* MountedOn, + void* OutGlovePosition, + void* OutGloveRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveImpl_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* OutWristPosition, + void* OutWristRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveImpl_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_GloveWristPositionOffset_GloveWristRotationOffset_OutWristPosition_OutWristRotation( + void* Instance, + void* ReferencePosition, + void* ReferenceRotation, + void* TrackingHardware, + void* GloveWristPositionOffset, + void* GloveWristRotationOffset, + void* OutWristPosition, + void* OutWristRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGSenseGloveHandProfileImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_Default( + void* OutSenseGloveHandProfileImpl, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_Deserialize( + void* OutSenseGloveHandProfileImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetDefaultThimbleOffset( + void* OutOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor( + void* OutSenseGloveHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_bRightHanded_Interpolator_ThumbSolver_FingerSolver_FingerThimbleOffset( + void* OutSenseGloveHandProfileImpl, + bool bRightHanded, + void* Interpolator, + void* ThumbSolver, + void* FingerSolver, + void* FingerThimbleOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_copy( + void* OutSenseGloveHandProfileImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_ctor_copy_assignment( + void* OutSenseGloveHandProfileImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveHandProfileImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetInterpolationSet( + void* Instance, + void* OutSet); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetInterpolationSet( + void* Instance, + void* InterpolationSet); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetThumbSolver( + void* Instance, + void* OutSolver); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetThumbSolver( + void* Instance, + void* ThumbSolver); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetFingerSolver( + void* Instance, + void* OutSolver); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetFingerSolver( + void* Instance, + void* FingerSolver); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_GetFingerThimbleOffset( + void* Instance, + void* OutOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_SetFingerThimbleOffset( + void* Instance, + void* FingerThimbleOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveHandProfileImpl_Equals( + void* Instance, + void* SenseGloveHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_Reset( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveHandProfileImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGSenseGloveInfoImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveInfoImpl_Parse( + void* ConstantsString, + void* OutGloveInfo, + bool bUpdateOldModels); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_Deserialize( + void* OutSenseGloveInfoImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_ctor( + void* OutSenseGloveInfoImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveInfoImpl_ctor_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPositions_StartRotations_GloveLengths_Functions( + void* OutSenseGloveInfoImpl, + void* DeviceId, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion, + bool bRightHanded, + int32 NumberOfSensors, + void* ImuCorrection, + void* StartPositions, + void* StartRotations, + void* GloveLengths, + void* Functions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_ctor_copy( + void* OutSenseGloveInfoImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_ctor_copy_assignment( + void* OutSenseGloveInfoImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetDeviceId( + void* Instance, + void* OutId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetDeviceId( + void* Instance, + void* DeviceId); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetHardwareVersion( + void* Instance, + void* OutVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetHardwareVersion( + void* Instance, + void* HardwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveInfoImpl_GetFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetFirmwareVersion( + void* Instance, + int32 FirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveInfoImpl_GetSubFirmwareVersion( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetSubFirmwareVersion( + void* Instance, + int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveInfoImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetIsRight( + void* Instance, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveInfoImpl_GetNumberOfSensors( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetNumberOfSensors( + void* Instance, + int32 NumberOfSensors); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetImuCorrection( + void* Instance, + void* OutCorrection); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetImuCorrection( + void* Instance, + void* ImuCorrection); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartPositions( + void* Instance, + void* OutPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetStartPositions( + void* Instance, + void* StartPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartRotations( + void* Instance, + void* OutRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetStartRotations( + void* Instance, + void* StartRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetGloveLengths( + void* Instance, + void* OutLengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetGloveLengths( + void* Instance, + void* GloveLengths); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetFunctions( + void* Instance, + void* OutFunctions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_SetFunctions( + void* Instance, + void* Functions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartPosition( + void* Instance, + void* OutPosition, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetStartRotation( + void* Instance, + void* OutRotation, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_GetGloveLengths_Finger( + void* Instance, + void* OutLengths, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_ToGloveAngles( + void* Instance, + void* OutAngles, + void* SensorAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveInfoImpl_Equals( + void* Instance, + void* SenseGloveInfoImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_ToString_bShortNotation( + void* Instance, + void* OutString, + bool bShortNotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_ToString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveInfoImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGSenseGlovePoseImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_IdlePose( + void* OutSenseGlovePoseImpl, + void* GloveInfo); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_Deserialize( + void* OutSenseGlovePoseImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_ctor( + void* OutSenseGlovePoseImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGlovePoseImpl_ctor_bRightHanded_JointPositions_JointRotations_GloveAngles( + void* OutSenseGlovePoseImpl, + bool bRightHanded, + void* JointPositions, + void* JointRotations, + void* GloveAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_ctor_copy( + void* OutSenseGlovePoseImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_ctor_copy_assignment( + void* OutSenseGlovePoseImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGlovePoseImpl_IsRight( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_SetIsRight( + void* Instance, + bool bRightGloveed); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_GetJointPositions( + void* Instance, + void* OutPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_SetJointPositions( + void* Instance, + void* JointPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_GetJointRotations( + void* Instance, + void* OutRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_SetJointRotations( + void* Instance, + void* JointRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_GetGloveAngles( + void* Instance, + void* OutAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_SetGloveAngles( + void* Instance, + void* GloveAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_GetThimblePositions( + void* Instance, + void* OutPositions); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_GetThimbleRotations( + void* Instance, + void* OutRotations); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_GetTotalGloveAngles( + void* OutInstance, + void* OutAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_CalculateFingerTips_SenseGloveHandProfileImpl( + void* Instance, + void* OutFingerTips, + void* SenseGloveHandProfileImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_CalculateFingerTips_FingerOffsets( + void* Instance, + void* OutFingerTips, + void* FingerOffsets); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGlovePoseImpl_Equals( + void* Instance, + void* SenseGlovePoseImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_ToString( + void* Instance, + void* OutString, + bool bShortFormat); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGlovePoseImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGSenseGloveSensorDataImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_Empty( + void* OutSenseGloveSensorDataImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_Parse( + void* OutSenseGloveSensorDataImpl, + void* RawData, + void* GloveInfo); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_Deserialize( + void* OutSenseGloveSensorDataImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor( + void* OutSenseGloveSensorDataImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + void* OutSenseGloveSensorDataImpl, + void* SensorAngles, + void* ImuRotation, + int32 ParsedValues, + bool bImuParsed); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_copy( + void* OutSenseGloveSensorDataImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_ctor_copy_assignment( + void* OutSenseGloveSensorDataImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetSensorAngles( + void* Instance, + void* OutAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetSensorAngles( + void* Instance, + void* SensorAngles); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetSensorAngles_Finger( + void* Instance, + void* OutAngles, + void* Finger); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetAngleSequence( + void* Instance, + void* OutSequence); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_GetImuRotation( + void* Instance, + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetImuRotation( + void* Instance, + void* ImuRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveSensorDataImpl_GetParsedValues( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetParsedValues( + void* Instance, + int32 ParsedValues); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveSensorDataImpl_IsImuParsed( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_SetImuParsed( + void* Instance, + bool bImuParsed); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveSensorDataImpl_Equals( + void* Instance, + void* SenseGloveSensorDataImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_ToString( + void* Instance, + void* OutString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveSensorDataImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGSenseGloveVarsImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetStandardConstantsString( + void* OutString, + void* HardwareVersion, + float FirmwareVersion, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetSensorString( + void* OutString, + void* HardwareVersion, + float FirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetStartPositions( + void* OutPositions, + void* HardwareVersion, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetStartRotations( + void* OutRotations, + void* HardwareVersion, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetGloveLengths( + void* OutLengths, + void* HardwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGSenseGloveVarsImpl_GetSensors( + void* HardwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetImuCorrection( + void* OutCorrection, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveVarsImpl_GetFunctions( + void* OutFunctions, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveVarsImpl_GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded +( + void* OutModel, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion, + bool bRightHanded); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGSenseGloveVarsImpl_GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_CustomId +( + void* OutModel, + void* HardwareVersion, + int32 FirmwareVersion, + int32 SubFirmwareVersion, + bool bRightHanded, + void* CustomId); + +/******************************************************************************* + * SGSensorRangeImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_ForCalibration( + void* OutSensorRangeImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_Deserialize( + void* OutSensorRangeImpl, + void* SerializedString); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_CheckMax( + void* CurrentValues, + void* OutMaxValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_CheckMin( + void* CurrentValues, + void* OutMinValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_ctor( + void* OutSensorRangeImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_ctor_MinValues_MaxValues( + void* OutSensorRangeImpl, + void* MinValues, + void* MaxValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_ctor_copy( + void* OutSensorRangeImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_ctor_copy_assignment( + void* OutSensorRangeImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_GetMinValues( + void* Instance, + void* OutValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_SetMinValues( + void* Instance, + void* Values); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_GetMaxValues( + void* Instance, + void* OutValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_SetMaxValues( + void* Instance, + void* Values); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_GetRange( + void* Instance, + void* OutRange); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_UpdateRange( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_CheckForExtremes( + void* Instance, + void* OtherValues); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_RangeString( + void* Instance, + void* OutString, + bool bYOnly); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_ToString( + void* Instance, + void* OutString, + bool bYOnly); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSensorRangeImpl_Serialize( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGThumperCommandImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_Off( + void* OutThumperCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_ctor( + void* OutThumperCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_ctor_Magnitude( + void* OutThumperCommandImpl, + int32 Magnitude); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_ctor_copy( + void* OutThumperCommand, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_ctor_copy_assignment( + void* Instance, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGThumperCommandImpl_GetMagnitude( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_SetMagnitude( + void* Instance, + int32 Magnitude); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_Copy( + void* Instance, + void* OutThumperCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGThumperCommandImpl_Merge( + void* Instance, + void* OutThumperCommandImpl, + void* ThumperCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGThumperCommandImpl_Equals( + void* Instance, + void* ThumperCommandImpl); + +/******************************************************************************* + * SGTimedBuzzCommandImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor( + void* OutTimedBuzzCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_MakeShared( + void* OutSharedPtr); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_Finger_Magnitude_DurationSeconds_StartTimeSeconds( + void* OutTimedBuzzCommandImpl, + void* Finger, + int32 Magnitude, + float DurationSeconds, + float StartTimeSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_Finger_Magnitude_DurationSeconds_StartTimeSeconds_MakeShared( + void* OutSharedPtr, + void* Finger, + int32 Magnitude, + float DurationSeconds, + float StartTimeSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds( + void* OutTimedBuzzCommandImpl, + void* BaseCommand, + float DurationSeconds, + float StartTimeSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds_MakeShared( + void* OutSharedPtr, + void* BaseCommand, + float DurationSeconds, + float StartTimeSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy( + void* OutTimedBuzzCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy_MakeShared( + void* OutSharedPtr, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_copy_assignment( + void* OutTimedBuzzCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_Copy( + void* Instance, + void* OutBuzzCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_Merge( + void* Instance, + void* OutBuzzCommandImpl, + void* BuzzCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_GetBaseCommand( + void* Instance, + void* OutCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_SetBaseCommand( + void* Instance, + void* BaseCommand); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGTimedBuzzCommandImpl_GetMagnitude( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_SetMagnitude( + void* Instance, + int32 Magnitude); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGTimedBuzzCommandImpl_GetDuration( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_SetDuration( + void* Instance, + float Duration); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGTimedBuzzCommandImpl_GetElapsedTime( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_SetElapsedTime( + void* Instance, + float ElapsedTime); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGTimedBuzzCommandImpl_HasTimeElapsed( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGTimedBuzzCommandImpl_NormalizedTime( + void* Instance, + bool bClamp01); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ResetTiming( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_UpdateTiming( + void* Instance, + float DeltaSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGTimedThumpCommandImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_ctor( + void* OutTimedThumpCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGTimedThumpCommandImpl_ctor_Magnitude_DurationSeconds_StartTimeSeconds( + void* OutTimedThumpCommandImpl, + int32 Magnitude, + float DurationSeconds, + float StartTimeSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void +SGCoreImpl_FSGTimedThumpCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds( + void* OutTimedThumpCommandImpl, + void* BaseCommand, + float DurationSeconds, + float StartTimeSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_ctor_copy( + void* OutTimedThumpCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_ctor_copy_assignment( + void* OutTimedThumpCommandImpl, + void* Rhs); + +SENSEGLOVECOREIMPL_PUBLIC_API int32 SGCoreImpl_FSGTimedThumpCommandImpl_GetMagnitude( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_SetMagnitude( + void* Instance, + int32 Magnitude); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGTimedThumpCommandImpl_GetDuration( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_SetDuration( + void* Instance, + float Duration); + +SENSEGLOVECOREIMPL_PUBLIC_API float SGCoreImpl_FSGTimedThumpCommandImpl_GetElapsedTime( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_SetElapsedTime( + void* Instance, + float ElapsedTime); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGTimedThumpCommandImpl_HasTimeElapsed( + void* Instance); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_Copy( + void* Instance, + void* OutTimedThumpCommandImpl, + bool bCopyElapsed); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_Update( + void* Instance, + float DeltaSeconds); + +SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGTimedThumpCommandImpl_Equals( + void* Instance, + void* TimedThumpCommandImpl); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedThumpCommandImpl_ToString( + void* Instance, + void* OutString); + +/******************************************************************************* + * SGTrackingImpl.h + ******************************************************************************/ + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_CalculateLocation( + void* TrackedPosition, + void* TrackedRotation, + void* PositionOffset, + void* RotationOffset, + void* OutNewPosition, + void* OutNewRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveFingerToGlovePositionOrigin( + void* OutOrigin); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveFingerToGloveRotationOrigin( + void* OutOrigin); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveWristPositionOffset( + void* OutOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveWristRotationOffset( + void* OutOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveMountOffset( + bool bRightHanded, + void* ToFinger, + void* OutIPosition, + void* OutIRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveTrackerMountOffset( + void* Hardware, + bool bRightHanded, + void* OutPositionOffset, + void* OutRotationOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveViveToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveViveToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveOculusTouchToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetSenseGloveOculusTouchToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetNovaToWristPositionOffset( + void* OutOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetNovaToWristRotationOffset( + void* OutOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetNovaGloveWristOffset( + bool bRightHanded, + void* OutPositionOffset, + void* OutRotationOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetRightNovaViveToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetRightNovaViveToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetLeftNovaViveToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetLeftNovaViveToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetRightNovaQuest2ToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetRightNovaQuest2ToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetLeftNovaQuest2ToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetLeftNovaQuest2ToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetRightNovaPico2ToAttachPosition( + void* OutPosition); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetRightNovaPico2ToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetLeftNovaPico2ToAttachRotation( + void* OutRotation); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_GetNovaGloveTrackerOffset( + void* Hardware, + bool bRightHanded, + void* OutPositionOffset, + void* OutRotationOffset); + +SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTrackingImpl_ToString( + void* OutString, + void* Hardware); + +/******************************************************************************* + ******************************************************************************/ + +#if __cplusplus +} +#endif /* __cplusplus */ \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGFingerCommandImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGFingerCommandImpl.h new file mode 100644 index 00000000..61e475b1 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGFingerCommandImpl.h @@ -0,0 +1,168 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Haptics + { + class FingerCommand; + } +} + +class FSGBuzzCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGTimedBuzzCommandImpl; + +class SENSEGLOVECOREIMPL_API FSGFingerCommandImpl : public TSharedFromThis +{ +public: + typedef SGCore::Haptics::FingerCommand FFingerCommandType; + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGFingerCommandImpl(); + + explicit FSGFingerCommandImpl(const TArray& Levels); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGFingerCommandImpl(const FFingerCommandType& FingerCommand); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGFingerCommandImpl(TSharedRef FingerCommand); + +public: + /** + * The copy constructor. + */ + FSGFingerCommandImpl(const FSGFingerCommandImpl& Rhs); + + /** + * The move constructor + */ + FSGFingerCommandImpl(FSGFingerCommandImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGFingerCommandImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGFingerCommandImpl& operator=(const FSGFingerCommandImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGFingerCommandImpl& operator=(FSGFingerCommandImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FFingerCommandType& ToFingerCommand() const; + + /** + * The cast to underlying type method. + */ + TSharedRef ToFingerCommandRef() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FFingerCommandType& ToFingerCommand(); + + /** + * The non-const cast to underlying type method. + */ + TSharedRef ToFingerCommandRef(); + +public: + /** + * The cast to base TSharedRef type method. + */ + TSharedRef ToFingerCommandImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToBuzzCommandImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToForceFeedbackCommandImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToTimedBuzzCommandImplRef(); + +public: + virtual TArray GetLevels() const; + void SetLevels(const TArray& Levels); + + virtual int32 GetLevel(int32 Finger) const; + virtual void SetLevel(int32 Finger, int32 Value); + + virtual bool Equals(const FSGFingerCommandImpl& FingerCommandImpl) const; + + virtual FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGForceFeedbackCommandImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGForceFeedbackCommandImpl.h new file mode 100644 index 00000000..4df153e5 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGForceFeedbackCommandImpl.h @@ -0,0 +1,136 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGFingerCommandImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Haptics + { + class ForceFeedbackCommand; + } +} + +class SENSEGLOVECOREIMPL_API FSGForceFeedbackCommandImpl final : public FSGFingerCommandImpl +{ +public: + typedef SGCore::Haptics::ForceFeedbackCommand FForceFeedbackCommandType; + +public: + static const FSGForceFeedbackCommandImpl& Off(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGForceFeedbackCommandImpl(); + +public: + explicit FSGForceFeedbackCommandImpl(const TArray& ForceFeedbackLevels); + + FSGForceFeedbackCommandImpl(int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + + FSGForceFeedbackCommandImpl(ESGFinger Finger, int32 BuzzLevel); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGForceFeedbackCommandImpl(const FForceFeedbackCommandType& ForceFeedbackCommand); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGForceFeedbackCommandImpl(TSharedRef ForceFeedbackCommand); + +public: + /** + * The copy constructor. + */ + FSGForceFeedbackCommandImpl(const FSGForceFeedbackCommandImpl& Rhs); + + /** + * The move constructor + */ + FSGForceFeedbackCommandImpl(FSGForceFeedbackCommandImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGForceFeedbackCommandImpl() override; + +public: + /** + * The copy assignment operator. + */ + FSGForceFeedbackCommandImpl& operator=(const FSGForceFeedbackCommandImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGForceFeedbackCommandImpl& operator=(FSGForceFeedbackCommandImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FForceFeedbackCommandType& ToForceFeedbackCommand() const; + + /** + * The cast to underlying pointer type method. + */ + TSharedRef ToForceFeedbackCommandRef() const; + +public: + virtual FSGForceFeedbackCommandImpl Copy() const; + + virtual FSGForceFeedbackCommandImpl Merge(const FSGForceFeedbackCommandImpl& Command) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandInterpolatorImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandInterpolatorImpl.h new file mode 100644 index 00000000..fdd37534 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandInterpolatorImpl.h @@ -0,0 +1,165 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +class FSGInterpolationSetImpl; + +namespace SGCore +{ + namespace Kinematics + { + class HandInterpolator; + } +} + +class SENSEGLOVECOREIMPL_API FSGHandInterpolatorImpl final +{ +public: + typedef SGCore::Kinematics::HandInterpolator FHandInterpolatorType; + +public: + static FSGHandInterpolatorImpl Default(bool bRightHanded); + + static FSGHandInterpolatorImpl Deserialize(const FString& SerializedString); + +public: + static TArray InterpolateFingerAngles(ESGFinger Finger, const FSGHandInterpolatorImpl& Interpolator, + const FVector& TotalGloveAngles); + + static TArray InterpolateThumbAngles(const FSGHandInterpolatorImpl& Interpolator, + const FVector& TotalGloveAngles); + + static TArray> InterpolateHandAngles(const FSGHandInterpolatorImpl& Interpolator, + const TArray& TotalAngles); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHandInterpolatorImpl(); + + explicit FSGHandInterpolatorImpl(const TArray>& JointInterpolations); + + FSGHandInterpolatorImpl(const TArray>& JointInterpolations, + const FQuat& CmcStartRotation); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHandInterpolatorImpl(const FHandInterpolatorType& HandInterpolator); + +public: + /** + * The copy constructor. + */ + FSGHandInterpolatorImpl(const FSGHandInterpolatorImpl& Rhs); + + /** + * The move constructor. + */ + FSGHandInterpolatorImpl(FSGHandInterpolatorImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHandInterpolatorImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHandInterpolatorImpl& operator=(const FSGHandInterpolatorImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHandInterpolatorImpl& operator=(FSGHandInterpolatorImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHandInterpolatorType& ToHandInterpolator() const; + +public: + TArray> GetJointInterpolations() const; + + void SetJointInterpolations(const TArray>& JointInterpolations); + + FQuat GetCmcStartRotation() const; + + void SetCmcStartRotation(const FQuat& CmcStartRotation); + +public: + float CalculateAngle(ESGFinger Finger, int32 Movement, float Value) const; + + float CalculateAngle(ESGFinger Finger, ESGFingerMovement Movement, float Value) const; + + float CalculateAngle(ESGFinger Finger, ESGThumbMovement Movement, float Value) const; + +public: + void SetInterpolation(int32 Finger, int32 Movement, float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + void SetInterpolation(ESGFinger Finger, ESGFingerMovement Movement, + float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + void SetInterpolation(ESGThumbMovement Movement, float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + FSGInterpolationSetImpl GetInterpolation(int32 Finger, int32 Movement) const; + +public: + bool Equals(const FSGHandInterpolatorImpl& HandInterpolatorImpl) const; + +public: + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandPoseImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandPoseImpl.h new file mode 100644 index 00000000..c8668a36 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandPoseImpl.h @@ -0,0 +1,163 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +class FSGHandInterpolatorImpl; + +namespace SGCore +{ + class HandPose; +} + +class FSGBasicHandModelImpl; + +class SENSEGLOVECOREIMPL_API FSGHandPoseImpl final +{ +public: + typedef SGCore::HandPose FHandPoseType; + +public: + static FSGHandPoseImpl Deserialize(const FString& SerializedString); + + static FSGHandPoseImpl FromHandAngles(const TArray>& HandAngles, bool bRightHanded, + const FSGBasicHandModelImpl& HandDimensions); + + static FSGHandPoseImpl FromHandAngles(const TArray>& HandAngles, bool bRightHanded); + + static FSGHandPoseImpl DefaultIdle(bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions); + + static FSGHandPoseImpl DefaultIdle(bool bRightHanded); + + static FSGHandPoseImpl FlatHand(bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions); + + static FSGHandPoseImpl FlatHand(bool bRightHanded); + + static FSGHandPoseImpl ThumbsUp(bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions); + + static FSGHandPoseImpl ThumbsUp(bool bRightHanded); + + static FSGHandPoseImpl Fist(bool bRightHanded, const FSGBasicHandModelImpl& HandDimensions); + + static FSGHandPoseImpl Fist(bool bRightHanded); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHandPoseImpl(); + + FSGHandPoseImpl(bool bRightHanded, const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& HandAngles); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHandPoseImpl(const FHandPoseType& SenseGloveHandPose); + +public: + /** + * The copy constructor. + */ + FSGHandPoseImpl(const FSGHandPoseImpl& Rhs); + + /** + * The move constructor. + */ + FSGHandPoseImpl(FSGHandPoseImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHandPoseImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHandPoseImpl& operator=(const FSGHandPoseImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHandPoseImpl& operator=(FSGHandPoseImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHandPoseType& ToHandPose() const; + +public: + bool IsRight() const; + void SetIsRight(bool bRightHanded) const; + + TArray> GetJointPositions() const; + void SetJointPositions(const TArray>& JointPositions) const; + + TArray> GetJointRotations() const; + void SetJointRotations(const TArray>& JointRotations) const; + + TArray> GetHandAngles() const; + void SetHandAngles(const TArray>& HandAngles) const; + +public: + bool Equals(const FSGHandPoseImpl& HandPoseImpl) const; + + float GetNormalizedFlexion(ESGFinger Finger, bool bClamp01 = true) const; + + TArray GetNormalizedFlexion(bool bClamp01 = true) const; + +public: + FString ToString(bool bShortFormat = false) const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandProfileImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandProfileImpl.h new file mode 100644 index 00000000..33a0ef1a --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHandProfileImpl.h @@ -0,0 +1,156 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +class FSGHandInterpolatorImpl; + +namespace SGCore +{ + class HandProfile; +} + +class FSGNovaGloveHandProfileImpl; +class FSGSenseGloveHandProfileImpl; + +class SENSEGLOVECOREIMPL_API FSGHandProfileImpl final +{ +public: + typedef SGCore::HandProfile FHandProfileType; + +public: + static FSGHandProfileImpl Default(bool bRightHanded); + + static FSGHandProfileImpl Deserialize(const FString& SerializedString); + +public: + static const FString& GetProfileDirectory(); + + static const FString& GetLeftHandFileName(); + + static const FString& GetRightHandFileName(); + + static const FString& GetProfileFileName(bool bRightHanded); + + static bool GetLatestProfile(bool bRightHanded, FSGHandProfileImpl& OutLatestProfile); + + static bool StoreProfile(const FSGHandProfileImpl& ProfileToStore); + + static bool ResetCalibration(bool bRightHanded, bool bOnDisk = true); + + static void ResetCalibration(bool bOnDisk = true); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHandProfileImpl(); + + FSGHandProfileImpl(bool bRightHanded, + const FSGSenseGloveHandProfileImpl& SenseGloveHandProfile, + const FSGNovaGloveHandProfileImpl& NovaGloveHandProfile); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHandProfileImpl(const FHandProfileType& SenseGloveHandProfile); + +public: + /** + * The copy constructor. + */ + FSGHandProfileImpl(const FSGHandProfileImpl& Rhs); + + /** + * The move constructor. + */ + FSGHandProfileImpl(FSGHandProfileImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHandProfileImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHandProfileImpl& operator=(const FSGHandProfileImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHandProfileImpl& operator=(FSGHandProfileImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHandProfileType& ToHandProfile() const; + +public: + bool IsRight() const; + + void SetIsRight(bool bRightHanded) const; + + FSGSenseGloveHandProfileImpl GetSenseGloveHandProfile() const; + + void SetSenseGloveHandProfile(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfile); + + FSGNovaGloveHandProfileImpl GetNovaGloveHandProfile() const; + + void SetNovaGloveHandProfile(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfile); + +public: + bool Equals(const FSGHandProfileImpl& HandProfileImpl) const; + + void Reset(); + +public: + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.h new file mode 100644 index 00000000..b24fd7d4 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationCheckImpl.h @@ -0,0 +1,153 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Calibration + { + class HapticGloveCalibrationCheck; + } +} + +class FSGSensorRangeImpl; + +class SENSEGLOVECOREIMPL_API FSGHapticGloveCalibrationCheckImpl +{ +public: + typedef SGCore::Calibration::HapticGloveCalibrationCheck FHapticGloveCalibrationCheckType; + +public: + static float GetSenseGloveThreshold(); + + static float GetNovaGloveThreshold(); + + static float GetSenseGloveMinFlexion(); + + static float GetNovaGloveMinFlexion(); + + static float GetSenseGloveMinAbduction(); + + static float GetNovaGloveMinAbduction(); + +public: + static bool NeedsCheck(ESGDeviceType DeviceType); + + static int32 OutOfBounds(const FSGSensorRangeImpl& PreviousRange, const TArray& CurrentValues, + ESGDeviceType DeviceType); + + static bool MovedMinimum(const TArray& CurrentRange, ESGDeviceType DeviceType); + + static bool MatchesLast(const TArray& CurrentRange, const TArray& LastRange, + ESGDeviceType DeviceType); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHapticGloveCalibrationCheckImpl(); + + explicit FSGHapticGloveCalibrationCheckImpl(const FSGSensorRangeImpl& LastCalibrationRange); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHapticGloveCalibrationCheckImpl( + const FHapticGloveCalibrationCheckType& HapticGloveCalibrationCheck); + +public: + /** + * The copy constructor. + */ + FSGHapticGloveCalibrationCheckImpl(const FSGHapticGloveCalibrationCheckImpl& Rhs); + + /** + * The move constructor. + */ + FSGHapticGloveCalibrationCheckImpl(FSGHapticGloveCalibrationCheckImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHapticGloveCalibrationCheckImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHapticGloveCalibrationCheckImpl& operator=(const FSGHapticGloveCalibrationCheckImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHapticGloveCalibrationCheckImpl& operator=(FSGHapticGloveCalibrationCheckImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHapticGloveCalibrationCheckType& ToHapticGloveCalibrationCheck() const; + +public: + FSGSensorRangeImpl GetLastSensorRange() const; + void SetLastSensorRange(const FSGSensorRangeImpl& LastSensorRange); + +public: + ESGCalibrationStage GetCalibrationStage() const; + + bool ReachedConclusion() const; + +public: + virtual void Reset(); + + void CheckRange(const TArray& CurrentValues, float DeltaSeconds, ESGDeviceType DeviceType); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h new file mode 100644 index 00000000..43687c17 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h @@ -0,0 +1,192 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Calibration + { + class HapticGloveCalibrationSequence; + } +} + +class FSGCalibrationDataPointImpl; +class FSGHandPoseImpl; +class FSGHandProfileImpl; +class FSGHapticGloveImpl; +class FSGHapticGloveQuickCalibrationImpl; +class FSGSensorRangeImpl; + +class SENSEGLOVECOREIMPL_API FSGHapticGloveCalibrationSequenceImpl + : public TSharedFromThis +{ +public: + typedef SGCore::Calibration::HapticGloveCalibrationSequence FHapticGloveCalibrationSequenceType; + +public: + static int32 GetMaxDataPoints(); + +public: + static bool CompileProfile(const FSGSensorRangeImpl& SensorRange, ESGDeviceType ForDevice, bool bRightHanded, + FSGHandProfileImpl& OutProfile); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHapticGloveCalibrationSequenceImpl(); + + explicit FSGHapticGloveCalibrationSequenceImpl(TSharedRef LinkedGlove); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHapticGloveCalibrationSequenceImpl( + const FHapticGloveCalibrationSequenceType& HapticGloveCalibrationSequence); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGHapticGloveCalibrationSequenceImpl( + TSharedRef HapticGloveCalibrationSequence); + +public: + /** + * The copy constructor. + */ + FSGHapticGloveCalibrationSequenceImpl(const FSGHapticGloveCalibrationSequenceImpl& Rhs); + + /** + * The move constructor. + */ + FSGHapticGloveCalibrationSequenceImpl(FSGHapticGloveCalibrationSequenceImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHapticGloveCalibrationSequenceImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHapticGloveCalibrationSequenceImpl& operator=(const FSGHapticGloveCalibrationSequenceImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHapticGloveCalibrationSequenceImpl& operator=(FSGHapticGloveCalibrationSequenceImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHapticGloveCalibrationSequenceType& ToHapticGloveCalibrationSequence() const; + + /** + * The cast to underlying pointer type method. + */ + TSharedRef ToHapticGloveCalibrationSequenceRef() const; + +public: + /** + * The cast to base TSharedRef type method. + */ + TSharedRef ToHapticGloveCalibrationSequenceImplRef(); + + /** + * The cast to derived TSharedRef type method. + */ + TSharedRef ToHapticGloveQuickCalibrationImplRef(); + +public: + TSharedRef GetLinkedGlove() const; + + void SetLinkedGlove(const TSharedRef LinkedGlove); + + TArray GetCalibrationPoints() const; + + float GetElapsedTime() const; + + bool IsManuallyCompleted() const; + + virtual int32 GetCurrentStage() const; + + SIZE_T GetCalibrationPointsCount() const; + + virtual bool AutoCompleted() const; + + virtual bool Completed() const; + +public: + virtual void Reset(); + + virtual void AddDataPoint(const TArray& CalibrationPoints); + + virtual void Update(float DeltaSeconds); + + virtual void ConfirmCurrentStep(); + +public: + virtual bool CompileRange(FSGSensorRangeImpl& OutSensorRange) const; + + virtual bool CompileProfile(ESGDeviceType ForDevice, bool bRightHanded, FSGHandProfileImpl& OutProfile) const; + + bool GetHandPose(FSGHandPoseImpl& OutCurrentHandPose) const; + + virtual bool GetHandPose(bool bRightHanded, FSGHandPoseImpl& OutCurrentHandPose) const; + + virtual FString GetCurrentInstruction(const FString& NextStepKey = FString{""}) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCommandBufferImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCommandBufferImpl.h new file mode 100644 index 00000000..65b0c929 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveCommandBufferImpl.h @@ -0,0 +1,168 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Haptics + { + class HapticGloveCommandBuffer; + } +} + +class FSGBuzzCommandImpl; +class FSGFingerCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGThumperCommandImpl; +class FSGTimedBuzzCommandImpl; +class FSGTimedThumpCommandImpl; + +class SENSEGLOVECOREIMPL_API FSGHapticGloveCommandBufferImpl final +{ +public: + typedef SGCore::Haptics::HapticGloveCommandBuffer FHapticGloveCommandBufferType; + +public: + static int32 GetMaxForceFeedbackCommands(); + + static int32 GetMaxBuzzCommands(); + + static int32 GetMaxThumpCommands(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHapticGloveCommandBufferImpl(); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHapticGloveCommandBufferImpl(const FHapticGloveCommandBufferType& HapticGloveCommandBuffer); + +public: + /** + * The copy constructor. + */ + FSGHapticGloveCommandBufferImpl(const FSGHapticGloveCommandBufferImpl& Rhs); + + /** + * The move constructor. + */ + FSGHapticGloveCommandBufferImpl(FSGHapticGloveCommandBufferImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHapticGloveCommandBufferImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHapticGloveCommandBufferImpl& operator=(const FSGHapticGloveCommandBufferImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHapticGloveCommandBufferImpl& operator=(FSGHapticGloveCommandBufferImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHapticGloveCommandBufferType& ToHapticGloveCommandBuffer() const; + +public: + TArray GetForceFeedbackCommandsQueue() const; + void SetForceFeedbackCommandsQueue(const TArray& ForceFeedbackCommandsQueue); + + TArray GetBuzzCommandsQueue() const; + void SetBuzzCommandsQueue(const TArray& TimedBuzzCommandsQueue); + + TArray GetThumperCommandsQueue() const; + void SetThumperCommandsQueue(const TArray& TimedThumpCommandsQueue); + +public: + void ClearForceFeedbackCommandsQueue(); + + void ClearVibrations(); + + void Clear(); + + void AddCommand(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand); + + void AddCommand(const FSGTimedBuzzCommandImpl& BuzzCommand); + + void AddCommand(const FSGTimedThumpCommandImpl& ThumpCommand); + + void UpdateTimedCommands(float DeltaSeconds); + +public: + FSGForceFeedbackCommandImpl GetTotalForceFeedbackLevels( + const FSGForceFeedbackCommandImpl& LastForceFeedbackCommand) const; + + FSGForceFeedbackCommandImpl GetTotalForceFeedbackLevels() const; + + FSGBuzzCommandImpl GetTotalBuzzLevels() const; + + FSGThumperCommandImpl GetTotalThumperLevels() const; + +public: + void FlushHaptics(const FSGForceFeedbackCommandImpl& LastBrakeLevel, + FSGForceFeedbackCommandImpl& OutForceFeedbackCommand, + FSGBuzzCommandImpl& OutBuzzCommand, FSGThumperCommandImpl& OutThumperCommand, + bool bClearForceFeedbackQueue = true); + + void FlushHaptics(float DeltaSeconds, const FSGForceFeedbackCommandImpl& LastBrakeLevel, + FSGForceFeedbackCommandImpl& OutForceFeedbackCommand, FSGBuzzCommandImpl& OutBuzzCommand, + FSGThumperCommandImpl& OutThumperCommand); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveHandProfilesImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveHandProfilesImpl.h new file mode 100644 index 00000000..1d74dc52 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveHandProfilesImpl.h @@ -0,0 +1,87 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/SharedPointer.h" + +class FSGHandProfileImpl; +class FSGHapticGloveImpl; +class FSGSensorRangeImpl; + +namespace SGCore +{ + class HapticGloveHandProfiles; +} + +class SENSEGLOVECOREIMPL_API FSGHapticGloveHandProfilesImpl final +{ +public: + typedef SGCore::HapticGloveHandProfiles FHapticGloveHandProfilesType; + +public: + static const FString& GetProfileDirectory(); + + static void SetProfileDirectory(const FString& Directory); + + static void GetLeftHandProfile(FSGHandProfileImpl& OutHandProfileImpl); + + static void SetLeftHandProfile(const FSGHandProfileImpl& HandProfileImpl); + + static void GetRightHandProfile(FSGHandProfileImpl& OutHandProfileImpl); + + static void SetRightHandProfile(const FSGHandProfileImpl& HandProfileImpl); + + static void GetProfile(bool bRightHanded, FSGHandProfileImpl& OutHandProfileImpl); + + static void SetProfile(const FSGHandProfileImpl& HandProfileImpl); + + static void SetProfile(const FSGHandProfileImpl& HandProfileImpl, bool bRightHanded); + + static void RestoreDefaults(); + + static void RestoreDefaults(bool bRightHanded); + + static void TryLoadingFromDisk(); + + static bool SaveLastRange(const FSGSensorRangeImpl& CurrentRange, const TSharedRef ForGlove); + + static bool LoadLastRange(const TSharedRef ForGlove, FSGSensorRangeImpl& OutLastRange); + +public: + FSGHapticGloveHandProfilesImpl() = delete; + virtual ~FSGHapticGloveHandProfilesImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveImpl.h new file mode 100644 index 00000000..3df65122 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveImpl.h @@ -0,0 +1,207 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 +#include + +#include "Containers/Array.h" +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Runtime/Launch/Resources/Version.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGDeviceImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + class HapticGlove; +} + +class FSGBasicHandModelImpl; +class FSGBuzzCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGHandPoseImpl; +class FSGHandProfileImpl; +class FSGThumperCommandImpl; + +class SENSEGLOVECOREIMPL_API FSGHapticGloveImpl : public FSGDeviceImpl +{ +#if ENGINE_MAJOR_VERSION >= 5 + friend class SharedPointerInternals::TIntrusiveReferenceController; +#else + friend class SharedPointerInternals::TIntrusiveReferenceController; +#endif /* ENGINE_MAJOR_VERSION >= 5 */ + +public: + typedef SGCore::HapticGlove FHapticGloveType; + +public: + typedef std::shared_ptr FHapticGlovePtrType; + typedef std::vector FHapticGlovePtrVectorType; + +public: + static TArray> GetHapticGloves(); + + static bool GetGlove(TSharedPtr& OutGlove); + + static bool GetGlove(bool bRightHanded, TSharedPtr& OutGlove); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHapticGloveImpl(); + +public: + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGHapticGloveImpl(const FHapticGlovePtrType HapticGlove); + +public: + /** + * The copy constructor. + */ + FSGHapticGloveImpl(const FSGHapticGloveImpl& Rhs); + + /** + * The move constructor. + */ + FSGHapticGloveImpl(FSGHapticGloveImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHapticGloveImpl() override; + +public: + /** + * The copy assignment operator. + */ + FSGHapticGloveImpl& operator=(const FSGHapticGloveImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHapticGloveImpl& operator=(FSGHapticGloveImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying pointer type method. + */ + FHapticGlovePtrType ToHapticGlovePtr() const; + + /** + * The checked cast to underlying pointer type method. + */ + FHapticGlovePtrType ToHapticGlovePtrChecked() const; + +public: + virtual ESGDeviceType GetDeviceType() const override; + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + virtual int32 GetFirmwareVersion() const override; + virtual int32 GetSubFirmwareVersion() const override; + + virtual bool IsRight() const; + + virtual bool GetImuRotation(FQuat& OutImu); + + virtual bool GetHandPose(const FSGBasicHandModelImpl& HandGeometry, const FSGHandProfileImpl& HandProfile, + FSGHandPoseImpl& OutHandPose); + + virtual bool GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose); + + virtual bool GetHandPose(const FSGBasicHandModelImpl& HandGeometry, FSGHandPoseImpl& OutHandPose); + + virtual bool GetHandPose(FSGHandPoseImpl& OutHandPose); + +public: + virtual void StopHaptics(); + + virtual void StopVibrations(); + + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand); + + virtual void SendHaptics(const FSGBuzzCommandImpl& BuzzCommand); + + virtual void SendHaptics(const FSGThumperCommandImpl& ThumperCommand); + + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand); + + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand, + const FSGThumperCommandImpl& ThumperCommand); + +public: + virtual bool GetCalibrationValues(TArray& OutValues); + + virtual void ResetCalibrationRange(); + + virtual void UpdateCalibrationRange(); + + virtual void UpdateCalibrationRange(const TArray& CalibrationValues); + + virtual void GetCalibrationRange(TArray& OutMinValues, + TArray& OutMaxValues); + + virtual void UpdateCalibration(FSGHandProfileImpl& OutProfile); + + virtual void ApplyCalibration(FSGHandProfileImpl& OutProfile) const; + +public: + virtual void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const; + + virtual void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h new file mode 100644 index 00000000..9e82e33e --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h @@ -0,0 +1,157 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h" + +namespace SGCore +{ + namespace Calibration + { + class HapticGloveQuickCalibration; + } +} + +class FSGHandPoseImpl; +class FSGHandProfileImpl; +class FSGHapticGloveImpl; +class FSGSensorRangeImpl; + +class SENSEGLOVECOREIMPL_API FSGHapticGloveQuickCalibrationImpl final : public FSGHapticGloveCalibrationSequenceImpl +{ +public: + typedef SGCore::Calibration::HapticGloveQuickCalibration FHapticGloveQuickCalibrationType; + +public: + static float GetDefaultAutoEndTimeout(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGHapticGloveQuickCalibrationImpl(); + + explicit FSGHapticGloveQuickCalibrationImpl(TSharedRef GloveToCalibrate, + float AutoEndTimeout = GetDefaultAutoEndTimeout()); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGHapticGloveQuickCalibrationImpl(const FHapticGloveQuickCalibrationType& HapticGloveQuickCalibration); + +public: + /** + * The copy constructor. + */ + FSGHapticGloveQuickCalibrationImpl(const FSGHapticGloveQuickCalibrationImpl& Rhs); + + /** + * The move constructor. + */ + FSGHapticGloveQuickCalibrationImpl(FSGHapticGloveQuickCalibrationImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGHapticGloveQuickCalibrationImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGHapticGloveQuickCalibrationImpl& operator=(const FSGHapticGloveQuickCalibrationImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGHapticGloveQuickCalibrationImpl& operator=(FSGHapticGloveQuickCalibrationImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FHapticGloveQuickCalibrationType& ToHapticGloveQuickCalibration() const; + + /** + * The cast to underlying pointer type method. + */ + TSharedRef ToHapticGloveQuickCalibrationRef() const; + +public: + float GetAutoEndTimeout() const; + + void SetAutoEndTimeout(float AutoEndTimeout); + + int32 GetSmoothingSamples() const; + + FSGSensorRangeImpl GetSensorRange() const; + + FSGHandProfileImpl GetTemporaryProfile() const; + + bool CanAnimate() const; + +public: + virtual bool AutoCompleted() const override; + +public: + virtual void Reset() override; + + virtual void Update(float DeltaSeconds) override; + + virtual void AddDataPoint(const TArray& CalibrationData) override; + + virtual void ConfirmCurrentStep() override; + + virtual bool CompileRange(FSGSensorRangeImpl& OutSensorRange) const override; + + virtual bool GetHandPose(bool bRightHanded, FSGHandPoseImpl& OutCurrentHandPose) const override; + + virtual FString GetCurrentInstruction(const FString& NextStepKey = FString{""}) const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGInterpolationSetImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGInterpolationSetImpl.h new file mode 100644 index 00000000..2841997b --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGInterpolationSetImpl.h @@ -0,0 +1,152 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Kinematics + { + class InterpolationSet; + } +} + +class SENSEGLOVECOREIMPL_API FSGInterpolationSetImpl final +{ +public: + typedef SGCore::Kinematics::InterpolationSet FInterpolationSetType; + +public: + static FSGInterpolationSetImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGInterpolationSetImpl(); + + FSGInterpolationSetImpl(float From1, float From2, float To1, float To2); + + FSGInterpolationSetImpl(float From1, float From2, float To1, float To2, float Min, float Max); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGInterpolationSetImpl(const FInterpolationSetType& InterpolationSet); + +public: + /** + * The copy constructor. + */ + FSGInterpolationSetImpl(const FSGInterpolationSetImpl& Rhs); + + /** + * The move constructor. + */ + FSGInterpolationSetImpl(FSGInterpolationSetImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGInterpolationSetImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGInterpolationSetImpl& operator=(const FSGInterpolationSetImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGInterpolationSetImpl& operator=(FSGInterpolationSetImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FInterpolationSetType& ToInterpolationSet() const; + +public: + float GetX0() const; + + void SetX0(float X0); + + float GetX1() const; + + void SetX1(float X1); + + float GetY0() const; + + void SetY0(float Y0); + + float GetY1() const; + + void SetY1(float Y1); + + float GetMin() const; + + void SetMin(float Min); + + float GetMax() const; + + void SetMax(float Max); + +public: + float Get(float Value, bool bLimit, bool bNormalizeAngle = false) const; + +public: + bool Equals(const FSGInterpolationSetImpl& InterpolationSetImpl) const; + +public: + FString ToString() const; + + FString ToString(bool bLimits) const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGJointKinematicsImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGJointKinematicsImpl.h new file mode 100644 index 00000000..165eed39 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGJointKinematicsImpl.h @@ -0,0 +1,66 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGTypes/SGCoreTypes.h" + +class FSGBasicHandModelImpl; + +namespace SGCore +{ + namespace Kinematics + { + class JointKinematics; + } +} + +class SENSEGLOVECOREIMPL_API FSGJointKinematicsImpl final +{ +public: + typedef SGCore::Kinematics::JointKinematics FJointKinematicsType; + +public: + static bool ForwardKinematics(const FVector& StartPosition, const FQuat& StartRotation, + const TArray& JointLengths, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations); + + static bool ForwardKinematics( + const FSGBasicHandModelImpl& Profile, ESGFinger Finger, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGLibraryImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGLibraryImpl.h new file mode 100644 index 00000000..10eba629 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGLibraryImpl.h @@ -0,0 +1,60 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + class Library; +} + +class SENSEGLOVECOREIMPL_API FSGLibraryImpl final +{ +public: + typedef SGCore::Library FLibraryType; + +public: + static FString Version(); + + static ESGBackendType GetBackendType(); + + static FString BackendVersion(); + + static FString SGConnectVersion(); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveCalibrationImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveCalibrationImpl.h new file mode 100644 index 00000000..a806999b --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveCalibrationImpl.h @@ -0,0 +1,72 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" + +class FSGNovaGloveHandProfileImpl; + +namespace SGCore +{ + namespace Calibration + { + class NovaGloveCalibration; + } +} + +class SENSEGLOVECOREIMPL_API FSGNovaGloveCalibrationImpl final +{ +public: + typedef SGCore::Calibration::NovaGloveCalibration FNovaGloveCalibrationType; + +public: + static void ApplyDefaultCalibrationInterpolationValues( + const TArray& RetractedValues, + const TArray& ExtendedValues, + const FSGNovaGloveHandProfileImpl& Profile); + + static void ApplyInterpolationValues( + const TArray& RetractedValues, + const TArray& ExtendedValues, + const TArray>& RetractedAngles, + const TArray>& ExtendedAngles, + const FSGNovaGloveHandProfileImpl& Profile); + +public: + FSGNovaGloveCalibrationImpl() = delete; + virtual ~FSGNovaGloveCalibrationImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveHandProfileImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveHandProfileImpl.h new file mode 100644 index 00000000..e254c740 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveHandProfileImpl.h @@ -0,0 +1,134 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGHandInterpolatorImpl.h" +#include "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +class FSGHandInterpolatorImpl; + +namespace SGCore +{ + namespace Nova + { + class NovaGloveHandProfile; + } +} + +class SENSEGLOVECOREIMPL_API FSGNovaGloveHandProfileImpl final +{ +public: + typedef SGCore::Nova::NovaGloveHandProfile FNovaGloveHandProfileType; + +public: + static FSGNovaGloveHandProfileImpl Default(bool bRightHanded); + + static FSGNovaGloveHandProfileImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGNovaGloveHandProfileImpl(); + + FSGNovaGloveHandProfileImpl(bool bRightHanded, const FSGHandInterpolatorImpl& Interpolator); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGNovaGloveHandProfileImpl(const FNovaGloveHandProfileType& NovaGloveHandProfile); + +public: + /** + * The copy constructor. + */ + FSGNovaGloveHandProfileImpl(const FSGNovaGloveHandProfileImpl& Rhs); + + /** + * The move constructor. + */ + FSGNovaGloveHandProfileImpl(FSGNovaGloveHandProfileImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGNovaGloveHandProfileImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGNovaGloveHandProfileImpl& operator=(const FSGNovaGloveHandProfileImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGNovaGloveHandProfileImpl& operator=(FSGNovaGloveHandProfileImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FNovaGloveHandProfileType& ToNovaGloveHandProfile() const; + +public: + bool IsRight() const; + + void SetIsRight(bool bRightHanded); + + FSGHandInterpolatorImpl GetInterpolationSet() const; + + void SetInterpolationSet(const FSGHandInterpolatorImpl& InterpolationSet); + +public: + bool Equals(const FSGNovaGloveHandProfileImpl& NovaGloveHandProfileImpl) const; + + void Reset(); + +public: + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveImpl.h new file mode 100644 index 00000000..9f2640d2 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveImpl.h @@ -0,0 +1,260 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 +#include + +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Runtime/Launch/Resources/Version.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGHapticGloveImpl.h" + +namespace SGCore +{ + namespace Nova + { + class NovaGlove; + } +} + +class FSGBasicHandModelImpl; +class FSGBuzzCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGHandPoseImpl; +class FSGHandProfileImpl; +class FSGNovaGloveHandProfileImpl; +class FSGNovaGloveInfoImpl; +class FSGNovaGloveSensorDataImpl; +class FSGThumperCommandImpl; + +class SENSEGLOVECOREIMPL_API FSGNovaGloveImpl final : public FSGHapticGloveImpl +{ +#if ENGINE_MAJOR_VERSION >= 5 + friend class SharedPointerInternals::TIntrusiveReferenceController; +#else + friend class SharedPointerInternals::TIntrusiveReferenceController; +#endif /* ENGINE_MAJOR_VERSION >= 5 */ + +public: + typedef SGCore::Nova::NovaGlove FNovaGloveType; + + typedef std::vector FNovaGloveVectorType; + + typedef std::shared_ptr FNovaGlovePtrType; + typedef std::vector FNovaGlovePtrVectorType; + +public: + static ANSICHAR GetHapticsByte(); + + static const FVector& GetMinCalibrationRange(); + +public: + static FSGHandPoseImpl CalculateHandPose(const FSGBasicHandModelImpl& HandModel, + const FSGNovaGloveSensorDataImpl& NovaData, + const FSGNovaGloveHandProfileImpl& Profile); + +public: + static TSharedRef Parse(const FString& ConstantsString); + + static TArray GetNovaGloves(); + + static bool GetNovaGlove(FSGNovaGloveImpl& OutGlove); + + static bool GetNovaGlove(bool bRightHanded, FSGNovaGloveImpl& OutGlove); + +public: + static TArray GetCalibrationValues(const FSGNovaGloveSensorDataImpl& SensorData); + + static void CalibrateInterpolation(const TArray& MinValues, const TArray& MaxValues, + FSGNovaGloveHandProfileImpl& OutProfile); + +public: + static void CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, bool bRightHanded, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + static void CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, bool bRightHanded, + FVector& OutWristPosition, FQuat& OutWristRotation); + +public: + static FString ToBytes(const FSGThumperCommandImpl& ThumperCommand); + + static FString ToBytes(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand); + + static FString ToBytes(const FSGBuzzCommandImpl& BuzzCommand); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGNovaGloveImpl(); + + explicit FSGNovaGloveImpl(const FSGNovaGloveInfoImpl DeviceInfo); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGNovaGloveImpl(const FNovaGloveType NovaGlove); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGNovaGloveImpl(const FNovaGlovePtrType NovaGlove); + +public: + /** + * The copy constructor. + */ + FSGNovaGloveImpl(const FSGNovaGloveImpl& Rhs); + + /** + * The move constructor. + */ + FSGNovaGloveImpl(FSGNovaGloveImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGNovaGloveImpl() override; + +public: + /** + * The copy assignment operator. + */ + FSGNovaGloveImpl& operator=(const FSGNovaGloveImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGNovaGloveImpl& operator=(FSGNovaGloveImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FNovaGloveType& ToNovaGlove() const; + + /** + * The cast to underlying pointer type method. + */ + FNovaGlovePtrType ToNovaGlovePtr() const; + + /** + * The checked cast to underlying pointer type method. + */ + FNovaGlovePtrType ToNovaGlovePtrChecked() const; + +public: + virtual ESGDeviceType GetDeviceType() const override; + + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + + virtual int32 GetFirmwareVersion() const override; + + virtual int32 GetSubFirmwareVersion() const override; + +public: + virtual bool HasBattery() const override; + + virtual bool IsCharging() override; + + virtual bool GetBatteryLevel(float& OutBatteryLevel) override; + +public: + bool GetSensorData(FSGNovaGloveSensorDataImpl& OutSensorData); + + virtual bool GetImuRotation(FQuat& OutImu) override; + + /// HACK + /// 'FSGNovaGloveImpl::GetHandPose' hides overloaded virtual functions [-Werror,-Woverloaded-virtual] + /// tell the compiler we want both the GetHandPose from FSGHapticGloveImpl and FSGNovaGloveImpl + using FSGHapticGloveImpl::GetHandPose; + + bool GetHandPose(const FSGBasicHandModelImpl& HandModel, const FSGNovaGloveHandProfileImpl& Profile, + FSGHandPoseImpl& OutHandPose); + + virtual bool GetHandPose(const FSGBasicHandModelImpl& HandGeometry, const FSGHandProfileImpl& HandProfile, + FSGHandPoseImpl& OutHandPose) override; + + virtual bool GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose) override; + +public: + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand, + const FSGThumperCommandImpl& ThumperCommand) override; + + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) override; + + virtual void SendHaptics(const FSGBuzzCommandImpl& BuzzCommand) override; + + virtual void SendHaptics(const FSGThumperCommandImpl& ThumperCommand) override; + +public: + virtual bool GetCalibrationValues(TArray& OutValues) override; + + virtual void ApplyCalibration(FSGHandProfileImpl& OutProfile) const override; + + void ApplyCalibration(FSGNovaGloveHandProfileImpl& OutProfile) const; + +public: + virtual void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const override; + + virtual void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const override; + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveInfoImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveInfoImpl.h new file mode 100644 index 00000000..5ec77ef6 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveInfoImpl.h @@ -0,0 +1,148 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Nova + { + class NovaGloveInfo; + } +} + +class SENSEGLOVECOREIMPL_API FSGNovaGloveInfoImpl final +{ +public: + typedef SGCore::Nova::NovaGloveInfo FNovaGloveInfoType; + +public: + static bool Parse(const FString& ConstantsString, FSGNovaGloveInfoImpl& OutGloveInfo); + + static FSGNovaGloveInfoImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGNovaGloveInfoImpl(); + + FSGNovaGloveInfoImpl(const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, const FQuat& ImuCorrection, int32 NumberOfSensors); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGNovaGloveInfoImpl(const FNovaGloveInfoType& GloveInfo); + +public: + /** + * The copy constructor. + */ + FSGNovaGloveInfoImpl(const FSGNovaGloveInfoImpl& Rhs); + + /** + * The move constructor. + */ + FSGNovaGloveInfoImpl(FSGNovaGloveInfoImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGNovaGloveInfoImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGNovaGloveInfoImpl& operator=(const FSGNovaGloveInfoImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGNovaGloveInfoImpl& operator=(FSGNovaGloveInfoImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FNovaGloveInfoType& ToNovaGloveInfo() const; + +public: + FString GetDeviceId() const; + void SetDeviceId(const FString& DeviceId); + + FString GetHardwareVersion() const; + void SetHardwareVersion(const FString& HardwareVersion); + + int32 GetFirmwareVersion() const; + void SetFirmwareVersion(int32 FirmwareVersion); + + int32 GetSubFirmwareVersion() const; + void SetSubFirmwareVersion(int32 SubFirmwareVersion); + + bool IsRight() const; + void SetIsRight(bool bRightHanded); + + FQuat GetImuCorrection() const; + void SetImuCorrection(const FQuat& ImuCorrection); + + int32 GetNumberOfSensors() const; + void SetNumberOfSensors(int32 NumberOfSensors); + +public: + bool Equals(const FSGNovaGloveInfoImpl& SGNovaGloveInfo) const; + +public: + FString ToString() const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveSensorDataImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveSensorDataImpl.h new file mode 100644 index 00000000..eb65a81d --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGNovaGloveSensorDataImpl.h @@ -0,0 +1,148 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Nova + { + class NovaGloveSensorData; + } +} + +class FSGNovaGloveInfoImpl; + +class SENSEGLOVECOREIMPL_API FSGNovaGloveSensorDataImpl final +{ +public: + typedef SGCore::Nova::NovaGloveSensorData FNovaGloveSensorDataType; + +public: + static const FSGNovaGloveSensorDataImpl& Empty(); + + static FSGNovaGloveSensorDataImpl Parse(const FString& RawData, const FSGNovaGloveInfoImpl& GloveInfo); + + static FSGNovaGloveSensorDataImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGNovaGloveSensorDataImpl(); + + FSGNovaGloveSensorDataImpl(const TArray& Values, int32 ParsedValues, + const FQuat& ImuRotation, bool bImuParsed, float BatteryLevel, bool bCharging); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGNovaGloveSensorDataImpl(const FNovaGloveSensorDataType& NovaGloveSensorData); + +public: + /** + * The copy constructor. + */ + FSGNovaGloveSensorDataImpl(const FSGNovaGloveSensorDataImpl& Rhs); + + /** + * The move constructor. + */ + FSGNovaGloveSensorDataImpl(FSGNovaGloveSensorDataImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGNovaGloveSensorDataImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGNovaGloveSensorDataImpl& operator=(const FSGNovaGloveSensorDataImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGNovaGloveSensorDataImpl& operator=(FSGNovaGloveSensorDataImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FNovaGloveSensorDataType& ToNovaGloveSensorData() const; + +public: + TArray GetSensorValues() const; + void SetSensorValues(const TArray& SensorValues) const; + + FQuat GetImuRotation() const; + void SetImuRotation(const FQuat& ImuRotation); + + int32 GetParsedValues() const; + void SetParsedValues(int32 ParsedValues); + + bool IsImuParsed() const; + void SetImuParsed(bool bImuParsed); + +public: + float GetBatteryLevel() const; + void SetBatteryLevel(float BatteryLevel); + + bool IsCharging() const; + void SetIsCharging(bool bCharging); + +public: + bool Equals(const FSGNovaGloveSensorDataImpl& NovaGloveSensorDataImpl) const; + +public: + FString ToString() const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseComImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseComImpl.h new file mode 100644 index 00000000..19445c82 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseComImpl.h @@ -0,0 +1,66 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" + +namespace SGCore +{ + class SenseCom; +} + +class SENSEGLOVECOREIMPL_API FSGSenseComImpl final +{ +public: + typedef SGCore::SenseCom FSenseComType; + +public: + static bool RegisterExe(); + + static bool RegisterExe(const FString& ExePath); + + static bool GetExePath(FString& OutExePath); + + static bool ScanningActive(); + + static bool GetCurrentExeDirectory(FString& OutDirectory); + + static bool StartupSenseCom(); + +public: + FSGSenseComImpl() = delete; + virtual ~FSGSenseComImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveHandProfileImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveHandProfileImpl.h new file mode 100644 index 00000000..100820f7 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveHandProfileImpl.h @@ -0,0 +1,153 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +class FSGHandInterpolatorImpl; + +namespace SGCore +{ + namespace SG + { + class SenseGloveHandProfile; + } +} + +class SENSEGLOVECOREIMPL_API FSGSenseGloveHandProfileImpl final +{ +public: + typedef SGCore::SG::SenseGloveHandProfile FSenseGloveHandProfileType; + +public: + static FSGSenseGloveHandProfileImpl Default(bool bRightHanded); + + static FSGSenseGloveHandProfileImpl Deserialize(const FString& SerializedString); + +public: + static const FVector& GetDefaultThimbleOffset(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGSenseGloveHandProfileImpl(); + + FSGSenseGloveHandProfileImpl(bool bRightHanded, const FSGHandInterpolatorImpl& Interpolator, + ESGThumbSolver ThumbSolver, ESGFingerSolver FingerSolver, + const TArray& FingerThimbleOffset); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGSenseGloveHandProfileImpl(const FSenseGloveHandProfileType& SenseGloveHandProfile); + +public: + /** + * The copy constructor. + */ + FSGSenseGloveHandProfileImpl(const FSGSenseGloveHandProfileImpl& Rhs); + + /** + * The move constructor. + */ + FSGSenseGloveHandProfileImpl(FSGSenseGloveHandProfileImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGSenseGloveHandProfileImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGSenseGloveHandProfileImpl& operator=(const FSGSenseGloveHandProfileImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGSenseGloveHandProfileImpl& operator=(FSGSenseGloveHandProfileImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FSenseGloveHandProfileType& ToSenseGloveHandProfile() const; + +public: + bool IsRight() const; + + void SetIsRight(bool bRightHanded); + + FSGHandInterpolatorImpl GetInterpolationSet() const; + + void SetInterpolationSet(const FSGHandInterpolatorImpl& InterpolationSet); + + ESGThumbSolver GetThumbSolver() const; + + void SetThumbSolver(ESGThumbSolver ThumbSolver); + + ESGFingerSolver GetFingerSolver() const; + + void SetFingerSolver(ESGFingerSolver FingerSolver); + + TArray GetFingerThimbleOffset() const; + + void SetFingerThimbleOffset(const TArray& FingerThimbleOffset); + +public: + bool Equals(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) const; + + void Reset(); + +public: + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveImpl.h new file mode 100644 index 00000000..2ef00685 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveImpl.h @@ -0,0 +1,277 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 +#include + +#include "Math/Quat.h" +#include "Math/Vector.h" +#include "Runtime/Launch/Resources/Version.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGHapticGloveImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace SG + { + class SenseGlove; + } +} + +class FSGBasicHandModelImpl; +class FSGBuzzCommandImpl; +class FSGForceFeedbackCommandImpl; +class FSGHandPoseImpl; +class FSGHandProfileImpl; +class FSGSenseGloveHandProfileImpl; +class FSGSenseGloveInfoImpl; +class FSGSenseGlovePoseImpl; +class FSGSenseGloveSensorDataImpl; +class FSGThumperCommandImpl; + +class SENSEGLOVECOREIMPL_API FSGSenseGloveImpl final : public FSGHapticGloveImpl +{ +#if ENGINE_MAJOR_VERSION >= 5 + friend class SharedPointerInternals::TIntrusiveReferenceController; +#else + friend class SharedPointerInternals::TIntrusiveReferenceController; +#endif /* ENGINE_MAJOR_VERSION >= 5 */ + +public: + typedef SGCore::SG::SenseGlove FSenseGloveType; + + typedef std::vector FSenseGloveVectorType; + + typedef std::shared_ptr FSenseGlovePtrType; + typedef std::vector FSenseGlovePtrVectorType; + +public: + static ANSICHAR GetHapticsByte(); + + static ANSICHAR GetThumperByte(); + +public: + static FSGSenseGlovePoseImpl CalculateGlovePose(const FSGSenseGloveSensorDataImpl& SensorData, + const FSGSenseGloveInfoImpl& GloveModel); + + static FSGSenseGlovePoseImpl CalculateGlovePose(const TArray>& GloveAngles, + const FSGSenseGloveInfoImpl& GloveModel); + + static FSGHandPoseImpl CalculateHandPose(const FSGSenseGlovePoseImpl& GlovePose, + const FSGBasicHandModelImpl& HandModel, + const FSGSenseGloveHandProfileImpl& Profile); + +public: + static TSharedRef Parse(const FString& ConstantsString); + + static TArray GetSenseGloves(); + + static bool GetSenseGlove(FSGSenseGloveImpl& OutGlove); + + static bool GetSenseGlove(bool bRightHanded, FSGSenseGloveImpl& OutGlove); + +public: + static TArray GetCalibrationValues(const FSGSenseGlovePoseImpl& GlovePose); + + static void CalibrateInterpolation(const TArray& MinValues, const TArray& MaxValues, + bool bRightHanded, FSGSenseGloveHandProfileImpl& OutProfile); + +public: + static void CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + bool bRightHanded, ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + static void CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + bool bRightHanded, ESGFinger MountedOn, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGSenseGloveImpl(); + + explicit FSGSenseGloveImpl(const FSGSenseGloveInfoImpl& Model); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGSenseGloveImpl(const FSenseGloveType SenseGlove); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGSenseGloveImpl(const FSenseGlovePtrType SenseGlove); + +public: + /** + * The copy constructor. + */ + FSGSenseGloveImpl(const FSGSenseGloveImpl& Rhs); + + /** + * The move constructor. + */ + FSGSenseGloveImpl(FSGSenseGloveImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGSenseGloveImpl() override; + +public: + /** + * The copy assignment operator. + */ + FSGSenseGloveImpl& operator=(const FSGSenseGloveImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGSenseGloveImpl& operator=(FSGSenseGloveImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FSenseGloveType& ToSenseGlove() const; + + /** + * The cast to underlying pointer type method. + */ + FSenseGlovePtrType ToSenseGlovePtr() const; + + /** + * The checked cast to underlying pointer type method. + */ + FSenseGlovePtrType ToSenseGlovePtrChecked() const; + +public: + FSGSenseGloveInfoImpl GetGloveModel() const; + + virtual bool IsRight() const override; + +public: + virtual ESGDeviceType GetDeviceType() const override; + + virtual FString GetDeviceId() const override; + + virtual FString GetHardwareVersion() const override; + + virtual int32 GetFirmwareVersion() const override; + + virtual int32 GetSubFirmwareVersion() const override; + +public: + bool GetSensorData(FSGSenseGloveSensorDataImpl& OutSensorData) const; + + virtual bool GetImuRotation(FQuat& OutImu) override; + + bool GetGlovePose(FSGSenseGlovePoseImpl& OutGlovePose); + + bool GetGlovePose(const FSGSenseGloveSensorDataImpl& SensorData, FSGSenseGlovePoseImpl& OutGlovePose); + + /// HACK + /// 'FSGSenseGloveImpl::GetHandPose' hides overloaded virtual functions [-Werror,-Woverloaded-virtual] + /// tell the compiler we want both the GetHandPose from FSGHapticGloveImpl and FSGSenseGloveImpl + using FSGHapticGloveImpl::GetHandPose; + + bool GetHandPose(const FSGBasicHandModelImpl& HandModel, const FSGSenseGloveHandProfileImpl& Profile, + FSGHandPoseImpl& OutHandPose); + + virtual bool GetHandPose(const FSGBasicHandModelImpl& HandGeometry, const FSGHandProfileImpl& HandProfile, + FSGHandPoseImpl& OutHandPose) override; + + virtual bool GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose) override; + +public: + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) override; + + virtual void SendHaptics(const FSGBuzzCommandImpl& BuzzCommand) override; + + virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand, + const FSGBuzzCommandImpl& BuzzCommand, + const FSGThumperCommandImpl& ThumperCommand) override; + +public: + virtual bool GetCalibrationValues(TArray& OutValues) override; + + virtual void ResetCalibrationRange() override; + + virtual void ApplyCalibration(FSGHandProfileImpl& OutProfile) const override; + + void ApplyCalibration(FSGSenseGloveHandProfileImpl& OutProfile) const; + +public: + virtual void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const override; + + void GetGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) const; + + virtual void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) const override; + + void GetWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) const; + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveInfoImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveInfoImpl.h new file mode 100644 index 00000000..ec606221 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveInfoImpl.h @@ -0,0 +1,178 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace SG + { + class SenseGloveInfo; + } +} + +class SENSEGLOVECOREIMPL_API FSGSenseGloveInfoImpl final +{ +public: + typedef SGCore::SG::SenseGloveInfo FSenseGloveInfoType; + +public: + static bool Parse(const FString& ConstantsString, FSGSenseGloveInfoImpl& OutGloveInfo, + bool bUpdateOldModels = true); + + static FSGSenseGloveInfoImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGSenseGloveInfoImpl(); + + FSGSenseGloveInfoImpl(const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, + const FQuat& ImuCorrection, + const TArray& StartPositions, + const TArray& StartRotations, + const TArray>& GloveLengths, + const TArray& Functions); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGSenseGloveInfoImpl(const FSenseGloveInfoType& GloveInfo); + +public: + /** + * The copy constructor. + */ + FSGSenseGloveInfoImpl(const FSGSenseGloveInfoImpl& Rhs); + + /** + * The move constructor. + */ + FSGSenseGloveInfoImpl(FSGSenseGloveInfoImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGSenseGloveInfoImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGSenseGloveInfoImpl& operator=(const FSGSenseGloveInfoImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGSenseGloveInfoImpl& operator=(FSGSenseGloveInfoImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FSenseGloveInfoType& ToSenseGloveInfo() const; + +public: + FString GetDeviceId() const; + void SetDeviceId(const FString& DeviceId); + + FString GetHardwareVersion() const; + void SetHardwareVersion(const FString& HardwareVersion); + + int32 GetFirmwareVersion() const; + void SetFirmwareVersion(int32 FirmwareVersion); + + int32 GetSubFirmwareVersion() const; + void SetSubFirmwareVersion(int32 SubFirmwareVersion); + + bool IsRight() const; + void SetIsRight(bool bRightHanded); + + int32 GetNumberOfSensors() const; + void SetNumberOfSensors(int32 NumberOfSensors); + + FQuat GetImuCorrection() const; + void SetImuCorrection(const FQuat& ImuCorrection); + + TArray GetStartPositions() const; + void SetStartPositions(const TArray& StartPositions); + + TArray GetStartRotations() const; + void SetStartRotations(const TArray& StartRotations); + + TArray> GetGloveLengths() const; + void SetGloveLengths(const TArray>& GloveLengths) const; + + TArray GetFunctions() const; + void SetFunctions(const TArray& Functions) const; + +public: + FVector GetStartPosition(ESGFinger Finger) const; + + FQuat GetStartRotation(ESGFinger Finger) const; + + TArray GetGloveLengths(ESGFinger Finger) const; + +public: + TArray> ToGloveAngles(const TArray>& SensorAngles) const; + + bool Equals(const FSGSenseGloveInfoImpl& SGSenseGloveInfo, bool bGeometryOnly = false) const; + +public: + FString ToString(bool bShortNotation) const; + + FString ToString() const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGlovePoseImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGlovePoseImpl.h new file mode 100644 index 00000000..c412b34f --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGlovePoseImpl.h @@ -0,0 +1,152 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace SG + { + class SenseGlovePose; + } +} + +class FSGSenseGloveHandProfileImpl; +class FSGSenseGloveInfoImpl; + +class SENSEGLOVECOREIMPL_API FSGSenseGlovePoseImpl final +{ +public: + typedef SGCore::SG::SenseGlovePose FSenseGlovePoseType; + +public: + static FSGSenseGlovePoseImpl IdlePose(const FSGSenseGloveInfoImpl& GloveInfo); + + static FSGSenseGlovePoseImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGSenseGlovePoseImpl(); + + FSGSenseGlovePoseImpl(bool bRightHanded, + const TArray>& JointPositions, + const TArray>& JointRotations, + const TArray>& GloveAngles); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGSenseGlovePoseImpl(const FSenseGlovePoseType& SenseGlovePose); + +public: + /** + * The copy constructor. + */ + FSGSenseGlovePoseImpl(const FSGSenseGlovePoseImpl& Rhs); + + /** + * The move constructor. + */ + FSGSenseGlovePoseImpl(FSGSenseGlovePoseImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGSenseGlovePoseImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGSenseGlovePoseImpl& operator=(const FSGSenseGlovePoseImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGSenseGlovePoseImpl& operator=(FSGSenseGlovePoseImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FSenseGlovePoseType& ToSenseGlovePose() const; + +public: + bool IsRight() const; + void SetIsRight(bool bRightHanded) const; + + TArray> GetJointPositions() const; + void SetJointPositions(const TArray>& JointPositions) const; + + TArray> GetJointRotations() const; + void SetJointRotations(const TArray>& JointRotations) const; + + TArray> GetGloveAngles() const; + void SetGloveAngles(const TArray>& GloveAngles) const; + +public: + TArray GetThimblePositions() const; + + TArray GetThimbleRotations() const; + + TArray GetTotalGloveAngles() const; + + TArray CalculateFingerTips(const FSGSenseGloveHandProfileImpl& SenseGloveHandProfileImpl) const; + + TArray CalculateFingerTips(const TArray& FingerOffsets) const; + + bool Equals(const FSGSenseGlovePoseImpl& SenseGlovePoseImpl) const; + +public: + FString ToString(bool bShortFormat = true) const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveSensorDataImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveSensorDataImpl.h new file mode 100644 index 00000000..3a59cbdd --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveSensorDataImpl.h @@ -0,0 +1,147 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace SG + { + class SenseGloveSensorData; + } +} + +class FSGSenseGloveInfoImpl; + +class SENSEGLOVECOREIMPL_API FSGSenseGloveSensorDataImpl final +{ +public: + typedef SGCore::SG::SenseGloveSensorData FSenseGloveSensorDataType; + +public: + static const FSGSenseGloveSensorDataImpl& Empty(); + + static FSGSenseGloveSensorDataImpl Parse(const FString& RawData, const FSGSenseGloveInfoImpl& GloveInfo); + + static FSGSenseGloveSensorDataImpl Deserialize(const FString& SerializedString); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGSenseGloveSensorDataImpl(); + + FSGSenseGloveSensorDataImpl(const TArray>& SensorAngles, const FQuat& ImuRotation, int32 ParsedValues, + bool bImuParsed); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGSenseGloveSensorDataImpl(const FSenseGloveSensorDataType& SenseGloveSensorData); + +public: + /** + * The copy constructor. + */ + FSGSenseGloveSensorDataImpl(const FSGSenseGloveSensorDataImpl& Rhs); + + /** + * The move constructor. + */ + FSGSenseGloveSensorDataImpl(FSGSenseGloveSensorDataImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGSenseGloveSensorDataImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGSenseGloveSensorDataImpl& operator=(const FSGSenseGloveSensorDataImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGSenseGloveSensorDataImpl& operator=(FSGSenseGloveSensorDataImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FSenseGloveSensorDataType& ToSenseGloveSensorData() const; + +public: + TArray> GetSensorAngles() const; + void SetSensorAngles(const TArray>& SensorAngles); + + TArray GetSensorAngles(ESGFinger Finger) const; + + TArray GetAngleSequence() const; + + FQuat GetImuRotation() const; + void SetImuRotation(const FQuat& ImuRotation); + + int32 GetParsedValues() const; + void SetParsedValues(int32 ParsedValues); + +public: + bool IsImuParsed() const; + void SetImuParsed(bool bImuParsed); + +public: + bool Equals(const FSGSenseGloveSensorDataImpl& SenseGloveSensorDataImpl) const; + +public: + FString ToString() const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveVarsImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveVarsImpl.h new file mode 100644 index 00000000..ab40ef54 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSenseGloveVarsImpl.h @@ -0,0 +1,85 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +class FSGSenseGloveInfoImpl; + +namespace SGCore +{ + namespace SG + { + class SenseGloveVars; + } +} + +class SENSEGLOVECOREIMPL_API FSGSenseGloveVarsImpl final +{ +public: + typedef SGCore::SG::SenseGloveVars FSenseGloveVarsType; + +public: + static FString GetStandardConstantsString(const FString& HardwareVersion, float FirmwareVersion, bool bRightHanded); + + static FString GetSensorString(const FString& HardwareVersion, float FirmwareVersion); + + static TArray GetStartPositions(const FString& HardwareVersion, bool bRightHanded); + + static TArray GetStartRotations(const FString& HardwareVersion, bool bRightHanded); + + static TArray> GetGloveLengths(const FString& HardwareVersion); + + static int32 GetSensors(const FString& HardwareVersion); + + static FQuat GetImuCorrection(const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + static TArray GetFunctions(const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + static FSGSenseGloveInfoImpl GenerateGloveModel(const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded); + + static FSGSenseGloveInfoImpl GenerateGloveModel(const FString& HardwareVersion, int32 FirmwareVersion, + int32 SubFirmwareVersion, bool bRightHanded, + const FString& CustomId); + +public: + FSGSenseGloveVarsImpl() = delete; + virtual ~FSGSenseGloveVarsImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSensorRangeImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSensorRangeImpl.h new file mode 100644 index 00000000..8e864620 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGSensorRangeImpl.h @@ -0,0 +1,142 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Vector.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Calibration + { + class SensorRange; + } +} + +class SENSEGLOVECOREIMPL_API FSGSensorRangeImpl final +{ +public: + typedef SGCore::Calibration::SensorRange FSensorRangeType; + +public: + static const FSGSensorRangeImpl& ForCalibration(); + + static FSGSensorRangeImpl Deserialize(const FString& SerializedString); + + static void CheckMax(const FVector CurrentValues, FVector& OutMaxValues); + + static void CheckMin(const FVector& CurrentValues, FVector& OutMinValues); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGSensorRangeImpl(); + + FSGSensorRangeImpl(const TArray& MinValues, const TArray& MaxValues); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGSensorRangeImpl(const FSensorRangeType& SensorRange); + +public: + /** + * The copy constructor. + */ + FSGSensorRangeImpl(const FSGSensorRangeImpl& Rhs); + + /** + * The move constructor. + */ + FSGSensorRangeImpl(FSGSensorRangeImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGSensorRangeImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGSensorRangeImpl& operator=(const FSGSensorRangeImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGSensorRangeImpl& operator=(FSGSensorRangeImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FSensorRangeType& ToSensorRange() const; + +public: + TArray GetMinValues() const; + + void SetMinValues(const TArray& Values); + + TArray GetMaxValues() const; + + void SetMaxValues(const TArray& Values); + + TArray GetRange() const; + +public: + void UpdateRange(); + + void CheckForExtremes(const TArray& OtherValues); + +public: + FString RangeString(bool bYOnly = true) const; + + FString ToString(bool bYOnly = true) const; + + FString Serialize() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGThumperCommandImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGThumperCommandImpl.h new file mode 100644 index 00000000..aff8030b --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGThumperCommandImpl.h @@ -0,0 +1,121 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Haptics + { + class ThumperCommand; + } +} + +class SENSEGLOVECOREIMPL_API FSGThumperCommandImpl final +{ +public: + typedef SGCore::Haptics::ThumperCommand FThumperCommandType; + +public: + static const FSGThumperCommandImpl& Off(); + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGThumperCommandImpl(); + explicit FSGThumperCommandImpl(int32 Magnitude); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGThumperCommandImpl(const FThumperCommandType& ThumperCommand); + +public: + /** + * The copy constructor. + */ + FSGThumperCommandImpl(const FSGThumperCommandImpl& Rhs); + + /** + * The move constructor + */ + FSGThumperCommandImpl(FSGThumperCommandImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGThumperCommandImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGThumperCommandImpl& operator=(const FSGThumperCommandImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGThumperCommandImpl& operator=(FSGThumperCommandImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FThumperCommandType& ToThumperCommand() const; + +public: + int32 GetMagnitude() const; + void SetMagnitude(int32 Magnitude); + + FSGThumperCommandImpl Copy() const; + + FSGThumperCommandImpl Merge(const FSGThumperCommandImpl& ThumperCommandImpl) const; + + virtual bool Equals(const FSGThumperCommandImpl& ThumperCommandImpl) const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedBuzzCommandImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedBuzzCommandImpl.h new file mode 100644 index 00000000..be73a981 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedBuzzCommandImpl.h @@ -0,0 +1,168 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Templates/SharedPointer.h" +#include "Templates/UniquePtr.h" + +#include "SGCoreImpl/SGBuzzCommandImpl.h" +#include "SGTypes/SGCoreTypes.h" + +namespace SGCore +{ + namespace Haptics + { + class TimedBuzzCommand; + } +} + +class SENSEGLOVECOREIMPL_API FSGTimedBuzzCommandImpl final : public FSGBuzzCommandImpl +{ +public: + typedef SGCore::Haptics::TimedBuzzCommand FTimedBuzzCommandType; + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGTimedBuzzCommandImpl(); + +public: + FSGTimedBuzzCommandImpl(ESGFinger Finger, int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + + FSGTimedBuzzCommandImpl(const FSGBuzzCommandImpl& BaseCommand, float DurationSeconds, + float StartTimeSeconds = 0.0f); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGTimedBuzzCommandImpl(const FTimedBuzzCommandType& TimedBuzzCommand); + + /** + * The cast from underlying pointer type constructor. + */ + explicit FSGTimedBuzzCommandImpl(TSharedRef TimedBuzzCommand); + +public: + /** + * The copy constructor. + */ + FSGTimedBuzzCommandImpl(const FSGTimedBuzzCommandImpl& Rhs); + + /** + * The move constructor + */ + FSGTimedBuzzCommandImpl(FSGTimedBuzzCommandImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGTimedBuzzCommandImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGTimedBuzzCommandImpl& operator=(const FSGTimedBuzzCommandImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGTimedBuzzCommandImpl& operator=(FSGTimedBuzzCommandImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FTimedBuzzCommandType& ToTimedBuzzCommand() const; + + /** + * The cast to underlying pointer type method. + */ + TSharedRef ToTimedBuzzCommandRef() const; + +protected: + /** + * The non-const cast to underlying type method. + */ + FTimedBuzzCommandType& ToTimedBuzzCommand(); + + /** + * The non-const cast to underlying type method. + */ + TSharedRef ToTimedBuzzCommandRef(); + +public: + virtual FSGBuzzCommandImpl Copy() const override; + + virtual FSGBuzzCommandImpl Merge(const FSGBuzzCommandImpl& BuzzCommand) const override; + +public: + virtual FSGBuzzCommandImpl GetBaseCommand() const; + void SetBaseCommand(const FSGBuzzCommandImpl& BaseCommand); + + int32 GetMagnitude() const; + void SetMagnitude(int32 Magnitude); + + float GetDuration() const; + void SetDuration(float Duration); + + float GetElapsedTime() const; + void SetElapsedTime(float ElapsedTime); + + virtual bool HasTimeElapsed() const; + + virtual float NormalizedTime(bool bClamp01 = true) const; + +public: + virtual void ResetTiming(); + virtual void UpdateTiming(float DeltaSeconds); + +public: + virtual FString ToString() const override; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedThumpCommandImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedThumpCommandImpl.h new file mode 100644 index 00000000..8bab18d1 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTimedThumpCommandImpl.h @@ -0,0 +1,138 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" +#include "Containers/UnrealString.h" +#include "Templates/UniquePtr.h" + +namespace SGCore +{ + namespace Haptics + { + class TimedThumpCommand; + } +} + +class FSGThumperCommandImpl; + +class SENSEGLOVECOREIMPL_API FSGTimedThumpCommandImpl final +{ +public: + typedef SGCore::Haptics::TimedThumpCommand FTimedThumpCommandType; + +private: + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* P) const; + }; + + TUniquePtr Pimpl; + FImplDeleter PimplDeleter; + +public: + FSGTimedThumpCommandImpl(); + +public: + FSGTimedThumpCommandImpl(int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + + FSGTimedThumpCommandImpl(const FSGThumperCommandImpl& BaseCommand, float DurationSeconds, + float StartTimeSeconds = 0.0f); + +public: + /** + * The cast from underlying type constructor. + */ + explicit FSGTimedThumpCommandImpl(const FTimedThumpCommandType& TimedThumpCommand); + +public: + /** + * The copy constructor. + */ + FSGTimedThumpCommandImpl(const FSGTimedThumpCommandImpl& Rhs); + + /** + * The move constructor + */ + FSGTimedThumpCommandImpl(FSGTimedThumpCommandImpl&& Rhs) noexcept; + +public: + /** + * The destructor. + */ + virtual ~FSGTimedThumpCommandImpl(); + +public: + /** + * The copy assignment operator. + */ + FSGTimedThumpCommandImpl& operator=(const FSGTimedThumpCommandImpl& Rhs); + + /** + * The move assignment operator. + */ + FSGTimedThumpCommandImpl& operator=(FSGTimedThumpCommandImpl&& Rhs) noexcept; + +public: + /** + * The cast to underlying type method. + */ + const FTimedThumpCommandType& ToTimedThumpCommand() const; + +public: + int32 GetMagnitude() const; + void SetMagnitude(int32 Magnitude); + + float GetDuration() const; + void SetDuration(float Duration); + + float GetElapsedTime() const; + void SetElapsedTime(float ElapsedTime); + + bool HasTimeElapsed() const; + +public: + virtual FSGTimedThumpCommandImpl Copy(bool bCopyElapsed = true) const; + + virtual void Update(float DeltaSeconds); + + virtual bool Equals(const FSGThumperCommandImpl& SGThumperCommandImpl) const; + +public: + virtual FString ToString() const; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTrackingImpl.h b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTrackingImpl.h new file mode 100644 index 00000000..cc551418 --- /dev/null +++ b/Source/SenseGloveCoreImpl/Public/SGCoreImpl/SGTrackingImpl.h @@ -0,0 +1,108 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGBuildHacks/SGInclude_Core_Tracking.h" +#include "SGTypes/SGCoreTypes.h" + +class SENSEGLOVECOREIMPL_API FSGTrackingImpl +{ +public: + typedef SGCore::Tracking FTrackingType; + +public: + static void CalculateLocation( + const FVector& TrackedPosition, const FQuat& TrackedRotation, + const FVector& PositionOffset, const FQuat& RotationOffset, + FVector& OutNewPosition, FQuat& OutNewRotation); + + static const TArray& GetSenseGloveFingerToGlovePositionOrigin(); + + static const TArray& GetSenseGloveFingerToGloveRotationOrigin(); + + static const FVector& GetSenseGloveWristPositionOffset(); + + static const FQuat& GetSenseGloveWristRotationOffset(); + + static void GetSenseGloveMountOffset(bool bRightHanded, ESGFinger ToFinger, + FVector& OutIPosition, FQuat& OutIRotation); + + static void GetSenseGloveTrackerMountOffset(ESGPositionalTrackingHardware Hardware, bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset); + + static const FVector& GetSenseGloveViveToAttachPosition(); + + static const FQuat& GetSenseGloveViveToAttachRotation(); + + static const FVector& GetSenseGloveOculusTouchToAttachPosition(); + + static const FQuat& GetSenseGloveOculusTouchToAttachRotation(); + + static const FVector& GetNovaToWristPositionOffset(); + + static const FQuat& GetNovaToWristRotationOffset(); + + static void GetNovaGloveWristOffset(bool bRightHanded, FVector& OutPositionOffset, FQuat& OutRotationOffset); + + static const FVector& GetRightNovaViveToAttachPosition(); + static const FQuat& GetRightNovaViveToAttachRotation(); + + static const FVector& GetLeftNovaViveToAttachPosition(); + static const FQuat& GetLeftNovaViveToAttachRotation(); + + static const FVector& GetRightNovaQuest2ToAttachPosition(); + static const FQuat& GetRightNovaQuest2ToAttachRotation(); + + static const FVector& GetLeftNovaQuest2ToAttachPosition(); + static const FQuat& GetLeftNovaQuest2ToAttachRotation(); + + static const FVector& GetRightNovaPico2ToAttachPosition(); + static const FQuat& GetRightNovaPico2ToAttachRotation(); + static const FQuat& GetLeftNovaPico2ToAttachRotation(); + + static void GetNovaGloveTrackerOffset(ESGPositionalTrackingHardware Hardware, bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset); + + static FString ToString(ESGPositionalTrackingHardware Hardware); + +public: + FSGTrackingImpl() = delete; + virtual ~FSGTrackingImpl() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreImpl/SenseGloveCoreImpl.Build.cs b/Source/SenseGloveCoreImpl/SenseGloveCoreImpl.Build.cs new file mode 100644 index 00000000..c69d7b2b --- /dev/null +++ b/Source/SenseGloveCoreImpl/SenseGloveCoreImpl.Build.cs @@ -0,0 +1,162 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using UnrealBuildTool; + +public class SenseGloveCoreImpl : ModuleRules +{ + public SenseGloveCoreImpl(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + bEnableExceptions = true; + bUseRTTI = true; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "SenseGloveBuildHacks", + "SenseGloveInterop", + "SenseGloveLog", + "SenseGloveTypes", + "SenseGloveUtils", + } + ); + + AddCoreLibrary(Target); + + PublicDefinitions.Add("SENSEGLOVE_BUILDING_CORE_IMPL_MODULE"); + PublicDefinitions.Add("SENSEGLOVE_UNREAL_ENGINE_PLUGIN"); + } + + private void AddCoreLibrary(ReadOnlyTargetRules Target) + { + string PluginRootDirectory = Path.GetFullPath(Path.Combine(ModuleDirectory, "..", "..")); + string ThirdPartyDirectory = Path.GetFullPath(Path.Combine(PluginRootDirectory, "ThirdParty")); + string LibraryPath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "lib")); + string LibraryName = "sgcore"; + + if (Target.Platform == UnrealTargetPlatform.Android) + { + IAndroidToolChain ToolChain = AndroidExports.CreateToolChain(Target.ProjectFile); + List Architectures = ToolChain.GetAllArchitectures(); + foreach (string Arch in Architectures) + { + if (Arch != "-arm64") + { + Debug.Assert(false, "Only AArch64/ARM64 variant of Android is supported!"); + } + } + + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "oculus")); + LibraryName = string.Format("lib{0}.a", LibraryName); + } + else if (Target.Platform == UnrealTargetPlatform.Linux) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux")); + LibraryName = string.Format("lib{0}.a", LibraryName); + +#if UE_5_0_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v20")); +#elif UE_4_27_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v19")); +#elif UE_4_26_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v17")); +#elif UE_4_25_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v16")); +#elif UE_4_24_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v15")); +#elif UE_4_23_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v15")); +#elif UE_4_22_OR_LATER + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v13")); +#else + Debug.Assert(false, "Unsupported compiler!"); +#endif + } + else if (Target.Platform == UnrealTargetPlatform.Win64) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "win64")); + switch (Target.WindowsPlatform.Compiler) + { +#if UE_4_27_OR_LATER + case WindowsCompiler.VisualStudio2022: + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "msvc143")); + break; +#endif +#if UE_4_22_OR_LATER + case WindowsCompiler.VisualStudio2019: + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "msvc142")); + break; +#endif + default: + Debug.Assert(false, "Unsupported compiler!"); + break; + } + LibraryName = string.Format("{0}.lib", LibraryName); + } + else + { + Debug.Assert(false, "Unsupported platform!"); + } + + bool bDebug = (Target.Configuration == UnrealTargetConfiguration.Debug); + if (bDebug) + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "debug")); + } + else + { + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "release")); + } + + LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, LibraryName)); + string IncludePath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "include")); + + PrivateIncludePaths.Add(IncludePath); + PublicAdditionalLibraries.Add(LibraryPath); + } +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGAnatomyKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGAnatomyKismetLibrary.cpp new file mode 100644 index 00000000..e44a54b9 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGAnatomyKismetLibrary.cpp @@ -0,0 +1,101 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGAnatomyKismetLibrary.h" + +#include "SGCore/SGAnatomy.h" +#include "SGUtils/SGArrayUtils.h" + +float USGAnatomyKismetLibrary::GetTotalFingerFlexion() +{ + return FSGAnatomy::GetTotalFingerFlexion(); +} + +float USGAnatomyKismetLibrary::GetTotalFingerExtension() +{ + return FSGAnatomy::GetTotalFingerExtension(); +} + +float USGAnatomyKismetLibrary::GetTotalThumbFlexion() +{ + return FSGAnatomy::GetTotalThumbFlexion(); +} + +float USGAnatomyKismetLibrary::GetTotalThumbExtension() +{ + return FSGAnatomy::GetTotalThumbExtension(); +} + +float USGAnatomyKismetLibrary::GetFingerJointLimit(const bool bRightHanded, const int32 Joint, const int32 Movement, + const bool bMax) +{ + return FSGAnatomy::GetFingerJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float USGAnatomyKismetLibrary::GetThumbJointLimit(const bool bRightHanded, const int32 Joint, const int32 Movement, + const bool bMax) +{ + return FSGAnatomy::GetThumbJointLimit(bRightHanded, Joint, Movement, bMax); +} + +float USGAnatomyKismetLibrary::NormalizeFingerFlex(const float FlexionInRadians) +{ + return FSGAnatomy::NormalizeFingerFlex(FlexionInRadians); +} + +float USGAnatomyKismetLibrary::NormalizeThumbFlex(const float FlexionInRadians) +{ + return FSGAnatomy::NormalizeThumbFlex(FlexionInRadians); +} + +TArray USGAnatomyKismetLibrary::GetDefaultHandAngles(const bool bRightHanded) +{ + return FSGArrayUtils::ToBPNestedArray(FSGAnatomy::GetDefaultHandAngles(bRightHanded)); +} + +TArray USGAnatomyKismetLibrary::GetFlatHandAngles(const bool bRightHanded) +{ + return FSGArrayUtils::ToBPNestedArray(FSGAnatomy::GetFlatHandAngles(bRightHanded)); +} + +TArray USGAnatomyKismetLibrary::GetThumbsUpHandAngles(const bool bRightHanded) +{ + return FSGArrayUtils::ToBPNestedArray(FSGAnatomy::GetThumbsUpHandAngles(bRightHanded)); +} + +TArray USGAnatomyKismetLibrary::GetFistHandAngles(const bool bRightHanded) +{ + return FSGArrayUtils::ToBPNestedArray(FSGAnatomy::GetFistHandAngles(bRightHanded)); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBasicHandModelKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBasicHandModelKismetLibrary.cpp new file mode 100644 index 00000000..709a68d2 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBasicHandModelKismetLibrary.cpp @@ -0,0 +1,208 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGBasicHandModelKismetLibrary.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGUtils//SGArrayUtils.h" + +USGBasicHandModel* USGBasicHandModelKismetLibrary::MakeBasicHandModel(UObject* WorldContextObject) +{ + return USGBasicHandModel::NewBasicHandModel(WorldContextObject); +} + +USGBasicHandModel* USGBasicHandModelKismetLibrary::MakeBasicHandModel_bRightHanded_Lengths_StartPositions( + UObject* WorldContextObject, + const bool bRightHanded, const TArray& Lengths, const TArray& StartPositions) +{ + return USGBasicHandModel::NewBasicHandModel(WorldContextObject, bRightHanded, Lengths, StartPositions); +} + +USGBasicHandModel* USGBasicHandModelKismetLibrary:: +MakeBasicHandModel_bRightHanded_Lengths_StartPositions_StartRotations( + UObject* WorldContextObject, + const bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions, const TArray& StartRotations) +{ + return USGBasicHandModel::NewBasicHandModel(WorldContextObject, bRightHanded, Lengths, + StartPositions, StartRotations); +} + +USGBasicHandModel* USGBasicHandModelKismetLibrary::Default(UObject* WorldContextObject, const bool bRightHanded) +{ + return USGBasicHandModel::Default(WorldContextObject, bRightHanded); +} + +USGBasicHandModel* USGBasicHandModelKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGBasicHandModel::Deserialize(WorldContextObject, SerializedString); +} + +TArray USGBasicHandModelKismetLibrary::GetBaseFingerLengths() +{ + return FSGArrayUtils::ToBPNestedArray(USGBasicHandModel::GetBaseFingerLengths()); +} + +TArray USGBasicHandModelKismetLibrary::GetBaseJointPositions() +{ + return USGBasicHandModel::GetBaseJointPositions(); +} + +TArray USGBasicHandModelKismetLibrary::GetBaseJointRotations() +{ + return USGBasicHandModel::GetBaseJointRotations(); +} + +bool USGBasicHandModelKismetLibrary::IsRight(const USGBasicHandModel* BasicHandModel) +{ + return BasicHandModel->IsRight(); +} + +TArray USGBasicHandModelKismetLibrary::GetFingerLengths(const USGBasicHandModel* BasicHandModel) +{ + return FSGArrayUtils::ToBPNestedArray(BasicHandModel->GetFingerLengths()); +} + +TArray USGBasicHandModelKismetLibrary::GetFingerLengths_ESGFinger(const USGBasicHandModel* BasicHandModel, + const ESGFinger Finger) +{ + return BasicHandModel->GetFingerLengths(Finger); +} + +void USGBasicHandModelKismetLibrary::SetFingerLengths_ESGFinger(USGBasicHandModel* BasicHandModel, + const ESGFinger Finger, const TArray& Lengths) +{ + BasicHandModel->SetFingerLengths(Finger, Lengths); +} + +void USGBasicHandModelKismetLibrary::SetFingerLengths_uint8Finger(USGBasicHandModel* BasicHandModel, + const uint8 Finger, const TArray& Lengths) +{ + BasicHandModel->SetFingerLengths(Finger, Lengths); +} + +TArray USGBasicHandModelKismetLibrary::GetFingerRatios(const USGBasicHandModel* BasicHandModel) const +{ + return FSGArrayUtils::ToBPNestedArray(BasicHandModel->GetFingerRatios()); +} + +TArray USGBasicHandModelKismetLibrary::GetFingerRatios_Finger(const USGBasicHandModel* BasicHandModel, + const ESGFinger Finger) +{ + return BasicHandModel->GetFingerRatios(Finger); +} + +TArray USGBasicHandModelKismetLibrary::GetStartJointPositions(const USGBasicHandModel* BasicHandModel) +{ + return BasicHandModel->GetStartJointPositions(); +} + +void USGBasicHandModelKismetLibrary::SetStartJointPosition_ESGFinger(USGBasicHandModel* BasicHandModel, + const ESGFinger Finger, const FVector& Position) +{ + BasicHandModel->SetStartJointPosition(Finger, Position); +} + +void USGBasicHandModelKismetLibrary::SetStartJointPosition_uint8Finger(USGBasicHandModel* BasicHandModel, + const uint8 Finger, const FVector& Position) +{ + BasicHandModel->SetStartJointPosition(Finger, Position); +} + +TArray USGBasicHandModelKismetLibrary::GetStartJointRotations(const USGBasicHandModel* BasicHandModel) +{ + return BasicHandModel->GetStartJointRotations(); +} + +FVector USGBasicHandModelKismetLibrary::GetJointPosition(const USGBasicHandModel* BasicHandModel, + const ESGFinger Finger) +{ + return BasicHandModel->GetJointPosition(Finger); +} + +void USGBasicHandModelKismetLibrary::SetJointPosition(USGBasicHandModel* BasicHandModel, const FVector& NewPosition, + const ESGFinger Finger) +{ + return BasicHandModel->SetJointPosition(NewPosition, Finger); +} + +FQuat USGBasicHandModelKismetLibrary::GetJointRotation(const USGBasicHandModel* BasicHandModel, const ESGFinger Finger) +{ + return BasicHandModel->GetJointRotation(Finger); +} + +void USGBasicHandModelKismetLibrary::SetJointRotation(USGBasicHandModel* BasicHandModel, const FQuat& NewRotation, + const ESGFinger Finger) +{ + return BasicHandModel->SetJointRotation(NewRotation, Finger); +} + +TArray USGBasicHandModelKismetLibrary::GetTotalLengths(const USGBasicHandModel* BasicHandModel) +{ + return BasicHandModel->GetTotalLengths(); +} + +float USGBasicHandModelKismetLibrary::GetTotalLength(const USGBasicHandModel* BasicHandModel, const ESGFinger Finger) +{ + return BasicHandModel->GetTotalLength(Finger); +} + +TArray USGBasicHandModelKismetLibrary::Get3DLengths(const USGBasicHandModel* BasicHandModel, + const ESGFinger Finger) +{ + return BasicHandModel->Get3DLengths(Finger); +} + +bool USGBasicHandModelKismetLibrary::Equals(const USGBasicHandModel* A, const USGBasicHandModel* B) +{ + return A->Equals(B); +} + +FString USGBasicHandModelKismetLibrary::ToString(const USGBasicHandModel* BasicHandModel) +{ + return BasicHandModel->ToString(); +} + +FString USGBasicHandModelKismetLibrary::ToString_bLengthsOnly(const USGBasicHandModel* BasicHandModel, + const bool bLengthsOnly) +{ + return BasicHandModel->ToString(bLengthsOnly); +} + +FString USGBasicHandModelKismetLibrary::Serialize(const USGBasicHandModel* BasicHandModel) +{ + return BasicHandModel->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBetaDeviceKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBetaDeviceKismetLibrary.cpp new file mode 100644 index 00000000..e7d263da --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBetaDeviceKismetLibrary.cpp @@ -0,0 +1,93 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGBetaDeviceKismetLibrary.h" + +#include "SGCore/SGBetaDevice.h" + +USGBetaDevice* USGBetaDeviceKismetLibrary::Parse(UObject* WorldContextObject, const FString& String) +{ + return USGBetaDevice::Parse(WorldContextObject, String); +} + +ESGDeviceType USGBetaDeviceKismetLibrary::GetDeviceType(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetDeviceType(); +} + +FString USGBetaDeviceKismetLibrary::GetDeviceId(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetDeviceId(); +} + +FString USGBetaDeviceKismetLibrary::GetHardwareVersion(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetHardwareVersion(); +} + +int32 USGBetaDeviceKismetLibrary::GetFirmwareVersion(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetFirmwareVersion(); +} + +int32 USGBetaDeviceKismetLibrary::GetSubFirmwareVersion(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetSubFirmwareVersion(); +} + +FString USGBetaDeviceKismetLibrary::GetConstantsString(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetConstantsString(); +} + +FString USGBetaDeviceKismetLibrary::GetSensorData(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetSensorData(); +} + +FString USGBetaDeviceKismetLibrary::GetLastCommand(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->GetLastCommand(); +} + +bool USGBetaDeviceKismetLibrary::SendHaptics(const USGBetaDevice* BetaDevice, const FString& Command) +{ + return BetaDevice->SendHaptics(Command); +} + +FString USGBetaDeviceKismetLibrary::ToString(const USGBetaDevice* BetaDevice) +{ + return BetaDevice->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBuzzCommandKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBuzzCommandKismetLibrary.cpp new file mode 100644 index 00000000..8c5b3757 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGBuzzCommandKismetLibrary.cpp @@ -0,0 +1,78 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGBuzzCommandKismetLibrary.h" + +#include "SGCore/SGBuzzCommand.h" + +USGBuzzCommand* USGBuzzCommandKismetLibrary::MakeBuzzCommand(UObject* WorldContextObject) +{ + return USGBuzzCommand::NewBuzzCommand(WorldContextObject); +} + +USGBuzzCommand* USGBuzzCommandKismetLibrary::MakeBuzzCommand_BuzzLevels( + UObject* WorldContextObject, const TArray& BuzzLevels) +{ + return USGBuzzCommand::NewBuzzCommand(WorldContextObject, BuzzLevels); +} + +USGBuzzCommand* USGBuzzCommandKismetLibrary::MakeBuzzCommand_Thumb_Index_Middle_Ring_Pinky( + UObject* WorldContextObject, + const int32 Thumb, const int32 Index, const int32 Middle, const int32 Ring, const int32 Pinky) +{ + return USGBuzzCommand::NewBuzzCommand(WorldContextObject, Thumb, Index, Middle, Ring, Pinky); +} + +USGBuzzCommand* USGBuzzCommandKismetLibrary::MakeBuzzCommand_Finger_BuzzLevel( + UObject* WorldContextObject, const ESGFinger Finger, const int32 BuzzLevel) +{ + return USGBuzzCommand::NewBuzzCommand(WorldContextObject, Finger, BuzzLevel); +} + +USGBuzzCommand* USGBuzzCommandKismetLibrary::Off(UObject* WorldContextObject) +{ + return USGBuzzCommand::Off(WorldContextObject); +} + +USGBuzzCommand* USGBuzzCommandKismetLibrary::Copy(UObject* WorldContextObject, const USGBuzzCommand* BuzzCommand) +{ + return BuzzCommand->Copy(WorldContextObject); +} + +USGBuzzCommand* USGBuzzCommandKismetLibrary::Merge(UObject* WorldContextObject, + const USGBuzzCommand* A, const USGBuzzCommand* B) +{ + return A->Merge(WorldContextObject, B); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGCalibrationDataPointKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGCalibrationDataPointKismetLibrary.cpp new file mode 100644 index 00000000..76571603 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGCalibrationDataPointKismetLibrary.cpp @@ -0,0 +1,66 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGCalibrationDataPointKismetLibrary.h" + +#include "SGCore/SGCalibrationDataPoint.h" + +USGCalibrationDataPoint* USGCalibrationDataPointKismetLibrary::MakeCalibrationDataPoint(UObject* WorldContextObject) +{ + return USGCalibrationDataPoint::NewCalibrationDataPoint(WorldContextObject); +} + +USGCalibrationDataPoint* USGCalibrationDataPointKismetLibrary::MakeCalibrationDataPoint_CurrentStage_CalibrationValues( + UObject* WorldContextObject, const int32 CurrentStage, const TArray& CalibrationValues) +{ + return USGCalibrationDataPoint::NewCalibrationDataPoint(WorldContextObject, CurrentStage, CalibrationValues); +} + +TArray USGCalibrationDataPointKismetLibrary::GetCalibrationValues( + const USGCalibrationDataPoint* CalibrationDataPoint) +{ + return CalibrationDataPoint->GetCalibrationValues(); +} + +int32 USGCalibrationDataPointKismetLibrary::GetStage(const USGCalibrationDataPoint* CalibrationDataPoint) +{ + return CalibrationDataPoint->GetStage(); +} + +FString USGCalibrationDataPointKismetLibrary::ToLogData(const USGCalibrationDataPoint* CalibrationDataPoint, + const FString& Delimiter) +{ + return CalibrationDataPoint->ToLogData(Delimiter); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceKismetLibrary.cpp new file mode 100644 index 00000000..e1e3f85b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceKismetLibrary.cpp @@ -0,0 +1,128 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGDeviceKismetLibrary.h" + +#include "SGCore/SGDevice.h" + +void USGDeviceKismetLibrary::ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion) +{ + return USGDevice::ParseFirmware(RawFirmware, OutMainVersion, OutSubVersion); +} + +FString USGDeviceKismetLibrary::ToString_DeviceType(ESGDeviceType DeviceType) +{ + return USGDevice::ToString(DeviceType); +} + +ESGDeviceType USGDeviceKismetLibrary::GetDeviceType(const USGDevice* SGDevice) +{ + return SGDevice->GetDeviceType(); +} + +FString USGDeviceKismetLibrary::GetDeviceId(const USGDevice* SGDevice) +{ + return SGDevice->GetDeviceId(); +} + +FString USGDeviceKismetLibrary::GetHardwareVersion(const USGDevice* SGDevice) +{ + return SGDevice->GetHardwareVersion(); +} + +int32 USGDeviceKismetLibrary::GetFirmwareVersion(const USGDevice* SGDevice) +{ + return SGDevice->GetFirmwareVersion(); +} + +int32 USGDeviceKismetLibrary::GetSubFirmwareVersion(const USGDevice* SGDevice) +{ + return SGDevice->GetSubFirmwareVersion(); +} + +FString USGDeviceKismetLibrary::GetFirmwareString(const USGDevice* SGDevice) +{ + return SGDevice->GetFirmwareString(); +} + +FString USGDeviceKismetLibrary::GetAddress(const USGDevice* SGDevice) +{ + return SGDevice->GetAddress(); +} + +bool USGDeviceKismetLibrary::IsConnected(const USGDevice* SGDevice) +{ + return SGDevice->IsConnected(); +} + +ESGConnectionType USGDeviceKismetLibrary::GetConnectionType(const USGDevice* SGDevice) +{ + return SGDevice->GetConnectionType(); +} + +int32 USGDeviceKismetLibrary::PacketsPerSecondReceived(const USGDevice* SGDevice) +{ + return SGDevice->PacketsPerSecondReceived(); +} + +int32 USGDeviceKismetLibrary::PacketsPerSecondSent(const USGDevice* SGDevice) +{ + return SGDevice->PacketsPerSecondSent(); +} + +bool USGDeviceKismetLibrary::IsWireless(const USGDevice* SGDevice) +{ + return SGDevice->IsWireless(); +} + +bool USGDeviceKismetLibrary::HasBattery(const USGDevice* SGDevice) +{ + return SGDevice->HasBattery(); +} + +bool USGDeviceKismetLibrary::IsCharging(USGDevice* SGDevice) +{ + return SGDevice->IsCharging(); +} + +bool USGDeviceKismetLibrary::GetBatteryLevel(USGDevice* SGDevice, float& OutLevel) +{ + return SGDevice->GetBatteryLevel(OutLevel); +} + +FString USGDeviceKismetLibrary::ToString_SGDevice(const USGDevice* SGDevice) +{ + return SGDevice->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceListKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceListKismetLibrary.cpp new file mode 100644 index 00000000..68682e4b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceListKismetLibrary.cpp @@ -0,0 +1,118 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGDeviceListKismetLibrary.h" + +#include "SGCore/SGDevice.h" +#include "SGCore/SGDeviceList.h" + +int32 USGDeviceListKismetLibrary::ActiveDevices() +{ + return FSGDeviceList::ActiveDevices(); +} + +bool USGDeviceListKismetLibrary::SenseCommRunning() +{ + return FSGDeviceList::SenseCommRunning(); +} + +void USGDeviceListKismetLibrary::Dispose() +{ + FSGDeviceList::Dispose(); +} + +void USGDeviceListKismetLibrary::Reinitialize() +{ + FSGDeviceList::Reinitialize(); +} + +TArray USGDeviceListKismetLibrary::GetDevices(UObject* WorldContextObject) +{ + return FSGDeviceList::GetDevices(WorldContextObject); +} + +TArray USGDeviceListKismetLibrary::GetDevices_TSubclassOf_USGDevice(UObject* WorldContextObject, + const TSubclassOf& DeviceType) +{ + return FSGDeviceList::GetDevices(WorldContextObject, DeviceType); +} + +TArray USGDeviceListKismetLibrary::GetDevices_ESGDeviceType(UObject* WorldContextObject, + const ESGDeviceType DeviceType) +{ + return FSGDeviceList::GetDevices(WorldContextObject, DeviceType); +} + +bool USGDeviceListKismetLibrary::GetSensorDataString(const int32 IpcIndex, const FString& IpcAddress, + FString& OutString) +{ + return FSGDeviceList::GetSensorDataString(IpcIndex, IpcAddress, OutString); +} + +bool USGDeviceListKismetLibrary::SendHaptics(const int32 IpcIndex, const FString& IpcAddress, const FString& Commands) +{ + return FSGDeviceList::SendHaptics(IpcIndex, IpcAddress, Commands); +} + +FString USGDeviceListKismetLibrary::GetDeviceStringAt(const int32 IpcIndex, const FString& IpcAddress, + const int32 Index) +{ + return FSGDeviceList::GetDeviceStringAt(IpcIndex, IpcAddress, Index); +} + +FString USGDeviceListKismetLibrary::GetAddress(const int32 IpcIndex, const FString& IpcAddress) +{ + return FSGDeviceList::GetAddress(IpcIndex, IpcAddress); +} + +ESGConnectionType USGDeviceListKismetLibrary::GetConnectionType(const int32 IpcIndex, const FString& IpcAddress) +{ + return FSGDeviceList::GetConnectionType(IpcIndex, IpcAddress); +} + +bool USGDeviceListKismetLibrary::IsConnected(const int32 IpcIndex, const FString& IpcAddress) +{ + return FSGDeviceList::IsConnected(IpcIndex, IpcAddress); +} + +int32 USGDeviceListKismetLibrary::PacketsPerSecondReceived(const int32 IpcIndex, const FString& IpcAddress) +{ + return FSGDeviceList::PacketsPerSecondReceived(IpcIndex, IpcAddress); +} + +int32 USGDeviceListKismetLibrary::PacketsPerSecondSent(const int32 IpcIndex, const FString& IpcAddress) +{ + return FSGDeviceList::PacketsPerSecondSent(IpcIndex, IpcAddress); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceModelKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceModelKismetLibrary.cpp new file mode 100644 index 00000000..9fe34e15 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGDeviceModelKismetLibrary.cpp @@ -0,0 +1,80 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGDeviceModelKismetLibrary.h" + +#include "SGCore/SGDeviceModel.h" + +USGDeviceModel* USGDeviceModelKismetLibrary::MakeDeviceModel(UObject* WorldContextObject) +{ + return USGDeviceModel::NewDeviceModel(WorldContextObject); +} + +USGDeviceModel* USGDeviceModelKismetLibrary::MakeDeviceModel_Id_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + UObject* WorldContextObject, + const FString& Id, const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion) +{ + return USGDeviceModel::NewDeviceModel(WorldContextObject, Id, HardwareVersion, FirmwareVersion, SubFirmwareVersion); +} + +TArray USGDeviceModelKismetLibrary::ParseFunctions(const int32 Value, const int32 Size) +{ + return USGDeviceModel::ParseFunctions(Value, Size); +} + +void USGDeviceModelKismetLibrary::ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion) +{ + USGDeviceModel::ParseFirmware(RawFirmware, OutMainVersion, OutSubVersion); +} + +FString USGDeviceModelKismetLibrary::GetDeviceId(const USGDeviceModel* DeviceModel) +{ + return DeviceModel->GetDeviceId(); +} + +FString USGDeviceModelKismetLibrary::GetHardwareVersion(const USGDeviceModel* DeviceModel) +{ + return DeviceModel->GetHardwareVersion(); +} + +int32 USGDeviceModelKismetLibrary::GetFirmwareVersion(const USGDeviceModel* DeviceModel) +{ + return DeviceModel->GetFirmwareVersion(); +} + +int32 USGDeviceModelKismetLibrary::GetSubFirmwareVersion(const USGDeviceModel* DeviceModel) +{ + return DeviceModel->GetSubFirmwareVersion(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGFingerCommandKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGFingerCommandKismetLibrary.cpp new file mode 100644 index 00000000..636cda59 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGFingerCommandKismetLibrary.cpp @@ -0,0 +1,63 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGFingerCommandKismetLibrary.h" + +#include "SGCore/SGFingerCommand.h" + +TArray USGFingerCommandKismetLibrary::GetLevels(const USGFingerCommand* FingerCommand) +{ + return FingerCommand->GetLevels(); +} + +int32 USGFingerCommandKismetLibrary::GetLevel(const USGFingerCommand* FingerCommand, const int32 Finger) +{ + return FingerCommand->GetLevel(Finger); +} + +void USGFingerCommandKismetLibrary::SetLevel(USGFingerCommand* FingerCommand, const int32 Finger, const int32 Value) +{ + FingerCommand->SetLevel(Finger, Value); +} + +bool USGFingerCommandKismetLibrary::Equals(const USGFingerCommand* A, const USGFingerCommand* B) +{ + return A->Equals(B); +} + +FString USGFingerCommandKismetLibrary::ToString(const USGFingerCommand* FingerCommand) +{ + return FingerCommand->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.cpp new file mode 100644 index 00000000..a800e78c --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.cpp @@ -0,0 +1,81 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGForceFeedbackCommandKismetLibrary.h" + +#include "SGCore/SGForceFeedbackCommand.h" + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::MakeForceFeedbackCommand(UObject* WorldContextObject) +{ + return USGForceFeedbackCommand::NewForceFeedbackCommand(WorldContextObject); +} + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::MakeForceFeedbackCommand_ForceFeedbackLevels( + UObject* WorldContextObject, const TArray& ForceFeedbackLevels) +{ + return USGForceFeedbackCommand::NewForceFeedbackCommand(WorldContextObject, ForceFeedbackLevels); +} + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::MakeForceFeedbackCommand_Thumb_Index_Middle_Ring_Pinky( + UObject* WorldContextObject, + const int32 Thumb, const int32 Index, const int32 Middle, const int32 Ring, const int32 Pinky) +{ + return USGForceFeedbackCommand::NewForceFeedbackCommand( + WorldContextObject, Thumb, Index, Middle, Ring, Pinky); +} + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::MakeForceFeedbackCommand_Finger_BuzzLevel( + UObject* WorldContextObject, const ESGFinger Finger, const int32 BuzzLevel) +{ + return USGForceFeedbackCommand::NewForceFeedbackCommand(WorldContextObject, Finger, BuzzLevel); +} + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::Off(UObject* WorldContextObject) +{ + return USGForceFeedbackCommand::Off(WorldContextObject); +} + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::Copy(UObject* WorldContextObject, + const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + return ForceFeedbackCommand->Copy(WorldContextObject); +} + +USGForceFeedbackCommand* USGForceFeedbackCommandKismetLibrary::Merge(UObject* WorldContextObject, + const USGForceFeedbackCommand* A, + const USGForceFeedbackCommand* B) +{ + return A->Merge(WorldContextObject, B); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandInterpolatorKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandInterpolatorKismetLibrary.cpp new file mode 100644 index 00000000..e597c427 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandInterpolatorKismetLibrary.cpp @@ -0,0 +1,157 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHandInterpolatorKismetLibrary.h" + +#include "SGCore/SGHandInterpolator.h" +#include "SGUtils/SGArrayUtils.h" + +USGHandInterpolator* USGHandInterpolatorKismetLibrary::MakeHandInterpolator(UObject* WorldContextObject) +{ + return USGHandInterpolator::NewHandInterpolator(WorldContextObject); +} + +USGHandInterpolator* USGHandInterpolatorKismetLibrary::MakeHandInterpolator_JointInterpolations( + UObject* WorldContextObject, const TArray& JointInterpolations) +{ + return USGHandInterpolator::NewHandInterpolator(WorldContextObject, JointInterpolations); +} + +USGHandInterpolator* USGHandInterpolatorKismetLibrary::MakeHandInterpolator_JointInterpolations_CmcStartRotation( + UObject* WorldContextObject, + const TArray& JointInterpolations, const FQuat& CmcStartRotation) +{ + return USGHandInterpolator::NewHandInterpolator(WorldContextObject, JointInterpolations, CmcStartRotation); +} + +USGHandInterpolator* USGHandInterpolatorKismetLibrary::Default(UObject* WorldContextObject, const bool bRightHanded) +{ + return USGHandInterpolator::Default(WorldContextObject, bRightHanded); +} + +USGHandInterpolator* USGHandInterpolatorKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGHandInterpolator::Deserialize(WorldContextObject, SerializedString); +} + +TArray USGHandInterpolatorKismetLibrary::InterpolateFingerAngles( + const ESGFinger Finger, const USGHandInterpolator* Interpolator, const FVector& TotalGloveAngles) +{ + return USGHandInterpolator::InterpolateFingerAngles(Finger, Interpolator, TotalGloveAngles); +} + +TArray USGHandInterpolatorKismetLibrary::InterpolateThumbAngles( + const USGHandInterpolator* Interpolator, const FVector& TotalGloveAngles) +{ + return USGHandInterpolator::InterpolateThumbAngles(Interpolator, TotalGloveAngles); +} + +TArray USGHandInterpolatorKismetLibrary::InterpolateHandAngles( + const USGHandInterpolator* Interpolator, const TArray& TotalAngles) +{ + return FSGArrayUtils::ToBPNestedArray( + USGHandInterpolator::InterpolateHandAngles(Interpolator, TotalAngles)); +} + +TArray USGHandInterpolatorKismetLibrary::GetJointInterpolations( + UObject* WorldContextObject, const USGHandInterpolator* HandInterpolator) const +{ + return FSGArrayUtils::ToBPNestedArray( + HandInterpolator->GetJointInterpolations(WorldContextObject)); +} + +FQuat USGHandInterpolatorKismetLibrary::GetCmcStartRotation(const USGHandInterpolator* HandInterpolator) const +{ + return HandInterpolator->GetCmcStartRotation(); +} + +float USGHandInterpolatorKismetLibrary::CalculateAngle_Finger_int32Movement_Value( + const USGHandInterpolator* HandInterpolator, const ESGFinger Finger, const int32 Movement, const float Value) +{ + return HandInterpolator->CalculateAngle(Finger, Movement, Value); +} + +float USGHandInterpolatorKismetLibrary::CalculateAngle_Finger_ESGFingerMovement_Value( + const USGHandInterpolator* HandInterpolator, const ESGFinger Finger, const ESGFingerMovement Movement, + const float Value) +{ + return HandInterpolator->CalculateAngle(Finger, Movement, Value); +} + +float USGHandInterpolatorKismetLibrary::CalculateAngle_Finger_ESGThumbMovement_Value( + const USGHandInterpolator* HandInterpolator, const ESGFinger Finger, const ESGThumbMovement Movement, + const float Value) +{ + return HandInterpolator->CalculateAngle(Finger, Movement, Value); +} + +void USGHandInterpolatorKismetLibrary::SetInterpolation_int32Finger_int32Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + USGHandInterpolator* HandInterpolator, const int32 Finger, const int32 Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + return HandInterpolator->SetInterpolation(Finger, Movement, InputAt0, InputAt1, AngleAt0, AngleAt1); +} + +void USGHandInterpolatorKismetLibrary::SetInterpolation_ESGFinger_ESGFingerMovement_InputAt0_InputAt1_AngleAt0_AngleAt1( + USGHandInterpolator* HandInterpolator, const ESGFinger Finger, const ESGFingerMovement Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + return HandInterpolator->SetInterpolation(Finger, Movement, InputAt0, InputAt1, AngleAt0, AngleAt1); +} + +void USGHandInterpolatorKismetLibrary::SetInterpolation_Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + USGHandInterpolator* HandInterpolator, const ESGThumbMovement Movement, + const float InputAt0, const float InputAt1, const float AngleAt0, const float AngleAt1) +{ + return HandInterpolator->SetInterpolation(Movement, InputAt0, InputAt1, AngleAt0, AngleAt1); +} + +USGInterpolationSet* USGHandInterpolatorKismetLibrary::GetInterpolation( + UObject* WorldContextObject, + const USGHandInterpolator* HandInterpolator, const int32 Finger, const int32 Movement) +{ + return HandInterpolator->GetInterpolation(WorldContextObject, Finger, Movement); +} + +bool USGHandInterpolatorKismetLibrary::Equals(const USGHandInterpolator* A, const USGHandInterpolator* B) +{ + return A->Equals(B); +} + +FString USGHandInterpolatorKismetLibrary::Serialize(const USGHandInterpolator* HandInterpolator) +{ + return HandInterpolator->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandPoseKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandPoseKismetLibrary.cpp new file mode 100644 index 00000000..0faf592e --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandPoseKismetLibrary.cpp @@ -0,0 +1,170 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHandPoseKismetLibrary.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGHandPose.h" +#include "SGUtils/SGArrayUtils.h" + +USGHandPose* USGHandPoseKismetLibrary::MakeHandPose(UObject* WorldContextObject) +{ + return USGHandPose::NewHandPose(WorldContextObject); +} + +USGHandPose* USGHandPoseKismetLibrary::MakeHandPose_bRightHanded_JointPositions_JointRotations_HandAngles( + UObject* WorldContextObject, + const bool bRightHanded, const TArray& JointPositions, const TArray& JointRotations, + const TArray& HandAngles) +{ + return USGHandPose::NewHandPose(WorldContextObject, bRightHanded, JointPositions, JointRotations, HandAngles); +} + +USGHandPose* USGHandPoseKismetLibrary::Deserialize(UObject* WorldContextObject, const FString& SerializedString) +{ + return USGHandPose::Deserialize(WorldContextObject, SerializedString); +} + +USGHandPose* USGHandPoseKismetLibrary::FromHandAngles_HandAngles_bRightHanded_HandDimensions( + UObject* WorldContextObject, + const TArray& HandAngles, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + TArray> HandAnglesNestedArray{ + FSGArrayUtils::FromBPNestedArray(HandAngles) + }; + return USGHandPose::FromHandAngles(WorldContextObject, MoveTemp(HandAnglesNestedArray), bRightHanded, + HandDimensions); +} + +USGHandPose* USGHandPoseKismetLibrary::FromHandAngles_HandAngles_bRightHanded( + UObject* WorldContextObject, const TArray& HandAngles, const bool bRightHanded) +{ + TArray> HandAnglesNestedArray{ + FSGArrayUtils::FromBPNestedArray(HandAngles) + }; + return USGHandPose::FromHandAngles(WorldContextObject, MoveTemp(HandAnglesNestedArray), bRightHanded); +} + +USGHandPose* USGHandPoseKismetLibrary::DefaultIdle_bRightHanded_HandDimensions( + UObject* WorldContextObject, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + return USGHandPose::DefaultIdle(WorldContextObject, bRightHanded, HandDimensions); +} + +USGHandPose* USGHandPoseKismetLibrary::DefaultIdle_bRightHanded(UObject* WorldContextObject, + const bool bRightHanded) +{ + return USGHandPose::DefaultIdle(WorldContextObject, bRightHanded); +} + +USGHandPose* USGHandPoseKismetLibrary::FlatHand_bRightHanded_HandDimensions( + UObject* WorldContextObject, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + return USGHandPose::FlatHand(WorldContextObject, bRightHanded, HandDimensions); +} + +USGHandPose* USGHandPoseKismetLibrary::FlatHand_bRightHanded(UObject* WorldContextObject, const bool bRightHanded) +{ + return USGHandPose::FlatHand(WorldContextObject, bRightHanded); +} + +USGHandPose* USGHandPoseKismetLibrary::ThumbsUp_bRightHanded_HandDimensions( + UObject* WorldContextObject, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + return USGHandPose::ThumbsUp(WorldContextObject, bRightHanded, HandDimensions); +} + +USGHandPose* USGHandPoseKismetLibrary::ThumbsUp_bRightHanded(UObject* WorldContextObject, const bool bRightHanded) +{ + return USGHandPose::ThumbsUp(WorldContextObject, bRightHanded); +} + +USGHandPose* USGHandPoseKismetLibrary::Fist_bRightHanded_HandDimensions( + UObject* WorldContextObject, const bool bRightHanded, const USGBasicHandModel* HandDimensions) +{ + return USGHandPose::Fist(WorldContextObject, bRightHanded, HandDimensions); +} + +USGHandPose* USGHandPoseKismetLibrary::Fist_bRightHanded(UObject* WorldContextObject, const bool bRightHanded) +{ + return USGHandPose::Fist(WorldContextObject, bRightHanded); +} + +bool USGHandPoseKismetLibrary::IsRight(const USGHandPose* HandPose) +{ + return HandPose->IsRight(); +} + +TArray USGHandPoseKismetLibrary::GetJointPositions(const USGHandPose* HandPose) +{ + return FSGArrayUtils::ToBPNestedArray(HandPose->GetJointPositions()); +} + +TArray USGHandPoseKismetLibrary::GetJointRotations(const USGHandPose* HandPose) +{ + return FSGArrayUtils::ToBPNestedArray(HandPose->GetJointRotations()); +} + +TArray USGHandPoseKismetLibrary::GetHandAngles(const USGHandPose* HandPose) +{ + return FSGArrayUtils::ToBPNestedArray(HandPose->GetHandAngles()); +} + +bool USGHandPoseKismetLibrary::Equals(const USGHandPose* A, const USGHandPose* B) +{ + return A->Equals(B); +} + +float USGHandPoseKismetLibrary::GetNormalizedFlexion_Finger_bClamp01( + const USGHandPose* HandPose, const ESGFinger Finger, const bool bClamp01) +{ + return HandPose->GetNormalizedFlexion(Finger, bClamp01); +} + +TArray USGHandPoseKismetLibrary::GetNormalizedFlexion_bClamp01( + const USGHandPose* HandPose, const bool bClamp01) +{ + return HandPose->GetNormalizedFlexion(bClamp01); +} + +FString USGHandPoseKismetLibrary::ToString(const USGHandPose* HandPose, const bool bShortFormat) +{ + return HandPose->ToString(bShortFormat); +} + +FString USGHandPoseKismetLibrary::Serialize(const USGHandPose* HandPose) +{ + return HandPose->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandProfileKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandProfileKismetLibrary.cpp new file mode 100644 index 00000000..25d8ac96 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHandProfileKismetLibrary.cpp @@ -0,0 +1,140 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHandProfileKismetLibrary.h" + +#include "SGCore/SGHandProfile.h" + +USGHandProfile* USGHandProfileKismetLibrary::MakeHandProfile(UObject* WorldContextObject) +{ + return USGHandProfile::NewHandProfile(WorldContextObject); +} + +USGHandProfile* USGHandProfileKismetLibrary::MakeHandProfile_bRightHanded_SenseGloveHandProfile_NovaGloveHandProfile( + UObject* WorldContextObject, + const bool bRightHanded, + const USGSenseGloveHandProfile* SenseGloveHandProfile, const USGNovaGloveHandProfile* NovaGloveHandProfile) +{ + return USGHandProfile::NewHandProfile(WorldContextObject, + bRightHanded, SenseGloveHandProfile, NovaGloveHandProfile); +} + +USGHandProfile* USGHandProfileKismetLibrary::Default(UObject* WorldContextObject, const bool bRightHanded) +{ + return USGHandProfile::Default(WorldContextObject, bRightHanded); +} + +USGHandProfile* USGHandProfileKismetLibrary::Deserialize(UObject* WorldContextObject, const FString& SerializedString) +{ + return USGHandProfile::Deserialize(WorldContextObject, SerializedString); +} + +FString USGHandProfileKismetLibrary::GetProfileDirectory() +{ + return USGHandProfile::GetProfileDirectory(); +} + +FString USGHandProfileKismetLibrary::GetLeftHandFileName() +{ + return USGHandProfile::GetLeftHandFileName(); +} + +FString USGHandProfileKismetLibrary::GetRightHandFileName() +{ + return USGHandProfile::GetRightHandFileName(); +} + +FString USGHandProfileKismetLibrary::GetProfileFileName(const bool bRightHanded) +{ + return USGHandProfile::GetProfileFileName(bRightHanded); +} + +bool USGHandProfileKismetLibrary::GetLatestProfile( + UObject* WorldContextObject, const bool bRightHanded, USGHandProfile*& OutLatestProfile) +{ + return USGHandProfile::GetLatestProfile(WorldContextObject, bRightHanded, OutLatestProfile); +} + +bool USGHandProfileKismetLibrary::StoreProfile(const USGHandProfile* ProfileToStore) +{ + return USGHandProfile::StoreProfile(ProfileToStore); +} + +bool USGHandProfileKismetLibrary::ResetCalibration_bRightHanded_bOnDisk(const bool bRightHanded, const bool bOnDisk) +{ + return USGHandProfile::ResetCalibration(bRightHanded, bOnDisk); +} + +void USGHandProfileKismetLibrary::ResetCalibration_bObDisk(const bool bOnDisk) +{ + /// NOTE + /// Due to overload method with a default parameter value, the compiler will get confused and stops with the error: + /// "call to 'ResetCalibration' is ambiguous" + /// So: + void (*RC)(bool) = &USGHandProfile::ResetCalibration; + RC(bOnDisk); +} + +bool USGHandProfileKismetLibrary::IsRight(const USGHandProfile* HandProfile) +{ + return HandProfile->IsRight(); +} + +USGSenseGloveHandProfile* USGHandProfileKismetLibrary::GetSenseGloveHandProfile( + UObject* WorldContextObject, const USGHandProfile* HandProfile) +{ + return HandProfile->GetSenseGloveHandProfile(WorldContextObject); +} + +USGNovaGloveHandProfile* USGHandProfileKismetLibrary::GetNovaGloveHandProfile( + UObject* WorldContextObject, const USGHandProfile* HandProfile) +{ + return HandProfile->GetNovaGloveHandProfile(WorldContextObject); +} + +bool USGHandProfileKismetLibrary::Equals(const USGHandProfile* A, const USGHandProfile* B) +{ + return A->Equals(B); +} + +void USGHandProfileKismetLibrary::Reset(USGHandProfile* HandProfile) +{ + HandProfile->Reset(); +} + +FString USGHandProfileKismetLibrary::Serialize(const USGHandProfile* HandProfile) +{ + return HandProfile->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.cpp new file mode 100644 index 00000000..d7decad2 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.cpp @@ -0,0 +1,136 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.h" + +#include "SGCore/SGHapticGloveCalibrationCheck.h" +#include "SGCore/SGSensorRange.h" + +USGHapticGloveCalibrationCheck* USGHapticGloveCalibrationCheckKismetLibrary::MakeHapticGloveCalibrationCheck( + UObject* WorldContextObject) +{ + return USGHapticGloveCalibrationCheck::NewHapticGloveCalibrationCheck(WorldContextObject); +} + +USGHapticGloveCalibrationCheck* USGHapticGloveCalibrationCheckKismetLibrary:: +MakeHapticGloveCalibrationCheck_LastCalibrationRange( + UObject* WorldContextObject, const USGSensorRange* LastCalibrationRange) +{ + return USGHapticGloveCalibrationCheck::NewHapticGloveCalibrationCheck(WorldContextObject, LastCalibrationRange); +} + +float USGHapticGloveCalibrationCheckKismetLibrary::GetSenseGloveThreshold() +{ + return USGHapticGloveCalibrationCheck::GetSenseGloveThreshold(); +} + +float USGHapticGloveCalibrationCheckKismetLibrary::GetNovaGloveThreshold() +{ + return USGHapticGloveCalibrationCheck::GetNovaGloveThreshold(); +} + +float USGHapticGloveCalibrationCheckKismetLibrary::GetSenseGloveMinFlexion() +{ + return USGHapticGloveCalibrationCheck::GetSenseGloveMinFlexion(); +} + +float USGHapticGloveCalibrationCheckKismetLibrary::GetNovaGloveMinFlexion() +{ + return USGHapticGloveCalibrationCheck::GetNovaGloveMinFlexion(); +} + +float USGHapticGloveCalibrationCheckKismetLibrary::GetSenseGloveMinAbduction() +{ + return USGHapticGloveCalibrationCheck::GetSenseGloveMinAbduction(); +} + +float USGHapticGloveCalibrationCheckKismetLibrary::GetNovaGloveMinAbduction() +{ + return USGHapticGloveCalibrationCheck::GetNovaGloveMinAbduction(); +} + +bool USGHapticGloveCalibrationCheckKismetLibrary::NeedsCheck(const ESGDeviceType DeviceType) +{ + return USGHapticGloveCalibrationCheck::NeedsCheck(DeviceType); +} + +int32 USGHapticGloveCalibrationCheckKismetLibrary::OutOfBounds( + const USGSensorRange* PreviousRange, const TArray& CurrentValues, const ESGDeviceType DeviceType) +{ + return USGHapticGloveCalibrationCheck::OutOfBounds(PreviousRange, CurrentValues, DeviceType); +} + +bool USGHapticGloveCalibrationCheckKismetLibrary::MovedMinimum(const TArray& CurrentRange, + const ESGDeviceType DeviceType) +{ + return USGHapticGloveCalibrationCheck::MovedMinimum(CurrentRange, DeviceType); +} + +bool USGHapticGloveCalibrationCheckKismetLibrary::MatchesLast( + const TArray& CurrentRange, const TArray& LastRange, const ESGDeviceType DeviceType) +{ + return USGHapticGloveCalibrationCheck::MatchesLast(CurrentRange, LastRange, DeviceType); +} + +USGSensorRange* USGHapticGloveCalibrationCheckKismetLibrary::GetLastSensorRange( + UObject* WorldContextObject, + const USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck) +{ + return HapticGloveCalibrationCheck->GetLastSensorRange(WorldContextObject); +} + +ESGCalibrationStage USGHapticGloveCalibrationCheckKismetLibrary::GetCalibrationStage( + const USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck) +{ + return HapticGloveCalibrationCheck->GetCalibrationStage(); +} + +bool USGHapticGloveCalibrationCheckKismetLibrary::ReachedConclusion( + const USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck) +{ + return HapticGloveCalibrationCheck->ReachedConclusion(); +} + +void USGHapticGloveCalibrationCheckKismetLibrary::Reset(USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck) +{ + HapticGloveCalibrationCheck->Reset(); +} + +void USGHapticGloveCalibrationCheckKismetLibrary::CheckRange( + USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck, const TArray& CurrentValues, + const float DeltaSeconds, const ESGDeviceType DeviceType) +{ + HapticGloveCalibrationCheck->CheckRange(CurrentValues, DeltaSeconds, DeviceType); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.cpp new file mode 100644 index 00000000..acf284e0 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.cpp @@ -0,0 +1,173 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.h" + +#include "SGCore/SGHapticGloveCalibrationSequence.h" + +USGHapticGloveCalibrationSequence* USGHapticGloveCalibrationSequenceKismetLibrary:: +MakeHapticGloveCalibrationSequence_GloveToCalibrate(UObject* WorldContextObject, const USGHapticGlove* GloveToCalibrate) +{ + return USGHapticGloveCalibrationSequence::NewHapticGloveCalibrationSequence(WorldContextObject, GloveToCalibrate); +} + +int32 USGHapticGloveCalibrationSequenceKismetLibrary::GetMaxDataPoints() +{ + return USGHapticGloveCalibrationSequence::GetMaxDataPoints(); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::CompileProfile_SensorRange_ForDevice_bRightHanded_OutProfile( + UObject* WorldContextObject, + const USGSensorRange* SensorRange, ESGDeviceType ForDevice, bool bRightHanded, USGHandProfile*& OutProfile) +{ + return USGHapticGloveCalibrationSequence::CompileProfile(WorldContextObject, + SensorRange, ForDevice, bRightHanded, OutProfile); +} + +USGHapticGlove* USGHapticGloveCalibrationSequenceKismetLibrary::GetLinkedGlove( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->GetLinkedGlove(WorldContextObject); +} + +void USGHapticGloveCalibrationSequenceKismetLibrary::SetLinkedGlove( + USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, const USGHapticGlove* LinkedGlove) +{ + HapticGloveCalibrationSequence->SetLinkedGlove(LinkedGlove); +} + +TArray USGHapticGloveCalibrationSequenceKismetLibrary::GetCalibrationPoints( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->GetCalibrationPoints(WorldContextObject); +} + +float USGHapticGloveCalibrationSequenceKismetLibrary::GetElapsedTime( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->GetElapsedTime(); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::IsManuallyCompleted( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->IsManuallyCompleted(); +} + +int32 USGHapticGloveCalibrationSequenceKismetLibrary::GetCurrentStage( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->GetCurrentStage(); +} + +int64 USGHapticGloveCalibrationSequenceKismetLibrary::GetCalibrationPointsCount( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return StaticCast(HapticGloveCalibrationSequence->GetCalibrationPointsCount()); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::AutoCompleted( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->AutoCompleted(); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::Completed( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + return HapticGloveCalibrationSequence->Completed(); +} + +void USGHapticGloveCalibrationSequenceKismetLibrary::Reset( + USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + HapticGloveCalibrationSequence->Reset(); +} + +void USGHapticGloveCalibrationSequenceKismetLibrary::AddDataPoint( + USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, const TArray& CalibrationData) +{ + HapticGloveCalibrationSequence->AddDataPoint(CalibrationData); +} + +void USGHapticGloveCalibrationSequenceKismetLibrary::Update( + USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, const float DeltaSeconds) +{ + HapticGloveCalibrationSequence->Update(DeltaSeconds); +} + +void USGHapticGloveCalibrationSequenceKismetLibrary::ConfirmCurrentStep( + USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence) +{ + HapticGloveCalibrationSequence->ConfirmCurrentStep(); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::CompileRange( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, USGSensorRange*& OutSensorRange) +{ + return HapticGloveCalibrationSequence->CompileRange(WorldContextObject, OutSensorRange); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::CompileProfile_ForDevice_bRightHanded_OutProfile( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, ESGDeviceType ForDevice, bool bRightHanded, + USGHandProfile*& OutProfile) +{ + return HapticGloveCalibrationSequence->CompileProfile(WorldContextObject, ForDevice, bRightHanded, OutProfile); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::GetHandPose_OutCurrentHandPose( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, USGHandPose*& OutCurrentHandPose) +{ + return HapticGloveCalibrationSequence->GetHandPose(WorldContextObject, OutCurrentHandPose); +} + +bool USGHapticGloveCalibrationSequenceKismetLibrary::GetHandPose_bRightHanded_OutCurrentHandPose( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + const bool bRightHanded, USGHandPose*& OutCurrentHandPose) +{ + return HapticGloveCalibrationSequence->GetHandPose(WorldContextObject, bRightHanded, OutCurrentHandPose); +} + +FString USGHapticGloveCalibrationSequenceKismetLibrary::GetCurrentInstruction( + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, const FString& NextStepKey) +{ + return HapticGloveCalibrationSequence->GetCurrentInstruction(NextStepKey); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.cpp new file mode 100644 index 00000000..a2b13d53 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.cpp @@ -0,0 +1,187 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.h" + +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGHapticGloveCommandBuffer.h" +#include "SGCore/SGTimedBuzzCommand.h" +#include "SGCore/SGTimedThumpCommand.h" + +USGHapticGloveCommandBuffer* USGHapticGloveCommandBufferKismetLibrary::MakeHapticGloveCommandBuffer( + UObject* WorldContextObject) +{ + return USGHapticGloveCommandBuffer::NewHapticGloveCommandBuffer(WorldContextObject); +} + +int32 USGHapticGloveCommandBufferKismetLibrary::GetMaxForceFeedbackCommands() +{ + return USGHapticGloveCommandBuffer::GetMaxForceFeedbackCommands(); +} + +int32 USGHapticGloveCommandBufferKismetLibrary::GetMaxBuzzCommands() +{ + return USGHapticGloveCommandBuffer::GetMaxBuzzCommands(); +} + +int32 USGHapticGloveCommandBufferKismetLibrary::GetMaxThumpCommands() +{ + return USGHapticGloveCommandBuffer::GetMaxThumpCommands(); +} + +TArray USGHapticGloveCommandBufferKismetLibrary::GetForceFeedbackCommandsQueue( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + return HapticGloveCommandBuffer->GetForceFeedbackCommandsQueue(WorldContextObject); +} + +TArray USGHapticGloveCommandBufferKismetLibrary::GetBuzzCommandsQueue( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + return HapticGloveCommandBuffer->GetBuzzCommandsQueue(WorldContextObject); +} + +TArray USGHapticGloveCommandBufferKismetLibrary::GetThumperCommandsQueue( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + return HapticGloveCommandBuffer->GetThumperCommandsQueue(WorldContextObject); +} + +void USGHapticGloveCommandBufferKismetLibrary::ClearForceFeedbackCommandsQueue( + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + HapticGloveCommandBuffer->ClearForceFeedbackCommandsQueue(); +} + +void USGHapticGloveCommandBufferKismetLibrary::ClearVibrations( + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + HapticGloveCommandBuffer->ClearVibrations(); +} + +void USGHapticGloveCommandBufferKismetLibrary::Clear(USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + HapticGloveCommandBuffer->Clear(); +} + +void USGHapticGloveCommandBufferKismetLibrary::AddCommand_ForceFeedbackCommand( + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + HapticGloveCommandBuffer->AddCommand(ForceFeedbackCommand); +} + +void USGHapticGloveCommandBufferKismetLibrary::AddCommand_BuzzCommand( + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGTimedBuzzCommand* BuzzCommand) +{ + HapticGloveCommandBuffer->AddCommand(BuzzCommand); +} + +void USGHapticGloveCommandBufferKismetLibrary::AddCommand_ThumpCommand( + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGTimedThumpCommand* ThumpCommand) +{ + HapticGloveCommandBuffer->AddCommand(ThumpCommand); +} + +void USGHapticGloveCommandBufferKismetLibrary::UpdateTimedCommands( + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, const float DeltaSeconds) +{ + HapticGloveCommandBuffer->UpdateTimedCommands(DeltaSeconds); +} + +USGForceFeedbackCommand* USGHapticGloveCommandBufferKismetLibrary::GetTotalForceFeedbackLevels_LastForceFeedbackCommand( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGForceFeedbackCommand* LastForceFeedbackCommand) +{ + return HapticGloveCommandBuffer->GetTotalForceFeedbackLevels(WorldContextObject, LastForceFeedbackCommand); +} + +USGForceFeedbackCommand* USGHapticGloveCommandBufferKismetLibrary::GetTotalForceFeedbackLevels( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + return HapticGloveCommandBuffer->GetTotalForceFeedbackLevels(WorldContextObject); +} + +USGBuzzCommand* USGHapticGloveCommandBufferKismetLibrary::GetTotalBuzzLevels( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + return HapticGloveCommandBuffer->GetTotalBuzzLevels(WorldContextObject); +} + +USGThumperCommand* USGHapticGloveCommandBufferKismetLibrary::GetTotalThumperLevels( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer) +{ + return HapticGloveCommandBuffer->GetTotalThumperLevels(WorldContextObject); +} + +void USGHapticGloveCommandBufferKismetLibrary:: +FlushHaptics_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand_bClearForceFeedbackQueue( + UObject* WorldContextObject, + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand, + const bool bClearForceFeedbackQueue) +{ + HapticGloveCommandBuffer->FlushHaptics(WorldContextObject, + LastBrakeLevel, + OutForceFeedbackCommand, OutBuzzCommand, OutThumperCommand, + bClearForceFeedbackQueue); +} + +void USGHapticGloveCommandBufferKismetLibrary:: +FlushHaptics_DeltaSeconds_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand( + UObject* WorldContextObject, + USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const float DeltaSeconds, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand) +{ + HapticGloveCommandBuffer->FlushHaptics(WorldContextObject, + DeltaSeconds, LastBrakeLevel, + OutForceFeedbackCommand, OutBuzzCommand, OutThumperCommand); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.cpp new file mode 100644 index 00000000..e625da17 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.cpp @@ -0,0 +1,118 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.h" + +#include "Templates/SharedPointer.h" + +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGHapticGloveHandProfiles.h" +#include "SGCore/SGSensorRange.h" + +FString USGHapticGloveHandProfilesKismetLibrary::GetProfileDirectory() +{ + return FSGHapticGloveHandProfiles::GetProfileDirectory(); +} + +void USGHapticGloveHandProfilesKismetLibrary::SetProfileDirectory(const FString& Directory) +{ + FSGHapticGloveHandProfiles::SetProfileDirectory(Directory); +} + +void USGHapticGloveHandProfilesKismetLibrary::GetLeftHandProfile(UObject* WorldContextObject, + USGHandProfile*& OutHandProfile) +{ + FSGHapticGloveHandProfiles::GetLeftHandProfile(WorldContextObject, OutHandProfile); +} + +void USGHapticGloveHandProfilesKismetLibrary::SetLeftHandProfile(const USGHandProfile* HandProfile) +{ + FSGHapticGloveHandProfiles::SetLeftHandProfile(HandProfile); +} + +void USGHapticGloveHandProfilesKismetLibrary::GetRightHandProfile(UObject* WorldContextObject, + USGHandProfile*& OutHandProfile) +{ + FSGHapticGloveHandProfiles::GetRightHandProfile(WorldContextObject, OutHandProfile); +} + +void USGHapticGloveHandProfilesKismetLibrary::SetRightHandProfile(const USGHandProfile* HandProfile) +{ + FSGHapticGloveHandProfiles::SetRightHandProfile(HandProfile); +} + +void USGHapticGloveHandProfilesKismetLibrary::GetProfile(UObject* WorldContextObject, + const bool bRightHanded, USGHandProfile*& OutHandProfile) +{ + FSGHapticGloveHandProfiles::GetProfile(WorldContextObject, bRightHanded, OutHandProfile); +} + +void USGHapticGloveHandProfilesKismetLibrary::SetProfile_HandProfile(const USGHandProfile* HandProfile) +{ + FSGHapticGloveHandProfiles::SetProfile(HandProfile); +} + +void USGHapticGloveHandProfilesKismetLibrary::SetProfile_HandProfile_bRightHanded(const USGHandProfile* HandProfile, + const bool bRightHanded) +{ + FSGHapticGloveHandProfiles::SetProfile(HandProfile, bRightHanded); +} + +void USGHapticGloveHandProfilesKismetLibrary::RestoreDefaults() +{ + FSGHapticGloveHandProfiles::RestoreDefaults(); +} + +void USGHapticGloveHandProfilesKismetLibrary::RestoreDefaults_bRightHanded(const bool bRightHanded) +{ + FSGHapticGloveHandProfiles::RestoreDefaults(bRightHanded); +} + +void USGHapticGloveHandProfilesKismetLibrary::TryLoadingFromDisk() +{ + FSGHapticGloveHandProfiles::TryLoadingFromDisk(); +} + +bool USGHapticGloveHandProfilesKismetLibrary::SaveLastRange(const USGSensorRange* CurrentRange, + const USGHapticGlove* ForGlove) +{ + return FSGHapticGloveHandProfiles::SaveLastRange(CurrentRange, ForGlove); +} + +bool USGHapticGloveHandProfilesKismetLibrary::LoadLastRange( + UObject* WorldContextObject, const USGHapticGlove* ForGlove, USGSensorRange*& OutLastRange) +{ + return FSGHapticGloveHandProfiles::LoadLastRange(WorldContextObject, ForGlove, OutLastRange); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveKismetLibrary.cpp new file mode 100644 index 00000000..2289ecef --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveKismetLibrary.cpp @@ -0,0 +1,227 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHapticGloveKismetLibrary.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGHapticGlove.h" +#include "SGCore/SGThumperCommand.h" + +TArray USGHapticGloveKismetLibrary::GetHapticGloves(UObject* WorldContextObject) +{ + return USGHapticGlove::GetHapticGloves(WorldContextObject); +} + +bool USGHapticGloveKismetLibrary::GetGlove_OutGlove(UObject* WorldContextObject, USGHapticGlove*& OutGlove) +{ + return USGHapticGlove::GetGlove(WorldContextObject, OutGlove); +} + +bool USGHapticGloveKismetLibrary::GetGlove_bRightHanded_OutGlove(UObject* WorldContextObject, + const bool bRightHanded, USGHapticGlove*& OutGlove) +{ + return USGHapticGlove::GetGlove(WorldContextObject, bRightHanded, OutGlove); +} + +ESGDeviceType USGHapticGloveKismetLibrary::GetDeviceType(const USGHapticGlove* HapticGlove) +{ + return HapticGlove->GetDeviceType(); +} + +FString USGHapticGloveKismetLibrary::GetDeviceId(const USGHapticGlove* HapticGlove) +{ + return HapticGlove->GetDeviceId(); +} + +FString USGHapticGloveKismetLibrary::GetHardwareVersion(const USGHapticGlove* HapticGlove) +{ + return HapticGlove->GetHardwareVersion(); +} + +int32 USGHapticGloveKismetLibrary::GetFirmwareVersion(const USGHapticGlove* HapticGlove) +{ + return HapticGlove->GetFirmwareVersion(); +} + +int32 USGHapticGloveKismetLibrary::GetSubFirmwareVersion(const USGHapticGlove* HapticGlove) +{ + return HapticGlove->GetSubFirmwareVersion(); +} + +bool USGHapticGloveKismetLibrary::IsRight(const USGHapticGlove* HapticGlove) +{ + return HapticGlove->IsRight(); +} + +bool USGHapticGloveKismetLibrary::GetImuRotation(USGHapticGlove* HapticGlove, FQuat& OutImu) +{ + return HapticGlove->GetImuRotation(OutImu); +} + +bool USGHapticGloveKismetLibrary::GetHandPose_HandGeometry_HandProfile_OutHandPose( + UObject* WorldContextObject, USGHapticGlove* HapticGlove, + const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + return HapticGlove->GetHandPose(WorldContextObject, HandGeometry, HandProfile, OutHandPose); +} + +bool USGHapticGloveKismetLibrary::GetHandPose_HandProfile_OutHandPose( + UObject* WorldContextObject, + USGHapticGlove* HapticGlove, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + return HapticGlove->GetHandPose(WorldContextObject, HandProfile, OutHandPose); +} + +bool USGHapticGloveKismetLibrary::GetHandPose_HandGeometry_OutHandPose( + UObject* WorldContextObject, + USGHapticGlove* HapticGlove, const USGBasicHandModel* HandGeometry, USGHandPose*& OutHandPose) +{ + return HapticGlove->GetHandPose(WorldContextObject, HandGeometry, OutHandPose); +} + +bool USGHapticGloveKismetLibrary::GetHandPose_OutHandPose( + UObject* WorldContextObject, USGHapticGlove* HapticGlove, USGHandPose*& OutHandPose) +{ + return HapticGlove->GetHandPose(WorldContextObject, OutHandPose); +} + +void USGHapticGloveKismetLibrary::StopHaptics(USGHapticGlove* HapticGlove) +{ + return HapticGlove->StopHaptics(); +} + +void USGHapticGloveKismetLibrary::StopVibrations(USGHapticGlove* HapticGlove) +{ + return HapticGlove->StopVibrations(); +} + +void USGHapticGloveKismetLibrary::SendHaptics_ForceFeedbackCommand( + USGHapticGlove* HapticGlove, const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + return HapticGlove->SendHaptics(ForceFeedbackCommand); +} + +void USGHapticGloveKismetLibrary::SendHaptics_BuzzCommand( + USGHapticGlove* HapticGlove, const USGBuzzCommand* BuzzCommand) +{ + return HapticGlove->SendHaptics(BuzzCommand); +} + +void USGHapticGloveKismetLibrary::SendHaptics_ThumperCommand( + USGHapticGlove* HapticGlove, const USGThumperCommand* ThumperCommand) +{ + return HapticGlove->SendHaptics(ThumperCommand); +} + +void USGHapticGloveKismetLibrary::SendHaptics_ForceFeedbackCommand_BuzzCommand( + USGHapticGlove* HapticGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, const USGBuzzCommand* BuzzCommand) +{ + return HapticGlove->SendHaptics(ForceFeedbackCommand, BuzzCommand); +} + +void USGHapticGloveKismetLibrary::SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + USGHapticGlove* HapticGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) +{ + return HapticGlove->SendHaptics(ForceFeedbackCommand, BuzzCommand, ThumperCommand); +} + +bool USGHapticGloveKismetLibrary::GetCalibrationValues(USGHapticGlove* HapticGlove, TArray& OutValues) +{ + return HapticGlove->GetCalibrationValues(OutValues); +} + +void USGHapticGloveKismetLibrary::ResetCalibrationRange(USGHapticGlove* HapticGlove) +{ + HapticGlove->ResetCalibrationRange(); +} + +void USGHapticGloveKismetLibrary::UpdateCalibrationRange(USGHapticGlove* HapticGlove) +{ + HapticGlove->UpdateCalibrationRange(); +} + +void USGHapticGloveKismetLibrary::UpdateCalibrationRange_CalibrationValues(USGHapticGlove* HapticGlove, + const TArray& CalibrationValues) +{ + HapticGlove->UpdateCalibrationRange(CalibrationValues); +} + +void USGHapticGloveKismetLibrary::GetCalibrationRange(USGHapticGlove* HapticGlove, + TArray& OutMinValues, + TArray& OutMaxValues) +{ + HapticGlove->GetCalibrationRange(OutMinValues, OutMaxValues); +} + +void USGHapticGloveKismetLibrary::UpdateCalibration( + UObject* WorldContextObject, USGHapticGlove* HapticGlove, USGHandProfile*& OutProfile) +{ + HapticGlove->UpdateCalibration(WorldContextObject, OutProfile); +} + +void USGHapticGloveKismetLibrary::ApplyCalibration( + UObject* WorldContextObject, const USGHapticGlove* HapticGlove, USGHandProfile*& OutProfile) +{ + HapticGlove->ApplyCalibration(WorldContextObject, OutProfile); +} + +void USGHapticGloveKismetLibrary::GetWristLocation(const USGHapticGlove* HapticGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + HapticGlove->GetWristLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + OutWristPosition, OutWristRotation); +} + +void USGHapticGloveKismetLibrary::GetGloveLocation(const USGHapticGlove* HapticGlove, const FVector& ReferencePosition, + const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, + FQuat& OutGloveRotation) +{ + HapticGlove->GetGloveLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + OutGlovePosition, OutGloveRotation); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.cpp new file mode 100644 index 00000000..79e4f1aa --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.cpp @@ -0,0 +1,139 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.h" + +USGHapticGloveQuickCalibration* USGHapticGloveQuickCalibrationKismetLibrary::MakeHapticGloveQuickCalibration( + UObject* WorldContextObject) +{ + return USGHapticGloveQuickCalibration::NewHapticGloveQuickCalibration(WorldContextObject); +} + +USGHapticGloveQuickCalibration* USGHapticGloveQuickCalibrationKismetLibrary:: +MakeHapticGloveQuickCalibration_GloveToCalibrate_AutoEndTimeout(UObject* WorldContextObject, + const USGHapticGlove* GloveToCalibrate, + const float AutoEndTimeout) +{ + return USGHapticGloveQuickCalibration::NewHapticGloveQuickCalibration( + WorldContextObject, GloveToCalibrate, AutoEndTimeout); +} + +float USGHapticGloveQuickCalibrationKismetLibrary::GetDefaultAutoEndTimeout() +{ + return USGHapticGloveQuickCalibration::GetDefaultAutoEndTimeout(); +} + +float USGHapticGloveQuickCalibrationKismetLibrary::GetAutoEndTimeout( + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + return HapticGloveQuickCalibration->GetAutoEndTimeout(); +} + +int32 USGHapticGloveQuickCalibrationKismetLibrary::GetSmoothingSamples( + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + return HapticGloveQuickCalibration->GetSmoothingSamples(); +} + +USGSensorRange* USGHapticGloveQuickCalibrationKismetLibrary::GetSensorRange( + UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + return HapticGloveQuickCalibration->GetSensorRange(WorldContextObject); +} + +USGHandProfile* USGHapticGloveQuickCalibrationKismetLibrary::GetTemporaryProfile( + UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + return HapticGloveQuickCalibration->GetTemporaryProfile(WorldContextObject); +} + +bool USGHapticGloveQuickCalibrationKismetLibrary::CanAnimate( + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + return HapticGloveQuickCalibration->CanAnimate(); +} + +bool USGHapticGloveQuickCalibrationKismetLibrary::AutoCompleted( + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + return HapticGloveQuickCalibration->AutoCompleted(); +} + +void USGHapticGloveQuickCalibrationKismetLibrary::Reset( + USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + HapticGloveQuickCalibration->Reset(); +} + +void USGHapticGloveQuickCalibrationKismetLibrary::Update( + USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, const float DeltaSeconds) +{ + HapticGloveQuickCalibration->Update(DeltaSeconds); +} + +void USGHapticGloveQuickCalibrationKismetLibrary::AddDataPoint( + USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, const TArray& CalibrationData) +{ + HapticGloveQuickCalibration->AddDataPoint(CalibrationData); +} + +void USGHapticGloveQuickCalibrationKismetLibrary::ConfirmCurrentStep( + USGHapticGloveQuickCalibration* HapticGloveQuickCalibration) +{ + HapticGloveQuickCalibration->ConfirmCurrentStep(); +} + +bool USGHapticGloveQuickCalibrationKismetLibrary::CompileRange( + UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, USGSensorRange*& OutSensorRange) +{ + return HapticGloveQuickCalibration->CompileRange(WorldContextObject, OutSensorRange); +} + +bool USGHapticGloveQuickCalibrationKismetLibrary::GetHandPose( + UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, const bool bRightHanded, + USGHandPose*& OutCurrentHandPose) +{ + return HapticGloveQuickCalibration->GetHandPose(WorldContextObject, bRightHanded, OutCurrentHandPose); +} + +FString USGHapticGloveQuickCalibrationKismetLibrary::GetCurrentInstruction( + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, const FString& NextStepKey) +{ + return HapticGloveQuickCalibration->GetCurrentInstruction(NextStepKey); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGInterpolationSetKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGInterpolationSetKismetLibrary.cpp new file mode 100644 index 00000000..cd29f793 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGInterpolationSetKismetLibrary.cpp @@ -0,0 +1,149 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGInterpolationSetKismetLibrary.h" + +#include "SGCore/SGInterpolationSet.h" + +USGInterpolationSet* USGInterpolationSetKismetLibrary::MakeInterpolationSet(UObject* WorldContextObject) +{ + return USGInterpolationSet::NewInterpolationSet(WorldContextObject); +} + +USGInterpolationSet* USGInterpolationSetKismetLibrary::MakeInterpolationSet_From1_From2_To1_To2( + UObject* WorldContextObject, const float From1, const float From2, const float To1, const float To2) +{ + return USGInterpolationSet::NewInterpolationSet(WorldContextObject, From1, From2, To1, To2); +} + +USGInterpolationSet* USGInterpolationSetKismetLibrary::MakeInterpolationSet_From1_From2_To1_To2_Min_Max( + UObject* WorldContextObject, + const float From1, const float From2, const float To1, const float To2, const float Min, const float Max) +{ + return USGInterpolationSet::NewInterpolationSet(WorldContextObject, From1, From2, To1, To2, Min, Max); +} + +USGInterpolationSet* USGInterpolationSetKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGInterpolationSet::Deserialize(WorldContextObject, SerializedString); +} + +float USGInterpolationSetKismetLibrary::GetX0(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->GetX0(); +} + +void USGInterpolationSetKismetLibrary::SetX0(USGInterpolationSet* InterpolationSet, const float X0) +{ + InterpolationSet->SetX0(X0); +} + +float USGInterpolationSetKismetLibrary::GetX1(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->GetX1(); +} + +void USGInterpolationSetKismetLibrary::SetX1(USGInterpolationSet* InterpolationSet, const float X1) +{ + InterpolationSet->SetX1(X1); +} + +float USGInterpolationSetKismetLibrary::GetY0(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->GetY0(); +} + +void USGInterpolationSetKismetLibrary::SetY0(USGInterpolationSet* InterpolationSet, const float Y0) +{ + InterpolationSet->SetY0(Y0); +} + +float USGInterpolationSetKismetLibrary::GetY1(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->GetY1(); +} + +void USGInterpolationSetKismetLibrary::SetY1(USGInterpolationSet* InterpolationSet, const float Y1) +{ + InterpolationSet->SetY1(Y1); +} + +float USGInterpolationSetKismetLibrary::GetMin(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->GetMin(); +} + +void USGInterpolationSetKismetLibrary::SetMin(USGInterpolationSet* InterpolationSet, const float Min) +{ + InterpolationSet->SetMin(Min); +} + +float USGInterpolationSetKismetLibrary::GetMax(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->GetMax(); +} + +void USGInterpolationSetKismetLibrary::SetMax(USGInterpolationSet* InterpolationSet, const float Max) +{ + InterpolationSet->SetMax(Max); +} + +int32 USGInterpolationSetKismetLibrary::Get(const USGInterpolationSet* InterpolationSet, const float Value, + const bool bLimit, const bool bNormalizeAngle) +{ + return InterpolationSet->Get(Value, bLimit, bNormalizeAngle); +} + +bool USGInterpolationSetKismetLibrary::Equals(const USGInterpolationSet* A, const USGInterpolationSet* B) +{ + return A->Equals(B); +} + +FString USGInterpolationSetKismetLibrary::ToString(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->ToString(); +} + +FString USGInterpolationSetKismetLibrary::ToString_bLimits(const USGInterpolationSet* InterpolationSet, + const bool bLimits) +{ + return InterpolationSet->ToString(bLimits); +} + +FString USGInterpolationSetKismetLibrary::Serialize(const USGInterpolationSet* InterpolationSet) +{ + return InterpolationSet->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGJointKinematicsKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGJointKinematicsKismetLibrary.cpp new file mode 100644 index 00000000..8158f298 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGJointKinematicsKismetLibrary.cpp @@ -0,0 +1,54 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGJointKinematicsKismetLibrary.h" + +#include "SGCore/SGJointKinematics.h" + +bool USGJointKinematicsKismetLibrary:: +ForwardKinematics_StartPosition_StartRotation_JointLengths_JointAngles_OutNewPositions_OutNewRotations( + const FVector& StartPosition, const FQuat& StartRotation, const TArray& JointLengths, + const TArray& JointAngles, TArray& OutNewPositions, TArray& OutNewRotations) +{ + return FSGJointKinematics::ForwardKinematics(StartPosition, StartRotation, JointLengths, JointAngles, + OutNewPositions, OutNewRotations); +} + +bool USGJointKinematicsKismetLibrary::ForwardKinematics_Profile_Finger_JointAngles_OutNewPositions_OutNewRotations( + const USGBasicHandModel* Profile, ESGFinger Finger, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations) +{ + return FSGJointKinematics::ForwardKinematics(Profile, Finger, JointAngles, OutNewPositions, OutNewRotations); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGLibraryKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGLibraryKismetLibrary.cpp new file mode 100644 index 00000000..5650a348 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGLibraryKismetLibrary.cpp @@ -0,0 +1,58 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGLibraryKismetLibrary.h" + +#include "SGCore/SGLibrary.h" + +FString USGLibraryKismetLibrary::GetVersion() +{ + return FSGLibrary::GetVersion(); +} + +ESGBackendType USGLibraryKismetLibrary::GetBackendType() +{ + return FSGLibrary::GetBackendType(); +} + +FString USGLibraryKismetLibrary::GetBackendVersion() +{ + return FSGLibrary::GetBackendVersion(); +} + +FString USGLibraryKismetLibrary::GetSGConnectVersion() +{ + return FSGLibrary::GetSGConnectVersion(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.cpp new file mode 100644 index 00000000..cbcf87d8 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.cpp @@ -0,0 +1,62 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.h" + +#include "SGCore/SGNovaGloveCalibration.h" +#include "SGCore/SGNovaGloveHandProfile.h" +#include "SGUtils/SGArrayUtils.h" + +void USGNovaGloveCalibrationKismetLibrary::ApplyDefaultCalibrationInterpolationValues( + const TArray& RetractedValues, const TArray& ExtendedValues, + const USGNovaGloveHandProfile* Profile) +{ + FSGNovaGloveCalibration::ApplyDefaultCalibrationInterpolationValues(RetractedValues, ExtendedValues, Profile); +} + +void USGNovaGloveCalibrationKismetLibrary::ApplyInterpolationValues(const TArray& RetractedValues, + const TArray& ExtendedValues, + const TArray& RetractedAngles, + const TArray& ExtendedAngles, + const USGNovaGloveHandProfile* Profile) +{ + FSGNovaGloveCalibration::ApplyInterpolationValues( + RetractedValues, ExtendedValues, + FSGArrayUtils::FromBPNestedArray< + FVector, FSGVectorArray, &FSGVectorArray::VectorArray>(RetractedAngles), + FSGArrayUtils::FromBPNestedArray< + FVector, FSGVectorArray, &FSGVectorArray::VectorArray>(ExtendedAngles), + Profile); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.cpp new file mode 100644 index 00000000..f152752e --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.cpp @@ -0,0 +1,77 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.h" + +#include "SGCore/SGHandInterpolator.h" +#include "SGCore/SGNovaGloveHandProfile.h" + +USGNovaGloveHandProfile* USGNovaGloveHandProfileKismetLibrary::MakeNovaGloveHandProfile(UObject* WorldContextObject) +{ + return USGNovaGloveHandProfile::NewNovaGloveHandProfile(WorldContextObject); +} + +USGNovaGloveHandProfile* USGNovaGloveHandProfileKismetLibrary::MakeNovaGloveHandProfile_bRightHanded_Interpolator( + UObject* WorldContextObject, const bool bRightHanded, const USGHandInterpolator* Interpolator) +{ + return USGNovaGloveHandProfile::NewNovaGloveHandProfile(WorldContextObject, bRightHanded, Interpolator); +} + +bool USGNovaGloveHandProfileKismetLibrary::IsRight(const USGNovaGloveHandProfile* NovaGloveHandProfile) +{ + return NovaGloveHandProfile->IsRight(); +} + +USGHandInterpolator* USGNovaGloveHandProfileKismetLibrary::GetInterpolationSet( + UObject* WorldContextObject, + const USGNovaGloveHandProfile* NovaGloveHandProfile) +{ + return NovaGloveHandProfile->GetInterpolationSet(WorldContextObject); +} + +bool USGNovaGloveHandProfileKismetLibrary::Equals(const USGNovaGloveHandProfile* A, const USGNovaGloveHandProfile* B) +{ + return A->Equals(B); +} + +void USGNovaGloveHandProfileKismetLibrary::Reset(USGNovaGloveHandProfile* NovaGloveHandProfile) +{ + NovaGloveHandProfile->Reset(); +} + +FString USGNovaGloveHandProfileKismetLibrary::Serialize(const USGNovaGloveHandProfile* NovaGloveHandProfile) +{ + return NovaGloveHandProfile->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveInfoKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveInfoKismetLibrary.cpp new file mode 100644 index 00000000..1e903f0d --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveInfoKismetLibrary.cpp @@ -0,0 +1,117 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGNovaGloveInfoKismetLibrary.h" + +#include "SGCore/SGNovaGloveInfo.h" + +USGNovaGloveInfo* USGNovaGloveInfoKismetLibrary::MakeNovaGloveInfo(UObject* WorldContextObject) +{ + return USGNovaGloveInfo::NewNovaGloveInfo(WorldContextObject); +} + +USGNovaGloveInfo* USGNovaGloveInfoKismetLibrary:: +MakeNovaGloveInfo_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_ImuCorrection_NumberOfSensors( + UObject* WorldContextObject, + const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const FQuat& ImuCorrection, const int32 NumberOfSensors) +{ + return USGNovaGloveInfo::NewNovaGloveInfo(WorldContextObject, + DeviceId, HardwareVersion, FirmwareVersion, SubFirmwareVersion, + bRightHanded, ImuCorrection, NumberOfSensors); +} + +bool USGNovaGloveInfoKismetLibrary::Parse(UObject* WorldContextObject, + const FString& ConstantsString, USGNovaGloveInfo* OutGloveInfo) +{ + return USGNovaGloveInfo::Parse(WorldContextObject, ConstantsString, OutGloveInfo); +} + +USGNovaGloveInfo* USGNovaGloveInfoKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGNovaGloveInfo::Deserialize(WorldContextObject, SerializedString); +} + +FString USGNovaGloveInfoKismetLibrary::GetDeviceId(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->GetDeviceId(); +} + +FString USGNovaGloveInfoKismetLibrary::GetHardwareVersion(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->GetHardwareVersion(); +} + +int32 USGNovaGloveInfoKismetLibrary::GetFirmwareVersion(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->GetFirmwareVersion(); +} + +int32 USGNovaGloveInfoKismetLibrary::GetSubFirmwareVersion(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->GetSubFirmwareVersion(); +} + +bool USGNovaGloveInfoKismetLibrary::IsRight(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->IsRight(); +} + +FQuat USGNovaGloveInfoKismetLibrary::GetImuCorrection(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->GetImuCorrection(); +} + +int32 USGNovaGloveInfoKismetLibrary::GetNumberOfSensors(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->GetNumberOfSensors(); +} + +bool USGNovaGloveInfoKismetLibrary::Equals(const USGNovaGloveInfo* A, const USGNovaGloveInfo* B) +{ + return A->Equals(B); +} + +FString USGNovaGloveInfoKismetLibrary::ToString(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->ToString(); +} + +FString USGNovaGloveInfoKismetLibrary::Serialize(const USGNovaGloveInfo* NovaGloveInfo) +{ + return NovaGloveInfo->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveKismetLibrary.cpp new file mode 100644 index 00000000..6309722d --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveKismetLibrary.cpp @@ -0,0 +1,277 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGCoreKismet/SGNovaGloveKismetLibrary.h" + +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGNovaGlove.h" +#include "SGCore/SGNovaGloveSensorData.h" +#include "SGCore/SGThumperCommand.h" + +FString USGNovaGloveKismetLibrary::GetHapticsByte() +{ + return FString::Printf(TEXT("%c"), USGNovaGlove::GetHapticsByte()); +} + +FVector USGNovaGloveKismetLibrary::GetMinCalibrationRange() +{ + return USGNovaGlove::GetMinCalibrationRange(); +} + +USGHandPose* USGNovaGloveKismetLibrary::CalculateHandPose(UObject* WorldContextObject, + const USGBasicHandModel* HandModel, + const USGNovaGloveSensorData* NovaData, + const USGNovaGloveHandProfile* Profile) +{ + return USGNovaGlove::CalculateHandPose(WorldContextObject, HandModel, NovaData, Profile); +} + +USGDevice* USGNovaGloveKismetLibrary::Parse(UObject* WorldContextObject, const FString& ConstantsString) +{ + return USGNovaGlove::Parse(WorldContextObject, ConstantsString); +} + +TArray USGNovaGloveKismetLibrary::GetNovaGloves(UObject* WorldContextObject) +{ + return USGNovaGlove::GetNovaGloves(WorldContextObject); +} + +bool USGNovaGloveKismetLibrary::GetNovaGlove_OutGlove(UObject* WorldContextObject, USGNovaGlove*& OutGlove) +{ + return USGNovaGlove::GetNovaGlove(WorldContextObject, OutGlove); +} + +bool USGNovaGloveKismetLibrary::GetNovaGlove_bRightHanded_OutGlove(UObject* WorldContextObject, + const bool bRightHanded, USGNovaGlove*& OutGlove) +{ + return USGNovaGlove::GetNovaGlove(WorldContextObject, bRightHanded, OutGlove); +} + +TArray USGNovaGloveKismetLibrary::GetCalibrationValues_SensorData(const USGNovaGloveSensorData* SensorData) +{ + return USGNovaGlove::GetCalibrationValues(SensorData); +} + +void USGNovaGloveKismetLibrary::CalibrateInterpolation( + UObject* WorldContextObject, + const TArray& MinValues, const TArray& MaxValues, USGNovaGloveHandProfile*& OutProfile) +{ + USGNovaGlove::CalibrateInterpolation(WorldContextObject, MinValues, MaxValues, OutProfile); +} + +void USGNovaGloveKismetLibrary::CalculateGloveLocation( + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, const bool bRightHanded, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + USGNovaGlove::CalculateGloveLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, bRightHanded, + OutGlovePosition, OutGloveRotation); +} + +void USGNovaGloveKismetLibrary::CalculateWristLocation(const FVector& ReferencePosition, + const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + USGNovaGlove::CalculateWristLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, bRightHanded, + OutWristPosition, OutWristRotation); +} + +FString USGNovaGloveKismetLibrary::ToBytes_ThumperCommand(const USGThumperCommand* ThumperCommand) +{ + return USGNovaGlove::ToBytes(ThumperCommand); +} + +FString USGNovaGloveKismetLibrary::ToBytes_ForceFeedbackCommand(const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + return USGNovaGlove::ToBytes(ForceFeedbackCommand); +} + +FString USGNovaGloveKismetLibrary::ToBytes_BuzzCommand(const USGBuzzCommand* BuzzCommand) +{ + return USGNovaGlove::ToBytes(BuzzCommand); +} + +ESGDeviceType USGNovaGloveKismetLibrary::GetDeviceType(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->GetDeviceType(); +} + +FString USGNovaGloveKismetLibrary::GetDeviceId(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->GetDeviceId(); +} + +FString USGNovaGloveKismetLibrary::GetHardwareVersion(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->GetHardwareVersion(); +} + +int32 USGNovaGloveKismetLibrary::GetFirmwareVersion(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->GetFirmwareVersion(); +} + +int32 USGNovaGloveKismetLibrary::GetSubFirmwareVersion(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->GetSubFirmwareVersion(); +} + +bool USGNovaGloveKismetLibrary::HasBattery(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->HasBattery(); +} + +bool USGNovaGloveKismetLibrary::IsCharging(USGNovaGlove* NovaGlove) +{ + return NovaGlove->IsCharging(); +} + +bool USGNovaGloveKismetLibrary::GetBatteryLevel(USGNovaGlove* NovaGlove, float& OutBatteryLevel) +{ + return NovaGlove->GetBatteryLevel(OutBatteryLevel); +} + +bool USGNovaGloveKismetLibrary::GetSensorData( + UObject* WorldContextObject, USGNovaGlove* NovaGlove, USGNovaGloveSensorData*& OutSensorData) +{ + return NovaGlove->GetSensorData(WorldContextObject, OutSensorData); +} + +bool USGNovaGloveKismetLibrary::GetImuRotation(USGNovaGlove* NovaGlove, FQuat& OutImu) +{ + return NovaGlove->GetImuRotation(OutImu); +} + +bool USGNovaGloveKismetLibrary::GetHandPose_HandModel_Profile_OutHandPose( + UObject* WorldContextObject, USGNovaGlove* NovaGlove, + const USGBasicHandModel* HandModel, const USGNovaGloveHandProfile* Profile, USGHandPose*& OutHandPose) +{ + return NovaGlove->GetHandPose(WorldContextObject, HandModel, Profile, OutHandPose); +} + +bool USGNovaGloveKismetLibrary::GetHandPose_HandGeometry_HandProfile_OutHandPose( + UObject* WorldContextObject, USGNovaGlove* NovaGlove, + const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + return NovaGlove->GetHandPose(WorldContextObject, HandGeometry, HandProfile, OutHandPose); +} + +bool USGNovaGloveKismetLibrary::GetHandPose_HandProfile_OutHandPose( + UObject* WorldContextObject, USGNovaGlove* NovaGlove, + const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + return NovaGlove->GetHandPose(WorldContextObject, HandProfile, OutHandPose); +} + +void USGNovaGloveKismetLibrary::SendHaptics_ForceFeedbackCommand( + USGNovaGlove* NovaGlove, const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + NovaGlove->SendHaptics(ForceFeedbackCommand); +} + +void USGNovaGloveKismetLibrary::SendHaptics_BuzzCommand( + USGNovaGlove* NovaGlove, const USGBuzzCommand* BuzzCommand) +{ + NovaGlove->SendHaptics(BuzzCommand); +} + +void USGNovaGloveKismetLibrary::SendHaptics_ThumperCommand( + USGNovaGlove* NovaGlove, const USGThumperCommand* ThumperCommand) +{ + NovaGlove->SendHaptics(ThumperCommand); +} + +void USGNovaGloveKismetLibrary::SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + USGNovaGlove* NovaGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) +{ + NovaGlove->SendHaptics(ForceFeedbackCommand, BuzzCommand, ThumperCommand); +} + +bool USGNovaGloveKismetLibrary::GetCalibrationValues_OutValues(USGNovaGlove* NovaGlove, + TArray& OutValues) +{ + return NovaGlove->GetCalibrationValues(OutValues); +} + +void USGNovaGloveKismetLibrary::ApplyCalibration_HandProfile( + UObject* WorldContextObject, const USGNovaGlove* NovaGlove, USGHandProfile*& OutProfile) +{ + return NovaGlove->ApplyCalibration(WorldContextObject, OutProfile); +} + +void USGNovaGloveKismetLibrary::ApplyCalibration_NovaGloveHandProfile( + UObject* WorldContextObject, const USGNovaGlove* NovaGlove, USGNovaGloveHandProfile*& OutProfile) +{ + return NovaGlove->ApplyCalibration(WorldContextObject, OutProfile); +} + +void USGNovaGloveKismetLibrary:: +GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + const USGNovaGlove* NovaGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + return NovaGlove->GetGloveLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + OutGlovePosition, OutGloveRotation); +} + +void USGNovaGloveKismetLibrary:: +GetWristLocation_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + const USGNovaGlove* NovaGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + return NovaGlove->GetWristLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + OutWristPosition, OutWristRotation); +} + +FString USGNovaGloveKismetLibrary::ToString(const USGNovaGlove* NovaGlove) +{ + return NovaGlove->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.cpp new file mode 100644 index 00000000..b1dbd78a --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.cpp @@ -0,0 +1,115 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.h" + +#include "SGCore/SGNovaGloveSensorData.h" + +USGNovaGloveSensorData* USGNovaGloveSensorDataKismetLibrary::MakeNovaGloveSensorData(UObject* WorldContextObject) +{ + return USGNovaGloveSensorData::NewNovaGloveSensorData(WorldContextObject); +} + +USGNovaGloveSensorData* USGNovaGloveSensorDataKismetLibrary:: +MakeNovaGloveSensorData_Values_ParsedValues_ImuRotation_bImuParsed_BatteryLevel_bCharging( + UObject* WorldContextObject, const TArray& Values, const int32 ParsedValues, + const FQuat& ImuRotation, const bool bImuParsed, const float BatteryLevel, const bool bCharging) +{ + return USGNovaGloveSensorData::NewNovaGloveSensorData( + WorldContextObject, Values, ParsedValues, ImuRotation, bImuParsed, BatteryLevel, bCharging); +} + +USGNovaGloveSensorData* USGNovaGloveSensorDataKismetLibrary::Empty(UObject* WorldContextObject) +{ + return USGNovaGloveSensorData::Empty(WorldContextObject); +} + +USGNovaGloveSensorData* USGNovaGloveSensorDataKismetLibrary::Parse( + UObject* WorldContextObject, const FString& RawData, const USGNovaGloveInfo* GloveInfo) +{ + return USGNovaGloveSensorData::Parse(WorldContextObject, RawData, GloveInfo); +} + +USGNovaGloveSensorData* USGNovaGloveSensorDataKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGNovaGloveSensorData::Deserialize(WorldContextObject, SerializedString); +} + +TArray USGNovaGloveSensorDataKismetLibrary::GetSensorValues( + const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->GetSensorValues(); +} + +FQuat USGNovaGloveSensorDataKismetLibrary::GetImuRotation(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->GetImuRotation(); +} + +int32 USGNovaGloveSensorDataKismetLibrary::GetParsedValues(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->GetParsedValues(); +} + +bool USGNovaGloveSensorDataKismetLibrary::IsImuParsed(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->IsImuParsed(); +} + +float USGNovaGloveSensorDataKismetLibrary::GetBatteryLevel(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->GetBatteryLevel(); +} + +bool USGNovaGloveSensorDataKismetLibrary::IsCharging(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->IsCharging(); +} + +bool USGNovaGloveSensorDataKismetLibrary::Equals(const USGNovaGloveSensorData* A, const USGNovaGloveSensorData* B) +{ + return A->Equals(B); +} + +FString USGNovaGloveSensorDataKismetLibrary::ToString(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->ToString(); +} + +FString USGNovaGloveSensorDataKismetLibrary::Serialize(const USGNovaGloveSensorData* NovaGloveSensorData) +{ + return NovaGloveSensorData->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseComKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseComKismetLibrary.cpp new file mode 100644 index 00000000..cdad6ce2 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseComKismetLibrary.cpp @@ -0,0 +1,68 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseComKismetLibrary.h" + +#include "SGCore/SGSenseCom.h" + +bool USGSenseComKismetLibrary::RegisterExe() +{ + return FSGSenseCom::RegisterExe(); +} + +bool USGSenseComKismetLibrary::RegisterExe_ExePath(const FString& ExePath) +{ + return FSGSenseCom::RegisterExe(ExePath); +} + +bool USGSenseComKismetLibrary::GetExePath(FString& OutExePath) +{ + return FSGSenseCom::GetExePath(OutExePath); +} + +bool USGSenseComKismetLibrary::ScanningActive() +{ + return FSGSenseCom::ScanningActive(); +} + +bool USGSenseComKismetLibrary::GetCurrentExeDirectory(FString& OutDirectory) +{ + return FSGSenseCom::GetCurrentExeDirectory(OutDirectory); +} + +bool USGSenseComKismetLibrary::StartupSenseCom() +{ + return FSGSenseCom::StartupSenseCom(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.cpp new file mode 100644 index 00000000..aecd8603 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.cpp @@ -0,0 +1,113 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.h" + +#include "SGCore/SGSenseGloveHandProfile.h" + +USGSenseGloveHandProfile* USGSenseGloveHandProfileKismetLibrary::MakeSenseGloveHandProfile(UObject* WorldContextObject) +{ + return USGSenseGloveHandProfile::NewSenseGloveHandProfile(WorldContextObject); +} + +USGSenseGloveHandProfile* +USGSenseGloveHandProfileKismetLibrary::MakeSenseGloveHandProfile_bRightHanded_Interpolator_ThumbSolver_FingerSolver_FingerThimbleOffset( + UObject* WorldContextObject, const bool bRightHanded, const USGHandInterpolator* Interpolator, + const ESGThumbSolver ThumbSolver, const ESGFingerSolver FingerSolver, const TArray& FingerThimbleOffset) +{ + return USGSenseGloveHandProfile::NewSenseGloveHandProfile( + WorldContextObject, bRightHanded, Interpolator, ThumbSolver, FingerSolver, FingerThimbleOffset); +} + +USGSenseGloveHandProfile* USGSenseGloveHandProfileKismetLibrary::Default( + UObject* WorldContextObject, const bool bRightHanded) +{ + return USGSenseGloveHandProfile::Default(WorldContextObject, bRightHanded); +} + +USGSenseGloveHandProfile* USGSenseGloveHandProfileKismetLibrary::Deserialize( + UObject* WorldContextObject, const FString& SerializedString) +{ + return USGSenseGloveHandProfile::Deserialize(WorldContextObject, SerializedString); +} + +FVector USGSenseGloveHandProfileKismetLibrary::GetDefaultThimbleOffset() +{ + return USGSenseGloveHandProfile::GetDefaultThimbleOffset(); +} + +bool USGSenseGloveHandProfileKismetLibrary::IsRight(const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGloveHandProfile->IsRight(); +} + +USGHandInterpolator* USGSenseGloveHandProfileKismetLibrary::GetInterpolationSet( + UObject* WorldContextObject, const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGloveHandProfile->GetInterpolationSet(WorldContextObject); +} + +ESGThumbSolver USGSenseGloveHandProfileKismetLibrary::GetThumbSolver( + const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGloveHandProfile->GetThumbSolver(); +} + +ESGFingerSolver USGSenseGloveHandProfileKismetLibrary::GetFingerSolver( + const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGloveHandProfile->GetFingerSolver(); +} + +TArray USGSenseGloveHandProfileKismetLibrary::GetFingerThimbleOffset( + const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGloveHandProfile->GetFingerThimbleOffset(); +} + +bool USGSenseGloveHandProfileKismetLibrary::Equals(const USGSenseGloveHandProfile* A, const USGSenseGloveHandProfile* B) +{ + return A->Equals(B); +} + +void USGSenseGloveHandProfileKismetLibrary::Reset(USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + SenseGloveHandProfile->Reset(); +} + +FString USGSenseGloveHandProfileKismetLibrary::Serialize(const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGloveHandProfile->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveInfoKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveInfoKismetLibrary.cpp new file mode 100644 index 00000000..5d6d3622 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveInfoKismetLibrary.cpp @@ -0,0 +1,179 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseGloveInfoKismetLibrary.h" + +#include "SGCore/SGSenseGloveInfo.h" +#include "SGUtils/SGArrayUtils.h" + +USGSenseGloveInfo* USGSenseGloveInfoKismetLibrary::MakeSenseGloveInfo(UObject* WorldContextObject) +{ + return USGSenseGloveInfo::NewSenseGloveInfo(WorldContextObject); +} + +USGSenseGloveInfo* +USGSenseGloveInfoKismetLibrary::MakeSenseGloveInfo_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPosition_StartRotation_GloveLengths_Functions( + UObject* WorldContextObject, const FString& DeviceId, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray& GloveLengths, const TArray& Functions) +{ + return USGSenseGloveInfo::NewSenseGloveInfo(WorldContextObject, DeviceId, + HardwareVersion, FirmwareVersion, SubFirmwareVersion, + bRightHanded, NumberOfSensors, ImuCorrection, + StartPositions, StartRotations, + GloveLengths, Functions); +} + +bool USGSenseGloveInfoKismetLibrary::Parse(UObject* WorldContextObject, + const FString& ConstantsString, USGSenseGloveInfo*& OutGloveInfo, + const bool bUpdateOldModels) +{ + return USGSenseGloveInfo::Parse(WorldContextObject, ConstantsString, OutGloveInfo, bUpdateOldModels); +} + +USGSenseGloveInfo* USGSenseGloveInfoKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGSenseGloveInfo::Deserialize(WorldContextObject, SerializedString); +} + +FString USGSenseGloveInfoKismetLibrary::GetDeviceId(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetDeviceId(); +} + +FString USGSenseGloveInfoKismetLibrary::GetHardwareVersion(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetHardwareVersion(); +} + +int32 USGSenseGloveInfoKismetLibrary::GetFirmwareVersion(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetFirmwareVersion(); +} + +int32 USGSenseGloveInfoKismetLibrary::GetSubFirmwareVersion(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetSubFirmwareVersion(); +} + +bool USGSenseGloveInfoKismetLibrary::IsRight(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->IsRight(); +} + +int32 USGSenseGloveInfoKismetLibrary::GetNumberOfSensors(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetNumberOfSensors(); +} + +FQuat USGSenseGloveInfoKismetLibrary::GetImuCorrection(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetImuCorrection(); +} + +TArray USGSenseGloveInfoKismetLibrary::GetStartPositions(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetStartPositions(); +} + +TArray USGSenseGloveInfoKismetLibrary::GetStartRotations(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetStartRotations(); +} + +TArray USGSenseGloveInfoKismetLibrary::GetGloveLengths(const USGSenseGloveInfo* SenseGloveInfo) +{ + return FSGArrayUtils::ToBPNestedArray(SenseGloveInfo->GetGloveLengths()); +} + +TArray USGSenseGloveInfoKismetLibrary::GetFunctions(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->GetFunctions(); +} + +FVector USGSenseGloveInfoKismetLibrary::GetStartPosition(const USGSenseGloveInfo* SenseGloveInfo, + const ESGFinger Finger) +{ + return SenseGloveInfo->GetStartPosition(Finger); +} + +FQuat USGSenseGloveInfoKismetLibrary::GetStartRotation(const USGSenseGloveInfo* SenseGloveInfo, const ESGFinger Finger) +{ + return SenseGloveInfo->GetStartRotation(Finger); +} + +TArray USGSenseGloveInfoKismetLibrary::GetGloveLengths_Finger(const USGSenseGloveInfo* SenseGloveInfo, + const ESGFinger Finger) +{ + return SenseGloveInfo->GetGloveLengths(Finger); +} + +TArray USGSenseGloveInfoKismetLibrary::ToGloveAngles(const USGSenseGloveInfo* SenseGloveInfo, + const TArray& SensorAngles) +{ + TArray> SensorAnglesNestedArray{ + FSGArrayUtils::FromBPNestedArray< + float, FSGFloatArray, &FSGFloatArray::FloatArray>(SensorAngles) + }; + TArray GloveAngles{ + FSGArrayUtils::ToBPNestedArray( + SenseGloveInfo->ToGloveAngles(MoveTemp(SensorAnglesNestedArray))) + }; + return MoveTemp(GloveAngles); +} + +bool USGSenseGloveInfoKismetLibrary::Equals(const USGSenseGloveInfo* A, const USGSenseGloveInfo* B) +{ + return A->Equals(B); +} + +FString USGSenseGloveInfoKismetLibrary::ToString(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->ToString(); +} + +FString USGSenseGloveInfoKismetLibrary::ToString_bShortNotation(const USGSenseGloveInfo* SenseGloveInfo, + const bool bShortNotation) +{ + return SenseGloveInfo->ToString(bShortNotation); +} + +FString USGSenseGloveInfoKismetLibrary::Serialize(const USGSenseGloveInfo* SenseGloveInfo) +{ + return SenseGloveInfo->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveKismetLibrary.cpp new file mode 100644 index 00000000..f4814b74 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveKismetLibrary.cpp @@ -0,0 +1,313 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseGloveKismetLibrary.h" + +#include "SGCore/SGBuzzCommand.h" +#include "SGCore/SGForceFeedbackCommand.h" +#include "SGCore/SGSenseGlove.h" +#include "SGCore/SGThumperCommand.h" + +FString USGSenseGloveKismetLibrary::GetHapticsByte() +{ + return FString::Printf(TEXT("%c"), USGSenseGlove::GetHapticsByte()); +} + +FString USGSenseGloveKismetLibrary::GetThumperByte() +{ + return FString::Printf(TEXT("%c"), USGSenseGlove::GetThumperByte()); +} + +USGSenseGlovePose* USGSenseGloveKismetLibrary::CalculateGlovePose_SensorData_GloveModel( + UObject* WorldContextObject, + const USGSenseGloveSensorData* SensorData, const USGSenseGloveInfo* GloveModel) +{ + return USGSenseGlove::CalculateGlovePose(WorldContextObject, SensorData, GloveModel); +} + +USGSenseGlovePose* USGSenseGloveKismetLibrary::CalculateGlovePose_GloveAngles_GloveModel( + UObject* WorldContextObject, + const TArray& GloveAngles, const USGSenseGloveInfo* GloveModel) +{ + TArray> GloveAnglesNestedArray{ + FSGArrayUtils::FromBPNestedArray(GloveAngles) + }; + return USGSenseGlove::CalculateGlovePose(WorldContextObject, MoveTemp(GloveAnglesNestedArray), GloveModel); +} + +USGHandPose* USGSenseGloveKismetLibrary::CalculateHandPose( + UObject* WorldContextObject, + const USGSenseGlovePose* GlovePose, const USGBasicHandModel* HandModel, const USGSenseGloveHandProfile* Profile) +{ + return USGSenseGlove::CalculateHandPose(WorldContextObject, GlovePose, HandModel, Profile); +} + +USGDevice* USGSenseGloveKismetLibrary::Parse(UObject* WorldContextObject, const FString& ConstantsString) +{ + return USGSenseGlove::Parse(WorldContextObject, ConstantsString); +} + +TArray USGSenseGloveKismetLibrary::GetSenseGloves(UObject* WorldContextObject) +{ + return USGSenseGlove::GetSenseGloves(WorldContextObject); +} + +bool USGSenseGloveKismetLibrary::GetSenseGlove_OutGlove(UObject* WorldContextObject, USGSenseGlove*& OutGlove) +{ + return USGSenseGlove::GetSenseGlove(WorldContextObject, OutGlove); +} + +bool USGSenseGloveKismetLibrary::GetSenseGlove_bRightHanded_OutGlove(UObject* WorldContextObject, + const bool bRightHanded, USGSenseGlove*& OutGlove) +{ + return USGSenseGlove::GetSenseGlove(WorldContextObject, bRightHanded, OutGlove); +} + +TArray USGSenseGloveKismetLibrary::GetCalibrationValues_GlovePose(const USGSenseGlovePose* GlovePose) +{ + return USGSenseGlove::GetCalibrationValues(GlovePose); +} + +void USGSenseGloveKismetLibrary::CalibrateInterpolation( + UObject* WorldContextObject, + const TArray& MinValues, const TArray& MaxValues, + const bool bRightHanded, USGSenseGloveHandProfile*& OutProfile) +{ + USGSenseGlove::CalibrateInterpolation(WorldContextObject, MinValues, MaxValues, bRightHanded, OutProfile); +} + +void USGSenseGloveKismetLibrary::CalculateGloveLocation( + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, const bool bRightHanded, const ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + USGSenseGlove::CalculateGloveLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, bRightHanded, MountedOn, + OutGlovePosition, OutGloveRotation); +} + +void USGSenseGloveKismetLibrary::CalculateWristLocation(const FVector& ReferencePosition, + const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + const bool bRightHanded, const ESGFinger MountedOn, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + USGSenseGlove::CalculateWristLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, bRightHanded, MountedOn, + GloveWristPositionOffset, GloveWristRotationOffset, + OutWristPosition, OutWristRotation); +} + +USGSenseGloveInfo* USGSenseGloveKismetLibrary::GetGloveModel( + UObject* WorldContextObject, const USGSenseGlove* SenseGlove) +{ + return SenseGlove->GetGloveModel(WorldContextObject); +} + +bool USGSenseGloveKismetLibrary::IsRight(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->IsRight(); +} + +ESGDeviceType USGSenseGloveKismetLibrary::GetDeviceType(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->GetDeviceType(); +} + +FString USGSenseGloveKismetLibrary::GetDeviceId(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->GetDeviceId(); +} + +FString USGSenseGloveKismetLibrary::GetHardwareVersion(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->GetHardwareVersion(); +} + +int32 USGSenseGloveKismetLibrary::GetFirmwareVersion(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->GetFirmwareVersion(); +} + +int32 USGSenseGloveKismetLibrary::GetSubFirmwareVersion(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->GetSubFirmwareVersion(); +} + +bool USGSenseGloveKismetLibrary::GetSensorData(UObject* WorldContextObject, const USGSenseGlove* SenseGlove, + USGSenseGloveSensorData*& OutSensorData) +{ + return SenseGlove->GetSensorData(WorldContextObject, OutSensorData); +} + +bool USGSenseGloveKismetLibrary::GetImuRotation(USGSenseGlove* SenseGlove, FQuat& OutImu) +{ + return SenseGlove->GetImuRotation(OutImu); +} + +bool USGSenseGloveKismetLibrary::GetGlovePose_OutGlovePose(UObject* WorldContextObject, USGSenseGlove* SenseGlove, + USGSenseGlovePose*& OutGlovePose) +{ + return SenseGlove->GetGlovePose(WorldContextObject, OutGlovePose); +} + +bool USGSenseGloveKismetLibrary::GetGlovePose_SensorData_OutGlovePose( + UObject* WorldContextObject, USGSenseGlove* SenseGlove, + const USGSenseGloveSensorData* SensorData, USGSenseGlovePose*& OutGlovePose) +{ + return SenseGlove->GetGlovePose(WorldContextObject, SensorData, OutGlovePose); +} + +bool USGSenseGloveKismetLibrary::GetHandPose_HandModel_Profile_OutHandPose( + UObject* WorldContextObject, USGSenseGlove* SenseGlove, + const USGBasicHandModel* HandModel, const USGSenseGloveHandProfile* Profile, USGHandPose*& OutHandPose) +{ + return SenseGlove->GetHandPose(WorldContextObject, HandModel, Profile, OutHandPose); +} + +bool USGSenseGloveKismetLibrary::GetHandPose_HandGeometry_HandProfile_OutHandPose( + UObject* WorldContextObject, USGSenseGlove* SenseGlove, + const USGBasicHandModel* HandGeometry, const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + return SenseGlove->GetHandPose(WorldContextObject, HandGeometry, HandProfile, OutHandPose); +} + +bool USGSenseGloveKismetLibrary::GetHandPose_HandProfile_OutHandPose( + UObject* WorldContextObject, USGSenseGlove* SenseGlove, + const USGHandProfile* HandProfile, USGHandPose*& OutHandPose) +{ + return SenseGlove->GetHandPose(WorldContextObject, HandProfile, OutHandPose); +} + +void USGSenseGloveKismetLibrary::SendHaptics_ForceFeedbackCommand(USGSenseGlove* SenseGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand) +{ + SenseGlove->SendHaptics(ForceFeedbackCommand); +} + +void USGSenseGloveKismetLibrary::SendHaptics_BuzzCommand(USGSenseGlove* SenseGlove, + const USGBuzzCommand* BuzzCommand) +{ + SenseGlove->SendHaptics(BuzzCommand); +} + +void USGSenseGloveKismetLibrary::SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + USGSenseGlove* SenseGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand) +{ + SenseGlove->SendHaptics(ForceFeedbackCommand, BuzzCommand, ThumperCommand); +} + +bool USGSenseGloveKismetLibrary::GetCalibrationValues_OutValues(USGSenseGlove* SenseGlove, + TArray& OutValues) +{ + return SenseGlove->GetCalibrationValues(OutValues); +} + +void USGSenseGloveKismetLibrary::ResetCalibrationRange(USGSenseGlove* SenseGlove) +{ + SenseGlove->ResetCalibrationRange(); +} + +void USGSenseGloveKismetLibrary::ApplyCalibration_HandProfile( + UObject* WorldContextObject, const USGSenseGlove* SenseGlove, USGHandProfile*& OutProfile) +{ + return SenseGlove->ApplyCalibration(WorldContextObject, OutProfile); +} + +void USGSenseGloveKismetLibrary::ApplyCalibration_SenseGloveHandProfile( + UObject* WorldContextObject, const USGSenseGlove* SenseGlove, USGSenseGloveHandProfile*& OutProfile) +{ + return SenseGlove->ApplyCalibration(WorldContextObject, OutProfile); +} + +void USGSenseGloveKismetLibrary:: +GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + return SenseGlove->GetGloveLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + OutGlovePosition, OutGloveRotation); +} + +void USGSenseGloveKismetLibrary:: +GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_MountedOn_OutGlovePosition_OutGloveRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, const ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation) +{ + return SenseGlove->GetGloveLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, MountedOn, + OutGlovePosition, OutGloveRotation); +} + +void USGSenseGloveKismetLibrary:: +GetWristLocation_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + return SenseGlove->GetWristLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + OutWristPosition, OutWristRotation); +} + +void USGSenseGloveKismetLibrary:: +GetWristLocation_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_GloveWristPositionOffset_GloveWristRotationOffset_OutWristPosition_OutWristRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + const ESGPositionalTrackingHardware TrackingHardware, + const FVector& GloveWristPositionOffset, const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation) +{ + return SenseGlove->GetWristLocation(ReferencePosition, ReferenceRotation, + TrackingHardware, + GloveWristPositionOffset, GloveWristRotationOffset, + OutWristPosition, OutWristRotation); +} + +FString USGSenseGloveKismetLibrary::ToString(const USGSenseGlove* SenseGlove) +{ + return SenseGlove->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGlovePoseKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGlovePoseKismetLibrary.cpp new file mode 100644 index 00000000..47cc6e30 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGlovePoseKismetLibrary.cpp @@ -0,0 +1,128 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseGlovePoseKismetLibrary.h" + +#include "SGCore/SGSenseGlovePose.h" +#include "SGUtils/SGArrayUtils.h" + +USGSenseGlovePose* USGSenseGlovePoseKismetLibrary::MakeSenseGlovePose(UObject* WorldContextObject) +{ + return USGSenseGlovePose::NewSenseGlovePose(WorldContextObject); +} + +USGSenseGlovePose* +USGSenseGlovePoseKismetLibrary::MakeSenseGlovePose_bRightHanded_JointPositions_JointRotations_GloveAngles( + UObject* WorldContextObject, const bool bRightHanded, + const TArray& JointPositions, const TArray& JointRotations, + const TArray& GloveAngles) +{ + return USGSenseGlovePose::NewSenseGlovePose(WorldContextObject, bRightHanded, + JointPositions, JointRotations, GloveAngles); +} + +USGSenseGlovePose* USGSenseGlovePoseKismetLibrary::IdlePose(UObject* WorldContextObject, + const USGSenseGloveInfo* GloveInfo) +{ + return USGSenseGlovePose::IdlePose(WorldContextObject, GloveInfo); +} + +USGSenseGlovePose* USGSenseGlovePoseKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGSenseGlovePose::Deserialize(WorldContextObject, SerializedString); +} + +bool USGSenseGlovePoseKismetLibrary::IsRight(const USGSenseGlovePose* SenseGlovePose) +{ + return SenseGlovePose->IsRight(); +} + +TArray USGSenseGlovePoseKismetLibrary::GetJointPositions(const USGSenseGlovePose* SenseGlovePose) +{ + return FSGArrayUtils::ToBPNestedArray(SenseGlovePose->GetJointPositions()); +} + +TArray USGSenseGlovePoseKismetLibrary::GetJointRotations(const USGSenseGlovePose* SenseGlovePose) +{ + return FSGArrayUtils::ToBPNestedArray(SenseGlovePose->GetJointRotations()); +} + +TArray USGSenseGlovePoseKismetLibrary::GetGloveAngles(const USGSenseGlovePose* SenseGlovePose) +{ + return FSGArrayUtils::ToBPNestedArray(SenseGlovePose->GetGloveAngles()); +} + +TArray USGSenseGlovePoseKismetLibrary::GetThimblePositions(const USGSenseGlovePose* SenseGlovePose) +{ + return SenseGlovePose->GetThimblePositions(); +} + +TArray USGSenseGlovePoseKismetLibrary::GetThimbleRotations(const USGSenseGlovePose* SenseGlovePose) +{ + return SenseGlovePose->GetThimbleRotations(); +} + +TArray USGSenseGlovePoseKismetLibrary::GetTotalGloveAngles(const USGSenseGlovePose* SenseGlovePose) +{ + return SenseGlovePose->GetTotalGloveAngles(); +} + +TArray USGSenseGlovePoseKismetLibrary::CalculateFingerTips_SenseGloveHandProfileImpl( + const USGSenseGlovePose* SenseGlovePose, const USGSenseGloveHandProfile* SenseGloveHandProfile) +{ + return SenseGlovePose->CalculateFingerTips(SenseGloveHandProfile); +} + +TArray USGSenseGlovePoseKismetLibrary::CalculateFingerTips_FingerOffsets( + const USGSenseGlovePose* SenseGlovePose, const TArray& FingerOffsets) +{ + return SenseGlovePose->CalculateFingerTips(FingerOffsets); +} + +bool USGSenseGlovePoseKismetLibrary::Equals(const USGSenseGlovePose* A, const USGSenseGlovePose* B) +{ + return A->Equals(B); +} + +FString USGSenseGlovePoseKismetLibrary::ToString(const USGSenseGlovePose* SenseGlovePose, const bool bShortFormat) +{ + return SenseGlovePose->ToString(bShortFormat); +} + +FString USGSenseGlovePoseKismetLibrary::Serialize(const USGSenseGlovePose* SenseGlovePose) +{ + return SenseGlovePose->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.cpp new file mode 100644 index 00000000..e6cf453b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.cpp @@ -0,0 +1,118 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.h" + +#include "SGCore/SGSenseGloveSensorData.h" + +USGSenseGloveSensorData* USGSenseGloveSensorDataKismetLibrary::MakeSenseGloveSensorData(UObject* WorldContextObject) +{ + return USGSenseGloveSensorData::NewSenseGloveSensorData(WorldContextObject); +} + +USGSenseGloveSensorData* +USGSenseGloveSensorDataKismetLibrary::MakeSenseGloveSensorData_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + UObject* WorldContextObject, const TArray& SensorAngles, + const FQuat& ImuRotation, const int32 ParsedValues, const bool bImuParsed) +{ + return USGSenseGloveSensorData::NewSenseGloveSensorData(WorldContextObject, SensorAngles, + ImuRotation, ParsedValues, bImuParsed); +} + +USGSenseGloveSensorData* USGSenseGloveSensorDataKismetLibrary::Empty(UObject* WorldContextObject) +{ + return USGSenseGloveSensorData::Empty(WorldContextObject); +} + +USGSenseGloveSensorData* USGSenseGloveSensorDataKismetLibrary::Parse( + UObject* WorldContextObject, + const FString& RawData, const USGSenseGloveInfo* GloveInfo) +{ + return USGSenseGloveSensorData::Parse(WorldContextObject, RawData, GloveInfo); +} + +USGSenseGloveSensorData* USGSenseGloveSensorDataKismetLibrary::Deserialize(UObject* WorldContextObject, + const FString& SerializedString) +{ + return USGSenseGloveSensorData::Deserialize(WorldContextObject, SerializedString); +} + +TArray USGSenseGloveSensorDataKismetLibrary::GetSensorAngles( + const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return FSGArrayUtils::ToBPNestedArray(SenseGloveSensorData->GetSensorAngles()); +} + +FQuat USGSenseGloveSensorDataKismetLibrary::GetImuRotation(const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return SenseGloveSensorData->GetImuRotation(); +} + +int32 USGSenseGloveSensorDataKismetLibrary::GetParsedValues(const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return SenseGloveSensorData->GetParsedValues(); +} + +bool USGSenseGloveSensorDataKismetLibrary::IsImuParsed(const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return SenseGloveSensorData->IsImuParsed(); +} + +TArray USGSenseGloveSensorDataKismetLibrary::GetSensorAngles_Finger( + const USGSenseGloveSensorData* SenseGloveSensorData, const ESGFinger Finger) +{ + return SenseGloveSensorData->GetSensorAngles(Finger); +} + +TArray USGSenseGloveSensorDataKismetLibrary::GetAngleSequence( + const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return SenseGloveSensorData->GetAngleSequence(); +} + +bool USGSenseGloveSensorDataKismetLibrary::Equals(const USGSenseGloveSensorData* A, const USGSenseGloveSensorData* B) +{ + return A->Equals(B); +} + +FString USGSenseGloveSensorDataKismetLibrary::ToString(const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return SenseGloveSensorData->ToString(); +} + +FString USGSenseGloveSensorDataKismetLibrary::Serialize(const USGSenseGloveSensorData* SenseGloveSensorData) +{ + return SenseGloveSensorData->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveVarsKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveVarsKismetLibrary.cpp new file mode 100644 index 00000000..ae88c87e --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSenseGloveVarsKismetLibrary.cpp @@ -0,0 +1,104 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSenseGloveVarsKismetLibrary.h" + +#include "SGCore/SGSenseGloveInfo.h" +#include "SGCore/SGSenseGloveVars.h" +#include "SGUtils/SGArrayUtils.h" + +FString USGSenseGloveVarsKismetLibrary::GetStandardConstantsString(const FString& HardwareVersion, + const float FirmwareVersion, const bool bRightHanded) +{ + return FSGSenseGloveVars::GetStandardConstantsString(HardwareVersion, FirmwareVersion, bRightHanded); +} + +FString USGSenseGloveVarsKismetLibrary::GetSensorString(const FString& HardwareVersion, const float FirmwareVersion) +{ + return FSGSenseGloveVars::GetSensorString(HardwareVersion, FirmwareVersion); +} + +TArray USGSenseGloveVarsKismetLibrary::GetStartPositions(const FString& HardwareVersion, + const bool bRightHanded) +{ + return FSGSenseGloveVars::GetStartPositions(HardwareVersion, bRightHanded); +} + +TArray USGSenseGloveVarsKismetLibrary::GetStartRotations(const FString& HardwareVersion, const bool bRightHanded) +{ + return FSGSenseGloveVars::GetStartRotations(HardwareVersion, bRightHanded); +} + +TArray USGSenseGloveVarsKismetLibrary::GetGloveLengths(const FString& HardwareVersion) +{ + return FSGArrayUtils::ToBPNestedArray(FSGSenseGloveVars::GetGloveLengths(HardwareVersion)); +} + +int32 USGSenseGloveVarsKismetLibrary::GetSensors(const FString& HardwareVersion) +{ + return FSGSenseGloveVars::GetSensors(HardwareVersion); +} + +FQuat USGSenseGloveVarsKismetLibrary::GetImuCorrection(const FString& HardwareVersion, + const int32 FirmwareVersion, const int32 SubFirmwareVersion) +{ + return FSGSenseGloveVars::GetImuCorrection(HardwareVersion, FirmwareVersion, SubFirmwareVersion); +} + +TArray USGSenseGloveVarsKismetLibrary::GetFunctions(const FString& HardwareVersion, + const int32 FirmwareVersion, const int32 SubFirmwareVersion) +{ + return FSGSenseGloveVars::GetFunctions(HardwareVersion, FirmwareVersion, SubFirmwareVersion); +} + +USGSenseGloveInfo* USGSenseGloveVarsKismetLibrary:: +GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded( + UObject* WorldContextObject, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded) +{ + return FSGSenseGloveVars::GenerateGloveModel(WorldContextObject, + HardwareVersion, FirmwareVersion, SubFirmwareVersion, bRightHanded); +} + +USGSenseGloveInfo* USGSenseGloveVarsKismetLibrary:: +GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_CustomId( + UObject* WorldContextObject, + const FString& HardwareVersion, const int32 FirmwareVersion, const int32 SubFirmwareVersion, + const bool bRightHanded, const FString& CustomId) +{ + return FSGSenseGloveVars::GenerateGloveModel( + WorldContextObject, HardwareVersion, FirmwareVersion, SubFirmwareVersion, bRightHanded, CustomId); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSensorRangeKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSensorRangeKismetLibrary.cpp new file mode 100644 index 00000000..3f84e2df --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGSensorRangeKismetLibrary.cpp @@ -0,0 +1,119 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGSensorRangeKismetLibrary.h" + +#include "SGCore/SGSensorRange.h" + +USGSensorRange* USGSensorRangeKismetLibrary::MakeSensorRange(UObject* WorldContextObject) +{ + return USGSensorRange::NewSensorRange(WorldContextObject); +} + +USGSensorRange* USGSensorRangeKismetLibrary::MakeSensorRange_MinValues_MaxValues( + UObject* WorldContextObject, const TArray& MinValues, const TArray& MaxValues) +{ + return USGSensorRange::NewSensorRange(WorldContextObject, MinValues, MaxValues); +} + +USGSensorRange* USGSensorRangeKismetLibrary::ForCalibration(UObject* WorldContextObject) +{ + return USGSensorRange::ForCalibration(WorldContextObject); +} + +USGSensorRange* USGSensorRangeKismetLibrary::Deserialize(UObject* WorldContextObject, const FString& SerializedString) +{ + return USGSensorRange::Deserialize(WorldContextObject, SerializedString); +} + +void USGSensorRangeKismetLibrary::CheckMax(const FVector CurrentValues, FVector& OutMaxValues) +{ + USGSensorRange::CheckMax(CurrentValues, OutMaxValues); +} + +void USGSensorRangeKismetLibrary::CheckMin(const FVector& CurrentValues, FVector& OutMinValues) +{ + USGSensorRange::CheckMin(CurrentValues, OutMinValues); +} + +TArray USGSensorRangeKismetLibrary::GetMinValues(const USGSensorRange* SensorRange) +{ + return SensorRange->GetMinValues(); +} + +void USGSensorRangeKismetLibrary::SetMinValues(USGSensorRange* SensorRange, const TArray& Values) +{ + SensorRange->SetMinValues(Values); +} + +TArray USGSensorRangeKismetLibrary::GetMaxValues(const USGSensorRange* SensorRange) +{ + return SensorRange->GetMaxValues(); +} + +void USGSensorRangeKismetLibrary::SetMaxValues(USGSensorRange* SensorRange, const TArray& Values) +{ + SensorRange->SetMaxValues(Values); +} + +TArray USGSensorRangeKismetLibrary::GetRange(const USGSensorRange* SensorRange) +{ + return SensorRange->GetRange(); +} + +void USGSensorRangeKismetLibrary::UpdateRange(USGSensorRange* SensorRange) +{ + SensorRange->UpdateRange(); +} + +void USGSensorRangeKismetLibrary::CheckForExtremes(USGSensorRange* SensorRange, const TArray& OtherValues) +{ + SensorRange->CheckForExtremes(OtherValues); +} + +FString USGSensorRangeKismetLibrary::RangeString(const USGSensorRange* SensorRange, const bool bYOnly) +{ + return SensorRange->RangeString(bYOnly); +} + +FString USGSensorRangeKismetLibrary::ToString(const USGSensorRange* SensorRange, const bool bYOnly) +{ + return SensorRange->ToString(bYOnly); +} + +FString USGSensorRangeKismetLibrary::Serialize(const USGSensorRange* SensorRange) +{ + return SensorRange->SGSerialize(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGThumperCommandKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGThumperCommandKismetLibrary.cpp new file mode 100644 index 00000000..7af1f10b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGThumperCommandKismetLibrary.cpp @@ -0,0 +1,81 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGThumperCommandKismetLibrary.h" + +#include "SGCore/SGThumperCommand.h" + +USGThumperCommand* USGThumperCommandKismetLibrary::MakeThumperCommand(UObject* WorldContextObject) +{ + return USGThumperCommand::NewThumperCommand(WorldContextObject); +} + +USGThumperCommand* USGThumperCommandKismetLibrary::MakeThumperCommand_Magnitude( + UObject* WorldContextObject, const int32 Magnitude) +{ + return USGThumperCommand::NewThumperCommand(WorldContextObject, Magnitude); +} + +USGThumperCommand* USGThumperCommandKismetLibrary::Off(UObject* WorldContextObject) +{ + return USGThumperCommand::Off(WorldContextObject); +} + +int32 USGThumperCommandKismetLibrary::GetMagnitude(const USGThumperCommand* ThumperCommand) +{ + return ThumperCommand->GetMagnitude(); +} + +void USGThumperCommandKismetLibrary::SetMagnitude(USGThumperCommand* ThumperCommand, const int32 Magnitude) +{ + return ThumperCommand->SetMagnitude(Magnitude); +} + +USGThumperCommand* USGThumperCommandKismetLibrary::Copy(UObject* WorldContextObject, + const USGThumperCommand* ThumperCommand) +{ + return ThumperCommand->Copy(WorldContextObject); +} + +USGThumperCommand* USGThumperCommandKismetLibrary::Merge(UObject* WorldContextObject, + const USGThumperCommand* A, const USGThumperCommand* B) +{ + return A->Merge(WorldContextObject, B); +} + +bool USGThumperCommandKismetLibrary::Equals(const USGThumperCommand* A, const USGThumperCommand* B) +{ + return A->Equals(B); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.cpp new file mode 100644 index 00000000..93df614c --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.cpp @@ -0,0 +1,119 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGTimedBuzzCommandKismetLibrary.h" + +#include "SGCore/SGTimedBuzzCommand.h" + +USGTimedBuzzCommand* USGTimedBuzzCommandKismetLibrary::MakeTimedBuzzCommand(UObject* WorldContextObject) +{ + return USGTimedBuzzCommand::NewTimedBuzzCommand(WorldContextObject); +} + +USGTimedBuzzCommand* USGTimedBuzzCommandKismetLibrary:: +MakeTimedBuzzCommand_Finger_Magnitude_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, + const ESGFinger Finger, const int32 Magnitude, const float DurationSeconds, const float StartTimeSeconds) +{ + return USGTimedBuzzCommand::NewTimedBuzzCommand(WorldContextObject, + Finger, Magnitude, DurationSeconds, StartTimeSeconds); +} + +USGTimedBuzzCommand* USGTimedBuzzCommandKismetLibrary:: +MakeTimedBuzzCommand_BaseCommand_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, + const USGBuzzCommand* BaseCommand, const float DurationSeconds, const float StartTimeSeconds) +{ + return USGTimedBuzzCommand::NewTimedBuzzCommand(WorldContextObject, + BaseCommand, DurationSeconds, StartTimeSeconds); +} + +USGBuzzCommand* USGTimedBuzzCommandKismetLibrary::Copy(UObject* WorldContextObject, + const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->Copy(WorldContextObject); +} + +USGBuzzCommand* USGTimedBuzzCommandKismetLibrary::Merge(UObject* WorldContextObject, + const USGTimedBuzzCommand* A, const USGBuzzCommand* B) +{ + return A->Merge(WorldContextObject, B); +} + +USGBuzzCommand* USGTimedBuzzCommandKismetLibrary::GetBaseCommand(UObject* WorldContextObject, + const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->GetBaseCommand(WorldContextObject); +} + +int32 USGTimedBuzzCommandKismetLibrary::GetMagnitude(const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->GetMagnitude(); +} + +float USGTimedBuzzCommandKismetLibrary::GetDuration(const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->GetDuration(); +} + +float USGTimedBuzzCommandKismetLibrary::GetElapsedTime(const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->GetElapsedTime(); +} + +bool USGTimedBuzzCommandKismetLibrary::HasTimeElapsed(const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->HasTimeElapsed(); +} + +float USGTimedBuzzCommandKismetLibrary::NormalizedTime(const USGTimedBuzzCommand* TimedBuzzCommand, const bool bClamp01) +{ + return TimedBuzzCommand->NormalizedTime(bClamp01); +} + +void USGTimedBuzzCommandKismetLibrary::ResetTiming(USGTimedBuzzCommand* TimedBuzzCommand) +{ + TimedBuzzCommand->ResetTiming(); +} + +void USGTimedBuzzCommandKismetLibrary::UpdateTiming(USGTimedBuzzCommand* TimedBuzzCommand, const float DeltaSeconds) +{ + TimedBuzzCommand->UpdateTiming(DeltaSeconds); +} + +FString USGTimedBuzzCommandKismetLibrary::ToString(const USGTimedBuzzCommand* TimedBuzzCommand) +{ + return TimedBuzzCommand->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedThumpCommandKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedThumpCommandKismetLibrary.cpp new file mode 100644 index 00000000..c8fbe959 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTimedThumpCommandKismetLibrary.cpp @@ -0,0 +1,115 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGTimedThumpCommandKismetLibrary.h" + +#include "SGCore/SGTimedThumpCommand.h" + +USGTimedThumpCommand* USGTimedThumpCommandKismetLibrary::MakeTimedThumpCommand(UObject* WorldContextObject) +{ + return USGTimedThumpCommand::NewTimedThumpCommand(WorldContextObject); +} + +USGTimedThumpCommand* +USGTimedThumpCommandKismetLibrary::MakeTimedThumpCommand_Magnitude_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, const int32 Magnitude, const float DurationSeconds, const float StartTimeSeconds) +{ + return USGTimedThumpCommand::NewTimedThumpCommand(WorldContextObject, Magnitude, DurationSeconds, StartTimeSeconds); +} + +USGTimedThumpCommand* +USGTimedThumpCommandKismetLibrary::MakeTimedThumpCommand_BaseCommand_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, + const USGThumperCommand* BaseCommand, const float DurationSeconds, const float StartTimeSeconds) +{ + return USGTimedThumpCommand::NewTimedThumpCommand(WorldContextObject, + BaseCommand, DurationSeconds, StartTimeSeconds); +} + +int32 USGTimedThumpCommandKismetLibrary::GetMagnitude(const USGTimedThumpCommand* TimedThumpCommand) +{ + return TimedThumpCommand->GetMagnitude(); +} + +void USGTimedThumpCommandKismetLibrary::SetMagnitude(USGTimedThumpCommand* TimedThumpCommand, const int32 Magnitude) +{ + TimedThumpCommand->SetMagnitude(Magnitude); +} + +float USGTimedThumpCommandKismetLibrary::GetDuration(const USGTimedThumpCommand* TimedThumpCommand) +{ + return TimedThumpCommand->GetDuration(); +} + +void USGTimedThumpCommandKismetLibrary::SetDuration(USGTimedThumpCommand* TimedThumpCommand, const float Duration) +{ + TimedThumpCommand->SetDuration(Duration); +} + +float USGTimedThumpCommandKismetLibrary::GetElapsedTime(const USGTimedThumpCommand* TimedThumpCommand) +{ + return TimedThumpCommand->GetElapsedTime(); +} + +void USGTimedThumpCommandKismetLibrary::SetElapsedTime(USGTimedThumpCommand* TimedThumpCommand, const float ElapsedTime) +{ + TimedThumpCommand->SetElapsedTime(ElapsedTime); +} + +bool USGTimedThumpCommandKismetLibrary::HasTimeElapsed(const USGTimedThumpCommand* TimedThumpCommand) +{ + return TimedThumpCommand->HasTimeElapsed(); +} + +USGTimedThumpCommand* USGTimedThumpCommandKismetLibrary::Copy( + UObject* WorldContextObject, const USGTimedThumpCommand* TimedThumpCommand, const bool bCopyElapsed) +{ + return TimedThumpCommand->Copy(WorldContextObject, bCopyElapsed); +} + +void USGTimedThumpCommandKismetLibrary::Update(USGTimedThumpCommand* TimedThumpCommand, const float DeltaSeconds) +{ + TimedThumpCommand->Update(DeltaSeconds); +} + +bool USGTimedThumpCommandKismetLibrary::Equals(const USGTimedThumpCommand* A, const USGTimedThumpCommand* B) +{ + return A->Equals(B); +} + +FString USGTimedThumpCommandKismetLibrary::ToString(const USGTimedThumpCommand* TimedThumpCommand) +{ + return TimedThumpCommand->ToString(); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTrackingKismetLibrary.cpp b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTrackingKismetLibrary.cpp new file mode 100644 index 00000000..bd41f64e --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SGCoreKismet/SGTrackingKismetLibrary.cpp @@ -0,0 +1,183 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreKismet/SGTrackingKismetLibrary.h" + +#include "SGCore/SGTracking.h" + +void USGTrackingKismetLibrary::CalculateLocation(const FVector& TrackedPosition, const FQuat& TrackedRotation, + const FVector& PositionOffset, const FQuat& RotationOffset, + FVector& OutNewPosition, FQuat& OutNewRotation) +{ + return FSGTracking::CalculateLocation(TrackedPosition, TrackedRotation, PositionOffset, RotationOffset, + OutNewPosition, OutNewRotation); +} + +TArray USGTrackingKismetLibrary::GetSenseGloveFingerToGlovePositionOrigin() +{ + return FSGTracking::GetSenseGloveFingerToGlovePositionOrigin(); +} + +TArray USGTrackingKismetLibrary::GetSenseGloveFingerToGloveRotationOrigin() +{ + return FSGTracking::GetSenseGloveFingerToGloveRotationOrigin(); +} + +FVector USGTrackingKismetLibrary::GetSenseGloveWristPositionOffset() +{ + return FSGTracking::GetSenseGloveWristPositionOffset(); +} + +FQuat USGTrackingKismetLibrary::GetSenseGloveWristRotationOffset() +{ + return FSGTracking::GetSenseGloveWristRotationOffset(); +} + +void USGTrackingKismetLibrary::GetSenseGloveMountOffset(const bool bRightHanded, const ESGFinger ToFinger, + FVector& OutIPosition, FQuat& OutIRotation) +{ + return FSGTracking::GetSenseGloveMountOffset(bRightHanded, ToFinger, OutIPosition, OutIRotation); +} + +void USGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset( + const ESGPositionalTrackingHardware Hardware, const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + return FSGTracking::GetSenseGloveTrackerMountOffset(Hardware, bRightHanded, + OutPositionOffset, OutRotationOffset); +} + +FVector USGTrackingKismetLibrary::GetSenseGloveViveToAttachPosition() +{ + return FSGTracking::GetSenseGloveViveToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetSenseGloveViveToAttachRotation() +{ + return FSGTracking::GetSenseGloveViveToAttachRotation(); +} + +FVector USGTrackingKismetLibrary::GetSenseGloveOculusTouchToAttachPosition() +{ + return FSGTracking::GetSenseGloveOculusTouchToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetSenseGloveOculusTouchToAttachRotation() +{ + return FSGTracking::GetSenseGloveOculusTouchToAttachRotation(); +} + +FVector USGTrackingKismetLibrary::GetNovaToWristPositionOffset() +{ + return FSGTracking::GetNovaToWristPositionOffset(); +} + +FQuat USGTrackingKismetLibrary::GetNovaToWristRotationOffset() +{ + return FSGTracking::GetNovaToWristRotationOffset(); +} + +void USGTrackingKismetLibrary::GetNovaGloveWristOffset(const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + return FSGTracking::GetNovaGloveWristOffset(bRightHanded, OutPositionOffset, OutRotationOffset); +} + +FVector USGTrackingKismetLibrary::GetRightNovaViveToAttachPosition() +{ + return FSGTracking::GetRightNovaViveToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetRightNovaViveToAttachRotation() +{ + return FSGTracking::GetRightNovaViveToAttachRotation(); +} + +FVector USGTrackingKismetLibrary::GetLeftNovaViveToAttachPosition() +{ + return FSGTracking::GetLeftNovaViveToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetLeftNovaViveToAttachRotation() +{ + return FSGTracking::GetLeftNovaViveToAttachRotation(); +} + +FVector USGTrackingKismetLibrary::GetRightNovaQuest2ToAttachPosition() +{ + return FSGTracking::GetRightNovaQuest2ToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetRightNovaQuest2ToAttachRotation() +{ + return FSGTracking::GetRightNovaQuest2ToAttachRotation(); +} + +FVector USGTrackingKismetLibrary::GetLeftNovaQuest2ToAttachPosition() +{ + return FSGTracking::GetLeftNovaQuest2ToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetLeftNovaQuest2ToAttachRotation() +{ + return FSGTracking::GetLeftNovaQuest2ToAttachRotation(); +} + +FVector USGTrackingKismetLibrary::GetRightNovaPico2ToAttachPosition() +{ + return FSGTracking::GetRightNovaPico2ToAttachPosition(); +} + +FQuat USGTrackingKismetLibrary::GetRightNovaPico2ToAttachRotation() +{ + return FSGTracking::GetRightNovaPico2ToAttachRotation(); +} + +FQuat USGTrackingKismetLibrary::GetLeftNovaPico2ToAttachRotation() +{ + return FSGTracking::GetLeftNovaPico2ToAttachRotation(); +} + +void USGTrackingKismetLibrary::GetNovaGloveTrackerOffset( + const ESGPositionalTrackingHardware Hardware, const bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset) +{ + return FSGTracking::GetNovaGloveTrackerOffset(Hardware, bRightHanded, OutPositionOffset, OutRotationOffset); +} + +FString USGTrackingKismetLibrary::ToString(const ESGPositionalTrackingHardware Hardware) +{ + return FSGTracking::ToString(Hardware); +} \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.cpp b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.cpp new file mode 100644 index 00000000..761cff4e --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreKismet.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveCoreKismetModule.h" + +IMPLEMENT_MODULE(FSenseGloveCoreKismetModule, SenseGloveCoreKismet) diff --git a/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.h b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismet.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.cpp b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.cpp new file mode 100644 index 00000000..70ed9179 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreKismetModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveCoreKismetModule" + +void FSenseGloveCoreKismetModule::StartupModule() +{ + SGLOG("Starting up SenseGloveCoreKismet module..."); +} + +void FSenseGloveCoreKismetModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveCoreKismet module..."); +} + +void FSenseGloveCoreKismetModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveCoreKismet module has succeeded!"); +} + +void FSenseGloveCoreKismetModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveCoreKismet module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.h b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.h new file mode 100644 index 00000000..3930a18c --- /dev/null +++ b/Source/SenseGloveCoreKismet/Private/SenseGloveCoreKismetModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveCoreKismet" + +class FSenseGloveCoreKismetModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGAnatomyKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGAnatomyKismetLibrary.h new file mode 100644 index 00000000..edc3ce4b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGAnatomyKismetLibrary.h @@ -0,0 +1,87 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "HAL/Platform.h" + +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGAnatomyKismetLibrary.generated.h" + +UCLASS(meta=(ScriptName = "SesneGloveAnatomyKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGAnatomyKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float GetTotalFingerFlexion(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float GetTotalFingerExtension(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float GetTotalThumbFlexion(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float GetTotalThumbExtension(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float GetFingerJointLimit(bool bRightHanded, int32 Joint, int32 Movement, bool bMax); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float GetThumbJointLimit(bool bRightHanded, int32 Joint, int32 Movement, bool bMax); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float NormalizeFingerFlex(float FlexionInRadians); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static float NormalizeThumbFlex(float FlexionInRadians); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static TArray GetDefaultHandAngles(bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static TArray GetFlatHandAngles(bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static TArray GetThumbsUpHandAngles(bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Anatomy") + static TArray GetFistHandAngles(bool bRightHanded); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBasicHandModelKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBasicHandModelKismetLibrary.h new file mode 100644 index 00000000..aec330e1 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBasicHandModelKismetLibrary.h @@ -0,0 +1,164 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGCore/SGFloatArray.h" + +#include "SGBasicHandModelKismetLibrary.generated.h" + +class USGBasicHandModel; + +UCLASS(meta=(ScriptName = "SesneGloveBasicHandModelKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGBasicHandModelKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model", + meta=(WorldContext="WorldContextObject")) + static USGBasicHandModel* MakeBasicHandModel(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Basic Hand Model", + Category="SenseGlove | Core | Kinematics | Basic Hand Model", + meta=(WorldContext="WorldContextObject")) + static USGBasicHandModel* MakeBasicHandModel_bRightHanded_Lengths_StartPositions( + UObject* WorldContextObject, + bool bRightHanded, const TArray& Lengths, const TArray& StartPositions); + + UFUNCTION(BlueprintCallable, DisplayName="Make Basic Hand Model", + Category="SenseGlove | Core | Kinematics | Basic Hand Model", + meta=(WorldContext="WorldContextObject")) + static USGBasicHandModel* MakeBasicHandModel_bRightHanded_Lengths_StartPositions_StartRotations( + UObject* WorldContextObject, + bool bRightHanded, const TArray& Lengths, + const TArray& StartPositions, const TArray& StartRotations); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model", + meta=(WorldContext="WorldContextObject")) + static USGBasicHandModel* Default(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model", + meta=(WorldContext="WorldContextObject")) + static USGBasicHandModel* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetBaseFingerLengths(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetBaseJointPositions(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetBaseJointRotations(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static bool IsRight(const USGBasicHandModel* BasicHandModel); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetFingerLengths(const USGBasicHandModel* BasicHandModel); + + UFUNCTION(BlueprintPure, DisplayName="Get Finger Lengths", + Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetFingerLengths_ESGFinger(const USGBasicHandModel* BasicHandModel, ESGFinger Finger); + + UFUNCTION(BlueprintCallable, DisplayName="Set Finger Lengths", + Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static void SetFingerLengths_ESGFinger(UPARAM(ref) USGBasicHandModel* BasicHandModel, ESGFinger Finger, + const TArray& Lengths); + + UFUNCTION(BlueprintCallable, DisplayName="Set Finger Lengths", + Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static void SetFingerLengths_uint8Finger(UPARAM(ref) USGBasicHandModel* BasicHandModel, uint8 Finger, + const TArray& Lengths); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + TArray GetFingerRatios(const USGBasicHandModel* BasicHandModel) const; + + UFUNCTION(BlueprintPure, DisplayName="Get Finger Ratios", + Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetFingerRatios_Finger(const USGBasicHandModel* BasicHandModel, ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetStartJointPositions(const USGBasicHandModel* BasicHandModel); + + UFUNCTION(BlueprintCallable, DisplayName="Set Start Joint Position", + Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static void SetStartJointPosition_ESGFinger(UPARAM(ref) USGBasicHandModel* BasicHandModel, ESGFinger Finger, + const FVector& Position); + + UFUNCTION(BlueprintPure, DisplayName="Set Start Joint Position", + Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static void SetStartJointPosition_uint8Finger(UPARAM(ref) USGBasicHandModel* BasicHandModel, uint8 Finger, + const FVector& Position); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetStartJointRotations(const USGBasicHandModel* BasicHandModel); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static FVector GetJointPosition(const USGBasicHandModel* BasicHandModel, ESGFinger Finger); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static void SetJointPosition(UPARAM(ref) USGBasicHandModel* BasicHandModel, const FVector& NewPosition, + ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static FQuat GetJointRotation(const USGBasicHandModel* BasicHandModel, ESGFinger Finger); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static void SetJointRotation(UPARAM(ref) USGBasicHandModel* BasicHandModel, const FQuat& NewRotation, + ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray GetTotalLengths(const USGBasicHandModel* BasicHandModel); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static float GetTotalLength(const USGBasicHandModel* BasicHandModel, ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static TArray Get3DLengths(const USGBasicHandModel* BasicHandModel, ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static bool Equals(const USGBasicHandModel* A, const USGBasicHandModel* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static FString ToString(const USGBasicHandModel* BasicHandModel); + + UFUNCTION(BlueprintPure, DisplayName="To String", Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static FString ToString_bLengthsOnly(const USGBasicHandModel* BasicHandModel, bool bLengthsOnly); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Basic Hand Model") + static FString Serialize(const USGBasicHandModel* BasicHandModel); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBetaDeviceKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBetaDeviceKismetLibrary.h new file mode 100644 index 00000000..e36da2ba --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBetaDeviceKismetLibrary.h @@ -0,0 +1,83 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGBetaDeviceKismetLibrary.generated.h" + +class USGBetaDevice; + +UCLASS(meta=(ScriptName = "SesneGloveBetaDeviceKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGBetaDeviceKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Beta Device", meta=(WorldContext="WorldContextObject")) + static USGBetaDevice* Parse(UObject* WorldContextObject, const FString& String); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static ESGDeviceType GetDeviceType(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static FString GetDeviceId(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static FString GetHardwareVersion(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static int32 GetFirmwareVersion(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static int32 GetSubFirmwareVersion(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static FString GetConstantsString(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static FString GetSensorData(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static FString GetLastCommand(const USGBetaDevice* BetaDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static bool SendHaptics(const USGBetaDevice* BetaDevice, const FString& Command); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Beta Device") + static FString ToString(const USGBetaDevice* BetaDevice); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBuzzCommandKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBuzzCommandKismetLibrary.h new file mode 100644 index 00000000..fb4bd864 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGBuzzCommandKismetLibrary.h @@ -0,0 +1,81 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGBuzzCommandKismetLibrary.generated.h" + +class USGBuzzCommand; + +UCLASS(meta=(ScriptName = "SesneGloveBuzzCommandKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGBuzzCommandKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* MakeBuzzCommand(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Buzz Command", Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* MakeBuzzCommand_BuzzLevels(UObject* WorldContextObject, const TArray& BuzzLevels); + + UFUNCTION(BlueprintCallable, DisplayName="Make Buzz Command", Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* MakeBuzzCommand_Thumb_Index_Middle_Ring_Pinky(UObject* WorldContextObject, + int32 Thumb, int32 Index, int32 Middle, + int32 Ring, int32 Pinky); + + UFUNCTION(BlueprintCallable, DisplayName="Make Buzz Command", Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* MakeBuzzCommand_Finger_BuzzLevel(UObject* WorldContextObject, ESGFinger Finger, + int32 BuzzLevel); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* Off(UObject* WorldContextObject); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* Copy(UObject* WorldContextObject, const USGBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* Merge(UObject* WorldContextObject, const USGBuzzCommand* A, const USGBuzzCommand* B); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGCalibrationDataPointKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGCalibrationDataPointKismetLibrary.h new file mode 100644 index 00000000..be1a7e4d --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGCalibrationDataPointKismetLibrary.h @@ -0,0 +1,68 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGCalibrationDataPointKismetLibrary.generated.h" + +class USGCalibrationDataPoint; + +UCLASS(meta=(ScriptName = "SesneGloveCalibrationDataPointKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGCalibrationDataPointKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Calibraion Data Point", + meta=(WorldContext="WorldContextObject")) + static USGCalibrationDataPoint* MakeCalibrationDataPoint(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Calibration Data Point", + Category="SenseGlove | Core | Calibration | Calibraion Data Point", meta=(WorldContext="WorldContextObject")) + static USGCalibrationDataPoint* MakeCalibrationDataPoint_CurrentStage_CalibrationValues( + UObject* WorldContextObject, + int32 CurrentStage, const TArray& CalibrationValues); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Calibraion Data Point") + static TArray GetCalibrationValues(const USGCalibrationDataPoint* CalibrationDataPoint); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Calibraion Data Point") + static int32 GetStage(const USGCalibrationDataPoint* CalibrationDataPoint); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Calibraion Data Point") + static FString ToLogData(const USGCalibrationDataPoint* CalibrationDataPoint, const FString& Delimiter = "\t"); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceKismetLibrary.h new file mode 100644 index 00000000..1a542e7c --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceKismetLibrary.h @@ -0,0 +1,104 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGDeviceKismetLibrary.generated.h" + +class USGDevice; + +UCLASS(meta=(ScriptName = "SesneGloveSGDeviceKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGDeviceKismetLibrary : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SGDevice") + static void ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion); + + UFUNCTION(BlueprintCallable, DisplayName="To String", Category="SenseGlove | Core | SGDevice") + static FString ToString_DeviceType(ESGDeviceType DeviceType); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static ESGDeviceType GetDeviceType(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static FString GetDeviceId(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static FString GetHardwareVersion(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static int32 GetFirmwareVersion(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static int32 GetSubFirmwareVersion(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static FString GetFirmwareString(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static FString GetAddress(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static bool IsConnected(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static ESGConnectionType GetConnectionType(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static int32 PacketsPerSecondReceived(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static int32 PacketsPerSecondSent(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static bool IsWireless(const USGDevice* SGDevice); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SGDevice") + static bool HasBattery(const USGDevice* SGDevice); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SGDevice") + static bool IsCharging(UPARAM(ref) USGDevice* SGDevice); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SGDevice") + static bool GetBatteryLevel(UPARAM(ref) USGDevice* SGDevice, float& OutLevel); + + UFUNCTION(BlueprintPure, DisplayName="To String", Category="SenseGlove | Core | SGDevice") + static FString ToString_SGDevice(const USGDevice* SGDevice); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceListKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceListKismetLibrary.h new file mode 100644 index 00000000..4150aa43 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceListKismetLibrary.h @@ -0,0 +1,101 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "HAL/Platform.h" + +#include "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGDeviceListKismetLibrary.generated.h" + +class USGDevice; + +UCLASS(meta=(ScriptName = "SesneGloveDeviceListKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGDeviceListKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static int32 ActiveDevices(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static bool SenseCommRunning(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static void Dispose(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static void Reinitialize(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List", meta=(WorldContext="WorldContextObject")) + static TArray GetDevices(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Get Devices", Category="SenseGlove | Core | Device List", + meta=(WorldContext="WorldContextObject")) + static TArray GetDevices_TSubclassOf_USGDevice(UObject* WorldContextObject, + const TSubclassOf& DeviceType); + + UFUNCTION(BlueprintCallable, DisplayName="Get Devices", Category="SenseGlove | Core | Device List", + meta=(WorldContext="WorldContextObject")) + static TArray GetDevices_ESGDeviceType(UObject* WorldContextObject, ESGDeviceType DeviceType); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static bool GetSensorDataString(int32 IpcIndex, const FString& IpcAddress, FString& OutString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static bool SendHaptics(int32 IpcIndex, const FString& IpcAddress, const FString& Commands); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static FString GetDeviceStringAt(int32 IpcIndex, const FString& IpcAddress, int32 Index); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static FString GetAddress(int32 IpcIndex, const FString& IpcAddress); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static ESGConnectionType GetConnectionType(int32 IpcIndex, const FString& IpcAddress); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static bool IsConnected(int32 IpcIndex, const FString& IpcAddress); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static int32 PacketsPerSecondReceived(int32 IpcIndex, const FString& IpcAddress); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device List") + static int32 PacketsPerSecondSent(int32 IpcIndex, const FString& IpcAddress); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceModelKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceModelKismetLibrary.h new file mode 100644 index 00000000..dd72ee14 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGDeviceModelKismetLibrary.h @@ -0,0 +1,80 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" + +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGDeviceModelKismetLibrary.generated.h" + +class USGDeviceModel; + +UCLASS(meta=(ScriptName = "SesneGloveDeviceModelKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGDeviceModelKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device Model", meta=(WorldContext="WorldContextObject")) + static USGDeviceModel* MakeDeviceModel(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Device Model", Category="SenseGlove | Core | Device Model", + meta=(WorldContext="WorldContextObject")) + static USGDeviceModel* MakeDeviceModel_Id_HardwareVersion_FirmwareVersion_SubFirmwareVersion( + UObject* WorldContextObject, + const FString& Id, const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device Model") + static TArray ParseFunctions(int32 Value, int32 Size); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Device Model") + static void ParseFirmware(const FString& RawFirmware, int32& OutMainVersion, int32& OutSubVersion); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Device Model") + static FString GetDeviceId(const USGDeviceModel* DeviceModel); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Device Model") + static FString GetHardwareVersion(const USGDeviceModel* DeviceModel); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Device Model") + static int32 GetFirmwareVersion(const USGDeviceModel* DeviceModel); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Device Model") + static int32 GetSubFirmwareVersion(const USGDeviceModel* DeviceModel); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGFingerCommandKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGFingerCommandKismetLibrary.h new file mode 100644 index 00000000..2ac5a50a --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGFingerCommandKismetLibrary.h @@ -0,0 +1,64 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGFingerCommandKismetLibrary.generated.h" + +class USGFingerCommand; + +UCLASS(meta=(ScriptName = "SesneGloveFingerCommandKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGFingerCommandKismetLibrary : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Finger Command") + static TArray GetLevels(const USGFingerCommand* FingerCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Finger Command") + static int32 GetLevel(const USGFingerCommand* FingerCommand, int32 Finger); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Finger Command") + static void SetLevel(USGFingerCommand* FingerCommand, int32 Finger, int32 Value); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Finger Command") + static bool Equals(const USGFingerCommand* A, const USGFingerCommand* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Finger Command") + static FString ToString(const USGFingerCommand* FingerCommand); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.h new file mode 100644 index 00000000..a9882d6b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGForceFeedbackCommandKismetLibrary.h @@ -0,0 +1,86 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGForceFeedbackCommandKismetLibrary.generated.h" + +class USGForceFeedbackCommand; + +UCLASS(meta=(ScriptName = "SesneGloveForceFeedbackCommandKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGForceFeedbackCommandKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* MakeForceFeedbackCommand(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Force Feedback Command", + Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* MakeForceFeedbackCommand_ForceFeedbackLevels( + UObject* WorldContextObject, const TArray& ForceFeedbackLevels); + + UFUNCTION(BlueprintCallable, DisplayName="Make Force Feedback Command", + Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* MakeForceFeedbackCommand_Thumb_Index_Middle_Ring_Pinky( + UObject* WorldContextObject, int32 Thumb, int32 Index, int32 Middle, int32 Ring, int32 Pinky); + + UFUNCTION(BlueprintCallable, DisplayName="Make Force Feedback Command", + Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* MakeForceFeedbackCommand_Finger_BuzzLevel( + UObject* WorldContextObject, ESGFinger Finger, int32 BuzzLevel); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* Off(UObject* WorldContextObject); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* Copy(UObject* WorldContextObject, + const USGForceFeedbackCommand* ForceFeedbackCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Force Feedback Command", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* Merge(UObject* WorldContextObject, + const USGForceFeedbackCommand* A, const USGForceFeedbackCommand* B); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandInterpolatorKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandInterpolatorKismetLibrary.h new file mode 100644 index 00000000..57ba9296 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandInterpolatorKismetLibrary.h @@ -0,0 +1,141 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGInterpolationSetArray.h" +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGHandInterpolatorKismetLibrary.generated.h" + +class USGHandInterpolator; + +UCLASS(meta=(ScriptName = "SesneGloveHandInterpolatorKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHandInterpolatorKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Hand Interpolator", + meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* MakeHandInterpolator(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Hand Interpolator", + Category="SenseGlove | Core | Kinematics | Hand Interpolator", meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* MakeHandInterpolator_JointInterpolations( + UObject* WorldContextObject, + const TArray& JointInterpolations); + + UFUNCTION(BlueprintCallable, DisplayName="Make Hand Interpolator", + Category="SenseGlove | Core | Kinematics | Hand Interpolator", meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* MakeHandInterpolator_JointInterpolations_CmcStartRotation( + UObject* WorldContextObject, + const TArray& JointInterpolations, const FQuat& CmcStartRotation); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Hand Interpolator", + meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* Default(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Hand Interpolator", + meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static TArray InterpolateFingerAngles(ESGFinger Finger, const USGHandInterpolator* Interpolator, + const FVector& TotalGloveAngles); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static TArray InterpolateThumbAngles(const USGHandInterpolator* Interpolator, + const FVector& TotalGloveAngles); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static TArray InterpolateHandAngles(const USGHandInterpolator* Interpolator, + const TArray& TotalAngles); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Hand Interpolator", + meta=(WorldContext="WorldContextObject")) + TArray GetJointInterpolations( + UObject* WorldContextObject, const USGHandInterpolator* HandInterpolator) const; + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Hand Interpolator") + FQuat GetCmcStartRotation(const USGHandInterpolator* HandInterpolator) const; + + UFUNCTION(BlueprintPure, DisplayName="CalculateAngle", + Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static float CalculateAngle_Finger_int32Movement_Value(const USGHandInterpolator* HandInterpolator, + ESGFinger Finger, int32 Movement, float Value); + + UFUNCTION(BlueprintPure, DisplayName="CalculateAngle", + Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static float CalculateAngle_Finger_ESGFingerMovement_Value(const USGHandInterpolator* HandInterpolator, + ESGFinger Finger, ESGFingerMovement Movement, + float Value); + + UFUNCTION(BlueprintPure, DisplayName="CalculateAngle", + Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static float CalculateAngle_Finger_ESGThumbMovement_Value( + const USGHandInterpolator* HandInterpolator, ESGFinger Finger, ESGThumbMovement Movement, float Value); + + UFUNCTION(BlueprintCallable, DisplayName="SetInterpolation", + Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static void SetInterpolation_int32Finger_int32Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + UPARAM(ref) USGHandInterpolator* HandInterpolator, int32 Finger, int32 Movement, + float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + UFUNCTION(BlueprintCallable, DisplayName="SetInterpolation", + Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static void SetInterpolation_ESGFinger_ESGFingerMovement_InputAt0_InputAt1_AngleAt0_AngleAt1( + UPARAM(ref) USGHandInterpolator* HandInterpolator, ESGFinger Finger, ESGFingerMovement Movement, + float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + UFUNCTION(BlueprintCallable, DisplayName="SetInterpolation", + Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static void SetInterpolation_Movement_InputAt0_InputAt1_AngleAt0_AngleAt1( + UPARAM(ref) USGHandInterpolator* HandInterpolator, ESGThumbMovement Movement, + float InputAt0, float InputAt1, float AngleAt0, float AngleAt1); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Hand Interpolator", + meta=(WorldContext="WorldContextObject")) + static USGInterpolationSet* GetInterpolation( + UObject* WorldContextObject, + const USGHandInterpolator* HandInterpolator, int32 Finger, int32 Movement); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static bool Equals(const USGHandInterpolator* A, const USGHandInterpolator* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Hand Interpolator") + static FString Serialize(const USGHandInterpolator* HandInterpolator); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandPoseKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandPoseKismetLibrary.h new file mode 100644 index 00000000..92ebea14 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandPoseKismetLibrary.h @@ -0,0 +1,145 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGQuatArray.h" +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGHandPoseKismetLibrary.generated.h" + +class USGBasicHandModel; +class USGHandPose; + +UCLASS(meta=(ScriptName = "SesneGloveHandPoseKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHandPoseKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Hand Pose", meta=(WorldContext="WorldContextObject")) + static USGHandPose* MakeHandPose(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Hand Pose", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* MakeHandPose_bRightHanded_JointPositions_JointRotations_HandAngles( + UObject* WorldContextObject, + bool bRightHanded, const TArray& JointPositions, const TArray& JointRotations, + const TArray& HandAngles); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintCallable, DisplayName="From Hand Angles", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* FromHandAngles_HandAngles_bRightHanded_HandDimensions( + UObject* WorldContextObject, + const TArray& HandAngles, bool bRightHanded, const USGBasicHandModel* HandDimensions); + + UFUNCTION(BlueprintCallable, DisplayName="From Hand Angles", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* FromHandAngles_HandAngles_bRightHanded( + UObject* WorldContextObject, + const TArray& HandAngles, bool bRightHanded); + + UFUNCTION(BlueprintCallable, DisplayName="Default Idle", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* DefaultIdle_bRightHanded_HandDimensions( + UObject* WorldContextObject, + bool bRightHanded, const USGBasicHandModel* HandDimensions); + + UFUNCTION(BlueprintCallable, DisplayName="Default Idle", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* DefaultIdle_bRightHanded(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintCallable, DisplayName="Flat Hand", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* + FlatHand_bRightHanded_HandDimensions(UObject* WorldContextObject, + bool bRightHanded, const USGBasicHandModel* HandDimensions); + + UFUNCTION(BlueprintCallable, DisplayName="Flat Hand", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* FlatHand_bRightHanded(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintCallable, DisplayName="Thumbs Up", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* + ThumbsUp_bRightHanded_HandDimensions(UObject* WorldContextObject, bool bRightHanded, + const USGBasicHandModel* HandDimensions); + + UFUNCTION(BlueprintCallable, DisplayName="Thumbs Up", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* ThumbsUp_bRightHanded(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintCallable, DisplayName="Fist", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* Fist_bRightHanded_HandDimensions(UObject* WorldContextObject, + bool bRightHanded, const USGBasicHandModel* HandDimensions); + + UFUNCTION(BlueprintCallable, DisplayName="Fist", Category="SenseGlove | Core | Hand Pose", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* Fist_bRightHanded(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static bool IsRight(const USGHandPose* HandPose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static TArray GetJointPositions(const USGHandPose* HandPose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static TArray GetJointRotations(const USGHandPose* HandPose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static TArray GetHandAngles(const USGHandPose* HandPose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static bool Equals(const USGHandPose* A, const USGHandPose* B); + + UFUNCTION(BlueprintPure, DisplayName="Get Normalized Flexion", Category="SenseGlove | Core | Hand Pose") + static float GetNormalizedFlexion_Finger_bClamp01(const USGHandPose* HandPose, ESGFinger Finger, + bool bClamp01 = true); + + UFUNCTION(BlueprintPure, DisplayName="Get Normalized Flexion", Category="SenseGlove | Core | Hand Pose") + static TArray GetNormalizedFlexion_bClamp01(const USGHandPose* HandPose, bool bClamp01 = true); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static FString ToString(const USGHandPose* HandPose, bool bShortFormat = false); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Pose") + static FString Serialize(const USGHandPose* HandPose); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandProfileKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandProfileKismetLibrary.h new file mode 100644 index 00000000..9024e130 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHandProfileKismetLibrary.h @@ -0,0 +1,117 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGHandProfileKismetLibrary.generated.h" + +class USGHandProfile; + +UCLASS(meta=(ScriptName = "SesneGloveHandProfileKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHandProfileKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile", meta=(WorldContext="WorldContextObject")) + static USGHandProfile* MakeHandProfile(UObject* WorldContextObject); + + UFUNCTION(BlueprintPure, DisplayName="Make Hand Profile", Category="SenseGlove | Core | Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGHandProfile* MakeHandProfile_bRightHanded_SenseGloveHandProfile_NovaGloveHandProfile( + UObject* WorldContextObject, + bool bRightHanded, + const USGSenseGloveHandProfile* SenseGloveHandProfile, + const USGNovaGloveHandProfile* NovaGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGHandProfile* Default(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGHandProfile* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static FString GetProfileDirectory(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static FString GetLeftHandFileName(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static FString GetRightHandFileName(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static FString GetProfileFileName(bool bRightHanded); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile", + meta=(WorldContext="WorldContextObject")) + static bool GetLatestProfile( + UObject* WorldContextObject, + bool bRightHanded, USGHandProfile*& OutLatestProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static bool StoreProfile(const USGHandProfile* ProfileToStore); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static bool ResetCalibration_bRightHanded_bOnDisk(bool bRightHanded, bool bOnDisk = true); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Hand Profile") + static void ResetCalibration_bObDisk(bool bOnDisk = true); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static bool IsRight(const USGHandProfile* HandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveHandProfile* GetSenseGloveHandProfile(UObject* WorldContextObject, + const USGHandProfile* HandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveHandProfile* GetNovaGloveHandProfile(UObject* WorldContextObject, + const USGHandProfile* HandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static bool Equals(const USGHandProfile* A, const USGHandProfile* B); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Hand Profile") + static void Reset(UPARAM(ref) USGHandProfile* HandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Hand Profile") + static FString Serialize(const USGHandProfile* HandProfile); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.h new file mode 100644 index 00000000..29ef5383 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationCheckKismetLibrary.h @@ -0,0 +1,112 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGHapticGloveCalibrationCheckKismetLibrary.generated.h" + +class USGHapticGlove; +class USGHapticGloveCalibrationCheck; +class USGSensorRange; + +UCLASS(meta=(ScriptName = "SesneGloveHapticGloveCalibrationCheckKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHapticGloveCalibrationCheckKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check", + meta=(WorldContext="WorldContextObject")) + static USGHapticGloveCalibrationCheck* MakeHapticGloveCalibrationCheck(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Haptic Glove Calibration Check", + Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check", + meta=(WorldContext="WorldContextObject")) + static USGHapticGloveCalibrationCheck* MakeHapticGloveCalibrationCheck_LastCalibrationRange( + UObject* WorldContextObject, const USGSensorRange* LastCalibrationRange); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static float GetSenseGloveThreshold(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static float GetNovaGloveThreshold(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static float GetSenseGloveMinFlexion(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static float GetNovaGloveMinFlexion(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static float GetSenseGloveMinAbduction(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static float GetNovaGloveMinAbduction(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static bool NeedsCheck(ESGDeviceType DeviceType); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static int32 OutOfBounds(const USGSensorRange* PreviousRange, const TArray& CurrentValues, + ESGDeviceType DeviceType); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static bool MovedMinimum(const TArray& CurrentRange, ESGDeviceType DeviceType); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static bool MatchesLast(const TArray& CurrentRange, const TArray& LastRange, + ESGDeviceType DeviceType); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check", + meta=(WorldContext="WorldContextObject")) + static USGSensorRange* GetLastSensorRange(UObject* WorldContextObject, + const USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static ESGCalibrationStage GetCalibrationStage(const USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static bool ReachedConclusion(const USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static void Reset(UPARAM(ref) USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Check") + static void CheckRange(USGHapticGloveCalibrationCheck* HapticGloveCalibrationCheck, + const TArray& CurrentValues, float DeltaSeconds, ESGDeviceType DeviceType); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.h new file mode 100644 index 00000000..9be91eca --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCalibrationSequenceKismetLibrary.h @@ -0,0 +1,149 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGHapticGloveCalibrationSequenceKismetLibrary.generated.h" + +class USGHapticGloveCalibrationSequence; + +UCLASS(meta=(ScriptName = "SesneGloveHapticGloveCalibrationSequenceKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHapticGloveCalibrationSequenceKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, DisplayName="Make Haptic Glove Calibration Sequence", + Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static USGHapticGloveCalibrationSequence* MakeHapticGloveCalibrationSequence_GloveToCalibrate( + UObject* WorldContextObject, + const USGHapticGlove* GloveToCalibrate); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static int32 GetMaxDataPoints(); + + UFUNCTION(BlueprintCallable, DisplayName="CompileProfile", + Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static bool CompileProfile_SensorRange_ForDevice_bRightHanded_OutProfile( + UObject* WorldContextObject, + const USGSensorRange* SensorRange, ESGDeviceType ForDevice, bool bRightHanded, USGHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static USGHapticGlove* GetLinkedGlove(UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static void SetLinkedGlove(USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + const USGHapticGlove* LinkedGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static TArray GetCalibrationPoints( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static float GetElapsedTime(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static bool IsManuallyCompleted(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static int32 GetCurrentStage(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static int64 GetCalibrationPointsCount(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static bool AutoCompleted(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static bool Completed(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static void Reset(USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static void AddDataPoint(USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + const TArray& CalibrationData); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static void Update(USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + float DeltaSeconds); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static void ConfirmCurrentStep(USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static bool CompileRange(UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + USGSensorRange*& OutSensorRange); + + UFUNCTION(BlueprintPure, DisplayName="CompileProfile", + Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + + static bool CompileProfile_ForDevice_bRightHanded_OutProfile( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + ESGDeviceType ForDevice, bool bRightHanded, USGHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, DisplayName="Get Hand Pose", + Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_OutCurrentHandPose(UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + USGHandPose*& OutCurrentHandPose); + + UFUNCTION(BlueprintPure, DisplayName="Get Hand Pose", + Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_bRightHanded_OutCurrentHandPose( + UObject* WorldContextObject, + const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + bool bRightHanded, + USGHandPose*& OutCurrentHandPose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Calibration Sequence") + static FString GetCurrentInstruction(const USGHapticGloveCalibrationSequence* HapticGloveCalibrationSequence, + const FString& NextStepKey = ""); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.h new file mode 100644 index 00000000..f15fdd53 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveCommandBufferKismetLibrary.h @@ -0,0 +1,158 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGHapticGloveCommandBufferKismetLibrary.generated.h" + +class USGForceFeedbackCommand; +class USGHapticGlove; +class USGHapticGloveCommandBuffer; +class USGTimedBuzzCommand; +class USGTimedBuzzCommand; + +UCLASS(meta=(ScriptName = "SesneGloveHapticGloveCommandBufferKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHapticGloveCommandBufferKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static USGHapticGloveCommandBuffer* MakeHapticGloveCommandBuffer(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static int32 GetMaxForceFeedbackCommands(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static int32 GetMaxBuzzCommands(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static int32 GetMaxThumpCommands(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static TArray GetForceFeedbackCommandsQueue( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static TArray GetBuzzCommandsQueue( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static TArray GetThumperCommandsQueue( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void ClearForceFeedbackCommandsQueue(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void ClearVibrations(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void Clear(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintCallable, DisplayName="Add Command", + Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void AddCommand_ForceFeedbackCommand(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGForceFeedbackCommand* ForceFeedbackCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Add Command", + Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void AddCommand_BuzzCommand(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGTimedBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Add Command", + Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void AddCommand_ThumpCommand(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGTimedThumpCommand* ThumpCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer") + static void UpdateTimedCommands(UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + float DeltaSeconds); + + UFUNCTION(BlueprintPure, DisplayName="Get Total Force Feedback Levels", + Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* GetTotalForceFeedbackLevels_LastForceFeedbackCommand( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGForceFeedbackCommand* LastForceFeedbackCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static USGForceFeedbackCommand* GetTotalForceFeedbackLevels( + UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* GetTotalBuzzLevels(UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", + meta=(WorldContext="WorldContextObject")) + static USGThumperCommand* GetTotalThumperLevels(UObject* WorldContextObject, + const USGHapticGloveCommandBuffer* HapticGloveCommandBuffer); + + UFUNCTION(BlueprintCallable, DisplayName="Flush Haptics", + Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", meta=(WorldContext="WorldContextObject")) + static void + FlushHaptics_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand_bClearForceFeedbackQueue( + UObject* WorldContextObject, + UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand, + bool bClearForceFeedbackQueue = true); + + UFUNCTION(BlueprintCallable, DisplayName="Flush Haptics", + Category="SenseGlove | Core | Haptics | Haptic Glove Command Buffer", meta=(WorldContext="WorldContextObject")) + static void FlushHaptics_DeltaSeconds_LastBrakeLevel_OutForceFeedbackCommand_OutBuzzCommand_OutThumperCommand( + UObject* WorldContextObject, + UPARAM(ref) USGHapticGloveCommandBuffer* HapticGloveCommandBuffer, + float DeltaSeconds, + const USGForceFeedbackCommand* LastBrakeLevel, + USGForceFeedbackCommand*& OutForceFeedbackCommand, + USGBuzzCommand*& OutBuzzCommand, + USGThumperCommand*& OutThumperCommand); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.h new file mode 100644 index 00000000..44726298 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveHandProfilesKismetLibrary.h @@ -0,0 +1,99 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGHapticGloveHandProfilesKismetLibrary.generated.h" + +class USGHandProfile; +class USGHapticGlove; +class USGSensorRange; + +UCLASS(meta=(ScriptName = "SesneGloveHapticGloveHandProfilesKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHapticGloveHandProfilesKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static FString GetProfileDirectory(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void SetProfileDirectory(const FString& Directory); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles", + meta=(WorldContext="WorldContextObject")) + static void GetLeftHandProfile(UObject* WorldContextObject, USGHandProfile*& OutHandProfile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void SetLeftHandProfile(const USGHandProfile* HandProfile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles", + meta=(WorldContext="WorldContextObject")) + static void GetRightHandProfile(UObject* WorldContextObject, USGHandProfile*& OutHandProfile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void SetRightHandProfile(const USGHandProfile* HandProfile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles", + meta=(WorldContext="WorldContextObject")) + static void GetProfile(UObject* WorldContextObject, bool bRightHanded, USGHandProfile*& OutHandProfile); + + UFUNCTION(BlueprintCallable, DisplayName="Set Profile", Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void SetProfile_HandProfile(const USGHandProfile* HandProfile); + + UFUNCTION(BlueprintCallable, DisplayName="Set Profile", Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void SetProfile_HandProfile_bRightHanded(const USGHandProfile* HandProfile, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void RestoreDefaults(); + + UFUNCTION(BlueprintCallable, DisplayName="Restore Defaults", + Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void RestoreDefaults_bRightHanded(bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static void TryLoadingFromDisk(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles") + static bool SaveLastRange(const USGSensorRange* CurrentRange, const USGHapticGlove* ForGlove); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove Hand Profiles", + meta=(WorldContext="WorldContextObject")) + static bool LoadLastRange(UObject* WorldContextObject, + const USGHapticGlove* ForGlove, USGSensorRange*& OutLastRange); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveKismetLibrary.h new file mode 100644 index 00000000..f23714c9 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveKismetLibrary.h @@ -0,0 +1,185 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGHapticGloveKismetLibrary.generated.h" + +class USGBasicHandModel; +class USGBuzzCommand; +class USGForceFeedbackCommand; +class USGHandPose; +class USGHandProfile; +class USGHapticGlove; +class USGThumperCommand; + +UCLASS(meta=(ScriptName = "SesneGloveHapticGloveKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHapticGloveKismetLibrary : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove", meta=(WorldContext="WorldContextObject")) + static TArray GetHapticGloves(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Get Glove", Category="SenseGlove | Core | Haptic Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetGlove_OutGlove(UObject* WorldContextObject, USGHapticGlove*& OutGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Get Glove", Category="SenseGlove | Core | Haptic Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetGlove_bRightHanded_OutGlove(UObject* WorldContextObject, bool bRightHanded, + USGHapticGlove*& OutGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static ESGDeviceType GetDeviceType(const USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static FString GetDeviceId(const USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static FString GetHardwareVersion(const USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static int32 GetFirmwareVersion(const USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static int32 GetSubFirmwareVersion(const USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static bool IsRight(const USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static bool GetImuRotation(UPARAM(ref) USGHapticGlove* HapticGlove, FQuat& OutImu); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Haptic Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandGeometry_HandProfile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGHapticGlove* HapticGlove, + const USGBasicHandModel* HandGeometry, + const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Haptic Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandProfile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGHapticGlove* HapticGlove, + const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Haptic Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandGeometry_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGHapticGlove* HapticGlove, + const USGBasicHandModel* HandGeometry, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Haptic Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGHapticGlove* HapticGlove, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static void StopHaptics(UPARAM(ref) USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static void StopVibrations(UPARAM(ref) USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Haptic Glove") + static void SendHaptics_ForceFeedbackCommand(UPARAM(ref) USGHapticGlove* HapticGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Haptic Glove") + static void SendHaptics_BuzzCommand(UPARAM(ref) USGHapticGlove* HapticGlove, + const USGBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Haptic Glove") + static void SendHaptics_ThumperCommand(UPARAM(ref) USGHapticGlove* HapticGlove, + const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Haptic Glove") + static void SendHaptics_ForceFeedbackCommand_BuzzCommand( + UPARAM(ref) USGHapticGlove* HapticGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Haptic Glove") + static void SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + UPARAM(ref) USGHapticGlove* HapticGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static bool GetCalibrationValues(UPARAM(ref) USGHapticGlove* HapticGlove, TArray& OutValues); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static void ResetCalibrationRange(UPARAM(ref) USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static void UpdateCalibrationRange(UPARAM(ref) USGHapticGlove* HapticGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Update Calibration", Category="SenseGlove | Core | Haptic Glove") + static void UpdateCalibrationRange_CalibrationValues(UPARAM(ref) USGHapticGlove* HapticGlove, + const TArray& CalibrationValues); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove") + static void GetCalibrationRange(UPARAM(ref) USGHapticGlove* HapticGlove, + TArray& OutMinValues, TArray& OutMaxValues); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptic Glove", meta=(WorldContext="WorldContextObject")) + static void UpdateCalibration(UObject* WorldContextObject, + UPARAM(ref) USGHapticGlove* HapticGlove, USGHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove", meta=(WorldContext="WorldContextObject")) + static void ApplyCalibration(UObject* WorldContextObject, + const USGHapticGlove* HapticGlove, USGHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static void GetWristLocation(const USGHapticGlove* HapticGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptic Glove") + static void GetGloveLocation(const USGHapticGlove* HapticGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.h new file mode 100644 index 00000000..af0ae706 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGHapticGloveQuickCalibrationKismetLibrary.h @@ -0,0 +1,115 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHapticGloveQuickCalibration.h" +#include "SGCore/SGSensorRange.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGHapticGloveQuickCalibrationKismetLibrary.generated.h" + +UCLASS(meta=(ScriptName = "SesneGloveHapticGloveQuickCalibrationKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGHapticGloveQuickCalibrationKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration", + meta=(WorldContext="WorldContextObject")) + static USGHapticGloveQuickCalibration* MakeHapticGloveQuickCalibration(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Haptic Glove Quick Calibration", + Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration", + meta=(WorldContext="WorldContextObject")) + static USGHapticGloveQuickCalibration* MakeHapticGloveQuickCalibration_GloveToCalibrate_AutoEndTimeout( + UObject* WorldContextObject, + const USGHapticGlove* GloveToCalibrate, + float AutoEndTimeout); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static float GetDefaultAutoEndTimeout(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static float GetAutoEndTimeout(const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static int32 GetSmoothingSamples(const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration", + meta=(WorldContext="WorldContextObject")) + static USGSensorRange* GetSensorRange(UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration", + meta=(WorldContext="WorldContextObject")) + static USGHandProfile* GetTemporaryProfile(UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static bool CanAnimate(const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static bool AutoCompleted(const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static void Reset(USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static void Update(USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, float DeltaSeconds); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static void AddDataPoint(USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, + const TArray& CalibrationData); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static void ConfirmCurrentStep(USGHapticGloveQuickCalibration* HapticGloveQuickCalibration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration", + meta=(WorldContext="WorldContextObject")) + static bool CompileRange(UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, + USGSensorRange*& OutSensorRange); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose(UObject* WorldContextObject, + const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, bool bRightHanded, + USGHandPose*& OutCurrentHandPose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Haptic Glove Quick Calibration") + static FString GetCurrentInstruction(const USGHapticGloveQuickCalibration* HapticGloveQuickCalibration, + const FString& NextStepKey = ""); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGInterpolationSetKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGInterpolationSetKismetLibrary.h new file mode 100644 index 00000000..6a3f85ad --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGInterpolationSetKismetLibrary.h @@ -0,0 +1,119 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGInterpolationSetKismetLibrary.generated.h" + +class USGInterpolationSet; + +UCLASS(meta=(ScriptName = "SesneGloveInterpolationSetKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGInterpolationSetKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Interpolation Set", + meta=(WorldContext="WorldContextObject")) + static USGInterpolationSet* MakeInterpolationSet(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Interpolation Set", + Category="SenseGlove | Core | Kinematics | Interpolation Set", meta=(WorldContext="WorldContextObject")) + static USGInterpolationSet* MakeInterpolationSet_From1_From2_To1_To2( + UObject* WorldContextObject, float From1, float From2, float To1, float To2); + + UFUNCTION(BlueprintCallable, DisplayName="Make Interpolation Set", + Category="SenseGlove | Core | Kinematics | Interpolation Set", meta=(WorldContext="WorldContextObject")) + static USGInterpolationSet* MakeInterpolationSet_From1_From2_To1_To2_Min_Max( + UObject* WorldContextObject, float From1, float From2, float To1, float To2, float Min, float Max); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Kinematics | Interpolation Set", + meta=(WorldContext="WorldContextObject")) + static USGInterpolationSet* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static float GetX0(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static void SetX0(UPARAM(ref) USGInterpolationSet* InterpolationSet, float X0); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + float GetX1(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static void SetX1(UPARAM(ref) USGInterpolationSet* InterpolationSet, float X1); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static float GetY0(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static void SetY0(UPARAM(ref) USGInterpolationSet* InterpolationSet, float Y0); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static float GetY1(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static void SetY1(UPARAM(ref) USGInterpolationSet* InterpolationSet, float Y1); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static float GetMin(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static void SetMin(UPARAM(ref) USGInterpolationSet* InterpolationSet, float Min); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static float GetMax(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static void SetMax(UPARAM(ref) USGInterpolationSet* InterpolationSet, float Max); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static int32 Get(const USGInterpolationSet* InterpolationSet, float Value, bool bLimit, + bool bNormalizeAngle = false); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static bool Equals(const USGInterpolationSet* A, const USGInterpolationSet* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static FString ToString(const USGInterpolationSet* InterpolationSet); + + UFUNCTION(BlueprintPure, DisplayName="To String", Category="SenseGlove | Core | Kinematics | Interpolation Set") + static FString ToString_bLimits(const USGInterpolationSet* InterpolationSet, bool bLimits); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set") + static FString Serialize(const USGInterpolationSet* InterpolationSet); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGJointKinematicsKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGJointKinematicsKismetLibrary.h new file mode 100644 index 00000000..725b9243 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGJointKinematicsKismetLibrary.h @@ -0,0 +1,66 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGBasicHandModel.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGJointKinematicsKismetLibrary.generated.h" + +UCLASS(meta=(ScriptName = "SesneGloveJointKinematicsKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGJointKinematicsKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, DisplayName="Forward Kinematics", + Category="SenseGlove | Core | Kinematics | Joint Kinematics") + static bool ForwardKinematics_StartPosition_StartRotation_JointLengths_JointAngles_OutNewPositions_OutNewRotations( + const FVector& StartPosition, const FQuat& StartRotation, + const TArray& JointLengths, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations); + + UFUNCTION(BlueprintCallable, DisplayName="Forward Kinematics", + Category="SenseGlove | Core | Kinematics | Joint Kinematics") + static bool ForwardKinematics_Profile_Finger_JointAngles_OutNewPositions_OutNewRotations( + const USGBasicHandModel* Profile, ESGFinger Finger, const TArray& JointAngles, + TArray& OutNewPositions, TArray& OutNewRotations); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGLibraryKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGLibraryKismetLibrary.h new file mode 100644 index 00000000..0962d202 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGLibraryKismetLibrary.h @@ -0,0 +1,74 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" + +#include "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGLibraryKismetLibrary.generated.h" + +UCLASS(meta=(ScriptName = "SesneGloveLibraryKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGLibraryKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + /** + * The version of this C++ Library in string representation. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Library") + static FString GetVersion(); + + /** + * Check what back-end connections are used for this version of SGConnect. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Library") + static ESGBackendType GetBackendType(); + + /** + * Back-End version in string notation. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Library") + static FString GetBackendVersion(); + + /** + * If possible, check what version of SGConnect is paired with this API. + */ + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Library") + static FString GetSGConnectVersion(); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.h new file mode 100644 index 00000000..fe464aef --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveCalibrationKismetLibrary.h @@ -0,0 +1,67 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" + +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGNovaGloveCalibrationKismetLibrary.generated.h" + +class USGNovaGloveHandProfile; + +UCLASS(meta=(ScriptName = "SesneGloveNovaGloveCalibrationKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGNovaGloveCalibrationKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Nova Glove Calibration") + static void ApplyDefaultCalibrationInterpolationValues( + const TArray& RetractedValues, + const TArray& ExtendedValues, + const USGNovaGloveHandProfile* Profile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Nova Glove Calibration") + static void ApplyInterpolationValues( + const TArray& RetractedValues, + const TArray& ExtendedValues, + const TArray& RetractedAngles, + const TArray& ExtendedAngles, + const USGNovaGloveHandProfile* Profile); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.h new file mode 100644 index 00000000..8b9bfc9f --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveHandProfileKismetLibrary.h @@ -0,0 +1,76 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGNovaGloveHandProfileKismetLibrary.generated.h" + +class USGHandInterpolator; +class USGNovaGloveHandProfile; + +UCLASS(meta=(ScriptName = "SesneGloveNovaGloveHandProfileKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGNovaGloveHandProfileKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveHandProfile* MakeNovaGloveHandProfile(UObject* WorldContextObject); + + UFUNCTION(BlueprintPure, DisplayName="Make Nova Glove Hand Profile", + Category="SenseGlove | Core | Nova | Nova Glove Hand Profile", meta=(WorldContext="WorldContextObject")) + static USGNovaGloveHandProfile* MakeNovaGloveHandProfile_bRightHanded_Interpolator( + UObject* WorldContextObject, bool bRightHanded, const USGHandInterpolator* Interpolator); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Hand Profile") + static bool IsRight(const USGNovaGloveHandProfile* NovaGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* GetInterpolationSet(UObject* WorldContextObject, + const USGNovaGloveHandProfile* NovaGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Hand Profile") + static bool Equals(const USGNovaGloveHandProfile* A, const USGNovaGloveHandProfile* B); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Hand Profile") + static void Reset(UPARAM(ref) USGNovaGloveHandProfile* NovaGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Hand Profile") + static FString Serialize(const USGNovaGloveHandProfile* NovaGloveHandProfile); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveInfoKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveInfoKismetLibrary.h new file mode 100644 index 00000000..37d36203 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveInfoKismetLibrary.h @@ -0,0 +1,99 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGNovaGloveInfoKismetLibrary.generated.h" + +class USGNovaGloveInfo; + +UCLASS(meta=(ScriptName = "SesneGloveNovaGloveInfoKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGNovaGloveInfoKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Info", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveInfo* MakeNovaGloveInfo(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Nova Glove Info", + Category="SenseGlove | Core | Nova | Nova Glove Info", meta=(WorldContext="WorldContextObject")) + static USGNovaGloveInfo* + MakeNovaGloveInfo_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_ImuCorrection_NumberOfSensors( + UObject* WorldContextObject, + const FString& DeviceId, const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, const FQuat& ImuCorrection, int32 NumberOfSensors); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Info", + meta=(WorldContext="WorldContextObject")) + static bool Parse(UObject* WorldContextObject, const FString& ConstantsString, USGNovaGloveInfo* OutGloveInfo); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Info", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveInfo* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static FString GetDeviceId(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static FString GetHardwareVersion(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static int32 GetFirmwareVersion(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static int32 GetSubFirmwareVersion(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static bool IsRight(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static FQuat GetImuCorrection(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static int32 GetNumberOfSensors(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static bool Equals(const USGNovaGloveInfo* A, const USGNovaGloveInfo* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static FString ToString(const USGNovaGloveInfo* NovaGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Info") + static FString Serialize(const USGNovaGloveInfo* NovaGloveInfo); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveKismetLibrary.h new file mode 100644 index 00000000..867e72e3 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveKismetLibrary.h @@ -0,0 +1,221 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2022 NovaGlove + * + * 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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGNovaGloveKismetLibrary.generated.h" + +class USGBuzzCommand; +class USGForceFeedbackCommand; +class USGHandPose; +class USGHandProfile; +class USGNovaGlove; +class USGNovaGloveSensorData; +class USGThumperCommand; + +UCLASS(meta=(ScriptName = "SesneGloveNovaGloveKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGNovaGloveKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static FString GetHapticsByte(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static FVector GetMinCalibrationRange(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* CalculateHandPose(UObject* WorldContextObject, + const USGBasicHandModel* HandModel, + const USGNovaGloveSensorData* NovaData, + const USGNovaGloveHandProfile* Profile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static USGDevice* Parse(UObject* WorldContextObject, const FString& ConstantsString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static TArray GetNovaGloves(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Get Nova Glove", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetNovaGlove_OutGlove(UObject* WorldContextObject, USGNovaGlove*& OutGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Get Nova Glove", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetNovaGlove_bRightHanded_OutGlove(UObject* WorldContextObject, + bool bRightHanded, USGNovaGlove*& OutGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Get Calibration Values", Category="SenseGlove | Core | Nova | Nova Glove") + static TArray GetCalibrationValues_SensorData(const USGNovaGloveSensorData* SensorData); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static void CalibrateInterpolation(UObject* WorldContextObject, + const TArray& MinValues, const TArray& MaxValues, + USGNovaGloveHandProfile*& OutProfile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static void CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, bool bRightHanded, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static void CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, bool bRightHanded, + FVector& OutWristPosition, FQuat& OutWristRotation); + + UFUNCTION(BlueprintCallable, DisplayName="To Bytes", Category="SenseGlove | Core | Nova | Nova Glove") + static FString ToBytes_ThumperCommand(const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, DisplayName="To Bytes", Category="SenseGlove | Core | Nova | Nova Glove") + static FString ToBytes_ForceFeedbackCommand(const USGForceFeedbackCommand* ForceFeedbackCommand); + + UFUNCTION(BlueprintCallable, DisplayName="To Bytes", Category="SenseGlove | Core | Nova | Nova Glove") + static FString ToBytes_BuzzCommand(const USGBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static ESGDeviceType GetDeviceType(const USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static FString GetDeviceId(const USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static FString GetHardwareVersion(const USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static int32 GetFirmwareVersion(const USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static int32 GetSubFirmwareVersion(const USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static bool HasBattery(const USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static bool IsCharging(UPARAM(ref) USGNovaGlove* NovaGlove); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static bool GetBatteryLevel(UPARAM(ref) USGNovaGlove* NovaGlove, float& OutBatteryLevel); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetSensorData(UObject* WorldContextObject, + UPARAM(ref) USGNovaGlove* NovaGlove, USGNovaGloveSensorData*& OutSensorData); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove") + static bool GetImuRotation(UPARAM(ref) USGNovaGlove* NovaGlove, FQuat& OutImu); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandModel_Profile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGNovaGlove* NovaGlove, + const USGBasicHandModel* HandModel, + const USGNovaGloveHandProfile* Profile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandGeometry_HandProfile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGNovaGlove* NovaGlove, + const USGBasicHandModel* HandGeometry, + const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandProfile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGNovaGlove* NovaGlove, + const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Nova | Nova Glove") + static void SendHaptics_ForceFeedbackCommand(UPARAM(ref) USGNovaGlove* NovaGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Nova | Nova Glove") + static void SendHaptics_BuzzCommand(UPARAM(ref) USGNovaGlove* NovaGlove, + const USGBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Nova | Nova Glove") + static void SendHaptics_ThumperCommand(UPARAM(ref) USGNovaGlove* NovaGlove, + const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | Nova | Nova Glove") + static void SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + UPARAM(ref) USGNovaGlove* NovaGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Get Calibration Values", Category="SenseGlove | Core | Nova | Nova Glove") + static bool GetCalibrationValues_OutValues(UPARAM(ref) USGNovaGlove* NovaGlove, + TArray& OutValues); + + UFUNCTION(BlueprintPure, DisplayName="Apply Calibration", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static void ApplyCalibration_HandProfile(UObject* WorldContextObject, + const USGNovaGlove* NovaGlove, + USGHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, DisplayName="Apply Calibration", Category="SenseGlove | Core | Nova | Nova Glove", + meta=(WorldContext="WorldContextObject")) + static void ApplyCalibration_NovaGloveHandProfile(UObject* WorldContextObject, + const USGNovaGlove* NovaGlove, + USGNovaGloveHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, DisplayName="Get Glove Location", Category="SenseGlove | Core | Nova | Nova Glove") + static void GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + const USGNovaGlove* NovaGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + UFUNCTION(BlueprintPure, DisplayName="Get Wrist Location", Category="SenseGlove | Core | Nova | Nova Glove") + static void + GetWristLocation_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + const USGNovaGlove* NovaGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove") + static FString ToString(const USGNovaGlove* NovaGlove); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.h new file mode 100644 index 00000000..d106aff0 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGNovaGloveSensorDataKismetLibrary.h @@ -0,0 +1,100 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGNovaGloveSensorDataKismetLibrary.generated.h" + +class USGNovaGloveSensorData; + +UCLASS(meta=(ScriptName = "SesneGloveNovaGloveSensorDataKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGNovaGloveSensorDataKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveSensorData* MakeNovaGloveSensorData(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Nova Glove Sensor Data", + Category="SenseGlove | Core | Nova | Nova Glove Sensor Data", meta=(WorldContext="WorldContextObject")) + static USGNovaGloveSensorData* + MakeNovaGloveSensorData_Values_ParsedValues_ImuRotation_bImuParsed_BatteryLevel_bCharging( + UObject* WorldContextObject, const TArray& Values, int32 ParsedValues, + const FQuat& ImuRotation, bool bImuParsed, float BatteryLevel, bool bCharging); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveSensorData* Empty(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveSensorData* Parse(UObject* WorldContextObject, + const FString& RawData, const USGNovaGloveInfo* GloveInfo); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGNovaGloveSensorData* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static TArray GetSensorValues(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static FQuat GetImuRotation(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static int32 GetParsedValues(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static bool IsImuParsed(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static float GetBatteryLevel(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static bool IsCharging(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static bool Equals(const USGNovaGloveSensorData* A, const USGNovaGloveSensorData* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static FString ToString(const USGNovaGloveSensorData* NovaGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove Sensor Data") + static FString Serialize(const USGNovaGloveSensorData* NovaGloveSensorData); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseComKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseComKismetLibrary.h new file mode 100644 index 00000000..a2972fde --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseComKismetLibrary.h @@ -0,0 +1,69 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "HAL/Platform.h" + +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseComKismetLibrary.generated.h" + +UCLASS(meta=(ScriptName = "SesneGloveSenseComKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseComKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SenseCom") + static bool RegisterExe(); + + UFUNCTION(BlueprintCallable, DisplayName="Register Exe", Category="SenseGlove | Core | SenseCom") + static bool RegisterExe_ExePath(const FString& ExePath); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SenseCom") + static bool GetExePath(FString& OutExePath); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SenseCom") + static bool ScanningActive(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SenseCom") + static bool GetCurrentExeDirectory(FString& OutDirectory); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SenseCom") + static bool StartupSenseCom(); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.h new file mode 100644 index 00000000..a83ec3f2 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveHandProfileKismetLibrary.h @@ -0,0 +1,97 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseGloveHandProfileKismetLibrary.generated.h" + +class USGSenseGloveHandProfile; + +UCLASS(meta=(ScriptName = "SesneGloveSenseGloveHandProfileKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseGloveHandProfileKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveHandProfile* MakeSenseGloveHandProfile(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Sense Glove Hand Profile", + Category="SenseGlove | Core | SG | Sense Glove Hand Profile", meta=(WorldContext="WorldContextObject")) + static USGSenseGloveHandProfile* + MakeSenseGloveHandProfile_bRightHanded_Interpolator_ThumbSolver_FingerSolver_FingerThimbleOffset( + UObject* WorldContextObject, bool bRightHanded, const USGHandInterpolator* Interpolator, + ESGThumbSolver ThumbSolver, ESGFingerSolver FingerSolver, const TArray& FingerThimbleOffset); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveHandProfile* Default(UObject* WorldContextObject, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveHandProfile* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static FVector GetDefaultThimbleOffset(); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static bool IsRight(const USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile", + meta=(WorldContext="WorldContextObject")) + static USGHandInterpolator* GetInterpolationSet(UObject* WorldContextObject, + const USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static ESGThumbSolver GetThumbSolver(const USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static ESGFingerSolver GetFingerSolver(const USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static TArray GetFingerThimbleOffset(const USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static bool Equals(const USGSenseGloveHandProfile* A, const USGSenseGloveHandProfile* B); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static void Reset(UPARAM(ref) USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Hand Profile") + static FString Serialize(const USGSenseGloveHandProfile* SenseGloveHandProfile); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveInfoKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveInfoKismetLibrary.h new file mode 100644 index 00000000..568ffa19 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveInfoKismetLibrary.h @@ -0,0 +1,133 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGFloatArray.h" +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseGloveInfoKismetLibrary.generated.h" + +class USGSenseGloveInfo; + +UCLASS(meta=(ScriptName = "SesneGloveSenseGloveInfoKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseGloveInfoKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Info", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveInfo* MakeSenseGloveInfo(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Sense Glove Info", + Category="SenseGlove | Core | SG | Sense Glove Info", meta=(WorldContext="WorldContextObject")) + static USGSenseGloveInfo* + MakeSenseGloveInfo_DeviceId_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_NumberOfSensors_ImuCorrection_StartPosition_StartRotation_GloveLengths_Functions( + UObject* WorldContextObject, const FString& DeviceId, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, + bool bRightHanded, int32 NumberOfSensors, const FQuat& ImuCorrection, + const TArray& StartPositions, const TArray& StartRotations, + const TArray& GloveLengths, const TArray& Functions); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Info", + meta=(WorldContext="WorldContextObject")) + static bool Parse(UObject* WorldContextObject, + const FString& ConstantsString, USGSenseGloveInfo*& OutGloveInfo, + bool bUpdateOldModels = true); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Info", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveInfo* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FString GetDeviceId(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FString GetHardwareVersion(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static int32 GetFirmwareVersion(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static int32 GetSubFirmwareVersion(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static bool IsRight(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static int32 GetNumberOfSensors(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FQuat GetImuCorrection(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static TArray GetStartPositions(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static TArray GetStartRotations(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static TArray GetGloveLengths(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static TArray GetFunctions(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FVector GetStartPosition(const USGSenseGloveInfo* SenseGloveInfo, ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FQuat GetStartRotation(const USGSenseGloveInfo* SenseGloveInfo, ESGFinger Finger); + + UFUNCTION(BlueprintPure, DisplayName="Get Glove Lengths", Category="SenseGlove | Core | SG | Sense Glove Info") + static TArray GetGloveLengths_Finger(const USGSenseGloveInfo* SenseGloveInfo, ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static TArray ToGloveAngles(const USGSenseGloveInfo* SenseGloveInfo, + const TArray& SensorAngles); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static bool Equals(const USGSenseGloveInfo* A, const USGSenseGloveInfo* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FString ToString(const USGSenseGloveInfo* SenseGloveInfo); + + UFUNCTION(BlueprintPure, DisplayName="To String", Category="SenseGlove | Core | SG | Sense Glove Info") + static FString ToString_bShortNotation(const USGSenseGloveInfo* SenseGloveInfo, bool bShortNotation); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Info") + static FString Serialize(const USGSenseGloveInfo* SenseGloveInfo); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveKismetLibrary.h new file mode 100644 index 00000000..1e60765d --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveKismetLibrary.h @@ -0,0 +1,257 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGHandPose.h" +#include "SGCore/SGHandProfile.h" +#include "SGCore/SGSenseGlove.h" +#include "SGCore/SGSenseGlovePose.h" +#include "SGCore/SGSenseGloveSensorData.h" +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseGloveKismetLibrary.generated.h" + +class USGBuzzCommand; +class USGDevice; +class USGForceFeedbackCommand; +class USGSenseGlove; + +UCLASS(meta=(ScriptName = "SesneGloveSenseGloveKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseGloveKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove") + static FString GetHapticsByte(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove") + static FString GetThumperByte(); + + UFUNCTION(BlueprintCallable, DisplayName="Calculate Glove Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static USGSenseGlovePose* CalculateGlovePose_SensorData_GloveModel( + UObject* WorldContextObject, + const USGSenseGloveSensorData* SensorData, const USGSenseGloveInfo* GloveModel); + + UFUNCTION(BlueprintCallable, DisplayName="Calculate Glove Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static USGSenseGlovePose* CalculateGlovePose_GloveAngles_GloveModel( + UObject* WorldContextObject, + const TArray& GloveAngles, const USGSenseGloveInfo* GloveModel); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static USGHandPose* CalculateHandPose( + UObject* WorldContextObject, + const USGSenseGlovePose* GlovePose, const USGBasicHandModel* HandModel, + const USGSenseGloveHandProfile* Profile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static USGDevice* Parse(UObject* WorldContextObject, const FString& ConstantsString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static TArray GetSenseGloves(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Get Sense Glove", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetSenseGlove_OutGlove(UObject* WorldContextObject, USGSenseGlove*& OutGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Get Sense Glove", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetSenseGlove_bRightHanded_OutGlove(UObject* WorldContextObject, bool bRightHanded, + USGSenseGlove*& OutGlove); + + UFUNCTION(BlueprintCallable, DisplayName="Get Calibration Values", Category="SenseGlove | Core | SG | Sense Glove") + static TArray GetCalibrationValues_GlovePose(const USGSenseGlovePose* GlovePose); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static void CalibrateInterpolation(UObject* WorldContextObject, + const TArray& MinValues, const TArray& MaxValues, + bool bRightHanded, USGSenseGloveHandProfile*& OutProfile); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove") + static void CalculateGloveLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + bool bRightHanded, ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove") + static void CalculateWristLocation(const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + bool bRightHanded, ESGFinger MountedOn, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove", meta=(WorldContext="WorldContextObject")) + static USGSenseGloveInfo* GetGloveModel(UObject* WorldContextObject, const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static bool IsRight(const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static ESGDeviceType GetDeviceType(const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static FString GetDeviceId(const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static FString GetHardwareVersion(const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static int32 GetFirmwareVersion(const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static int32 GetSubFirmwareVersion(const USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove", meta=(WorldContext="WorldContextObject")) + static bool GetSensorData(UObject* WorldContextObject, + const USGSenseGlove* SenseGlove, USGSenseGloveSensorData*& OutSensorData); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove") + static bool GetImuRotation(UPARAM(ref) USGSenseGlove* SenseGlove, FQuat& OutImu); + + UFUNCTION(BlueprintCallable, DisplayName="Get Glove Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetGlovePose_OutGlovePose(UObject* WorldContextObject, + UPARAM(ref) USGSenseGlove* SenseGlove, + USGSenseGlovePose*& OutGlovePose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Glove Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetGlovePose_SensorData_OutGlovePose(UObject* WorldContextObject, + UPARAM(ref) USGSenseGlove* SenseGlove, + const USGSenseGloveSensorData* SensorData, + USGSenseGlovePose*& OutGlovePose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandModel_Profile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGSenseGlove* SenseGlove, + const USGBasicHandModel* HandModel, + const USGSenseGloveHandProfile* Profile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandGeometry_HandProfile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGSenseGlove* SenseGlove, + const USGBasicHandModel* HandGeometry, + const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Get Hand Pose", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static bool GetHandPose_HandProfile_OutHandPose(UObject* WorldContextObject, + UPARAM(ref) USGSenseGlove* SenseGlove, + const USGHandProfile* HandProfile, + USGHandPose*& OutHandPose); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | SG | Sense Glove") + static void SendHaptics_ForceFeedbackCommand(UPARAM(ref) USGSenseGlove* SenseGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | SG | Sense Glove") + static void SendHaptics_BuzzCommand(UPARAM(ref) USGSenseGlove* SenseGlove, + const USGBuzzCommand* BuzzCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Send Haptics", Category="SenseGlove | Core | SG | Sense Glove") + static void SendHaptics_ForceFeedbackCommand_BuzzCommand_ThumperCommand( + UPARAM(ref) USGSenseGlove* SenseGlove, + const USGForceFeedbackCommand* ForceFeedbackCommand, + const USGBuzzCommand* BuzzCommand, + const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, DisplayName="Get Calibration Values", Category="SenseGlove | Core | SG | Sense Glove") + static bool GetCalibrationValues_OutValues(UPARAM(ref) USGSenseGlove* SenseGlove, + TArray& OutValues); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove") + static void ResetCalibrationRange(UPARAM(ref) USGSenseGlove* SenseGlove); + + UFUNCTION(BlueprintPure, DisplayName="Apply Calibration", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static void ApplyCalibration_HandProfile(UObject* WorldContextObject, + const USGSenseGlove* SenseGlove, + USGHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, DisplayName="Apply Calibration", Category="SenseGlove | Core | SG | Sense Glove", + meta=(WorldContext="WorldContextObject")) + static void ApplyCalibration_SenseGloveHandProfile(UObject* WorldContextObject, + const USGSenseGlove* SenseGlove, + USGSenseGloveHandProfile*& OutProfile); + + UFUNCTION(BlueprintPure, DisplayName="Get Glove Location", Category="SenseGlove | Core | SG | Sense Glove") + static void GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutGlovePosition_OutGloveRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + UFUNCTION(BlueprintPure, DisplayName="Get Glove Location", Category="SenseGlove | Core | SG | Sense Glove") + static void + GetGloveLocation_ReferencePosition_ReferenceRotation_TrackingHardware_MountedOn_OutGlovePosition_OutGloveRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, ESGFinger MountedOn, + FVector& OutGlovePosition, FQuat& OutGloveRotation); + + UFUNCTION(BlueprintPure, DisplayName="Get Wrist Location", Category="SenseGlove | Core | SG | Sense Glove") + static void + GetWristLocation_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_OutWristPosition_OutWristRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + FVector& OutWristPosition, FQuat& OutWristRotation); + + UFUNCTION(BlueprintPure, DisplayName="Get Wrist Location", Category="SenseGlove | Core | SG | Sense Glove") + static void + GetWristLocation_GetWristLocation_ReferencePosition_ReferenceRotation_TrackingHardware_GloveWristPositionOffset_GloveWristRotationOffset_OutWristPosition_OutWristRotation( + const USGSenseGlove* SenseGlove, + const FVector& ReferencePosition, const FQuat& ReferenceRotation, + ESGPositionalTrackingHardware TrackingHardware, + const FVector& GloveWristPositionOffset, + const FQuat& GloveWristRotationOffset, + FVector& OutWristPosition, FQuat& OutWristRotation); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove") + static FString ToString(const USGSenseGlove* SenseGlove); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGlovePoseKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGlovePoseKismetLibrary.h new file mode 100644 index 00000000..f3718bcd --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGlovePoseKismetLibrary.h @@ -0,0 +1,110 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGQuatArray.h" +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseGlovePoseKismetLibrary.generated.h" + +class USGNovaGlovePose; + +UCLASS(meta=(ScriptName = "SesneGloveSenseGlovePoseKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseGlovePoseKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Pose", + meta=(WorldContext="WorldContextObject")) + static USGSenseGlovePose* MakeSenseGlovePose(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Sense Glove Pose", + Category="SenseGlove | Core | SG | Sense Glove Pose", meta=(WorldContext="WorldContextObject")) + static USGSenseGlovePose* MakeSenseGlovePose_bRightHanded_JointPositions_JointRotations_GloveAngles( + UObject* WorldContextObject, bool bRightHanded, + const TArray& JointPositions, + const TArray& JointRotations, + const TArray& GloveAngles); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Pose", + meta=(WorldContext="WorldContextObject")) + static USGSenseGlovePose* IdlePose(UObject* WorldContextObject, const USGSenseGloveInfo* GloveInfo); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Pose", + meta=(WorldContext="WorldContextObject")) + static USGSenseGlovePose* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static bool IsRight(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray GetJointPositions(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray GetJointRotations(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray GetGloveAngles(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray GetThimblePositions(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray GetThimbleRotations(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray GetTotalGloveAngles(const USGSenseGlovePose* SenseGlovePose); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray CalculateFingerTips_SenseGloveHandProfileImpl( + const USGSenseGlovePose* SenseGlovePose, + const USGSenseGloveHandProfile* SenseGloveHandProfile); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static TArray CalculateFingerTips_FingerOffsets(const USGSenseGlovePose* SenseGlovePose, + const TArray& FingerOffsets); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static bool Equals(const USGSenseGlovePose* A, const USGSenseGlovePose* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static FString ToString(const USGSenseGlovePose* SenseGlovePose, bool bShortFormat = false); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Pose") + static FString Serialize(const USGSenseGlovePose* SenseGlovePose); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.h new file mode 100644 index 00000000..71711c65 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveSensorDataKismetLibrary.h @@ -0,0 +1,101 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCore/SGFloatArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseGloveSensorDataKismetLibrary.generated.h" + +class USGSenseGloveSensorData; + +UCLASS(meta=(ScriptName = "SesneGloveSenseGloveSensorDataKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseGloveSensorDataKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveSensorData* MakeSenseGloveSensorData(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Sense Glove Sensor Data", + Category="SenseGlove | Core | SG | Sense Glove Sensor Data", meta=(WorldContext="WorldContextObject")) + static USGSenseGloveSensorData* MakeSenseGloveSensorData_SensorAngles_ImuRotation_ParsedValues_bImuParsed( + UObject* WorldContextObject, const TArray& SensorAngles, + const FQuat& ImuRotation, int32 ParsedValues, bool bImuParsed); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveSensorData* Empty(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveSensorData* Parse(UObject* WorldContextObject, + const FString& RawData, const USGSenseGloveInfo* GloveInfo); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Sensor Data", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveSensorData* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static TArray GetSensorAngles(const USGSenseGloveSensorData* SenseGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static FQuat GetImuRotation(const USGSenseGloveSensorData* SenseGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static int32 GetParsedValues(const USGSenseGloveSensorData* SenseGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static bool IsImuParsed(const USGSenseGloveSensorData* SenseGloveSensorData); + + UFUNCTION(BlueprintPure, DisplayName="Get Sensor Angles", + Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static TArray GetSensorAngles_Finger(const USGSenseGloveSensorData* SenseGloveSensorData, ESGFinger Finger); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static TArray GetAngleSequence(const USGSenseGloveSensorData* SenseGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static bool Equals(const USGSenseGloveSensorData* A, const USGSenseGloveSensorData* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static FString ToString(const USGSenseGloveSensorData* SenseGloveSensorData); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | SG | Sense Glove Sensor Data") + static FString Serialize(const USGSenseGloveSensorData* SenseGloveSensorData); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveVarsKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveVarsKismetLibrary.h new file mode 100644 index 00000000..b0af3c0b --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSenseGloveVarsKismetLibrary.h @@ -0,0 +1,94 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Containers/UnrealString.h" +#include "HAL/Platform.h" +#include "Math/Quat.h" +#include "Math/Vector.h" + +#include "SGCore/SGVectorArray.h" +#include "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSenseGloveVarsKismetLibrary.generated.h" + +class USGSenseGloveInfo; + +UCLASS(meta=(ScriptName = "SesneGloveVarsKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSenseGloveVarsKismetLibrary : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static FString GetStandardConstantsString(const FString& HardwareVersion, float FirmwareVersion, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static FString GetSensorString(const FString& HardwareVersion, float FirmwareVersion); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static TArray GetStartPositions(const FString& HardwareVersion, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static TArray GetStartRotations(const FString& HardwareVersion, bool bRightHanded); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static TArray GetGloveLengths(const FString& HardwareVersion); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static int32 GetSensors(const FString& HardwareVersion); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static FQuat GetImuCorrection(const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Sense Glove Vars") + static TArray GetFunctions(const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion); + + UFUNCTION(BlueprintCallable, DisplayName="GenerateGloveModel", Category="SenseGlove | Core | SG | Sense Glove Vars", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveInfo* GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded( + UObject* WorldContextObject, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, bool bRightHanded); + + UFUNCTION(BlueprintCallable, DisplayName="GenerateGloveModel", Category="SenseGlove | Core | SG | Sense Glove Vars", + meta=(WorldContext="WorldContextObject")) + static USGSenseGloveInfo* + GenerateGloveModel_HardwareVersion_FirmwareVersion_SubFirmwareVersion_bRightHanded_CustomId( + UObject* WorldContextObject, + const FString& HardwareVersion, int32 FirmwareVersion, int32 SubFirmwareVersion, bool bRightHanded, + const FString& CustomId); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSensorRangeKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSensorRangeKismetLibrary.h new file mode 100644 index 00000000..8e271ecd --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGSensorRangeKismetLibrary.h @@ -0,0 +1,102 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGSensorRangeKismetLibrary.generated.h" + +class USGSensorRange; + +UCLASS(meta=(ScriptName = "SesneGloveSensorRangeKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGSensorRangeKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range", + meta=(WorldContext="WorldContextObject")) + static USGSensorRange* MakeSensorRange(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Sensor Range", + Category="SenseGlove | Core | Calibration | Sensor Range", meta=(WorldContext="WorldContextObject")) + static USGSensorRange* MakeSensorRange_MinValues_MaxValues( + UObject* WorldContextObject, const TArray& MinValues, const TArray& MaxValues); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range", + meta=(WorldContext="WorldContextObject")) + static USGSensorRange* ForCalibration(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range", + meta=(WorldContext="WorldContextObject")) + static USGSensorRange* Deserialize(UObject* WorldContextObject, const FString& SerializedString); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range") + static void CheckMax(const FVector CurrentValues, FVector& OutMaxValues); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range") + static void CheckMin(const FVector& CurrentValues, FVector& OutMinValues); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Sensor Range") + static TArray GetMinValues(const USGSensorRange* SensorRange); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range") + static void SetMinValues(UPARAM(ref) USGSensorRange* SensorRange, const TArray& Values); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Sensor Range") + static TArray GetMaxValues(const USGSensorRange* SensorRange); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range") + static void SetMaxValues(UPARAM(ref) USGSensorRange* SensorRange, const TArray& Values); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Sensor Range") + static TArray GetRange(const USGSensorRange* SensorRange); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range") + static void UpdateRange(UPARAM(ref) USGSensorRange* SensorRange); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Calibration | Sensor Range") + static void CheckForExtremes(UPARAM(ref) USGSensorRange* SensorRange, const TArray& OtherValues); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Sensor Range") + static FString RangeString(const USGSensorRange* SensorRange, bool bYOnly = true); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Sensor Range") + static FString ToString(const USGSensorRange* SensorRange, bool bYOnly = true); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Calibration | Sensor Range") + static FString Serialize(const USGSensorRange* SensorRange); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGThumperCommandKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGThumperCommandKismetLibrary.h new file mode 100644 index 00000000..a5dca68c --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGThumperCommandKismetLibrary.h @@ -0,0 +1,79 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGThumperCommandKismetLibrary.generated.h" + +class USGThumperCommand; + +UCLASS(meta=(ScriptName = "SesneGloveThumperCommandKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGThumperCommandKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Thumper Command", + meta=(WorldContext="WorldContextObject")) + static USGThumperCommand* MakeThumperCommand(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Thumper Command", + Category="SenseGlove | Core | Haptics | Thumper Command", meta=(WorldContext="WorldContextObject")) + static USGThumperCommand* MakeThumperCommand_Magnitude(UObject* WorldContextObject, int32 Magnitude); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Thumper Command", + meta=(WorldContext="WorldContextObject")) + static USGThumperCommand* Off(UObject* WorldContextObject); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Thumper Command") + static int32 GetMagnitude(const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Thumper Command") + static void SetMagnitude(USGThumperCommand* ThumperCommand, int32 Magnitude); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Thumper Command", + meta=(WorldContext="WorldContextObject")) + static USGThumperCommand* Copy(UObject* WorldContextObject, const USGThumperCommand* ThumperCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Thumper Command", + meta=(WorldContext="WorldContextObject")) + static USGThumperCommand* Merge(UObject* WorldContextObject, + const USGThumperCommand* A, const USGThumperCommand* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Thumper Command") + static bool Equals(const USGThumperCommand* A, const USGThumperCommand* B); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.h new file mode 100644 index 00000000..1d410e0a --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedBuzzCommandKismetLibrary.h @@ -0,0 +1,104 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGTimedBuzzCommandKismetLibrary.generated.h" + +class USGBuzzCommand; +class USGTimedBuzzCommand; + +UCLASS(meta=(ScriptName = "SesneGloveTimedBuzzCommandKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGTimedBuzzCommandKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGTimedBuzzCommand* MakeTimedBuzzCommand(UObject* WorldContextObject); + + UFUNCTION(BlueprintPure, DisplayName="Make Timed Buzz Command", + Category="SenseGlove | Core | Haptics | Timed Buzz Command", meta=(WorldContext="WorldContextObject")) + static USGTimedBuzzCommand* MakeTimedBuzzCommand_Finger_Magnitude_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, + ESGFinger Finger, int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + + UFUNCTION(BlueprintPure, DisplayName="Make Timed Buzz Command", + Category="SenseGlove | Core | Haptics | Timed Buzz Command", meta=(WorldContext="WorldContextObject")) + static USGTimedBuzzCommand* MakeTimedBuzzCommand_BaseCommand_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, + const USGBuzzCommand* BaseCommand, float DurationSeconds, float StartTimeSeconds = 0.0f); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* Copy(UObject* WorldContextObject, const USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* Merge(UObject* WorldContextObject, const USGTimedBuzzCommand* A, const USGBuzzCommand* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command", + meta=(WorldContext="WorldContextObject")) + static USGBuzzCommand* GetBaseCommand(UObject* WorldContextObject, + const USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static int32 GetMagnitude(const USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static float GetDuration(const USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static float GetElapsedTime(const USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static bool HasTimeElapsed(const USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static float NormalizedTime(const USGTimedBuzzCommand* TimedBuzzCommand, bool bClamp01 = true); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static void ResetTiming(UPARAM(ref) USGTimedBuzzCommand* TimedBuzzCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static void UpdateTiming(UPARAM(ref) USGTimedBuzzCommand* TimedBuzzCommand, float DeltaSeconds); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Buzz Command") + static FString ToString(const USGTimedBuzzCommand* TimedBuzzCommand); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedThumpCommandKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedThumpCommandKismetLibrary.h new file mode 100644 index 00000000..8179f4a4 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTimedThumpCommandKismetLibrary.h @@ -0,0 +1,99 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" + +#include "SGTimedThumpCommandKismetLibrary.generated.h" + +class USGTimedThumpCommand; + +UCLASS(meta=(ScriptName = "SesneGloveTimedThumpCommandKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGTimedThumpCommandKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Thump Command", + meta=(WorldContext="WorldContextObject")) + static USGTimedThumpCommand* MakeTimedThumpCommand(UObject* WorldContextObject); + + UFUNCTION(BlueprintCallable, DisplayName="Make Timed Thump Command", + Category="SenseGlove | Core | Haptics | Timed Thump Command", meta=(WorldContext="WorldContextObject")) + static USGTimedThumpCommand* MakeTimedThumpCommand_Magnitude_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, int32 Magnitude, float DurationSeconds, float StartTimeSeconds = 0.0f); + + UFUNCTION(BlueprintCallable, DisplayName="Make Timed Thump Command", + Category="SenseGlove | Core | Haptics | Timed Thump Command", meta=(WorldContext="WorldContextObject")) + static USGTimedThumpCommand* MakeTimedThumpCommand_BaseCommand_DurationSeconds_StartTimeSeconds( + UObject* WorldContextObject, + const USGThumperCommand* BaseCommand, float DurationSeconds, float StartTimeSeconds = 0.0f); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static int32 GetMagnitude(const USGTimedThumpCommand* TimedThumpCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static void SetMagnitude(UPARAM(ref) USGTimedThumpCommand* TimedThumpCommand, int32 Magnitude); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static float GetDuration(const USGTimedThumpCommand* TimedThumpCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static void SetDuration(UPARAM(ref) USGTimedThumpCommand* TimedThumpCommand, float Duration); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static float GetElapsedTime(const USGTimedThumpCommand* TimedThumpCommand); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static void SetElapsedTime(UPARAM(ref) USGTimedThumpCommand* TimedThumpCommand, float ElapsedTime); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static bool HasTimeElapsed(const USGTimedThumpCommand* TimedThumpCommand); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command", + meta=(WorldContext="WorldContextObject")) + static USGTimedThumpCommand* Copy( + UObject* WorldContextObject, const USGTimedThumpCommand* TimedThumpCommand, bool bCopyElapsed = false); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static void Update(UPARAM(ref) USGTimedThumpCommand* TimedThumpCommand, float DeltaSeconds); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static bool Equals(const USGTimedThumpCommand* A, const USGTimedThumpCommand* B); + + UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Timed Thump Command") + static FString ToString(const USGTimedThumpCommand* TimedThumpCommand); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTrackingKismetLibrary.h b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTrackingKismetLibrary.h new file mode 100644 index 00000000..fc598ec2 --- /dev/null +++ b/Source/SenseGloveCoreKismet/Public/SGCoreKismet/SGTrackingKismetLibrary.h @@ -0,0 +1,137 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +#include "SGKismet/SGBlueprintFunctionLibrary.h" +#include "SGTypes/SGCoreTypes.h" + +#include "SGTrackingKismetLibrary.generated.h" + +UCLASS(meta=(ScriptName = "SesneGloveTrackingKismetLibrary")) +class SENSEGLOVECOREKISMET_API USGTrackingKismetLibrary final : public USGBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static void CalculateLocation( + const FVector& TrackedPosition, const FQuat& TrackedRotation, + const FVector& PositionOffset, const FQuat& RotationOffset, + FVector& OutNewPosition, FQuat& OutNewRotation); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static TArray GetSenseGloveFingerToGlovePositionOrigin(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static TArray GetSenseGloveFingerToGloveRotationOrigin(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetSenseGloveWristPositionOffset(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetSenseGloveWristRotationOffset(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static void GetSenseGloveMountOffset(bool bRightHanded, ESGFinger ToFinger, + FVector& OutIPosition, FQuat& OutIRotation); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static void GetSenseGloveTrackerMountOffset(ESGPositionalTrackingHardware Hardware, bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetSenseGloveViveToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetSenseGloveViveToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetSenseGloveOculusTouchToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetSenseGloveOculusTouchToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetNovaToWristPositionOffset(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetNovaToWristRotationOffset(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static void GetNovaGloveWristOffset(bool bRightHanded, FVector& OutPositionOffset, FQuat& OutRotationOffset); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetRightNovaViveToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetRightNovaViveToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetLeftNovaViveToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetLeftNovaViveToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetRightNovaQuest2ToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetRightNovaQuest2ToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetLeftNovaQuest2ToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetLeftNovaQuest2ToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FVector GetRightNovaPico2ToAttachPosition(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetRightNovaPico2ToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FQuat GetLeftNovaPico2ToAttachRotation(); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static void GetNovaGloveTrackerOffset(ESGPositionalTrackingHardware Hardware, bool bRightHanded, + FVector& OutPositionOffset, FQuat& OutRotationOffset); + + UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Tracking") + static FString ToString(ESGPositionalTrackingHardware Hardware); +}; \ No newline at end of file diff --git a/Source/SenseGloveCoreKismet/SenseGloveCoreKismet.Build.cs b/Source/SenseGloveCoreKismet/SenseGloveCoreKismet.Build.cs new file mode 100644 index 00000000..eba4b5eb --- /dev/null +++ b/Source/SenseGloveCoreKismet/SenseGloveCoreKismet.Build.cs @@ -0,0 +1,65 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveCoreKismet : ModuleRules +{ + public SenseGloveCoreKismet(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "SenseGloveCore", + "SenseGloveLog", + "SenseGloveKismet", + "SenseGloveTypes", + "SenseGloveUtils", + } + ); + } +} diff --git a/Source/SenseGloveEditor/Private/SenseGloveEditor.cpp b/Source/SenseGloveEditor/Private/SenseGloveEditor.cpp new file mode 100644 index 00000000..33d537da --- /dev/null +++ b/Source/SenseGloveEditor/Private/SenseGloveEditor.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveEditor.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveEditorModule.h" + +IMPLEMENT_MODULE(FSenseGloveEditorModule, SenseGloveEditor) diff --git a/Source/SenseGloveEditor/Private/SenseGloveEditor.h b/Source/SenseGloveEditor/Private/SenseGloveEditor.h new file mode 100644 index 00000000..d445de63 --- /dev/null +++ b/Source/SenseGloveEditor/Private/SenseGloveEditor.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" \ No newline at end of file diff --git a/Source/SenseGloveEditor/Private/SenseGloveEditorModule.cpp b/Source/SenseGloveEditor/Private/SenseGloveEditorModule.cpp new file mode 100644 index 00000000..1a4068a6 --- /dev/null +++ b/Source/SenseGloveEditor/Private/SenseGloveEditorModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveEditorModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveEditorModule" + +void FSenseGloveEditorModule::StartupModule() +{ + SGLOG("Starting up SenseGloveEditor module..."); +} + +void FSenseGloveEditorModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveEditor module..."); +} + +void FSenseGloveEditorModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveEditor module has succeeded!"); +} + +void FSenseGloveEditorModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveEditor module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveEditor/Private/SenseGloveEditorModule.h b/Source/SenseGloveEditor/Private/SenseGloveEditorModule.h new file mode 100644 index 00000000..31a99a17 --- /dev/null +++ b/Source/SenseGloveEditor/Private/SenseGloveEditorModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveEditor" + +class FSenseGloveEditorModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveEditor/SenseGloveEditor.Build.cs b/Source/SenseGloveEditor/SenseGloveEditor.Build.cs new file mode 100644 index 00000000..44e6bf29 --- /dev/null +++ b/Source/SenseGloveEditor/SenseGloveEditor.Build.cs @@ -0,0 +1,72 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveEditor : ModuleRules +{ + public SenseGloveEditor(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "AssetTools", + "Core", + "CoreUObject", + "Engine", + "UnrealEd", + } + ); + +#if WITH_EDITOR + PublicDependencyModuleNames.AddRange( + new string[] + { + "UnrealEd", + } + ); +#endif + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "SenseGloveLog", + } + ); + } +} diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGBackendType.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGBackendType.cpp new file mode 100644 index 00000000..2e06ad0a --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGBackendType.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGBackendType.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCVar.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCVar.cpp new file mode 100644 index 00000000..eb2316fd --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCVar.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGCVar.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCalibrationStage.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCalibrationStage.cpp new file mode 100644 index 00000000..e6f60b3b --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGCalibrationStage.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGCalibrationStage.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGConnectionType.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGConnectionType.cpp new file mode 100644 index 00000000..3b339670 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGConnectionType.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGConnectionType.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGDeviceType.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGDeviceType.cpp new file mode 100644 index 00000000..f4ce0808 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGDeviceType.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGDeviceType.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFinger.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFinger.cpp new file mode 100644 index 00000000..820814ba --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFinger.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGFinger.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerMovement.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerMovement.cpp new file mode 100644 index 00000000..282109f4 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerMovement.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGFingerMovement.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerSolver.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerSolver.cpp new file mode 100644 index 00000000..f5b067ea --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGFingerSolver.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGFingerSolver.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGListFormat.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGListFormat.cpp new file mode 100644 index 00000000..0d241272 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGListFormat.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGListFormat.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaCVar.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaCVar.cpp new file mode 100644 index 00000000..0d4a128b --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaCVar.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGNovaCVar.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaData.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaData.cpp new file mode 100644 index 00000000..7bda6fa3 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaData.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGNovaData.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaSensorData.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaSensorData.cpp new file mode 100644 index 00000000..b926b8e5 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGNovaSensorData.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGNovaSensorData.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGPositionalTrackingHardware.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGPositionalTrackingHardware.cpp new file mode 100644 index 00000000..de387fc4 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGPositionalTrackingHardware.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGPositionalTrackingHardware.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSVar.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSVar.cpp new file mode 100644 index 00000000..d867641e --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSVar.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGSVar.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSenseGloveThumperCommand.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSenseGloveThumperCommand.cpp new file mode 100644 index 00000000..44a117b4 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSenseGloveThumperCommand.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGSenseGloveThumperCommand.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSensorFormat.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSensorFormat.cpp new file mode 100644 index 00000000..2c80aa17 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGSensorFormat.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGSensorFormat.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbMovement.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbMovement.cpp new file mode 100644 index 00000000..8f6d9ff7 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbMovement.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGThumbMovement.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbSolver.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbSolver.cpp new file mode 100644 index 00000000..6523d458 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_ESGThumbSolver.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_ESGThumbSolver.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FQuat.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FQuat.cpp new file mode 100644 index 00000000..a00deb09 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FQuat.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FQuat.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBasicHandModelImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBasicHandModelImpl.cpp new file mode 100644 index 00000000..2ed2fe05 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBasicHandModelImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGBasicHandModelImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBetaDeviceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBetaDeviceImpl.cpp new file mode 100644 index 00000000..b1e05995 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBetaDeviceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGBetaDeviceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBuzzCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBuzzCommandImpl.cpp new file mode 100644 index 00000000..c4d7298a --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGBuzzCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGBuzzCommandImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGCalibrationDataPointImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGCalibrationDataPointImpl.cpp new file mode 100644 index 00000000..8525ce54 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGCalibrationDataPointImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGCalibrationDataPointImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceImpl.cpp new file mode 100644 index 00000000..514a67d5 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGDeviceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceModelImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceModelImpl.cpp new file mode 100644 index 00000000..77735745 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGDeviceModelImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGDeviceModelImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGFingerCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGFingerCommandImpl.cpp new file mode 100644 index 00000000..3268fe99 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGFingerCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGFingerCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGForceFeedbackCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGForceFeedbackCommandImpl.cpp new file mode 100644 index 00000000..4f59b26f --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGForceFeedbackCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGForceFeedbackCommandImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandInterpolatorImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandInterpolatorImpl.cpp new file mode 100644 index 00000000..984b091a --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandInterpolatorImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHandInterpolatorImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandPoseImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandPoseImpl.cpp new file mode 100644 index 00000000..8f108835 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandPoseImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHandPoseImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandProfileImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandProfileImpl.cpp new file mode 100644 index 00000000..3025bfbd --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHandProfileImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHandProfileImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.cpp new file mode 100644 index 00000000..6bbda1e2 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.cpp new file mode 100644 index 00000000..6e3dc633 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.cpp new file mode 100644 index 00000000..bcb4aec4 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveImpl.cpp new file mode 100644 index 00000000..b3ae8e98 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHapticGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.cpp new file mode 100644 index 00000000..092247c7 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGInterpolationSetImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGInterpolationSetImpl.cpp new file mode 100644 index 00000000..60eac7de --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGInterpolationSetImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGInterpolationSetImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.cpp new file mode 100644 index 00000000..a1941051 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveImpl.cpp new file mode 100644 index 00000000..16364f25 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGNovaGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveInfoImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveInfoImpl.cpp new file mode 100644 index 00000000..e93a04fb --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveInfoImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGNovaGloveInfoImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.cpp new file mode 100644 index 00000000..bb29749e --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.cpp new file mode 100644 index 00000000..790abcb6 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveImpl.cpp new file mode 100644 index 00000000..91effe0b --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGSenseGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveInfoImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveInfoImpl.cpp new file mode 100644 index 00000000..ffc2c484 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveInfoImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGSenseGloveInfoImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGlovePoseImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGlovePoseImpl.cpp new file mode 100644 index 00000000..3d4f99e9 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGlovePoseImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGSenseGlovePoseImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.cpp new file mode 100644 index 00000000..d7dafcec --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSensorRangeImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSensorRangeImpl.cpp new file mode 100644 index 00000000..2b17105c --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGSensorRangeImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGSensorRangeImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGThumperCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGThumperCommandImpl.cpp new file mode 100644 index 00000000..f5d866aa --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGThumperCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGThumperCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedBuzzCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedBuzzCommandImpl.cpp new file mode 100644 index 00000000..9620be2e --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedBuzzCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGTimedBuzzCommandImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedThumpCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedThumpCommandImpl.cpp new file mode 100644 index 00000000..8ca4bb01 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FSGTimedThumpCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FSGTimedThumpCommandImpl.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FString.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FString.cpp new file mode 100644 index 00000000..c16e6b01 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FString.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FString.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_FVector.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FVector.cpp new file mode 100644 index 00000000..262c6971 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_FVector.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_FVector.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FQuat.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FQuat.cpp new file mode 100644 index 00000000..71b9f055 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FQuat.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FQuat.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.cpp new file mode 100644 index 00000000..103301bb --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.cpp new file mode 100644 index 00000000..b82ad33f --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGNovaGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGNovaGloveImpl.cpp new file mode 100644 index 00000000..b330b3db --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGNovaGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FSGNovaGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGSenseGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGSenseGloveImpl.cpp new file mode 100644 index 00000000..84216224 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGSenseGloveImpl.cpp @@ -0,0 +1,35 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FSGSenseGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.cpp new file mode 100644 index 00000000..555108df --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.cpp new file mode 100644 index 00000000..51faad82 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FVector.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FVector.cpp new file mode 100644 index 00000000..84b91c29 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_FVector.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_FVector.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FQuat.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FQuat.cpp new file mode 100644 index 00000000..e0701701 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FQuat.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TArray_FQuat.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.cpp new file mode 100644 index 00000000..57dce366 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FVector.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FVector.cpp new file mode 100644 index 00000000..cc601cf3 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_FVector.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TArray_FVector.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_bool.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_bool.cpp new file mode 100644 index 00000000..67ef2511 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_bool.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TArray_bool.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_float.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_float.cpp new file mode 100644 index 00000000..c672e822 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TArray_float.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TArray_float.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.cpp new file mode 100644 index 00000000..443a6caa --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.cpp new file mode 100644 index 00000000..e28b38c3 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.cpp @@ -0,0 +1,35 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_bool.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_bool.cpp new file mode 100644 index 00000000..8124c52d --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_bool.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_bool.h" diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_float.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_float.cpp new file mode 100644 index 00000000..6d4fcb58 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_float.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_float.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_int32.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_int32.cpp new file mode 100644 index 00000000..5a137928 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TArray_int32.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TArray_int32.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.cpp new file mode 100644 index 00000000..50a5262e --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.cpp new file mode 100644 index 00000000..00a8ac96 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.cpp new file mode 100644 index 00000000..7c77f1a4 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.cpp new file mode 100644 index 00000000..9a9f3ac8 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.cpp new file mode 100644 index 00000000..b07796f6 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.cpp new file mode 100644 index 00000000..9e7194ba --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.cpp new file mode 100644 index 00000000..e3559d08 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.cpp new file mode 100644 index 00000000..1a937239 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.cpp new file mode 100644 index 00000000..7fc1c11d --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.cpp new file mode 100644 index 00000000..b96b9154 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.cpp new file mode 100644 index 00000000..2947b29d --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.cpp new file mode 100644 index 00000000..a76f8fbe --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SGInterop/SGIC_int32_Ref.cpp b/Source/SenseGloveInterop/Private/SGInterop/SGIC_int32_Ref.cpp new file mode 100644 index 00000000..037c46dd --- /dev/null +++ b/Source/SenseGloveInterop/Private/SGInterop/SGIC_int32_Ref.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGInterop/SGIC_int32_Ref.h" \ No newline at end of file diff --git a/Source/SenseGloveInterop/Private/SenseGloveInterop.cpp b/Source/SenseGloveInterop/Private/SenseGloveInterop.cpp new file mode 100644 index 00000000..3862fba6 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SenseGloveInterop.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveInterop.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveInteropModule.h" + +IMPLEMENT_MODULE(FSenseGloveInteropModule, SenseGloveInterop) diff --git a/Source/SenseGloveInterop/Private/SenseGloveInterop.h b/Source/SenseGloveInterop/Private/SenseGloveInterop.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SenseGloveInterop.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveInterop/Private/SenseGloveInteropModule.cpp b/Source/SenseGloveInterop/Private/SenseGloveInteropModule.cpp new file mode 100644 index 00000000..d2ba5744 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SenseGloveInteropModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveInteropModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveInteropModule" + +void FSenseGloveInteropModule::StartupModule() +{ + SGLOG("Starting up SenseGloveInterop module..."); +} + +void FSenseGloveInteropModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveInterop module..."); +} + +void FSenseGloveInteropModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveInterop module has succeeded!"); +} + +void FSenseGloveInteropModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveInterop module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveInterop/Private/SenseGloveInteropModule.h b/Source/SenseGloveInterop/Private/SenseGloveInteropModule.h new file mode 100644 index 00000000..a6255266 --- /dev/null +++ b/Source/SenseGloveInterop/Private/SenseGloveInteropModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveInterop" + +class FSenseGloveInteropModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGBackendType.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGBackendType.h new file mode 100644 index 00000000..4d037c38 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGBackendType.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGBackendType +{ + ESGBackendType Type; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCVar.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCVar.h new file mode 100644 index 00000000..47e28aba --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCVar.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGCVar +{ + ESGCVar Var; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCalibrationStage.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCalibrationStage.h new file mode 100644 index 00000000..650103d3 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGCalibrationStage.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGCalibrationStage +{ + ESGCalibrationStage Stage; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGConnectionType.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGConnectionType.h new file mode 100644 index 00000000..98f7ce7e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGConnectionType.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGConnectionType +{ + ESGConnectionType Type; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGDeviceType.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGDeviceType.h new file mode 100644 index 00000000..bb197ff3 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGDeviceType.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGDeviceType +{ + ESGDeviceType Type; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFinger.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFinger.h new file mode 100644 index 00000000..5321b86e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFinger.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGFinger +{ + ESGFinger Finger; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerMovement.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerMovement.h new file mode 100644 index 00000000..7d2b75e5 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerMovement.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGFingerMovement +{ + ESGFingerMovement Movement; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerSolver.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerSolver.h new file mode 100644 index 00000000..39de0e5f --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGFingerSolver.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGFingerSolver +{ + ESGFingerSolver Solver; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGListFormat.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGListFormat.h new file mode 100644 index 00000000..efbb00d8 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGListFormat.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGListFormat +{ + ESGListFormat Format; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaCVar.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaCVar.h new file mode 100644 index 00000000..c0c9a4e0 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaCVar.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGNovaCVar +{ + ESGNovaCVar Var; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaData.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaData.h new file mode 100644 index 00000000..fc8e30a4 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaData.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGNovaData +{ + ESGNovaData Data; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaSensorData.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaSensorData.h new file mode 100644 index 00000000..153a5bb0 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGNovaSensorData.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGNovaSensorData +{ + ESGNovaSensorData Data; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGPositionalTrackingHardware.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGPositionalTrackingHardware.h new file mode 100644 index 00000000..b1600d1b --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGPositionalTrackingHardware.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGPositionalTrackingHardware +{ + ESGPositionalTrackingHardware Hardware; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSVar.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSVar.h new file mode 100644 index 00000000..6fd7202d --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSVar.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGSVar +{ + ESGSVar Var; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSenseGloveThumperCommand.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSenseGloveThumperCommand.h new file mode 100644 index 00000000..6a81bde9 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSenseGloveThumperCommand.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGSenseGloveThumperCommand +{ + ESGSenseGloveThumperCommand Command; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSensorFormat.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSensorFormat.h new file mode 100644 index 00000000..99b64ee8 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGSensorFormat.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGSensorFormat +{ + ESGSensorFormat Format; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbMovement.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbMovement.h new file mode 100644 index 00000000..80f76dee --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbMovement.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGThumbMovement +{ + ESGThumbMovement Movement; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbSolver.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbSolver.h new file mode 100644 index 00000000..4777fb11 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_ESGThumbSolver.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGTypes/SGCoreTypes.h" + +struct FSGIC_ESGThumbSolver +{ + ESGThumbSolver Solver; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FQuat.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FQuat.h new file mode 100644 index 00000000..7d46b08b --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FQuat.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Math/Quat.h" + +struct FSGIC_FQuat +{ + FQuat Quat; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBasicHandModelImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBasicHandModelImpl.h new file mode 100644 index 00000000..6ab95d41 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBasicHandModelImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBasicHandModelImpl.h" + +struct FSGIC_FSGBasicHandModelImpl +{ + FSGBasicHandModelImpl BasicHandModelImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBetaDeviceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBetaDeviceImpl.h new file mode 100644 index 00000000..35c2448e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBetaDeviceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBetaDeviceImpl.h" + +struct FSGIC_FSGBetaDeviceImpl +{ + FSGBetaDeviceImpl BetaDeviceImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBuzzCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBuzzCommandImpl.h new file mode 100644 index 00000000..d842669e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGBuzzCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBuzzCommandImpl.h" + +struct FSGIC_FSGBuzzCommandImpl +{ + FSGBuzzCommandImpl BuzzCommandImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGCalibrationDataPointImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGCalibrationDataPointImpl.h new file mode 100644 index 00000000..92197193 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGCalibrationDataPointImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGCalibrationDataPointImpl.h" + +struct FSGIC_FSGCalibrationDataPointImpl +{ + FSGCalibrationDataPointImpl CalibrationDataPointImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceImpl.h new file mode 100644 index 00000000..5c6c7ad4 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceImpl.h" + +struct FSGIC_FSGDeviceImpl +{ + FSGDeviceImpl SGDeviceImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceModelImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceModelImpl.h new file mode 100644 index 00000000..1acbf323 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGDeviceModelImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceModelImpl.h" + +struct FSGIC_FSGDeviceModelImpl +{ + FSGDeviceModelImpl DeviceModelImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGFingerCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGFingerCommandImpl.h new file mode 100644 index 00000000..8ab5ee7c --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGFingerCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGFingerCommandImpl.h" + +struct FSGIC_FSGFingerCommandImpl +{ + FSGFingerCommandImpl FingerCommandImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGForceFeedbackCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGForceFeedbackCommandImpl.h new file mode 100644 index 00000000..4209dd4c --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGForceFeedbackCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGForceFeedbackCommandImpl.h" + +struct FSGIC_FSGForceFeedbackCommandImpl +{ + FSGForceFeedbackCommandImpl ForceFeedbackCommandImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandInterpolatorImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandInterpolatorImpl.h new file mode 100644 index 00000000..5140814e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandInterpolatorImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHandInterpolatorImpl.h" + +struct FSGIC_FSGHandInterpolatorImpl +{ + FSGHandInterpolatorImpl HandInterpolatorImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandPoseImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandPoseImpl.h new file mode 100644 index 00000000..81035fae --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandPoseImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHandPoseImpl.h" + +struct FSGIC_FSGHandPoseImpl +{ + FSGHandPoseImpl HandPoseImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandProfileImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandProfileImpl.h new file mode 100644 index 00000000..801c969e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHandProfileImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHandProfileImpl.h" + +struct FSGIC_FSGHandProfileImpl +{ + FSGHandProfileImpl HandProfileImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h new file mode 100644 index 00000000..906d151a --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationCheckImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCalibrationCheckImpl.h" + +struct FSGIC_FSGHapticGloveCalibrationCheckImpl +{ + FSGHapticGloveCalibrationCheckImpl HapticGloveCalibrationCheckImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h new file mode 100644 index 00000000..aace4d3c --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCalibrationSequenceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h" + +struct FSGIC_FSGHapticGloveCalibrationSequenceImpl +{ + FSGHapticGloveCalibrationSequenceImpl HapticGloveCalibrationSequenceImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h new file mode 100644 index 00000000..6dc787ce --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveCommandBufferImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCommandBufferImpl.h" + +struct FSGIC_FSGHapticGloveCommandBufferImpl +{ + FSGHapticGloveCommandBufferImpl HapticGloveCommandBufferImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveImpl.h new file mode 100644 index 00000000..68bec6fc --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveImpl.h" + +struct FSGIC_FSGHapticGloveImpl +{ + FSGHapticGloveImpl HapticGloveImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h new file mode 100644 index 00000000..3562c873 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGHapticGloveQuickCalibrationImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h" + +struct FSGIC_FSGHapticGloveQuickCalibrationImpl +{ + FSGHapticGloveQuickCalibrationImpl HapticGloveQuickCalibrationImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGInterpolationSetImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGInterpolationSetImpl.h new file mode 100644 index 00000000..69b5c942 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGInterpolationSetImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGInterpolationSetImpl.h" + +struct FSGIC_FSGInterpolationSetImpl +{ + FSGInterpolationSetImpl InterpolationSetImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h new file mode 100644 index 00000000..198ea359 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveHandProfileImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveHandProfileImpl.h" + +struct FSGIC_FSGNovaGloveHandProfileImpl +{ + FSGNovaGloveHandProfileImpl NovaGloveHandProfileImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveImpl.h new file mode 100644 index 00000000..a9f65981 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveImpl.h" + +struct FSGIC_FSGNovaGloveImpl +{ + FSGNovaGloveImpl NovaGloveImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveInfoImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveInfoImpl.h new file mode 100644 index 00000000..4b6415cd --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveInfoImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveInfoImpl.h" + +struct FSGIC_FSGNovaGloveInfoImpl +{ + FSGNovaGloveInfoImpl NovaGloveInfoImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h new file mode 100644 index 00000000..43b8e668 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGNovaGloveSensorDataImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveSensorDataImpl.h" + +struct FSGIC_FSGNovaGloveSensorDataImpl +{ + FSGNovaGloveSensorDataImpl NovaGloveSensorDataImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h new file mode 100644 index 00000000..4a3529b8 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveHandProfileImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveHandProfileImpl.h" + +struct FSGIC_FSGSenseGloveHandProfileImpl +{ + FSGSenseGloveHandProfileImpl SenseGloveHandProfileImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveImpl.h new file mode 100644 index 00000000..d019f600 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveImpl.h" + +struct FSGIC_FSGSenseGloveImpl +{ + FSGSenseGloveImpl SenseGloveImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveInfoImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveInfoImpl.h new file mode 100644 index 00000000..dc52e01e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveInfoImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveInfoImpl.h" + +struct FSGIC_FSGSenseGloveInfoImpl +{ + FSGSenseGloveInfoImpl SenseGloveInfoImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGlovePoseImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGlovePoseImpl.h new file mode 100644 index 00000000..e63b0e67 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGlovePoseImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGlovePoseImpl.h" + +struct FSGIC_FSGSenseGlovePoseImpl +{ + FSGSenseGlovePoseImpl SenseGlovePoseImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h new file mode 100644 index 00000000..02536413 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSenseGloveSensorDataImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveSensorDataImpl.h" + +struct FSGIC_FSGSenseGloveSensorDataImpl +{ + FSGSenseGloveSensorDataImpl SenseGloveSensorDataImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSensorRangeImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSensorRangeImpl.h new file mode 100644 index 00000000..12d5e1e3 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGSensorRangeImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSensorRangeImpl.h" + +struct FSGIC_FSGSensorRangeImpl +{ + FSGSensorRangeImpl SensorRangeImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGThumperCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGThumperCommandImpl.h new file mode 100644 index 00000000..69cbcea0 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGThumperCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGThumperCommandImpl.h" + +struct FSGIC_FSGThumperCommandImpl +{ + FSGThumperCommandImpl ThumperCommandImpl; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedBuzzCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedBuzzCommandImpl.h new file mode 100644 index 00000000..93ecd987 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedBuzzCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGTimedBuzzCommandImpl.h" + +struct FSGIC_FSGTimedBuzzCommandImpl +{ + FSGTimedBuzzCommandImpl TimedBuzzCommandImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedThumpCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedThumpCommandImpl.h new file mode 100644 index 00000000..500ecaa6 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FSGTimedThumpCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGTimedThumpCommandImpl.h" + +struct FSGIC_FSGTimedThumpCommandImpl +{ + FSGTimedThumpCommandImpl TimedThumpCommandImpl; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FString.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FString.h new file mode 100644 index 00000000..88bae774 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FString.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" + +struct FSGIC_FString +{ + FString String; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_FVector.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FVector.h new file mode 100644 index 00000000..92f4c3d5 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_FVector.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Math/Vector.h" + +struct FSGIC_FVector +{ + FVector Vector; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FQuat.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FQuat.h new file mode 100644 index 00000000..57f00cdd --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FQuat.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Quat.h" + +struct FSGIC_TArray_FQuat +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h new file mode 100644 index 00000000..53c79856 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGCalibrationDataPointImpl.h @@ -0,0 +1,45 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +#include "SGCoreImpl/SGCalibrationDataPointImpl.h" + +struct FSGIC_TArray_FSGCalibrationDataPointImpl +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h new file mode 100644 index 00000000..85448a40 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGForceFeedbackCommandImpl.h @@ -0,0 +1,45 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +#include "SGCoreImpl/SGForceFeedbackCommandImpl.h" + +struct FSGIC_TArray_FSGForceFeedbackCommandImpl +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGNovaGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGNovaGloveImpl.h new file mode 100644 index 00000000..7f2c9a93 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGNovaGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveImpl.h" + +struct FSGIC_TArray_FSGNovaGloveImpl +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGSenseGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGSenseGloveImpl.h new file mode 100644 index 00000000..4c092346 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGSenseGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveImpl.h" + +struct FSGIC_TArray_FSGSenseGloveImpl +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h new file mode 100644 index 00000000..5922e817 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedBuzzCommandImpl.h @@ -0,0 +1,45 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +#include "SGCoreImpl/SGTimedBuzzCommandImpl.h" + +struct FSGIC_TArray_FSGTimedBuzzCommandImpl +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h new file mode 100644 index 00000000..bf0f6e11 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FSGTimedThumpCommandImpl.h @@ -0,0 +1,45 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +#include "SGCoreImpl/SGTimedThumpCommandImpl.h" + +struct FSGIC_TArray_FSGTimedThumpCommandImpl +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FVector.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FVector.h new file mode 100644 index 00000000..de48ee7d --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_FVector.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" + +struct FSGIC_TArray_FVector +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FQuat.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FQuat.h new file mode 100644 index 00000000..12e5c7ce --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FQuat.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Quat.h" + +struct FSGIC_TArray_TArray_FQuat +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h new file mode 100644 index 00000000..33ff07bf --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FSGInterpolationSetImpl.h @@ -0,0 +1,45 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +#include "SGCoreImpl/SGInterpolationSetImpl.h" + +struct FSGIC_TArray_TArray_FSGInterpolationSetImpl +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FVector.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FVector.h new file mode 100644 index 00000000..28a166a6 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_FVector.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" +#include "Math/Vector.h" + +struct FSGIC_TArray_TArray_FVector +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_bool.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_bool.h new file mode 100644 index 00000000..8b802b54 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_bool.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +struct FSGIC_TArray_TArray_bool +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_float.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_float.h new file mode 100644 index 00000000..96321d71 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TArray_float.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +struct FSGIC_TArray_TArray_float +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h new file mode 100644 index 00000000..5c8d931f --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGDeviceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceImpl.h" + +struct FSGIC_TArray_TSharedRef_FSGDeviceListImpl +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h new file mode 100644 index 00000000..cf19568c --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_TSharedRef_FSGHapticGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveImpl.h" + +struct FSGIC_TArray_TSharedRef_FSGHapticGloveImpl +{ + TArray> Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_bool.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_bool.h new file mode 100644 index 00000000..deb9332c --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_bool.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +struct FSGIC_TArray_bool +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_float.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_float.h new file mode 100644 index 00000000..471f0ead --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_float.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +struct FSGIC_TArray_float +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_int32.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_int32.h new file mode 100644 index 00000000..bb0d8f57 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TArray_int32.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/Array.h" + +struct FSGIC_TArray_int32 +{ + TArray Array; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h new file mode 100644 index 00000000..a4c6c215 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBetaDeviceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBetaDeviceImpl.h" + +struct FSGIC_TSharedPtr_FSGBetaDeviceImpl +{ + TSharedPtr Ptr; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h new file mode 100644 index 00000000..3d055701 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGBuzzCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGBuzzCommandImpl.h" + +struct FSGIC_TSharedPtr_FSGBuzzCommandImpl +{ + TSharedPtr Ptr; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h new file mode 100644 index 00000000..16e9d99f --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGDeviceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGDeviceImpl.h" + +struct FSGIC_TSharedPtr_FSGDeviceImpl +{ + TSharedPtr Ptr; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h new file mode 100644 index 00000000..dac66e07 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGFingerCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGFingerCommandImpl.h" + +struct FSGIC_TSharedPtr_FSGFingerCommandImpl +{ + TSharedPtr Ptr; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h new file mode 100644 index 00000000..8f6db748 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGForceFeedbackCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGForceFeedbackCommandImpl.h" + +struct FSGIC_TSharedPtr_FSGForceFeedbackCommandImpl +{ + TSharedPtr Ptr; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h new file mode 100644 index 00000000..4815677a --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveCalibrationSequenceImpl.h" + +struct FSGIC_TSharedPtr_FSGHapticGloveCalibrationSequenceImpl +{ + TSharedPtr Ptr; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h new file mode 100644 index 00000000..4d6b3f86 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveImpl.h" + +struct FSGIC_TSharedPtr_FSGHapticGloveImpl +{ + TSharedPtr Ptr; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h new file mode 100644 index 00000000..7b7321d2 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGHapticGloveQuickCalibrationImpl.h" + +struct FSGIC_TSharedPtr_FSGHapticGloveQuickCalibrationImpl +{ + TSharedPtr Ptr; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h new file mode 100644 index 00000000..a54d3eda --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGNovaGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGNovaGloveImpl.h" + +struct FSGIC_TSharedPtr_FSGNovaGloveImpl +{ + TSharedPtr Ptr; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h new file mode 100644 index 00000000..80ca3565 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGSenseGloveImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGSenseGloveImpl.h" + +struct FSGIC_TSharedPtr_FSGSenseGloveImpl +{ + TSharedPtr Ptr; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h new file mode 100644 index 00000000..d702bcfc --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSharedPtr_FSGTimedBuzzCommandImpl.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGCoreImpl/SGTimedBuzzCommandImpl.h" + +struct FSGIC_TSharedPtr_FSGTimedBuzzCommandImpl +{ + TSharedPtr Ptr; +}; diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.h new file mode 100644 index 00000000..3aad0fb3 --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_TSubclassOf_FSGDeviceImpl.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Templates/SubclassOf.h" +#include "SGCoreImpl/SGDeviceImpl.h" + +struct FSGIC_TSubclassOf_FSDeviceImpl +{ + TSubclassOf DeviceSubclassOf; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/Public/SGInterop/SGIC_int32_Ref.h b/Source/SenseGloveInterop/Public/SGInterop/SGIC_int32_Ref.h new file mode 100644 index 00000000..9e34758e --- /dev/null +++ b/Source/SenseGloveInterop/Public/SGInterop/SGIC_int32_Ref.h @@ -0,0 +1,43 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "HAL/Platform.h" + +struct FSGIC_int32_Ref +{ + int32& Ref; +}; \ No newline at end of file diff --git a/Source/SenseGloveInterop/SenseGloveInterop.Build.cs b/Source/SenseGloveInterop/SenseGloveInterop.Build.cs new file mode 100644 index 00000000..28d60ff6 --- /dev/null +++ b/Source/SenseGloveInterop/SenseGloveInterop.Build.cs @@ -0,0 +1,67 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveInterop : ModuleRules +{ + public SenseGloveInterop(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "SenseGloveLog", + "SenseGloveTypes", + } + ); + + PrivateIncludePathModuleNames.AddRange( + new string[] + { + "SenseGloveCoreImpl", + } + ); + } +} diff --git a/Source/SenseGloveKismet/Private/SGKismet/SGBlueprintFunctionLibrary.cpp b/Source/SenseGloveKismet/Private/SGKismet/SGBlueprintFunctionLibrary.cpp new file mode 100644 index 00000000..60fbe366 --- /dev/null +++ b/Source/SenseGloveKismet/Private/SGKismet/SGBlueprintFunctionLibrary.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGKismet/SGBlueprintFunctionLibrary.h" \ No newline at end of file diff --git a/Source/SenseGloveKismet/Private/SenseGloveKismet.cpp b/Source/SenseGloveKismet/Private/SenseGloveKismet.cpp new file mode 100644 index 00000000..5a02913e --- /dev/null +++ b/Source/SenseGloveKismet/Private/SenseGloveKismet.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveKismet.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveKismetModule.h" + +IMPLEMENT_MODULE(FSenseGloveKismetModule, SenseGloveKismet) diff --git a/Source/SenseGloveKismet/Private/SenseGloveKismet.h b/Source/SenseGloveKismet/Private/SenseGloveKismet.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveKismet/Private/SenseGloveKismet.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveKismet/Private/SenseGloveKismetModule.cpp b/Source/SenseGloveKismet/Private/SenseGloveKismetModule.cpp new file mode 100644 index 00000000..ba948830 --- /dev/null +++ b/Source/SenseGloveKismet/Private/SenseGloveKismetModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveKismetModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveKismetModule" + +void FSenseGloveKismetModule::StartupModule() +{ + SGLOG("Starting up SenseGloveKismet module..."); +} + +void FSenseGloveKismetModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveKismet module..."); +} + +void FSenseGloveKismetModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveKismet module has succeeded!"); +} + +void FSenseGloveKismetModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveKismet module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveKismet/Private/SenseGloveKismetModule.h b/Source/SenseGloveKismet/Private/SenseGloveKismetModule.h new file mode 100644 index 00000000..01035d31 --- /dev/null +++ b/Source/SenseGloveKismet/Private/SenseGloveKismetModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveKismet" + +class FSenseGloveKismetModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveKismet/Public/SGKismet/SGBlueprintFunctionLibrary.h b/Source/SenseGloveKismet/Public/SGKismet/SGBlueprintFunctionLibrary.h new file mode 100644 index 00000000..9940670f --- /dev/null +++ b/Source/SenseGloveKismet/Public/SGKismet/SGBlueprintFunctionLibrary.h @@ -0,0 +1,49 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Kismet/BlueprintFunctionLibrary.h" +#include "SGBlueprintFunctionLibrary.generated.h" + +/** + * This class is a base class for any function libraries exposed to blueprints. + * Methods in subclasses are expected to be static, and no methods should be added to this base class. + */ +UCLASS(Abstract, MinimalAPI) +class USGBlueprintFunctionLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() +}; \ No newline at end of file diff --git a/Source/SenseGloveKismet/SenseGloveKismet.Build.cs b/Source/SenseGloveKismet/SenseGloveKismet.Build.cs new file mode 100644 index 00000000..ca63d9bc --- /dev/null +++ b/Source/SenseGloveKismet/SenseGloveKismet.Build.cs @@ -0,0 +1,63 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveKismet : ModuleRules +{ + public SenseGloveKismet(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "SenseGlove", + "SenseGloveLog", + "SenseGloveTypes", + } + ); + } +} diff --git a/Source/SenseGloveLog/Private/SGLog/SGLog.cpp b/Source/SenseGloveLog/Private/SGLog/SGLog.cpp new file mode 100644 index 00000000..62a1e906 --- /dev/null +++ b/Source/SenseGloveLog/Private/SGLog/SGLog.cpp @@ -0,0 +1,244 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGLog/SGLog.h" +#include "Containers/Map.h" +#include "Logging/LogMacros.h" + +DEFINE_LOG_CATEGORY(LogEditor) +DEFINE_LOG_CATEGORY(LogGeneric) + +struct FSGLogCore::FStaticImpl +{ +public: + struct VerbosityMapper + { + FString Tag; + FColor Color; + + VerbosityMapper(const FString& InTag, const FColor& InColor); + }; + +public: + TMap VerbosityMap; + + bool bInitialized; + +public: + FStaticImpl(); +}; + +struct FSGLogCore::FImpl +{ +public: + FSGLogCore::EVerbosity Verbosity; + FSGLogCore::ECategory Category; + FString File; + FString Function; + FString Line; +}; + +FSGLogCore::FStaticImplDeleter FSGLogCore::SPimplDeleter; +std::unique_ptr FSGLogCore::SPimpl = + std::unique_ptr( + new FSGLogCore::FStaticImpl{}, FSGLogCore::SPimplDeleter); + +FSGLogCore::FSGLogCore(const EVerbosity& Verbosity, const ECategory& Category, const std::string& File, + const std::string& Function, const int32 Line) + : Pimpl(std::unique_ptr(new FImpl{}, PimplDeleter)), + bAnyEntries(false) +{ +#if defined ( SENSEGLOVE_LOGGING ) + if (!SPimpl->bInitialized) + { + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::Fatal, + FStaticImpl::VerbosityMapper(TEXT("FATAL"), FColor::White)); + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::Error, FStaticImpl::VerbosityMapper(TEXT("ERROR"), FColor::Red)); + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::Warning, + FStaticImpl::VerbosityMapper(TEXT("WARNING"), FColor::Yellow)); + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::Display, + FStaticImpl::VerbosityMapper(TEXT("DISPLAY"), FColor::Green)); + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::Log, FStaticImpl::VerbosityMapper(TEXT("LOG"), FColor::Silver)); + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::Verbose, + FStaticImpl::VerbosityMapper(TEXT("VERBOSE"), FColor::Purple)); + SPimpl->VerbosityMap.Add(FSGLogCore::EVerbosity::VeryVerbose, + FStaticImpl::VerbosityMapper(TEXT("VERY_VERBOSE"), FColor::Magenta)); + + SPimpl->bInitialized = true; + } + + Pimpl->Verbosity = Verbosity; + Pimpl->Category = Category; + Pimpl->File = FString(StringCast(File.c_str()).Get()); + Pimpl->Function = FString(StringCast(Function.c_str()).Get()); + Pimpl->Line = FString::FromInt(Line); +#endif /* defined ( SENSEGLOVE_LOGGING ) */ +} + +FSGLogCore::~FSGLogCore() +{ +#if defined ( SENSEGLOVE_LOGGING ) + const EVerbosity& Verbosity = Pimpl->Verbosity; + const ECategory& Category = Pimpl->Category; + const FStaticImpl::VerbosityMapper& VerbosityMapper = SPimpl->VerbosityMap[Verbosity]; + const FString& Tag = VerbosityMapper.Tag; + const FColor& Color = VerbosityMapper.Color; + + const FString Message(FString::Printf(TEXT("[%s %s %s %s] %s"), Tag.GetCharArray().GetData(), + Pimpl->File.GetCharArray().GetData(), + Pimpl->Function.GetCharArray().GetData(), + Pimpl->Line.GetCharArray().GetData(), Buffer.GetCharArray().GetData())); + + // Generic + if (Category == ECategory::Generic) + { + switch (Verbosity) + { + case EVerbosity::Display: + { + UE_LOG(LogGeneric, Display, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Error: + { + UE_LOG(LogGeneric, Error, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Fatal: + { + UE_LOG(LogGeneric, Fatal, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Log: + { + UE_LOG(LogGeneric, Log, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Verbose: + { + UE_LOG(LogGeneric, Verbose, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::VeryVerbose: + { + UE_LOG(LogGeneric, VeryVerbose, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Warning: + { + UE_LOG(LogGeneric, Warning, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + } + } + + // Editor + if (Category == ECategory::Editor) + { + switch (Verbosity) + { + case EVerbosity::Display: + { + UE_LOG(LogEditor, Display, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Error: + { + UE_LOG(LogEditor, Error, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Fatal: + { + UE_LOG(LogEditor, Fatal, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Log: + { + UE_LOG(LogEditor, Log, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Verbose: + { + UE_LOG(LogEditor, Verbose, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::VeryVerbose: + { + UE_LOG(LogEditor, VeryVerbose, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + + case EVerbosity::Warning: + { + UE_LOG(LogEditor, Warning, TEXT("%s"), Message.GetCharArray().GetData()); + } + break; + } + } +#endif /* defined ( SENSEGLOVE_LOGGING ) */ +} + +FSGLogCore::FStaticImpl::FStaticImpl() + : bInitialized(false) +{ +} + +FSGLogCore::FStaticImpl::VerbosityMapper::VerbosityMapper(const FString& InTag, + const FColor& InColor) + : Tag(InTag), + Color(InColor) +{ +} + +void FSGLogCore::FStaticImplDeleter::operator()(const FSGLogCore::FStaticImpl* Pointer) const +{ + delete Pointer; +} + +void FSGLogCore::FImplDeleter::operator()(const FSGLogCore::FImpl* Pointer) const +{ + delete Pointer; +} diff --git a/Source/SenseGloveLog/Private/SenseGloveLog.cpp b/Source/SenseGloveLog/Private/SenseGloveLog.cpp new file mode 100644 index 00000000..6c9a0aa7 --- /dev/null +++ b/Source/SenseGloveLog/Private/SenseGloveLog.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveLog.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveLogModule.h" + +IMPLEMENT_GAME_MODULE(FSenseGloveLogModule, SenseGloveLog); diff --git a/Source/SenseGloveLog/Private/SenseGloveLog.h b/Source/SenseGloveLog/Private/SenseGloveLog.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveLog/Private/SenseGloveLog.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveLog/Private/SenseGloveLogModule.cpp b/Source/SenseGloveLog/Private/SenseGloveLogModule.cpp new file mode 100644 index 00000000..b333e59a --- /dev/null +++ b/Source/SenseGloveLog/Private/SenseGloveLogModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveLogModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveLogModule" + +void FSenseGloveLogModule::StartupModule() +{ + SGLOG("Starting up SenseGloveLog module..."); +} + +void FSenseGloveLogModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveLog module..."); +} + +void FSenseGloveLogModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveLog module has succeeded!"); +} + +void FSenseGloveLogModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveLog module..."); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveLog/Private/SenseGloveLogModule.h b/Source/SenseGloveLog/Private/SenseGloveLogModule.h new file mode 100644 index 00000000..73f7add2 --- /dev/null +++ b/Source/SenseGloveLog/Private/SenseGloveLogModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveLog" + +class FSenseGloveLogModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE diff --git a/Source/SenseGloveLog/Public/SGLog/SGLog.h b/Source/SenseGloveLog/Public/SGLog/SGLog.h new file mode 100644 index 00000000..4f8e3890 --- /dev/null +++ b/Source/SenseGloveLog/Public/SGLog/SGLog.h @@ -0,0 +1,714 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 +#include +#include +#include + +#include "Containers/StringConv.h" +#include "Containers/UnrealString.h" +#include "GameFramework/Actor.h" +#include "Logging/LogVerbosity.h" +#include "Math/Rotator.h" +#include "Math/Vector.h" +#include "Templates/UnrealTemplate.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogEditor, All, All); + +DECLARE_LOG_CATEGORY_EXTERN(LogGeneric, All, All); + +template +struct TFSGLogString +{ + T T1; + FString T2; + static_assert(std::is_same::value, "Error: you are missing a template specialization!"); +}; + +template +struct TFSGLogString +{ + T T1; + FString T2; + static_assert(std::is_same::value, "Error: you are missing a template specialization!"); +}; + +template<> +struct TFSGLogString +{ + static void Format(const AActor* Actor, FString& OutString) + { + ensureAlwaysMsgf(Actor, TEXT("FATAL: cannot log a NULL actor object!")); + + OutString = FString::Printf(TEXT("%s"), Actor->GetName().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const AActor* Actor, FString& OutString) + { + ensureAlwaysMsgf(Actor, TEXT("FATAL: cannot log a NULL actor object!")); + + OutString = FString::Printf(TEXT("%s"), Actor->GetName().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const bool Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), (Value ? TEXT("True") : TEXT("False"))); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const bool Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), (Value ? TEXT("True") : TEXT("False"))); + } +}; + +template +struct TFSGLogString +{ + static void Format(const char* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +template +struct TFSGLogString +{ + static void Format(const char* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const char* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const char* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +#if defined ( __linux__ ) + +template< std::size_t L> +struct TFSGLogString +{ + static void Format(const char16_t* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +template< std::size_t L> +struct TFSGLogString +{ + static void Format(const char16_t* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +template <> +struct TFSGLogString +{ + static void Format(const char16_t* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +template <> +struct TFSGLogString +{ + static void Format(const char16_t* Value, FString& OutString) + { + OutString = FString(StringCast(Value).Get()); + } +}; + +#endif /* defined ( __linux__ ) */ + +template<> +struct TFSGLogString +{ + static void Format(const double Value, FString& OutString) + { + char Buffer[100]; + std::snprintf(Buffer, sizeof(Buffer), "%f", Value); + + std::string String(Buffer); + + OutString = FString(StringCast(String.c_str()).Get()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const double Value, FString& OutString) + { + char Buffer[100]; + std::snprintf(Buffer, sizeof(Buffer), "%f", Value); + + std::string String(Buffer); + + OutString = FString(StringCast(String.c_str()).Get()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const float Value, FString& OutString) + { + OutString = FString::SanitizeFloat(StaticCast(Value), 1); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const float Value, FString& OutString) + { + OutString = FString::SanitizeFloat(StaticCast(Value), 1); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FName& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.ToString().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FName& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.ToString().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FRotator& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.ToString().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FRotator& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.ToString().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FString& Value, FString& OutString) + { + OutString = Value; + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FString& Value, FString& OutString) + { + OutString = Value; + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FVector& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.ToString().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const FVector& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.ToString().GetCharArray().GetData()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int8 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int8 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int16 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int16 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int32 Value, FString& OutString) + { + OutString = FString::FromInt(Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int32 Value, FString& OutString) + { + OutString = FString::FromInt(Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int64 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int64 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const long double Value, FString& OutString) + { + char Buffer[100]; + std::snprintf(Buffer, sizeof(Buffer), "%Lf", Value); + + std::string String(Buffer); + + OutString = FString(StringCast(String.c_str()).Get()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const long double Value, FString& OutString) + { + char Buffer[100]; + std::snprintf(Buffer, sizeof(Buffer), "%Lf", Value); + + std::string String(Buffer); + + OutString = FString(StringCast(String.c_str()).Get()); + } +}; + +#if defined ( __linux__ ) +template <> +struct TFSGLogString +{ + static void Format(const std::size_t Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; +#endif /* defined ( __linux__ ) */ + +#if defined ( __linux__ ) +template <> +struct TFSGLogString +{ + static void Format(const std::size_t Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; +#endif /* defined ( __linux__ ) */ + +template<> +struct TFSGLogString +{ + static void Format(const int8 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int8 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int16 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int16 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int32 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int32 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int64 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const int64 Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%d"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const std::string& Value, FString& OutString) + { + OutString = FString(StringCast(Value.c_str()).Get()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const std::string& Value, FString& OutString) + { + OutString = FString(StringCast(Value.c_str()).Get()); + } +}; + +template +struct TFSGLogString +{ + static void Format(const wchar_t* Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value); + } +}; + +template +struct TFSGLogString +{ + static void Format(const wchar_t* Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const wchar_t* Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const wchar_t* Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const std::wstring& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.c_str()); + } +}; + +template<> +struct TFSGLogString +{ + static void Format(const std::wstring& Value, FString& OutString) + { + OutString = FString::Printf(TEXT("%s"), Value.c_str()); + } +}; + +class SENSEGLOVELOG_API FSGLogCore +{ +public: + enum class EVerbosity : uint8 + { + /** Always prints s fatal error to console (and log file) and crashes (even if logging is disabled) */ + Fatal, + + /** + * Prints an error to console (and log file). + * Commandlets and the editor collect and report errors. Error messages result in commandlet failure. + */ + Error, + + /** + * Prints a warning to console (and log file). + * Commandlets and the editor collect and report warnings. Warnings can be treated as an error. + */ + Warning, + + /** Prints a message to console (and log file) */ + Display, + + /** Prints a message to a log file (does not print to console) */ + Log, + + /** + * Prints a verbose message to a log file (if Verbose logging is enabled for the given category, + * usually used for detailed logging) + */ + Verbose, + + /** + * Prints a verbose message to a log file (if VeryVerbose logging is enabled, + * usually used for detailed logging that would otherwise spam output) + */ + VeryVerbose, + }; + + enum class ECategory + { + Editor, + Generic, + }; + +private: + struct FStaticImpl; + + struct FStaticImplDeleter + { + void operator()(const FStaticImpl* Pointer) const; + }; + + static std::unique_ptr SPimpl; + static FStaticImplDeleter SPimplDeleter; + + struct FImpl; + + struct FImplDeleter + { + void operator()(const FImpl* Pointer) const; + }; + + std::unique_ptr Pimpl; + FImplDeleter PimplDeleter; + +private: + FString Buffer; + bool bAnyEntries; + +public: + FSGLogCore(const EVerbosity& Verbosity, const ECategory& Category, const std::string& File, + const std::string& Function, const int32 Line); + virtual ~FSGLogCore(); + +public: + template + FSGLogCore& operator,(const T& Argument) + { + if (bAnyEntries) + { + Buffer += FString(TEXT(" • ")); + } + + FString FormattedArgument; + TFSGLogString::Format(Argument, FormattedArgument); + Buffer += FormattedArgument; + bAnyEntries = true; + + return *this; + } +}; + +/* Generic */ + +#define SGLOG_FATAL( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Fatal, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_ERROR( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Error, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_WARNING( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Warning, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_DISPLAY( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Display, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_LOG( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Log, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_VERBOSE( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Verbose, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_VERY_VERBOSE( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::VeryVerbose, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Log, FSGLogCore::ECategory::Generic, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +/* Editor */ + +#define SGLOG_EDITOR_FATAL( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Fatal, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR_ERROR( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Error, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR_WARNING( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Warning, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR_DISPLAY( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Display, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR_LOG( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Log, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR_VERBOSE( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Verbose, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR_VERY_VERBOSE( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::VeryVerbose, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; + +#define SGLOG_EDITOR( ... ) \ + (FSGLogCore(FSGLogCore::EVerbosity::Log, FSGLogCore::ECategory::Editor, __FILE__, __FUNCTION__, __LINE__)), __VA_ARGS__; \ No newline at end of file diff --git a/Source/SenseGloveLog/SenseGloveLog.Build.cs b/Source/SenseGloveLog/SenseGloveLog.Build.cs new file mode 100644 index 00000000..806f59e8 --- /dev/null +++ b/Source/SenseGloveLog/SenseGloveLog.Build.cs @@ -0,0 +1,59 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveLog : ModuleRules +{ + public SenseGloveLog(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "CoreUObject", + "Engine", + } + ); + + if (Target.Configuration != UnrealTargetConfiguration.Shipping) + { + PublicDefinitions.Add("SENSEGLOVE_LOGGING"); + } + } +} diff --git a/Source/SenseGloveTypes/Private/SGTypes/SGConnectTypes.cpp b/Source/SenseGloveTypes/Private/SGTypes/SGConnectTypes.cpp new file mode 100644 index 00000000..64ed022d --- /dev/null +++ b/Source/SenseGloveTypes/Private/SGTypes/SGConnectTypes.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" \ No newline at end of file diff --git a/Source/SenseGloveTypes/Private/SGTypes/SGCoreTypes.cpp b/Source/SenseGloveTypes/Private/SGTypes/SGCoreTypes.cpp new file mode 100644 index 00000000..898800e1 --- /dev/null +++ b/Source/SenseGloveTypes/Private/SGTypes/SGCoreTypes.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" \ No newline at end of file diff --git a/Source/SenseGloveTypes/Private/SenseGloveTypes.cpp b/Source/SenseGloveTypes/Private/SenseGloveTypes.cpp new file mode 100644 index 00000000..283d6b0a --- /dev/null +++ b/Source/SenseGloveTypes/Private/SenseGloveTypes.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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) diff --git a/Source/SenseGloveTypes/Private/SenseGloveTypes.h b/Source/SenseGloveTypes/Private/SenseGloveTypes.h new file mode 100644 index 00000000..93863a37 --- /dev/null +++ b/Source/SenseGloveTypes/Private/SenseGloveTypes.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" diff --git a/Source/SenseGloveTypes/Private/SenseGloveTypesModule.cpp b/Source/SenseGloveTypes/Private/SenseGloveTypesModule.cpp new file mode 100644 index 00000000..99493e8c --- /dev/null +++ b/Source/SenseGloveTypes/Private/SenseGloveTypesModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 diff --git a/Source/SenseGloveTypes/Private/SenseGloveTypesModule.h b/Source/SenseGloveTypes/Private/SenseGloveTypesModule.h new file mode 100644 index 00000000..9bcbe6cf --- /dev/null +++ b/Source/SenseGloveTypes/Private/SenseGloveTypesModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 diff --git a/Source/SenseGloveTypes/Public/SGTypes/SGConnectTypes.h b/Source/SenseGloveTypes/Public/SGTypes/SGConnectTypes.h new file mode 100644 index 00000000..508afea2 --- /dev/null +++ b/Source/SenseGloveTypes/Public/SGTypes/SGConnectTypes.h @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 \ No newline at end of file diff --git a/Source/SenseGloveTypes/Public/SGTypes/SGCoreTypes.h b/Source/SenseGloveTypes/Public/SGTypes/SGCoreTypes.h new file mode 100644 index 00000000..dfc161bd --- /dev/null +++ b/Source/SenseGloveTypes/Public/SGTypes/SGCoreTypes.h @@ -0,0 +1,379 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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"), +}; \ No newline at end of file diff --git a/Source/SenseGloveTypes/SenseGloveTypes.Build.cs b/Source/SenseGloveTypes/SenseGloveTypes.Build.cs new file mode 100644 index 00000000..03453ead --- /dev/null +++ b/Source/SenseGloveTypes/SenseGloveTypes.Build.cs @@ -0,0 +1,60 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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", + } + ); + } +} diff --git a/Source/SenseGloveUtils/Private/SGUtils/SGArrayUtils.cpp b/Source/SenseGloveUtils/Private/SGUtils/SGArrayUtils.cpp new file mode 100644 index 00000000..4e05c1f1 --- /dev/null +++ b/Source/SenseGloveUtils/Private/SGUtils/SGArrayUtils.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGUtils/SGArrayUtils.h" \ No newline at end of file diff --git a/Source/SenseGloveUtils/Private/SGUtils/SGEnumUtils.cpp b/Source/SenseGloveUtils/Private/SGUtils/SGEnumUtils.cpp new file mode 100644 index 00000000..009422c2 --- /dev/null +++ b/Source/SenseGloveUtils/Private/SGUtils/SGEnumUtils.cpp @@ -0,0 +1,36 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SGUtils/SGEnumUtils.h" \ No newline at end of file diff --git a/Source/SenseGloveUtils/Private/SenseGloveUtils.cpp b/Source/SenseGloveUtils/Private/SenseGloveUtils.cpp new file mode 100644 index 00000000..0e1426a8 --- /dev/null +++ b/Source/SenseGloveUtils/Private/SenseGloveUtils.cpp @@ -0,0 +1,40 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveUtils.h" +#include "Modules/ModuleManager.h" +#include "SenseGloveUtilsModule.h" + +IMPLEMENT_MODULE(FSenseGloveUtilsModule, SenseGloveUtils) \ No newline at end of file diff --git a/Source/SenseGloveUtils/Private/SenseGloveUtils.h b/Source/SenseGloveUtils/Private/SenseGloveUtils.h new file mode 100644 index 00000000..d445de63 --- /dev/null +++ b/Source/SenseGloveUtils/Private/SenseGloveUtils.h @@ -0,0 +1,38 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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" \ No newline at end of file diff --git a/Source/SenseGloveUtils/Private/SenseGloveUtilsModule.cpp b/Source/SenseGloveUtils/Private/SenseGloveUtilsModule.cpp new file mode 100644 index 00000000..d0dae8e3 --- /dev/null +++ b/Source/SenseGloveUtils/Private/SenseGloveUtilsModule.cpp @@ -0,0 +1,61 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveUtilsModule.h" +#include "SGLog/SGLog.h" + +#define LOCTEXT_NAMESPACE "FSenseGloveUtilsModule" + +void FSenseGloveUtilsModule::StartupModule() +{ + SGLOG("Starting up SenseGloveUtils module..."); +} + +void FSenseGloveUtilsModule::PreUnloadCallback() +{ + SGLOG("Unloading SenseGloveUtils module..."); +} + +void FSenseGloveUtilsModule::PostLoadCallback() +{ + SGLOG("Loading of SenseGloveUtils module has succeeded!"); +} + +void FSenseGloveUtilsModule::ShutdownModule() +{ + SGLOG("Shutting down SenseGloveUtils module..."); +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveUtils/Private/SenseGloveUtilsModule.h b/Source/SenseGloveUtils/Private/SenseGloveUtilsModule.h new file mode 100644 index 00000000..04324917 --- /dev/null +++ b/Source/SenseGloveUtils/Private/SenseGloveUtilsModule.h @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "SenseGloveUtils" + +class FSenseGloveUtilsModule : public IModuleInterface +{ +public: + virtual void StartupModule() override; + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual void ShutdownModule() override; +}; + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Source/SenseGloveUtils/Public/SGUtils/SGArrayUtils.h b/Source/SenseGloveUtils/Public/SGUtils/SGArrayUtils.h new file mode 100644 index 00000000..e25c7aa3 --- /dev/null +++ b/Source/SenseGloveUtils/Public/SGUtils/SGArrayUtils.h @@ -0,0 +1,450 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 + +#include "Containers/Array.h" +#include "Templates/UnrealTemplate.h" + +class SENSEGLOVEUTILS_API FSGArrayUtils final +{ +public: + template + static FORCEINLINE TArray FromStdVector(const std::vector& Vector) + { + TArray Array(&Vector[0], Vector.size()); + return MoveTemp(Array); + } + + /// NOTE + /// std::vector is a non conforming container. Since it packs bools to be stored in one bit, + /// it cannot provide a bool reference. Thus, FSGArrayUtils::FromStdVector() cannot be used. + /// Hence, the specialization. + static TArray FromStdVector(const std::vector& Vector) + { + TArray Array; + + for (const bool bValue: Vector) + { + Array.Add(bValue); + } + + return MoveTemp(Array); + } + + template + static FORCEINLINE TArray> FromStdVector(const std::vector>& Vector) + { + TArray> Array; + + for (const std::vector& InnerVector: Vector) + { + TArray InnerArray{FromStdVector(InnerVector)}; + Array.Add(MoveTemp(InnerArray)); + } + + return MoveTemp(Array); + } + + template + static TArray FromStdVector(const std::vector& Vector) + { + TArray Array; + + for (const T1& T1Element: Vector) + { + T2 T2Element(T1Element); + Array.Add(MoveTemp(T2Element)); + } + + return MoveTemp(Array); + } + + template + static TArray> FromStdVector(const std::vector>& Vector) + { + TArray> Array; + + for (const std::vector& InnerVector: Vector) + { + TArray InnerArray{FromStdVector(InnerVector)}; + Array.Add(MoveTemp(InnerArray)); + } + + return MoveTemp(Array); + } + + template + static TArray FromStdVector(const std::vector& Vector) + { + TArray Array; + + for (const T1& T1Element: Vector) + { + IntermediateImpl ImplElement(T1Element); + T2 T2Element((ImplElement.*ToT2TypeMethod)()); + Array.Add(MoveTemp(T2Element)); + } + + return MoveTemp(Array); + } + + template + static TArray> FromStdVector(const std::vector>& Vector) + { + TArray> Array; + + for (const std::vector& InnerVector: Vector) + { + TArray InnerArray{FromStdVector(InnerVector)}; + Array.Add(MoveTemp(InnerArray)); + } + + return MoveTemp(Array); + } + + template + static FORCEINLINE std::vector ToStdVector(const TArray& Array) + { + std::vector Vector(&Array[0], &Array[0] + Array.Num()); + return MoveTemp(Vector); + } + + template + static FORCEINLINE std::vector> ToStdVector(const TArray>& Array) + { + std::vector> Vector; + + for (const TArray& InnerArray: Array) + { + std::vector InnerVector{ToStdVector(InnerArray)}; + Vector.emplace_back(MoveTemp(InnerVector)); + } + + return MoveTemp(Vector); + } + + template + static std::vector ToStdVector(const TArray& Array) + { + std::vector Vector; + + for (const T1& T1Element: Array) + { + T2 T2Element((T1Element.*ToUnderlyingTypeMethod)()); + Vector.emplace_back(MoveTemp(T2Element)); + } + + return MoveTemp(Vector); + } + + template + static std::vector> ToStdVector(const TArray>& Array) + { + std::vector> Vector; + + for (const TArray& InnerArray: Array) + { + std::vector InnerVector{ToStdVector(InnerArray)}; + Vector.emplace_back(MoveTemp(InnerVector)); + } + + return MoveTemp(Vector); + } + + template + static std::vector ToStdVector(const TArray& Array) + { + std::vector Vector; + + for (const T1& T1Element: Array) + { + IntermediateImpl ImplElement(T1Element); + T2 T2Element((ImplElement.*ToUnderlyingTypeMethod)()); + Vector.emplace_back(MoveTemp(T2Element)); + } + + return MoveTemp(Vector); + } + + template + static std::vector> ToStdVector(const TArray>& Array) + { + std::vector> Vector; + + for (const TArray& InnerArray: Array) + { + std::vector InnerVector{ToStdVector(InnerArray)}; + Vector.emplace_back(MoveTemp(InnerVector)); + } + + return MoveTemp(Vector); + } + + template + static TArray FromImplType(const TArray& ImplArray) + { + TArray Array; + + for (const T1& T1Element: ImplArray) + { + T2 T2Element(T1Element); + Array.Add(MoveTemp(T2Element)); + } + + return MoveTemp(Array); + } + + template + static TArray FromImplType(UObject* Outer, const TArray& ImplArray) + { + TArray Array; + + for (const T1& T1Element: ImplArray) + { + T2* T2Element(NewObjectMethod(Outer, T1Element)); + Array.Add(MoveTemp(T2Element)); + } + + return MoveTemp(Array); + } + + template + static TArray> FromImplType(const TArray>& ImplArray) + { + TArray> Array; + + for (const TArray& InnerImplArray: ImplArray) + { + TArray InnerArray{FromImplType(InnerImplArray)}; + Array.Add(MoveTemp(InnerArray)); + } + + return MoveTemp(Array); + } + + template + static TArray> FromImplType(UObject* Outer, const TArray>& ImplArray) + { + TArray> Array; + + for (const TArray& InnerImplArray: ImplArray) + { + TArray InnerArray{FromImplType(Outer, InnerImplArray)}; + Array.Add(MoveTemp(InnerArray)); + } + + return MoveTemp(Array); + } + + template + static TArray FromImplType(const TArray>& ImplArray) + { + TArray Array; + + for (const TArray& InnerImplArray: ImplArray) + { + TArray InnerArray{FromImplType(InnerImplArray)}; + S InnerArrayContainer{MoveTemp(InnerArray)}; + Array.Add(MoveTemp(InnerArrayContainer)); + } + + return MoveTemp(Array); + } + + template + static TArray FromImplType(UObject* Outer, const TArray>& ImplArray) + { + TArray Array; + + for (const TArray& InnerImplArray: ImplArray) + { + TArray InnerArray{FromImplType(Outer, InnerImplArray)}; + S InnerArrayContainer{MoveTemp(InnerArray)}; + Array.Add(MoveTemp(InnerArrayContainer)); + } + + return MoveTemp(Array); + } + + template + static TArray FromImplType(const TArray>& ImplArray) + { + TArray Array; + + for (const TArray& InnerImplArray: ImplArray) + { + TArray InnerArray{FromImplType(InnerImplArray)}; + S InnerArrayContainer{MoveTemp(InnerArray)}; + Array.Add(MoveTemp(InnerArrayContainer)); + } + + return MoveTemp(Array); + } + + template + static TArray ToImplType(const TArray& Array) + { + TArray ImplArray; + + for (const T1& T1Element: Array) + { + T2 T2Element((T1Element.*ToUnderlyingTypeMethod)()); + ImplArray.Add(MoveTemp(T2Element)); + } + + return MoveTemp(ImplArray); + } + + template + static TArray ToImplType(const TArray& Array) + { + TArray ImplArray; + + for (const T1* T1Element: Array) + { + T2 T2Element((T1Element->*ToUnderlyingTypeMethod)()); + ImplArray.Add(MoveTemp(T2Element)); + } + + return MoveTemp(ImplArray); + } + + template + static TArray> ToImplType(const TArray>& Array) + { + TArray> ImplArray; + + for (const TArray& InnerArray: Array) + { + TArray InnerImplArray{ToImplType(InnerArray)}; + ImplArray.Add(MoveTemp(InnerImplArray)); + } + + return MoveTemp(ImplArray); + } + + template + static TArray> ToImplType(const TArray>& Array) + { + TArray> ImplArray; + + for (const TArray& InnerArray: Array) + { + TArray InnerImplArray{ToImplType(InnerArray)}; + ImplArray.Add(MoveTemp(InnerImplArray)); + } + + return MoveTemp(ImplArray); + } + + template S::*InnerArray> + static TArray> ToImplType(const TArray& Array) + { + TArray> ImplArray; + + for (const S& InnerArrayContainer: Array) + { + TArray InnerImplArray{ToImplType(InnerArrayContainer.*InnerArray)}; + ImplArray.Add(MoveTemp(InnerImplArray)); + } + + return MoveTemp(ImplArray); + } + + template S::*InnerArray> + static TArray> ToImplType(const TArray& Array) + { + TArray> ImplArray; + + for (const S& InnerArrayContainer: Array) + { + TArray InnerImplArray{ToImplType(InnerArrayContainer.*InnerArray)}; + ImplArray.Add(MoveTemp(InnerImplArray)); + } + + return MoveTemp(ImplArray); + } + + template S::*InnerArray> + static TArray> FromBPNestedArray(const TArray& BPNestedArray) + { + TArray> NestedArray; + + for (const S& BPInnerArrayContainer: BPNestedArray) + { + NestedArray.Add(BPInnerArrayContainer.*InnerArray); + } + + return MoveTemp(NestedArray); + } + + template + static TArray ToBPNestedArray(const TArray>& NestedArray) + { + TArray BPNestedArray; + + for (const TArray& InnerArray: NestedArray) + { + S BPInnerArrayContainer{InnerArray}; + BPNestedArray.Add(MoveTemp(BPInnerArrayContainer)); + } + + return MoveTemp(BPNestedArray); + } + + + template + static TArray ToBPNestedArray(const TArray>& NestedArray) + { + TArray BPNestedArray; + + for (const TArray& InnerArray: NestedArray) + { + S BPInnerArrayContainer{InnerArray}; + BPNestedArray.Add(MoveTemp(BPInnerArrayContainer)); + } + + return MoveTemp(BPNestedArray); + } + +public: + FSGArrayUtils() = delete; + virtual ~FSGArrayUtils() = delete; +}; \ No newline at end of file diff --git a/Source/SenseGloveUtils/Public/SGUtils/SGEnumUtils.h b/Source/SenseGloveUtils/Public/SGUtils/SGEnumUtils.h new file mode 100644 index 00000000..a58b10bb --- /dev/null +++ b/Source/SenseGloveUtils/Public/SGUtils/SGEnumUtils.h @@ -0,0 +1,68 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 "Containers/UnrealString.h" +#include "Misc/AssertionMacros.h" +#include "Templates/UnrealTemplate.h" +#include "UObject/Class.h" +#include "UObject/Object.h" +#include "UObject/Package.h" +#include "UObject/ObjectMacros.h" + +class SENSEGLOVEUTILS_API SGEnumUtils +{ +public: + template + static FORCEINLINE FString ValueToName(const FString& Enum, const E Value) + { + const UEnum* EnumPtr = FindObject(ANY_PACKAGE, *Enum, true); + if (!ensureAlwaysMsgf(EnumPtr, TEXT("No such enum exists!"))) { + return FString("None"); + } + return EnumPtr->GetNameByValue(StaticCast(Value)).ToString(); + } + + template + static FORCEINLINE E NameToValue(const FString& Enum, const FString& Name) + { + UEnum* EnumPtr = FindObject(ANY_PACKAGE, *Enum, true); + if (!ensureAlwaysMsgf(EnumPtr, TEXT("No such enum exists!"))) { + return StaticCast(0); + } + return StaticCast(EnumPtr->GetValueByName(FName(*Name))); + } +}; \ No newline at end of file diff --git a/Source/SenseGloveUtils/SenseGloveUtils.Build.cs b/Source/SenseGloveUtils/SenseGloveUtils.Build.cs new file mode 100644 index 00000000..acf260e4 --- /dev/null +++ b/Source/SenseGloveUtils/SenseGloveUtils.Build.cs @@ -0,0 +1,60 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @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 SenseGloveUtils : ModuleRules +{ + public SenseGloveUtils(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "SenseGloveLog", + } + ); + } +} diff --git a/ThirdParty/include/SenseGlove/Connect/Connection.hpp b/ThirdParty/include/SenseGlove/Connect/Connection.hpp new file mode 100644 index 00000000..d96f52a3 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/Connection.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59f6a309227c5049e138810d8bea1ab1e6db458a25463166372b71fba2407acd +size 4950 diff --git a/ThirdParty/include/SenseGlove/Connect/ConnectionData.hpp b/ThirdParty/include/SenseGlove/Connect/ConnectionData.hpp new file mode 100644 index 00000000..7659d6cd --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/ConnectionData.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:271b1f83d014aa48a3d5a0b80fd81d5090f9a6d77cac9bfef6732feabc7d6ae2 +size 2000 diff --git a/ThirdParty/include/SenseGlove/Connect/ConnectionFactory.hpp b/ThirdParty/include/SenseGlove/Connect/ConnectionFactory.hpp new file mode 100644 index 00000000..0e4978ee --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/ConnectionFactory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c08fe01de1d62eb11df3cbdc622c24898716f5cb98fa1147e580b084ce0ee01a +size 760 diff --git a/ThirdParty/include/SenseGlove/Connect/ConnectionTester.hpp b/ThirdParty/include/SenseGlove/Connect/ConnectionTester.hpp new file mode 100644 index 00000000..6f6e159f --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/ConnectionTester.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d72df37826892f2bf7c665f6e12edd9c4de9d9868d021b3a92c7ec33b626f3 +size 1451 diff --git a/ThirdParty/include/SenseGlove/Connect/ConnectionsTracker.hpp b/ThirdParty/include/SenseGlove/Connect/ConnectionsTracker.hpp new file mode 100644 index 00000000..3a478255 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/ConnectionsTracker.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72856422be54254533aec5fe6a4c18d00d977bf0c50c00ca504f40eceac0f961 +size 2322 diff --git a/ThirdParty/include/SenseGlove/Connect/Debugger.hpp b/ThirdParty/include/SenseGlove/Connect/Debugger.hpp new file mode 100644 index 00000000..832eefb9 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/Debugger.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17a8c82094d67f4e8ce3a12049b616ed846e2f356de336cfee4c51594a8d5abe +size 2727 diff --git a/ThirdParty/include/SenseGlove/Connect/DeviceScanner.hpp b/ThirdParty/include/SenseGlove/Connect/DeviceScanner.hpp new file mode 100644 index 00000000..affe1ed8 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/DeviceScanner.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0460742979c4538fb93d22808416aa1465ac15b4e8c850656e8be91c774eb469 +size 2342 diff --git a/ThirdParty/include/SenseGlove/Connect/ExitCodes.hpp b/ThirdParty/include/SenseGlove/Connect/ExitCodes.hpp new file mode 100644 index 00000000..622932f5 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/ExitCodes.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ec24b505d597a7d16c5f6bfe060ae5532dbfbf638e86def87ddffb9b4c96cd9 +size 2414 diff --git a/ThirdParty/include/SenseGlove/Connect/IdResponse.hpp b/ThirdParty/include/SenseGlove/Connect/IdResponse.hpp new file mode 100644 index 00000000..450a5775 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/IdResponse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fa62a37bb79d19f2b73083f058218c6743c0f1d5489e1e693ab32acdd54cd41 +size 2205 diff --git a/ThirdParty/include/SenseGlove/Connect/IpcCommand.hpp b/ThirdParty/include/SenseGlove/Connect/IpcCommand.hpp new file mode 100644 index 00000000..aa7b91d8 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/IpcCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc927cb9e520eec3e2fccdfe74d8ae5a2d003f7420783bdbcf7bc9ffc5ed61bd +size 1944 diff --git a/ThirdParty/include/SenseGlove/Connect/NewSGDevice.hpp b/ThirdParty/include/SenseGlove/Connect/NewSGDevice.hpp new file mode 100644 index 00000000..3811fed2 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/NewSGDevice.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77c8de57f98a5908e8f3c885b505655756bfe1fadfff78b300ccecf08f184a04 +size 1817 diff --git a/ThirdParty/include/SenseGlove/Connect/Platform.hpp b/ThirdParty/include/SenseGlove/Connect/Platform.hpp new file mode 100644 index 00000000..a434a47e --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/Platform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbba9c7f28633e3ff30a88eea91a19dbc027570eba954dc0598f9645b0a6758c +size 4215 diff --git a/ThirdParty/include/SenseGlove/Connect/PortInfo.hpp b/ThirdParty/include/SenseGlove/Connect/PortInfo.hpp new file mode 100644 index 00000000..aa5fdf22 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/PortInfo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c01da3f66b730acb09bb53c4e6683635239722992868c2fd5d90f6c48d0b7ab0 +size 2743 diff --git a/ThirdParty/include/SenseGlove/Connect/SGConnect.hpp b/ThirdParty/include/SenseGlove/Connect/SGConnect.hpp new file mode 100644 index 00000000..813df49e --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/SGConnect.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ca59c2d98f2ab8fc5cc6d0322cc4f9f8672e036bb1b5cbf6fd3eface2fc466d +size 8747 diff --git a/ThirdParty/include/SenseGlove/Connect/SGDevice.hpp b/ThirdParty/include/SenseGlove/Connect/SGDevice.hpp new file mode 100644 index 00000000..168712f0 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/SGDevice.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53804522a526967e0d7f8ad3b707072e0fda02077267e3732d029cd2b7c84879 +size 2995 diff --git a/ThirdParty/include/SenseGlove/Connect/SerialConnection.hpp b/ThirdParty/include/SenseGlove/Connect/SerialConnection.hpp new file mode 100644 index 00000000..fe4bc191 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/SerialConnection.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:026bde30f15262e65b76a3547cc9930fb8f251e38d8cd4cc96282af3e479e826 +size 2496 diff --git a/ThirdParty/include/SenseGlove/Connect/SerialPorts.hpp b/ThirdParty/include/SenseGlove/Connect/SerialPorts.hpp new file mode 100644 index 00000000..950390f0 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/SerialPorts.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d061c729d70c4fe79beea5b1d8300ed8e4816d919590739cdd356eb199bdb3 +size 1859 diff --git a/ThirdParty/include/SenseGlove/Connect/SharedMem.hpp b/ThirdParty/include/SenseGlove/Connect/SharedMem.hpp new file mode 100644 index 00000000..03716516 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/SharedMem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4f8b25e73f9a913ffa179ef9ca8ed23e8bd2756fd209c60f9f56a5b0395f133 +size 3373 diff --git a/ThirdParty/include/SenseGlove/Connect/StringUtils.hpp b/ThirdParty/include/SenseGlove/Connect/StringUtils.hpp new file mode 100644 index 00000000..396313e4 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/StringUtils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acf9d693b990216aef2ffb87e4af456d9a4da39b4572a0b2f3ba7cbc1379bfe1 +size 1685 diff --git a/ThirdParty/include/SenseGlove/Connect/TestingState.hpp b/ThirdParty/include/SenseGlove/Connect/TestingState.hpp new file mode 100644 index 00000000..e43331db --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/TestingState.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5bf54e265cc6dc93fc16b3da1490991a0aa65866723a82bc55536b0b23cd73 +size 1653 diff --git a/ThirdParty/include/SenseGlove/Connect/TransmissionMode.hpp b/ThirdParty/include/SenseGlove/Connect/TransmissionMode.hpp new file mode 100644 index 00000000..cb74a17a --- /dev/null +++ b/ThirdParty/include/SenseGlove/Connect/TransmissionMode.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25e287501e7d09f7e8c0a0888c5dc09666d15da692ab6a30438090736566e12 +size 875 diff --git a/ThirdParty/include/SenseGlove/Core/Anatomy.hpp b/ThirdParty/include/SenseGlove/Core/Anatomy.hpp new file mode 100644 index 00000000..a84acd64 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Anatomy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77af0487c7e7bdf87fbce5a575ba243970d8f7e8e137f579374988c828ed0e7 +size 3065 diff --git a/ThirdParty/include/SenseGlove/Core/BasicHandModel.hpp b/ThirdParty/include/SenseGlove/Core/BasicHandModel.hpp new file mode 100644 index 00000000..b9474eeb --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/BasicHandModel.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e91f31faa5dbf9264035e876c2449f900c6485f1f0b7aeb497b69c17228a2bc1 +size 7811 diff --git a/ThirdParty/include/SenseGlove/Core/BetaDevice.hpp b/ThirdParty/include/SenseGlove/Core/BetaDevice.hpp new file mode 100644 index 00000000..546ab2d2 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/BetaDevice.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f99765ee13bba82a3a5d5bc481fb1d3088780d92c1e795ba6968e5c6ef9fe02 +size 3431 diff --git a/ThirdParty/include/SenseGlove/Core/BuzzCommand.hpp b/ThirdParty/include/SenseGlove/Core/BuzzCommand.hpp new file mode 100644 index 00000000..bb9e817c --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/BuzzCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da94aa900c777d438042fc2963d1742c54ea35c55e48213abe341c4aa2ff10a3 +size 2795 diff --git a/ThirdParty/include/SenseGlove/Core/CalibrationDataPoint.hpp b/ThirdParty/include/SenseGlove/Core/CalibrationDataPoint.hpp new file mode 100644 index 00000000..11727e99 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/CalibrationDataPoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8075bc55751c0e14f674725d76c04b254d8c20413d349306587a1c406ff18a0 +size 2397 diff --git a/ThirdParty/include/SenseGlove/Core/Communications.hpp b/ThirdParty/include/SenseGlove/Core/Communications.hpp new file mode 100644 index 00000000..6a1ab1bf --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Communications.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38d331b743d8c5c6f6de85be93f875c9e954e4871618406a294867248918e56a +size 2432 diff --git a/ThirdParty/include/SenseGlove/Core/Debugger.hpp b/ThirdParty/include/SenseGlove/Core/Debugger.hpp new file mode 100644 index 00000000..2b82726d --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Debugger.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b8adeb80d18778b05dc8f0feb332ec15d3eac5583de07a2a3542fb14cf25f76 +size 2045 diff --git a/ThirdParty/include/SenseGlove/Core/DeviceList.hpp b/ThirdParty/include/SenseGlove/Core/DeviceList.hpp new file mode 100644 index 00000000..5a598338 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/DeviceList.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b482c6d00a7e18013887d8755644c600deb7934522f62cd1cc2a8e6a72b17ab +size 4212 diff --git a/ThirdParty/include/SenseGlove/Core/DeviceModel.hpp b/ThirdParty/include/SenseGlove/Core/DeviceModel.hpp new file mode 100644 index 00000000..09be8cde --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/DeviceModel.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a683b734d08a4cecc23c616e8ce3d9a3699c227191854e756282984a614bf72 +size 3503 diff --git a/ThirdParty/include/SenseGlove/Core/DeviceTypes.hpp b/ThirdParty/include/SenseGlove/Core/DeviceTypes.hpp new file mode 100644 index 00000000..1e6602f4 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/DeviceTypes.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74b02cb6c5f11ee3636ce27b1b47858bb38abe62d57797c8975bfaace5d840ff +size 1145 diff --git a/ThirdParty/include/SenseGlove/Core/FileIO.hpp b/ThirdParty/include/SenseGlove/Core/FileIO.hpp new file mode 100644 index 00000000..d17d67f3 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/FileIO.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6745fe0f443ffcfb8bd275a178ef9525b9c423b3153e3e5a3813bee1a266eb5 +size 2527 diff --git a/ThirdParty/include/SenseGlove/Core/FingerCommand.hpp b/ThirdParty/include/SenseGlove/Core/FingerCommand.hpp new file mode 100644 index 00000000..caeaf3c2 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/FingerCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30533115dc2cbb99a65379aa45fedf4be08c8cec23a344f069cc82b60638c6e1 +size 2351 diff --git a/ThirdParty/include/SenseGlove/Core/Fingers.hpp b/ThirdParty/include/SenseGlove/Core/Fingers.hpp new file mode 100644 index 00000000..ea32c369 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Fingers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0895902647831f46d19587cb8b9fac55826b4585db708e2db8da95570bf17e0c +size 2533 diff --git a/ThirdParty/include/SenseGlove/Core/FloatUtils.hpp b/ThirdParty/include/SenseGlove/Core/FloatUtils.hpp new file mode 100644 index 00000000..2a114152 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/FloatUtils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d32d34a266d5641bbb91a2b486a5c7b1af5b68f52701afcbd180f090c4fc60ed +size 970 diff --git a/ThirdParty/include/SenseGlove/Core/ForceFeedbackCommand.hpp b/ThirdParty/include/SenseGlove/Core/ForceFeedbackCommand.hpp new file mode 100644 index 00000000..087cc5f9 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/ForceFeedbackCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd935752c34f4213eedb20eff331d918c05c3422382a0d4fa29de32b4dd377f +size 3118 diff --git a/ThirdParty/include/SenseGlove/Core/HandInterpolator.hpp b/ThirdParty/include/SenseGlove/Core/HandInterpolator.hpp new file mode 100644 index 00000000..b7532f23 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HandInterpolator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb41d775a2171b1110bdb6fd1bd657eb6080d5947d17c264b161f8abc3d1d745 +size 6826 diff --git a/ThirdParty/include/SenseGlove/Core/HandPose.hpp b/ThirdParty/include/SenseGlove/Core/HandPose.hpp new file mode 100644 index 00000000..04ea83d7 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HandPose.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f13a548cc3ec1275ce0ca8b1b645bec237844e368f579d008c3e61f8e4a1dbac +size 8197 diff --git a/ThirdParty/include/SenseGlove/Core/HandProfile.hpp b/ThirdParty/include/SenseGlove/Core/HandProfile.hpp new file mode 100644 index 00000000..48a68f12 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HandProfile.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc0fb68bf4c422519c030e8c98f497105f3181057657c7977b7e48d89979fd82 +size 5511 diff --git a/ThirdParty/include/SenseGlove/Core/HapticGlove.hpp b/ThirdParty/include/SenseGlove/Core/HapticGlove.hpp new file mode 100644 index 00000000..e189f8a2 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HapticGlove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb52cd37ec048b0d633627aae698998b9bc95dddd3f10cd291a56c9ed5f5dc37 +size 12050 diff --git a/ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationCheck.hpp b/ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationCheck.hpp new file mode 100644 index 00000000..c1eed11d --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationCheck.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cd9740f4b937cfa178c21badeb7f5672ce7b9d296941301ef84589ba5fba003 +size 6646 diff --git a/ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationSequence.hpp b/ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationSequence.hpp new file mode 100644 index 00000000..013891a7 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HapticGloveCalibrationSequence.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28baaf5b773330e6f3cc82d4550d6521472cc0db05ea0514bf1deb877bc6d8d2 +size 7515 diff --git a/ThirdParty/include/SenseGlove/Core/HapticGloveCommandBuffer.hpp b/ThirdParty/include/SenseGlove/Core/HapticGloveCommandBuffer.hpp new file mode 100644 index 00000000..06bc3e91 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HapticGloveCommandBuffer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53eea1f8b830e8b942672335aa7d8319514919712b7e73caef107821637e6f7f +size 7165 diff --git a/ThirdParty/include/SenseGlove/Core/HapticGloveHandProfiles.hpp b/ThirdParty/include/SenseGlove/Core/HapticGloveHandProfiles.hpp new file mode 100644 index 00000000..3168d5ce --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HapticGloveHandProfiles.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ee53aaf5a7d685719dc58fdb3488f058bfd625b55eefc2391d494dc8bd8613c +size 4139 diff --git a/ThirdParty/include/SenseGlove/Core/HapticGloveQuickCalibration.hpp b/ThirdParty/include/SenseGlove/Core/HapticGloveQuickCalibration.hpp new file mode 100644 index 00000000..5b962a8d --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/HapticGloveQuickCalibration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d180ab193cad837b0143a0fe86e41c1a7dd4dfb9367e324fda92cf3ab24d801 +size 5346 diff --git a/ThirdParty/include/SenseGlove/Core/InterpolationSet.hpp b/ThirdParty/include/SenseGlove/Core/InterpolationSet.hpp new file mode 100644 index 00000000..c68aa53a --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/InterpolationSet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9875f251d6c250e9c62b0899835cecd7c1d54565fd09a9ebc8ed59aa4a8e9508 +size 3472 diff --git a/ThirdParty/include/SenseGlove/Core/JointKinematics.hpp b/ThirdParty/include/SenseGlove/Core/JointKinematics.hpp new file mode 100644 index 00000000..c74ca7db --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/JointKinematics.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9751c7fdef8b68927060a963b53630fe3280a25d594b6812055ddc4f489f64d +size 1602 diff --git a/ThirdParty/include/SenseGlove/Core/Library.hpp b/ThirdParty/include/SenseGlove/Core/Library.hpp new file mode 100644 index 00000000..247c3112 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Library.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b6f8a4ae00fa3bd93d872db07abc997d8d34f95a63b62d447d7f3cb28f48719 +size 1350 diff --git a/ThirdParty/include/SenseGlove/Core/MathDefines.hpp b/ThirdParty/include/SenseGlove/Core/MathDefines.hpp new file mode 100644 index 00000000..58a07c93 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/MathDefines.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b51389374c2cd74cacfe8dae67c211ee18252159c1acfbe62b0bcd9aa9de89c +size 505 diff --git a/ThirdParty/include/SenseGlove/Core/NovaGlove.hpp b/ThirdParty/include/SenseGlove/Core/NovaGlove.hpp new file mode 100644 index 00000000..ea15cd5e --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/NovaGlove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa603587c94f0bc1b6a583d1dba1c09f1786ac6eae0fa2c6feb5cc4baafa236f +size 15018 diff --git a/ThirdParty/include/SenseGlove/Core/NovaGloveCalibration.hpp b/ThirdParty/include/SenseGlove/Core/NovaGloveCalibration.hpp new file mode 100644 index 00000000..96dd22e6 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/NovaGloveCalibration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc6de24201710a29c0bcf795373960769703c157f15cc47d929c7e7e47b96f10 +size 1852 diff --git a/ThirdParty/include/SenseGlove/Core/NovaGloveHandProfile.hpp b/ThirdParty/include/SenseGlove/Core/NovaGloveHandProfile.hpp new file mode 100644 index 00000000..557e6c24 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/NovaGloveHandProfile.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb5e60b940b68e2a4fd16f7baeb59c0a58c268d19268c98854810c362666ab0b +size 3253 diff --git a/ThirdParty/include/SenseGlove/Core/NovaGloveInfo.hpp b/ThirdParty/include/SenseGlove/Core/NovaGloveInfo.hpp new file mode 100644 index 00000000..c2c5e062 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/NovaGloveInfo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e2eff0b15f8c06cfa6aeb7124f2b0b84d1cf04f8d0970ced34ab202f009a728 +size 5121 diff --git a/ThirdParty/include/SenseGlove/Core/NovaGloveSensorData.hpp b/ThirdParty/include/SenseGlove/Core/NovaGloveSensorData.hpp new file mode 100644 index 00000000..dc6742c0 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/NovaGloveSensorData.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37c8e69a4cae9c78211735244647b19f7bac1c7c7ee6ad4d793c8e0feafd7220 +size 5427 diff --git a/ThirdParty/include/SenseGlove/Core/NovaGloveVars.hpp b/ThirdParty/include/SenseGlove/Core/NovaGloveVars.hpp new file mode 100644 index 00000000..9c516b5c --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/NovaGloveVars.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0e26e19cca28d605d544a9eaa94e6cdbe39aa4df6ea39f09e773ed4452bb8c0 +size 1148 diff --git a/ThirdParty/include/SenseGlove/Core/Platform.hpp b/ThirdParty/include/SenseGlove/Core/Platform.hpp new file mode 100644 index 00000000..484ccf85 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Platform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2ad3c1aea8947178c6f7dc2b5de6a0204fd9ed35e3b58c60622d08d08cd31c1 +size 4155 diff --git a/ThirdParty/include/SenseGlove/Core/Quat.hpp b/ThirdParty/include/SenseGlove/Core/Quat.hpp new file mode 100644 index 00000000..717e6391 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Quat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ffb785e1faebc0937645bd646f44b6c51a22cad5a5ecd4a1cb0bd2042b268fa +size 4538 diff --git a/ThirdParty/include/SenseGlove/Core/SGDevice.hpp b/ThirdParty/include/SenseGlove/Core/SGDevice.hpp new file mode 100644 index 00000000..7f4c5374 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SGDevice.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fddd1d90032514110f626044b52f4523b414fd42acb4c41c21a92c8e2cdb3979 +size 5600 diff --git a/ThirdParty/include/SenseGlove/Core/SenseCom.hpp b/ThirdParty/include/SenseGlove/Core/SenseCom.hpp new file mode 100644 index 00000000..4e60a63d --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseCom.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66102f4e373f41403eb9f54cf6abd646d865bd721184eeb1bb06a0329341940 +size 1555 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGlove.hpp b/ThirdParty/include/SenseGlove/Core/SenseGlove.hpp new file mode 100644 index 00000000..4311ad92 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGlove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:babc20e94d9217b7789335803905d10c284e700e6ee6b515307bd936282fbfb5 +size 17455 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGloveHandProfile.hpp b/ThirdParty/include/SenseGlove/Core/SenseGloveHandProfile.hpp new file mode 100644 index 00000000..4ec979c8 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGloveHandProfile.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9accdb4493b595858a95b26c3c3f46ea31b5fdab90e64b9c9c56655049f67244 +size 4872 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGloveInfo.hpp b/ThirdParty/include/SenseGlove/Core/SenseGloveInfo.hpp new file mode 100644 index 00000000..3b104498 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGloveInfo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e3aa30da0bfec328b55149742b6653874fd8646f04aa38f03d6bda7327978d +size 7244 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGlovePose.hpp b/ThirdParty/include/SenseGlove/Core/SenseGlovePose.hpp new file mode 100644 index 00000000..181949c0 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGlovePose.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df28efae2a9beaa0fc6e6b9648da2e8de33ef2d052cc92b1628b6b7eb328a3ec +size 5209 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGloveSensorData.hpp b/ThirdParty/include/SenseGlove/Core/SenseGloveSensorData.hpp new file mode 100644 index 00000000..05c1f741 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGloveSensorData.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c730f6b8547aa9cc2f4f6b9a9d7a7c342c7833927ddcb014e5287ef205efc108 +size 4148 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGloveThumperCommand.hpp b/ThirdParty/include/SenseGlove/Core/SenseGloveThumperCommand.hpp new file mode 100644 index 00000000..57cc6122 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGloveThumperCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:222c5177033bc8ab3aafa67e89159dd345a1b24be5041f4023930f50e5d8a141 +size 1948 diff --git a/ThirdParty/include/SenseGlove/Core/SenseGloveVars.hpp b/ThirdParty/include/SenseGlove/Core/SenseGloveVars.hpp new file mode 100644 index 00000000..f205fdf7 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SenseGloveVars.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e26a39a4665a916f156002dd4e7a19d4640f7d2b43071ccf1cfab3078e0237a +size 5341 diff --git a/ThirdParty/include/SenseGlove/Core/SensorRange.hpp b/ThirdParty/include/SenseGlove/Core/SensorRange.hpp new file mode 100644 index 00000000..7e0e7746 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SensorRange.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f980b15654b700dcaf4f54c2a91cf615c9d113167345c5ffa67554819ace799 +size 4412 diff --git a/ThirdParty/include/SenseGlove/Core/Serializer.hpp b/ThirdParty/include/SenseGlove/Core/Serializer.hpp new file mode 100644 index 00000000..a2623520 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Serializer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:291a7543b4ad1c0fc249be5e4df11c410f56db80e1acdea11e4872314972c177 +size 4688 diff --git a/ThirdParty/include/SenseGlove/Core/SharedMem.hpp b/ThirdParty/include/SenseGlove/Core/SharedMem.hpp new file mode 100644 index 00000000..037242f1 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/SharedMem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf406187e2d1593b296daf364b582a5186488a514e67988858054379cbc2fbba +size 2818 diff --git a/ThirdParty/include/SenseGlove/Core/StringUtils.hpp b/ThirdParty/include/SenseGlove/Core/StringUtils.hpp new file mode 100644 index 00000000..7894b822 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/StringUtils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dd783ab8a2ce4a9ccba55f97cec04bb6064419b24cee038019c06f64eb4c715 +size 3202 diff --git a/ThirdParty/include/SenseGlove/Core/ThumperCommand.hpp b/ThirdParty/include/SenseGlove/Core/ThumperCommand.hpp new file mode 100644 index 00000000..5fb9db15 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/ThumperCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26734c2b45fa68927051454bc9101b816d81b71586145fabbffcedafe7593a73 +size 2438 diff --git a/ThirdParty/include/SenseGlove/Core/TimedBuzzCommand.hpp b/ThirdParty/include/SenseGlove/Core/TimedBuzzCommand.hpp new file mode 100644 index 00000000..0edd59a7 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/TimedBuzzCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2efe6ebf8df3e48a47f7fda6cc82f9e5dee7f2fc385e9de0b447e5c13149d416 +size 4777 diff --git a/ThirdParty/include/SenseGlove/Core/TimedThumpCommand.hpp b/ThirdParty/include/SenseGlove/Core/TimedThumpCommand.hpp new file mode 100644 index 00000000..e346a9e9 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/TimedThumpCommand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9081fac0af3911042ee3e5ed139fbc12536730c54960b6fbedb22b8fc0c73771 +size 3296 diff --git a/ThirdParty/include/SenseGlove/Core/Tracking.hpp b/ThirdParty/include/SenseGlove/Core/Tracking.hpp new file mode 100644 index 00000000..d612c5c9 --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Tracking.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4e256cd4202c68b3d4119c741c0d9b56bcb05b2b892d73f80f799020c36f6a8 +size 7112 diff --git a/ThirdParty/include/SenseGlove/Core/Values.hpp b/ThirdParty/include/SenseGlove/Core/Values.hpp new file mode 100644 index 00000000..08b9668a --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Values.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4960f2d479b3ac6888d6d42b78995ba1d3ebe441ac8f7b91e23d21ae0f1d437 +size 3917 diff --git a/ThirdParty/include/SenseGlove/Core/Vect3D.hpp b/ThirdParty/include/SenseGlove/Core/Vect3D.hpp new file mode 100644 index 00000000..8b18e7fd --- /dev/null +++ b/ThirdParty/include/SenseGlove/Core/Vect3D.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41fb2ff07bb80cd948758c8013c2bfc52a418a0e7245115c54729828f9f27502 +size 3107 diff --git a/ThirdParty/include/boost/asio.hpp b/ThirdParty/include/boost/asio.hpp new file mode 100644 index 00000000..e60df28b --- /dev/null +++ b/ThirdParty/include/boost/asio.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad14550ca7ff58d564d91edae9a8353cd0c2e97046d5f8944eca1cae24d42f6 +size 6232 diff --git a/ThirdParty/include/boost/asio/associated_allocator.hpp b/ThirdParty/include/boost/asio/associated_allocator.hpp new file mode 100644 index 00000000..5611e369 --- /dev/null +++ b/ThirdParty/include/boost/asio/associated_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e352e6e09acb8881fce05dffb8149a6e43e6692f440ecb5fb5a2d0a3f2812dda +size 3889 diff --git a/ThirdParty/include/boost/asio/associated_executor.hpp b/ThirdParty/include/boost/asio/associated_executor.hpp new file mode 100644 index 00000000..fa87a3b0 --- /dev/null +++ b/ThirdParty/include/boost/asio/associated_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af8992c0be5ae6ccd9a51e6cac267af228a301dd6bb213bbb076c021eee26d0 +size 4586 diff --git a/ThirdParty/include/boost/asio/async_result.hpp b/ThirdParty/include/boost/asio/async_result.hpp new file mode 100644 index 00000000..e09f4300 --- /dev/null +++ b/ThirdParty/include/boost/asio/async_result.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b8e3e636e8f5bb4b92855fddf0aa889d44949fc3a6ff6b975a7a5209a8231bd +size 8095 diff --git a/ThirdParty/include/boost/asio/basic_datagram_socket.hpp b/ThirdParty/include/boost/asio/basic_datagram_socket.hpp new file mode 100644 index 00000000..6456e481 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_datagram_socket.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a50e88ba1e27879a312b13f0be5220998ef8e651eb55f716d170117e133adb13 +size 42006 diff --git a/ThirdParty/include/boost/asio/basic_deadline_timer.hpp b/ThirdParty/include/boost/asio/basic_deadline_timer.hpp new file mode 100644 index 00000000..f152c85e --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_deadline_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b04442f7e643c1bfaa6feff331432d0bb2a1aafbb3c912a7acc1b372b0c5f4b0 +size 22508 diff --git a/ThirdParty/include/boost/asio/basic_io_object.hpp b/ThirdParty/include/boost/asio/basic_io_object.hpp new file mode 100644 index 00000000..8fe6b4c2 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_io_object.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6627d36aa1fc84965d6a77e73c903f34a04f3cc96e681758ccdbdd65f1b4ee7 +size 8096 diff --git a/ThirdParty/include/boost/asio/basic_raw_socket.hpp b/ThirdParty/include/boost/asio/basic_raw_socket.hpp new file mode 100644 index 00000000..b01bb977 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_raw_socket.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63f7fad264cd32d3e3f6609d96911ac61d1162232303c2a075c48f7f86c7870b +size 41590 diff --git a/ThirdParty/include/boost/asio/basic_seq_packet_socket.hpp b/ThirdParty/include/boost/asio/basic_seq_packet_socket.hpp new file mode 100644 index 00000000..4cabd6e4 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_seq_packet_socket.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce931bd14b14c986023d9f807f82f045a38151063ca31034e8473849346e32af +size 24654 diff --git a/ThirdParty/include/boost/asio/basic_serial_port.hpp b/ThirdParty/include/boost/asio/basic_serial_port.hpp new file mode 100644 index 00000000..113e846d --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_serial_port.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d82cc5230e085257633d4fd4cbc53fa9676821c44647e59e4eb34ecae7b0cb49 +size 25209 diff --git a/ThirdParty/include/boost/asio/basic_signal_set.hpp b/ThirdParty/include/boost/asio/basic_signal_set.hpp new file mode 100644 index 00000000..870bc17a --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_signal_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec13d6b939ef9f3f621d36ac8844ce86b73f8f81e6f08c896e9692e993a2e0e0 +size 13942 diff --git a/ThirdParty/include/boost/asio/basic_socket.hpp b/ThirdParty/include/boost/asio/basic_socket.hpp new file mode 100644 index 00000000..5be54013 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_socket.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0aa4feab46c17b598896a60ccc6efb4f99e24358129b6b9508a48618d3b13cdc +size 61616 diff --git a/ThirdParty/include/boost/asio/basic_socket_acceptor.hpp b/ThirdParty/include/boost/asio/basic_socket_acceptor.hpp new file mode 100644 index 00000000..6c591fc3 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_socket_acceptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41a3841205b0f17d2e214f63348582423551f3dc126b150ef09b599257b45ab4 +size 70860 diff --git a/ThirdParty/include/boost/asio/basic_socket_iostream.hpp b/ThirdParty/include/boost/asio/basic_socket_iostream.hpp new file mode 100644 index 00000000..6e878175 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_socket_iostream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e4893932b098ff65b27ce1c4fe189154925cfe6296733270200417e515028e9 +size 14458 diff --git a/ThirdParty/include/boost/asio/basic_socket_streambuf.hpp b/ThirdParty/include/boost/asio/basic_socket_streambuf.hpp new file mode 100644 index 00000000..a11d9b6d --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_socket_streambuf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37bc612408a4eda8153b9b01a7da3a23114314f698894568b663cee62922ff07 +size 22750 diff --git a/ThirdParty/include/boost/asio/basic_stream_socket.hpp b/ThirdParty/include/boost/asio/basic_stream_socket.hpp new file mode 100644 index 00000000..1eacdd0c --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_stream_socket.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70334d6306f97c1f07a2cd3cad0c7160b368a868c2c17bd11ec275d1e15a7ab6 +size 37274 diff --git a/ThirdParty/include/boost/asio/basic_streambuf.hpp b/ThirdParty/include/boost/asio/basic_streambuf.hpp new file mode 100644 index 00000000..578ed8d7 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_streambuf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3bbedf8f705ea5fcb906071954a2b0a9642a777007986bba92e8daa89661de1 +size 13714 diff --git a/ThirdParty/include/boost/asio/basic_streambuf_fwd.hpp b/ThirdParty/include/boost/asio/basic_streambuf_fwd.hpp new file mode 100644 index 00000000..da70036e --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_streambuf_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31e3dfc5bbd49b77a7305542e2f4968da8b5c2159156cd88026986b7b10a2842 +size 920 diff --git a/ThirdParty/include/boost/asio/basic_waitable_timer.hpp b/ThirdParty/include/boost/asio/basic_waitable_timer.hpp new file mode 100644 index 00000000..a4052105 --- /dev/null +++ b/ThirdParty/include/boost/asio/basic_waitable_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4bbe948e3001f537db384bcf967b3e29fa26a1c288fde5be47bc040f43e7c20 +size 25460 diff --git a/ThirdParty/include/boost/asio/bind_executor.hpp b/ThirdParty/include/boost/asio/bind_executor.hpp new file mode 100644 index 00000000..ece1b3c8 --- /dev/null +++ b/ThirdParty/include/boost/asio/bind_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:759d4e62be557260b39c75d5ab523d6b8dc5ebec6af7bd377209a1f34e1d9858 +size 17248 diff --git a/ThirdParty/include/boost/asio/buffer.hpp b/ThirdParty/include/boost/asio/buffer.hpp new file mode 100644 index 00000000..f23c4354 --- /dev/null +++ b/ThirdParty/include/boost/asio/buffer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d75d955ca374582d5b8b46f68420f71d34d36748dd84a612cd552ba9b5c9b615 +size 69873 diff --git a/ThirdParty/include/boost/asio/buffered_read_stream.hpp b/ThirdParty/include/boost/asio/buffered_read_stream.hpp new file mode 100644 index 00000000..1dfa9b79 --- /dev/null +++ b/ThirdParty/include/boost/asio/buffered_read_stream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a35dbff5610bd20f43459e5f60b9f828e4dbefa13a2a30babcaf0f05d547b014 +size 8269 diff --git a/ThirdParty/include/boost/asio/buffered_read_stream_fwd.hpp b/ThirdParty/include/boost/asio/buffered_read_stream_fwd.hpp new file mode 100644 index 00000000..fa896d78 --- /dev/null +++ b/ThirdParty/include/boost/asio/buffered_read_stream_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d377064bb171db03386d99a3afe1c2cb073f9405db8cecb97e09d20c88c74bd +size 699 diff --git a/ThirdParty/include/boost/asio/buffered_stream.hpp b/ThirdParty/include/boost/asio/buffered_stream.hpp new file mode 100644 index 00000000..d9420a56 --- /dev/null +++ b/ThirdParty/include/boost/asio/buffered_stream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08bc09f9309e54db1582183e670c6f16aaa4e7a992eb1d9ef64dbac2518edf4d +size 8699 diff --git a/ThirdParty/include/boost/asio/buffered_stream_fwd.hpp b/ThirdParty/include/boost/asio/buffered_stream_fwd.hpp new file mode 100644 index 00000000..f112b73f --- /dev/null +++ b/ThirdParty/include/boost/asio/buffered_stream_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ea46531377bc2a35d76975b23102ec15f1a252c60a76972a05edbddc2cd36b2 +size 669 diff --git a/ThirdParty/include/boost/asio/buffered_write_stream.hpp b/ThirdParty/include/boost/asio/buffered_write_stream.hpp new file mode 100644 index 00000000..0f183b35 --- /dev/null +++ b/ThirdParty/include/boost/asio/buffered_write_stream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0292710a2c41c916c244e5f689abe09ea9ce2e8f49250fb097f071d199513c0b +size 7887 diff --git a/ThirdParty/include/boost/asio/buffered_write_stream_fwd.hpp b/ThirdParty/include/boost/asio/buffered_write_stream_fwd.hpp new file mode 100644 index 00000000..092fc303 --- /dev/null +++ b/ThirdParty/include/boost/asio/buffered_write_stream_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:816b0d8b42766e1569486658e4e8470a742c4294a9ecb09f332bd4a9ce7a7088 +size 705 diff --git a/ThirdParty/include/boost/asio/buffers_iterator.hpp b/ThirdParty/include/boost/asio/buffers_iterator.hpp new file mode 100644 index 00000000..05f9c25f --- /dev/null +++ b/ThirdParty/include/boost/asio/buffers_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e71a0abbd086a543bd75918aa56252fb3821eb60c9024027ae230f2f46f0c216 +size 14049 diff --git a/ThirdParty/include/boost/asio/completion_condition.hpp b/ThirdParty/include/boost/asio/completion_condition.hpp new file mode 100644 index 00000000..12fdf594 --- /dev/null +++ b/ThirdParty/include/boost/asio/completion_condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cefe14897b477249b60f1a969c797706ac98f56b31ef65d473bf892e9e178c7 +size 5500 diff --git a/ThirdParty/include/boost/asio/connect.hpp b/ThirdParty/include/boost/asio/connect.hpp new file mode 100644 index 00000000..d3fe4d3c --- /dev/null +++ b/ThirdParty/include/boost/asio/connect.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a221f42d0e89fa9e9b00bc6ede4956954beca27258b861277e65a7b7ac73e01 +size 42153 diff --git a/ThirdParty/include/boost/asio/coroutine.hpp b/ThirdParty/include/boost/asio/coroutine.hpp new file mode 100644 index 00000000..6f95c03b --- /dev/null +++ b/ThirdParty/include/boost/asio/coroutine.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8383099cdf26e9e0a86f818a72df5af32e4dc4b6e0f7e686e70c04633ce7154d +size 9896 diff --git a/ThirdParty/include/boost/asio/datagram_socket_service.hpp b/ThirdParty/include/boost/asio/datagram_socket_service.hpp new file mode 100644 index 00000000..5cff4e6b --- /dev/null +++ b/ThirdParty/include/boost/asio/datagram_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddec72ae5e840f09fb3d15fe32c86b0ae86265aa3522f5f4f1909ac4a0b6df9b +size 15317 diff --git a/ThirdParty/include/boost/asio/deadline_timer.hpp b/ThirdParty/include/boost/asio/deadline_timer.hpp new file mode 100644 index 00000000..e3ced5dd --- /dev/null +++ b/ThirdParty/include/boost/asio/deadline_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62a4602586496d71aa319e0ef076e06ddf38033a8dfe5abe7ac98029da5e7dba +size 1138 diff --git a/ThirdParty/include/boost/asio/deadline_timer_service.hpp b/ThirdParty/include/boost/asio/deadline_timer_service.hpp new file mode 100644 index 00000000..cc40956a --- /dev/null +++ b/ThirdParty/include/boost/asio/deadline_timer_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:988968dd606f1fa04111ac4c8013f85551ac9a4bc0dff2ef9116d9680de13ae4 +size 5018 diff --git a/ThirdParty/include/boost/asio/defer.hpp b/ThirdParty/include/boost/asio/defer.hpp new file mode 100644 index 00000000..c2da3ae7 --- /dev/null +++ b/ThirdParty/include/boost/asio/defer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e4b6ff148e153a9e836ab76117e2dac598571c8fbdbca8064fe58d9a3c4eb71 +size 3952 diff --git a/ThirdParty/include/boost/asio/detail/array.hpp b/ThirdParty/include/boost/asio/detail/array.hpp new file mode 100644 index 00000000..938d4111 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:160a2b1448a346a72d1de53c074fc331d0725226aa567bae85da6e17c4b6d565 +size 1001 diff --git a/ThirdParty/include/boost/asio/detail/array_fwd.hpp b/ThirdParty/include/boost/asio/detail/array_fwd.hpp new file mode 100644 index 00000000..95a9f929 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/array_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba1e36592072dbc07912563a90270cb493cb55713c94a201df5ff2825f7e58f +size 950 diff --git a/ThirdParty/include/boost/asio/detail/assert.hpp b/ThirdParty/include/boost/asio/detail/assert.hpp new file mode 100644 index 00000000..56f1f709 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d7ea6b9ecb65d1b347ea0fe6079e48ba35c5f3bf5ff6d50ac16505e407a194a +size 968 diff --git a/ThirdParty/include/boost/asio/detail/atomic_count.hpp b/ThirdParty/include/boost/asio/detail/atomic_count.hpp new file mode 100644 index 00000000..91612c5a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/atomic_count.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9497180bff29591ec59958330b1ae52c17e2768fbeffbbfd16ab9ddb80bccfd6 +size 1430 diff --git a/ThirdParty/include/boost/asio/detail/base_from_completion_cond.hpp b/ThirdParty/include/boost/asio/detail/base_from_completion_cond.hpp new file mode 100644 index 00000000..4390fa54 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/base_from_completion_cond.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998429380b9456ec07906d10520eefa16b8699c05bb01df72a2c09b6ebe40bc2 +size 1742 diff --git a/ThirdParty/include/boost/asio/detail/bind_handler.hpp b/ThirdParty/include/boost/asio/detail/bind_handler.hpp new file mode 100644 index 00000000..296c0746 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/bind_handler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2dce7d6ae28b2561a9f319db0f4deefb804e509e150cfebd25d38cd790e6773 +size 23840 diff --git a/ThirdParty/include/boost/asio/detail/buffer_resize_guard.hpp b/ThirdParty/include/boost/asio/detail/buffer_resize_guard.hpp new file mode 100644 index 00000000..01793935 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/buffer_resize_guard.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:554d0bf89e03dcd972161738e7594272c78ef9fe570d4ac9914ef585ee5b17ca +size 1593 diff --git a/ThirdParty/include/boost/asio/detail/buffer_sequence_adapter.hpp b/ThirdParty/include/boost/asio/detail/buffer_sequence_adapter.hpp new file mode 100644 index 00000000..35a62a04 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/buffer_sequence_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ecdff6ac328ffa07c42614e9c82dedab43d8c933f5790e1ab267186f75e03f +size 12627 diff --git a/ThirdParty/include/boost/asio/detail/buffered_stream_storage.hpp b/ThirdParty/include/boost/asio/detail/buffered_stream_storage.hpp new file mode 100644 index 00000000..aca1ccd9 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/buffered_stream_storage.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d5ee9d793db3a6857412b2c6baa6ff05cdd55fb65885e3111dbbcf827d26f2c +size 2987 diff --git a/ThirdParty/include/boost/asio/detail/call_stack.hpp b/ThirdParty/include/boost/asio/detail/call_stack.hpp new file mode 100644 index 00000000..e7f23f5c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/call_stack.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7dad1d34f072b024b0281dbac2d7b82ea1316f56426dbb72ea84d738a4c7c49 +size 3003 diff --git a/ThirdParty/include/boost/asio/detail/chrono.hpp b/ThirdParty/include/boost/asio/detail/chrono.hpp new file mode 100644 index 00000000..5b27d748 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/chrono.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c0cb57c48d203f708a0a7075d58f6ba8f7f5636983d4910a4f7bfc0774a8418 +size 2081 diff --git a/ThirdParty/include/boost/asio/detail/chrono_time_traits.hpp b/ThirdParty/include/boost/asio/detail/chrono_time_traits.hpp new file mode 100644 index 00000000..92ac0dc4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/chrono_time_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f688d6d1dd1223e0cf061dea3641ab0bf82da9dcef207aaac4f9ad97edfcbf2 +size 4469 diff --git a/ThirdParty/include/boost/asio/detail/completion_handler.hpp b/ThirdParty/include/boost/asio/detail/completion_handler.hpp new file mode 100644 index 00000000..5c5c1e3f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/completion_handler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5242a1f0ef357286ce68d2a4ad1855a84d9e29617eef4cd005486e883db63ca4 +size 2610 diff --git a/ThirdParty/include/boost/asio/detail/concurrency_hint.hpp b/ThirdParty/include/boost/asio/detail/concurrency_hint.hpp new file mode 100644 index 00000000..15e5066a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/concurrency_hint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99f885c9c53d708243d2b35f3ba9153d95e02d88bbb13b0ae0728c631a8d90d4 +size 4062 diff --git a/ThirdParty/include/boost/asio/detail/conditionally_enabled_event.hpp b/ThirdParty/include/boost/asio/detail/conditionally_enabled_event.hpp new file mode 100644 index 00000000..8389f783 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/conditionally_enabled_event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdb815d80c452be2aead43979a7529a290238d65e42b59348dc5f2b14340ca2e +size 2879 diff --git a/ThirdParty/include/boost/asio/detail/conditionally_enabled_mutex.hpp b/ThirdParty/include/boost/asio/detail/conditionally_enabled_mutex.hpp new file mode 100644 index 00000000..ac8ebe14 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/conditionally_enabled_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e32c322cda4dd70f85b386986948459466758218c6163076f4fad06f8646c4cb +size 3126 diff --git a/ThirdParty/include/boost/asio/detail/config.hpp b/ThirdParty/include/boost/asio/detail/config.hpp new file mode 100644 index 00000000..a98cb203 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66ece32592198eb21f4cfaa4b72311e720096185bd08778d0c36a874e0b77f34 +size 59955 diff --git a/ThirdParty/include/boost/asio/detail/consuming_buffers.hpp b/ThirdParty/include/boost/asio/detail/consuming_buffers.hpp new file mode 100644 index 00000000..85d65eb3 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/consuming_buffers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50a89224b444e3d909959320060125ca5fb455c6f23067b7f25d6aac81e6e182 +size 10631 diff --git a/ThirdParty/include/boost/asio/detail/cstddef.hpp b/ThirdParty/include/boost/asio/detail/cstddef.hpp new file mode 100644 index 00000000..e10dfbac --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/cstddef.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:876cdeffe77f012bc99b31f01c816ef6158d162d787403e1c5f5cce9bf6960e0 +size 816 diff --git a/ThirdParty/include/boost/asio/detail/cstdint.hpp b/ThirdParty/include/boost/asio/detail/cstdint.hpp new file mode 100644 index 00000000..fbb65722 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/cstdint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87dc5e2bdb80989d7f023e37a6b4a691dff4f46f0940ec14516a633ddc841a3c +size 1558 diff --git a/ThirdParty/include/boost/asio/detail/date_time_fwd.hpp b/ThirdParty/include/boost/asio/detail/date_time_fwd.hpp new file mode 100644 index 00000000..ecad30dd --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/date_time_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98492de63b13922660523824db2322c071f514dbfdcdb216a2cbb5d2166519d8 +size 792 diff --git a/ThirdParty/include/boost/asio/detail/deadline_timer_service.hpp b/ThirdParty/include/boost/asio/detail/deadline_timer_service.hpp new file mode 100644 index 00000000..c25bc888 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/deadline_timer_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7330f1d3cf6d31f8bfc5154e9287eb42c3b07e7efe7ce10220d1aa0c11dba578 +size 8674 diff --git a/ThirdParty/include/boost/asio/detail/dependent_type.hpp b/ThirdParty/include/boost/asio/detail/dependent_type.hpp new file mode 100644 index 00000000..0999e8ad --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/dependent_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ef771d2bb68bac376d27be73f61ba7ccd6994f1061a4633236fde2785ccac61 +size 891 diff --git a/ThirdParty/include/boost/asio/detail/descriptor_ops.hpp b/ThirdParty/include/boost/asio/detail/descriptor_ops.hpp new file mode 100644 index 00000000..34a14413 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/descriptor_ops.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf38766b065a53a8479cc2d59fb1f0d6561d53ffade51270029152e1b32407fb +size 3643 diff --git a/ThirdParty/include/boost/asio/detail/descriptor_read_op.hpp b/ThirdParty/include/boost/asio/detail/descriptor_read_op.hpp new file mode 100644 index 00000000..45d24133 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/descriptor_read_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c4243177a79cd7556a5aaadad0ecd75ac9b601121941aa052383e496faba609 +size 4098 diff --git a/ThirdParty/include/boost/asio/detail/descriptor_write_op.hpp b/ThirdParty/include/boost/asio/detail/descriptor_write_op.hpp new file mode 100644 index 00000000..e30eef5a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/descriptor_write_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9eb62956b2a6a078997460832dc377b3293e5432c042c8dc9f52a96402eb68da +size 4100 diff --git a/ThirdParty/include/boost/asio/detail/dev_poll_reactor.hpp b/ThirdParty/include/boost/asio/detail/dev_poll_reactor.hpp new file mode 100644 index 00000000..c3b34d93 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/dev_poll_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0e7312952b18efb3be627dd075509e289d7cf40d1481eda0024366a8ac3d982 +size 8039 diff --git a/ThirdParty/include/boost/asio/detail/epoll_reactor.hpp b/ThirdParty/include/boost/asio/detail/epoll_reactor.hpp new file mode 100644 index 00000000..3ed84435 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/epoll_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:981322680338b452120492313c6a9883d548960a0a6d6e407f8147f1ee96e3f8 +size 9467 diff --git a/ThirdParty/include/boost/asio/detail/event.hpp b/ThirdParty/include/boost/asio/detail/event.hpp new file mode 100644 index 00000000..d7fd5667 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84b80d9811f20a74f0114680bc57431590405c5deb1b52b308e80159ba9a70d4 +size 1364 diff --git a/ThirdParty/include/boost/asio/detail/eventfd_select_interrupter.hpp b/ThirdParty/include/boost/asio/detail/eventfd_select_interrupter.hpp new file mode 100644 index 00000000..c863a943 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/eventfd_select_interrupter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1649f80faa41d46831464dd6d58240582fdedbcae01c63a02754452dab03001 +size 2522 diff --git a/ThirdParty/include/boost/asio/detail/executor_op.hpp b/ThirdParty/include/boost/asio/detail/executor_op.hpp new file mode 100644 index 00000000..b07c536d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/executor_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a15a6289809dcf8107e831b5e148663d383e22af95f947b36c48ad271aaec145 +size 2605 diff --git a/ThirdParty/include/boost/asio/detail/fd_set_adapter.hpp b/ThirdParty/include/boost/asio/detail/fd_set_adapter.hpp new file mode 100644 index 00000000..cbeeef5c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/fd_set_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6a0dd954f7f5e1da83551d3d0e7a3cce21e706eeabc1b220d46a90952f95a83 +size 1064 diff --git a/ThirdParty/include/boost/asio/detail/fenced_block.hpp b/ThirdParty/include/boost/asio/detail/fenced_block.hpp new file mode 100644 index 00000000..316d548d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2e9924b8c053cb65c9a8d2db245c6b43060c6c3a2df5660c972c2e7c122f6e4 +size 3066 diff --git a/ThirdParty/include/boost/asio/detail/functional.hpp b/ThirdParty/include/boost/asio/detail/functional.hpp new file mode 100644 index 00000000..80834afa --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/functional.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9a015dbce56f33100805251d57d62f9d5f48e3dd32cd07f6d6ed70e311b3205 +size 1014 diff --git a/ThirdParty/include/boost/asio/detail/future.hpp b/ThirdParty/include/boost/asio/detail/future.hpp new file mode 100644 index 00000000..73977a66 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/future.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a9d561ed561fdede561caa5507ddb7f05e5995fe1fbab8d50eee6b6e2ae3cdc +size 1241 diff --git a/ThirdParty/include/boost/asio/detail/gcc_arm_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/gcc_arm_fenced_block.hpp new file mode 100644 index 00000000..af556246 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/gcc_arm_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9820d74e631afcd97e10c2804a3347a9e967fa50f8348d1ca8a1afc1fb271ef1 +size 2238 diff --git a/ThirdParty/include/boost/asio/detail/gcc_hppa_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/gcc_hppa_fenced_block.hpp new file mode 100644 index 00000000..48df11a2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/gcc_hppa_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96a45b8dd17c72bc7fead3d1ebc5c63d1cfba6f1c27176dc947bba1b8096e668 +size 1560 diff --git a/ThirdParty/include/boost/asio/detail/gcc_sync_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/gcc_sync_fenced_block.hpp new file mode 100644 index 00000000..45e809af --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/gcc_sync_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cca5c98e2f917d1471cca9ff5d2df11606ac8450d5c9c4087d6b06ed57d618d5 +size 1679 diff --git a/ThirdParty/include/boost/asio/detail/gcc_x86_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/gcc_x86_fenced_block.hpp new file mode 100644 index 00000000..b9f9cce1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/gcc_x86_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d1df0cc58ed607d8513e7ec9cafa31fcbfd55345dbc0b788c678643c51b4e33 +size 2460 diff --git a/ThirdParty/include/boost/asio/detail/global.hpp b/ThirdParty/include/boost/asio/detail/global.hpp new file mode 100644 index 00000000..6826364b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/global.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e60644ce6695f2cdd7a3e56238bb787a73b3a9707f545566b81b2d1dfb4103c7 +size 1397 diff --git a/ThirdParty/include/boost/asio/detail/handler_alloc_helpers.hpp b/ThirdParty/include/boost/asio/detail/handler_alloc_helpers.hpp new file mode 100644 index 00000000..aae3f7c2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/handler_alloc_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ffd0ef584561f007238fa3216240ae0da74b06d3efb614982000a1f6afa9e6b +size 5985 diff --git a/ThirdParty/include/boost/asio/detail/handler_cont_helpers.hpp b/ThirdParty/include/boost/asio/detail/handler_cont_helpers.hpp new file mode 100644 index 00000000..e368d673 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/handler_cont_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39ad58c023ab0f7c24ef939a6b47f4bfc96fdb1f9f40eebbff2c1f8ece7d945e +size 1364 diff --git a/ThirdParty/include/boost/asio/detail/handler_invoke_helpers.hpp b/ThirdParty/include/boost/asio/detail/handler_invoke_helpers.hpp new file mode 100644 index 00000000..448e651b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/handler_invoke_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b1f16b044a746fae92d9a48750ab27e89494b71e1d81a44112dad477d90f7f7 +size 1745 diff --git a/ThirdParty/include/boost/asio/detail/handler_tracking.hpp b/ThirdParty/include/boost/asio/detail/handler_tracking.hpp new file mode 100644 index 00000000..ba92e370 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/handler_tracking.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6635d3ea6a3b0edb479cf62b8897148f2149665fec8796dc1156657f32fb1eb +size 8467 diff --git a/ThirdParty/include/boost/asio/detail/handler_type_requirements.hpp b/ThirdParty/include/boost/asio/detail/handler_type_requirements.hpp new file mode 100644 index 00000000..d1240b79 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/handler_type_requirements.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43f3597f6f24d05bb56afe184cf34b31824b3163a6ff8b3610d7b2d29536d7d0 +size 20351 diff --git a/ThirdParty/include/boost/asio/detail/handler_work.hpp b/ThirdParty/include/boost/asio/detail/handler_work.hpp new file mode 100644 index 00000000..5b846199 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/handler_work.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6982cb1410b661682761d62249ecd855254f012e58c440fcccaeacc47516bb48 +size 2760 diff --git a/ThirdParty/include/boost/asio/detail/hash_map.hpp b/ThirdParty/include/boost/asio/detail/hash_map.hpp new file mode 100644 index 00000000..c0fcabab --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/hash_map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c27e6a838fbcbb775a33003a11f18a719ff6c583c986f19f5d5e061370b3388d +size 8343 diff --git a/ThirdParty/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp b/ThirdParty/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp new file mode 100644 index 00000000..1ffabfe0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54e186978a31fb591dbc80a29fc847d16b49ae3f05cb8bc2d15be8a4f4a38004 +size 3096 diff --git a/ThirdParty/include/boost/asio/detail/impl/descriptor_ops.ipp b/ThirdParty/include/boost/asio/detail/impl/descriptor_ops.ipp new file mode 100644 index 00000000..6333fb60 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/descriptor_ops.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c615f63ea7619dc7efc839fa0c1336717d5ab2ba5beb7f7e73d35a07003f347 +size 11981 diff --git a/ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.hpp b/ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.hpp new file mode 100644 index 00000000..e747860b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:419445ef5ebf54fc3c6866e60addb3026dc47d7dc47295d0ebc46b11d3064dd7 +size 2587 diff --git a/ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.ipp b/ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.ipp new file mode 100644 index 00000000..f96b7074 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/dev_poll_reactor.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c6901a8c21d8e2c640c66a76b89f4fee668ccb4f4e39f98d6c6ce99d9b659b9 +size 13138 diff --git a/ThirdParty/include/boost/asio/detail/impl/epoll_reactor.hpp b/ThirdParty/include/boost/asio/detail/impl/epoll_reactor.hpp new file mode 100644 index 00000000..faaae957 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/epoll_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:690aac96d9d4af45700bf8cebf235c484dde571954f6926d30c73c93e991bb67 +size 2439 diff --git a/ThirdParty/include/boost/asio/detail/impl/epoll_reactor.ipp b/ThirdParty/include/boost/asio/detail/impl/epoll_reactor.ipp new file mode 100644 index 00000000..1fd28792 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/epoll_reactor.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a2f0f856e9da4a8666134b6cfc676e007b272d1a09d4b0aabcfba7f9c93a994 +size 22372 diff --git a/ThirdParty/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/ThirdParty/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp new file mode 100644 index 00000000..6a413519 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83ac0cf55b4addfd2cebb64d25e0bbe230d22d1ba5310a1590840029f59200ba +size 4615 diff --git a/ThirdParty/include/boost/asio/detail/impl/handler_tracking.ipp b/ThirdParty/include/boost/asio/detail/impl/handler_tracking.ipp new file mode 100644 index 00000000..9dcf5507 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/handler_tracking.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e0abe69ec2ee487ea3ec0dfb8b52383300650c810e8ad5f5c6e73d3c5fa0678 +size 10538 diff --git a/ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.hpp b/ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.hpp new file mode 100644 index 00000000..c7f60811 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34b8c963f7043a6fe35745bf430484ade7e85eb608c5421897715c2a1ab391ac +size 2590 diff --git a/ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.ipp b/ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.ipp new file mode 100644 index 00000000..5b011cf1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/kqueue_reactor.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a066a1888d78ea063617cd108cd80b6de87295f5545b8d51170c728a9d0a6837 +size 16955 diff --git a/ThirdParty/include/boost/asio/detail/impl/null_event.ipp b/ThirdParty/include/boost/asio/detail/impl/null_event.ipp new file mode 100644 index 00000000..462670ac --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/null_event.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7531976a4beb1ff09eb74ea189be031c442feb3eff7bfc1b9fe7a0613c317677 +size 1906 diff --git a/ThirdParty/include/boost/asio/detail/impl/pipe_select_interrupter.ipp b/ThirdParty/include/boost/asio/detail/impl/pipe_select_interrupter.ipp new file mode 100644 index 00000000..0a07bdb1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/pipe_select_interrupter.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b31cd1d671aaaf5eed37705876a77e8df80081f8e31186796fa9b51cd65d4b23 +size 3145 diff --git a/ThirdParty/include/boost/asio/detail/impl/posix_event.ipp b/ThirdParty/include/boost/asio/detail/impl/posix_event.ipp new file mode 100644 index 00000000..c1ea2bf7 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/posix_event.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39908cb7dddb19463ab3bad162bd62b8b87dcb4ea55cf5dc62538bd0fd95ae7c +size 1776 diff --git a/ThirdParty/include/boost/asio/detail/impl/posix_mutex.ipp b/ThirdParty/include/boost/asio/detail/impl/posix_mutex.ipp new file mode 100644 index 00000000..6c82f38d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/posix_mutex.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1970f17b355449fecded0e5090583f8aced8fc949fd608d935b8e903ead3596 +size 1235 diff --git a/ThirdParty/include/boost/asio/detail/impl/posix_thread.ipp b/ThirdParty/include/boost/asio/detail/impl/posix_thread.ipp new file mode 100644 index 00000000..0acf5963 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/posix_thread.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:029d65e8223716bc93dfe08bf077d7125e9d08748f481e963ce2bc03a0259e40 +size 1964 diff --git a/ThirdParty/include/boost/asio/detail/impl/posix_tss_ptr.ipp b/ThirdParty/include/boost/asio/detail/impl/posix_tss_ptr.ipp new file mode 100644 index 00000000..d6a2f99e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/posix_tss_ptr.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78a9935d5d0d812f1d8c638d474b62412a045743b5797aa60115c3caf39fb6e5 +size 1261 diff --git a/ThirdParty/include/boost/asio/detail/impl/reactive_descriptor_service.ipp b/ThirdParty/include/boost/asio/detail/impl/reactive_descriptor_service.ipp new file mode 100644 index 00000000..89bde218 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/reactive_descriptor_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6c15d9a908480d7d76d30dd0b6264c865f4d3b573086ebc25bac48ca2534f9c +size 6363 diff --git a/ThirdParty/include/boost/asio/detail/impl/reactive_serial_port_service.ipp b/ThirdParty/include/boost/asio/detail/impl/reactive_serial_port_service.ipp new file mode 100644 index 00000000..a8563f3c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/reactive_serial_port_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28321382892375a5dc048a308115d1298fc27c2c3d1af6dbf16d18f23305b7fa +size 4291 diff --git a/ThirdParty/include/boost/asio/detail/impl/reactive_socket_service_base.ipp b/ThirdParty/include/boost/asio/detail/impl/reactive_socket_service_base.ipp new file mode 100644 index 00000000..c9f08c6c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/reactive_socket_service_base.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dab7bfd63748448ecdf00251e0de564588758198989047d881ad35d2d6d5f80 +size 8821 diff --git a/ThirdParty/include/boost/asio/detail/impl/resolver_service_base.ipp b/ThirdParty/include/boost/asio/detail/impl/resolver_service_base.ipp new file mode 100644 index 00000000..03369556 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/resolver_service_base.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60a5fdf552827f0aea639ad5cf12c8b4832ac9e2be2a7385e058faacd4749224 +size 4061 diff --git a/ThirdParty/include/boost/asio/detail/impl/scheduler.ipp b/ThirdParty/include/boost/asio/detail/impl/scheduler.ipp new file mode 100644 index 00000000..a0e6ad1f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/scheduler.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a478122e74c0289806c929a4dd8315adf60dfd7866494c96b9d327eb45b3fe6e +size 13987 diff --git a/ThirdParty/include/boost/asio/detail/impl/select_reactor.hpp b/ThirdParty/include/boost/asio/detail/impl/select_reactor.hpp new file mode 100644 index 00000000..c1d22bb4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/select_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd98397a05f5d0a511c652b89663f291b90dc696e49d6a0a9ffbea020a61534e +size 2985 diff --git a/ThirdParty/include/boost/asio/detail/impl/select_reactor.ipp b/ThirdParty/include/boost/asio/detail/impl/select_reactor.ipp new file mode 100644 index 00000000..932ada30 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/select_reactor.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0131577863058634316bcf1bdab8475f9934f1002004c182af9fb2aaa0e98a68 +size 9270 diff --git a/ThirdParty/include/boost/asio/detail/impl/service_registry.hpp b/ThirdParty/include/boost/asio/detail/impl/service_registry.hpp new file mode 100644 index 00000000..2f182978 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/service_registry.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b94b81f8f730dda706f5ece9204549a7203a93235fa18f9f03c2797717cf34b9 +size 2652 diff --git a/ThirdParty/include/boost/asio/detail/impl/service_registry.ipp b/ThirdParty/include/boost/asio/detail/impl/service_registry.ipp new file mode 100644 index 00000000..ea328cfc --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/service_registry.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37ea7e48949dee80ffd1a2689d9f4768c6ba55cb8359a717176e5694e60effaa +size 5462 diff --git a/ThirdParty/include/boost/asio/detail/impl/signal_set_service.ipp b/ThirdParty/include/boost/asio/detail/impl/signal_set_service.ipp new file mode 100644 index 00000000..c7d2a839 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/signal_set_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46efcbde15aeb4c1d8744e80a1a5aaef6e02cdaa53e9fb7f4e2772684b141db8 +size 20378 diff --git a/ThirdParty/include/boost/asio/detail/impl/socket_ops.ipp b/ThirdParty/include/boost/asio/detail/impl/socket_ops.ipp new file mode 100644 index 00000000..324cf6bd --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/socket_ops.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5c95ea3181cf293681d48d1c8648ab6890a4223efcd63273d86bbf7ce90389 +size 103312 diff --git a/ThirdParty/include/boost/asio/detail/impl/socket_select_interrupter.ipp b/ThirdParty/include/boost/asio/detail/impl/socket_select_interrupter.ipp new file mode 100644 index 00000000..c10a4454 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/socket_select_interrupter.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cf50439f90b59044f9177bfc3ff6f77f49923260550eb986d10a17ab21c2ed0 +size 5739 diff --git a/ThirdParty/include/boost/asio/detail/impl/strand_executor_service.hpp b/ThirdParty/include/boost/asio/detail/impl/strand_executor_service.hpp new file mode 100644 index 00000000..b767cd4a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/strand_executor_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1507dd3bced276878aa2fba23ea00158f0d842e1bd10f3dea8f4f7b019f256e +size 5816 diff --git a/ThirdParty/include/boost/asio/detail/impl/strand_executor_service.ipp b/ThirdParty/include/boost/asio/detail/impl/strand_executor_service.ipp new file mode 100644 index 00000000..6b86d7ef --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/strand_executor_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:227885e8ee5e24f5743f6b81aefe007e5a32d04e394c928c0ebdd27418bc62e6 +size 3637 diff --git a/ThirdParty/include/boost/asio/detail/impl/strand_service.hpp b/ThirdParty/include/boost/asio/detail/impl/strand_service.hpp new file mode 100644 index 00000000..065cbb75 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/strand_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9aac5f0228438ac9becdf4fa241b455f215285f2558fe784a5eb23c1ab90cde +size 3478 diff --git a/ThirdParty/include/boost/asio/detail/impl/strand_service.ipp b/ThirdParty/include/boost/asio/detail/impl/strand_service.ipp new file mode 100644 index 00000000..8f757734 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/strand_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fc0b3f9e56106b6f1f87b1dcab0735bce789d5cf485dc8a7b2eee8be0d93325 +size 4988 diff --git a/ThirdParty/include/boost/asio/detail/impl/throw_error.ipp b/ThirdParty/include/boost/asio/detail/impl/throw_error.ipp new file mode 100644 index 00000000..8704ba50 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/throw_error.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1928c4e62a4519d7b11d8fba471d0b53b3e876e68355fd50df356827d6240858 +size 1268 diff --git a/ThirdParty/include/boost/asio/detail/impl/timer_queue_ptime.ipp b/ThirdParty/include/boost/asio/detail/impl/timer_queue_ptime.ipp new file mode 100644 index 00000000..d8fa5b2d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/timer_queue_ptime.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:435ddc27cba9212f1679991da9c6d19267c293a19a5cd5034455dc1d2f2df15c +size 2410 diff --git a/ThirdParty/include/boost/asio/detail/impl/timer_queue_set.ipp b/ThirdParty/include/boost/asio/detail/impl/timer_queue_set.ipp new file mode 100644 index 00000000..03ef690f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/timer_queue_set.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:725d1d1aa8ed2e3f3490c9f0a3c7a0dbc3eb659d8f5284ad2104eb57e37e356a +size 2317 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_event.ipp b/ThirdParty/include/boost/asio/detail/impl/win_event.ipp new file mode 100644 index 00000000..7be200bf --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_event.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d45daae237f8399b7103b8b071a7cfd81cc196da145e2a0420e019311e7bfa0 +size 2068 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_iocp_handle_service.ipp b/ThirdParty/include/boost/asio/detail/impl/win_iocp_handle_service.ipp new file mode 100644 index 00000000..88c9649b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_iocp_handle_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a99a796c57883937211d0b520a197644dc52d10552daa81a66d564c7a21cc254 +size 14344 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.hpp b/ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.hpp new file mode 100644 index 00000000..a7df63a1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c3185a6b1cd7c6e63eba4829b0a11a595606ca0110e8726ac5aca6694f099bb +size 3026 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.ipp b/ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.ipp new file mode 100644 index 00000000..e9edbd1d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_iocp_io_context.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e851dd96f096bba62e728b21f176cc065c9076c34dd5e0ae4c69ea7c951e4d +size 15594 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp b/ThirdParty/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp new file mode 100644 index 00000000..0aed4978 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb39b5312b22eaaccf69067975546e131df818a7d677cfd08bd84f9e0be9b9ae +size 5621 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp b/ThirdParty/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp new file mode 100644 index 00000000..b7e89b4e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:203f46643678e8a6758bfe5f1672eb56eecaa652649ce1599aa742b54dc2825a +size 24988 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_mutex.ipp b/ThirdParty/include/boost/asio/detail/impl/win_mutex.ipp new file mode 100644 index 00000000..0e6a7b33 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_mutex.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d97a35bcb906230535137a5e2f3a6c1398a3ce5c13c5c5b59b7b62cda41fd71 +size 2213 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_object_handle_service.ipp b/ThirdParty/include/boost/asio/detail/impl/win_object_handle_service.ipp new file mode 100644 index 00000000..58332e5c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_object_handle_service.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911f0248c9eda43cf23ec549af58f6454438e5e30239febda4a30dcaff58f4e5 +size 12508 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_static_mutex.ipp b/ThirdParty/include/boost/asio/detail/impl/win_static_mutex.ipp new file mode 100644 index 00000000..19a5fb11 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_static_mutex.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e011abb39c46c428265077336fa1d11fd658053919798bf0061b9d471f7d5b59 +size 3636 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_thread.ipp b/ThirdParty/include/boost/asio/detail/impl/win_thread.ipp new file mode 100644 index 00000000..b02079d4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_thread.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:910321a0aa3a513b3b41ff946c252c5dffc12935cccfc277eaa94ec570b474f1 +size 4102 diff --git a/ThirdParty/include/boost/asio/detail/impl/win_tss_ptr.ipp b/ThirdParty/include/boost/asio/detail/impl/win_tss_ptr.ipp new file mode 100644 index 00000000..6e0659db --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/win_tss_ptr.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b5aea341bddf4cf3f5af7f7e972d2d6b9c0ff3e690e0e918b9ea5b5c1b2cf43 +size 1448 diff --git a/ThirdParty/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp b/ThirdParty/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp new file mode 100644 index 00000000..ecd3c7ce --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d25f140b10dcc762c4cb5dca096585835131448cff526b4257d4b47ffe06b6 +size 17552 diff --git a/ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp b/ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp new file mode 100644 index 00000000..c52f2ae2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acff5b9de152a3e7e2a71490e6602a484d32154c23ece7841e480b1aff267e14 +size 2667 diff --git a/ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp b/ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp new file mode 100644 index 00000000..538a72ad --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e772c4e3f92e0bfd42630a451364d82148f05fbe7db7d8119ce47c3c7889a5ec +size 2995 diff --git a/ThirdParty/include/boost/asio/detail/impl/winsock_init.ipp b/ThirdParty/include/boost/asio/detail/impl/winsock_init.ipp new file mode 100644 index 00000000..a4496518 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/impl/winsock_init.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:081f4c4175ac81ee4b3ce27b493b6e455260527ce581e7034265f913f306dec9 +size 2050 diff --git a/ThirdParty/include/boost/asio/detail/io_control.hpp b/ThirdParty/include/boost/asio/detail/io_control.hpp new file mode 100644 index 00000000..b003f88b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/io_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96633171c8b44a0d68f1d7f9afd052c2b42dd33e7d12d56cdc34e849b4a25cca +size 1883 diff --git a/ThirdParty/include/boost/asio/detail/is_buffer_sequence.hpp b/ThirdParty/include/boost/asio/detail/is_buffer_sequence.hpp new file mode 100644 index 00000000..315eff31 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/is_buffer_sequence.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4ee75ceb8b8d6fda3cb51245c34a960e03b3cbb20f3886e8776c7e604fba3f1 +size 6596 diff --git a/ThirdParty/include/boost/asio/detail/is_executor.hpp b/ThirdParty/include/boost/asio/detail/is_executor.hpp new file mode 100644 index 00000000..58e20130 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/is_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cea7459803b58a41c8d7e3044f28533fee306035110ee5053b0edad8eb37f77 +size 3033 diff --git a/ThirdParty/include/boost/asio/detail/keyword_tss_ptr.hpp b/ThirdParty/include/boost/asio/detail/keyword_tss_ptr.hpp new file mode 100644 index 00000000..e9e3541f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/keyword_tss_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f3373d43bfcb17aa2860cd6cc84f862b9ccd2b3506c07401787048ee931507 +size 1425 diff --git a/ThirdParty/include/boost/asio/detail/kqueue_reactor.hpp b/ThirdParty/include/boost/asio/detail/kqueue_reactor.hpp new file mode 100644 index 00000000..493d8688 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/kqueue_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd9be5ec34b51484899c85794c47ada822c6c3836e5be0047c576a4c3e138e31 +size 8277 diff --git a/ThirdParty/include/boost/asio/detail/limits.hpp b/ThirdParty/include/boost/asio/detail/limits.hpp new file mode 100644 index 00000000..52f5c318 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7c7934f7e04faaedb09dae84b87c15fd4b55fadcc71b78974f75f8e4467c417 +size 734 diff --git a/ThirdParty/include/boost/asio/detail/local_free_on_block_exit.hpp b/ThirdParty/include/boost/asio/detail/local_free_on_block_exit.hpp new file mode 100644 index 00000000..10619844 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/local_free_on_block_exit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9498506326999472feb1c06836108e989a2815c95a1055c08c465913cf0882d +size 1470 diff --git a/ThirdParty/include/boost/asio/detail/macos_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/macos_fenced_block.hpp new file mode 100644 index 00000000..7ab9c5ad --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/macos_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7042a9fe1215bcaa5e5a68a47c7327e330cc4a4722aa93e119ab3af53de82b2 +size 1380 diff --git a/ThirdParty/include/boost/asio/detail/memory.hpp b/ThirdParty/include/boost/asio/detail/memory.hpp new file mode 100644 index 00000000..20ded41c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ee10c6726c30b39c8365b65ea3aa05ed04f6894f6f2d4f4bd9bab7e9ed435a5 +size 2019 diff --git a/ThirdParty/include/boost/asio/detail/mutex.hpp b/ThirdParty/include/boost/asio/detail/mutex.hpp new file mode 100644 index 00000000..f2ee67b3 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:762278d4eb8f2d004071a04ed0aee9b33a3009d8831064233d15a2737deed7f9 +size 1351 diff --git a/ThirdParty/include/boost/asio/detail/noncopyable.hpp b/ThirdParty/include/boost/asio/detail/noncopyable.hpp new file mode 100644 index 00000000..7ca1dfe5 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/noncopyable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b67760ea76346dbb5e08586042013323f003785073e6863b88de6530105d645 +size 1000 diff --git a/ThirdParty/include/boost/asio/detail/null_event.hpp b/ThirdParty/include/boost/asio/detail/null_event.hpp new file mode 100644 index 00000000..82fe3502 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c408992c79d9eac27f562e2f501c91a35c1bd03d642463ebd4e2c170ec7717f2 +size 2045 diff --git a/ThirdParty/include/boost/asio/detail/null_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/null_fenced_block.hpp new file mode 100644 index 00000000..daa90acb --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01505376bf724aec479e45343c544117b805d380dea4522633c222453f6b6cdb +size 1044 diff --git a/ThirdParty/include/boost/asio/detail/null_global.hpp b/ThirdParty/include/boost/asio/detail/null_global.hpp new file mode 100644 index 00000000..ef2fec99 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_global.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e463ec37cc78eb19626753040fc154c4bdd848f614f78e192eae7da742ff9649 +size 1295 diff --git a/ThirdParty/include/boost/asio/detail/null_mutex.hpp b/ThirdParty/include/boost/asio/detail/null_mutex.hpp new file mode 100644 index 00000000..038187a8 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0477f08f25b858570f94c32baab8c8636e994a6252c24838fa852d97d48fc86 +size 1255 diff --git a/ThirdParty/include/boost/asio/detail/null_reactor.hpp b/ThirdParty/include/boost/asio/detail/null_reactor.hpp new file mode 100644 index 00000000..5a20055b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eda399cc81b0a3f15ad061a0393b4ed7e1606f8ed887f4d0982d6145a1550428 +size 1563 diff --git a/ThirdParty/include/boost/asio/detail/null_signal_blocker.hpp b/ThirdParty/include/boost/asio/detail/null_signal_blocker.hpp new file mode 100644 index 00000000..ae97ff75 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_signal_blocker.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e9098cfdf48d6387f3b5fd1bc10ee59840e397a321890bed3c3d61ee8ae96ac +size 1627 diff --git a/ThirdParty/include/boost/asio/detail/null_socket_service.hpp b/ThirdParty/include/boost/asio/detail/null_socket_service.hpp new file mode 100644 index 00000000..f44678a0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63fd3ac97319fab8cbb8b039f5adcd8e1514b3de09e3f21279fb87b3deb38604 +size 16545 diff --git a/ThirdParty/include/boost/asio/detail/null_static_mutex.hpp b/ThirdParty/include/boost/asio/detail/null_static_mutex.hpp new file mode 100644 index 00000000..b848efc1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_static_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0a420bc41243fc4936c87801144d33927016d65d3e700529e868d5fa0b62b12 +size 1259 diff --git a/ThirdParty/include/boost/asio/detail/null_thread.hpp b/ThirdParty/include/boost/asio/detail/null_thread.hpp new file mode 100644 index 00000000..53a442e7 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de8136a6db0518122d97f243ea13b8e45e11ac9be1b3c73eeeb99f3943c7a73b +size 1442 diff --git a/ThirdParty/include/boost/asio/detail/null_tss_ptr.hpp b/ThirdParty/include/boost/asio/detail/null_tss_ptr.hpp new file mode 100644 index 00000000..95005f90 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/null_tss_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e740f325fd66cd2002a3084d6a80ad6400175491e28f0c3accc1f828c7470a0 +size 1272 diff --git a/ThirdParty/include/boost/asio/detail/object_pool.hpp b/ThirdParty/include/boost/asio/detail/object_pool.hpp new file mode 100644 index 00000000..da6f6d0f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/object_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9ac8678879817b5409579357a89fa6112daabe06483d5ddb4bd790a8ce2e752 +size 3500 diff --git a/ThirdParty/include/boost/asio/detail/old_win_sdk_compat.hpp b/ThirdParty/include/boost/asio/detail/old_win_sdk_compat.hpp new file mode 100644 index 00000000..0e8837fc --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/old_win_sdk_compat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68bf6319aafb0ab8724db103e7a5194aab45f191a91afcb45942536cd21767c8 +size 4478 diff --git a/ThirdParty/include/boost/asio/detail/op_queue.hpp b/ThirdParty/include/boost/asio/detail/op_queue.hpp new file mode 100644 index 00000000..f6ae82a2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/op_queue.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b43c38d36897962c431b5ccb406185c238594c9bf8ba6e61c72194ea0d7e294 +size 3313 diff --git a/ThirdParty/include/boost/asio/detail/operation.hpp b/ThirdParty/include/boost/asio/detail/operation.hpp new file mode 100644 index 00000000..874fe820 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/operation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d4a8e0a90a9d91829ab694361299e2e10f35b1bcc2d2b8194f859e86b7fb323 +size 963 diff --git a/ThirdParty/include/boost/asio/detail/pipe_select_interrupter.hpp b/ThirdParty/include/boost/asio/detail/pipe_select_interrupter.hpp new file mode 100644 index 00000000..861e041e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/pipe_select_interrupter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bf8bce2b5112c26873889254dfe7b8e96b4722a3b0103c0b266dd7f25b707bc +size 2601 diff --git a/ThirdParty/include/boost/asio/detail/pop_options.hpp b/ThirdParty/include/boost/asio/detail/pop_options.hpp new file mode 100644 index 00000000..fac207d2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/pop_options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a26e10e684101d4badfc62fb6e05ec36d8bcb08d6206a3990cf39a771d2e0f3a +size 2577 diff --git a/ThirdParty/include/boost/asio/detail/posix_event.hpp b/ThirdParty/include/boost/asio/detail/posix_event.hpp new file mode 100644 index 00000000..c04a8ba6 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8038d8ca76a6620283b33a1532f654d59b6de8ff26790d6f2e474ee448846e7 +size 4182 diff --git a/ThirdParty/include/boost/asio/detail/posix_fd_set_adapter.hpp b/ThirdParty/include/boost/asio/detail/posix_fd_set_adapter.hpp new file mode 100644 index 00000000..c2d8152a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_fd_set_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd1d92681b8b5ac8a29284bbdee08a86aec41fd155875639c0dac0fb8b2a389b +size 2992 diff --git a/ThirdParty/include/boost/asio/detail/posix_global.hpp b/ThirdParty/include/boost/asio/detail/posix_global.hpp new file mode 100644 index 00000000..f365dde4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_global.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6921e597374317d7dbd939efad96e80d5fc3806423ad1f834f9c4b7bfaf46e9f +size 1807 diff --git a/ThirdParty/include/boost/asio/detail/posix_mutex.hpp b/ThirdParty/include/boost/asio/detail/posix_mutex.hpp new file mode 100644 index 00000000..cb7c8354 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbea4786ef8d85e0e4eb9399b2167cef025573c8c9cca66aaae4989b0396f460 +size 1685 diff --git a/ThirdParty/include/boost/asio/detail/posix_signal_blocker.hpp b/ThirdParty/include/boost/asio/detail/posix_signal_blocker.hpp new file mode 100644 index 00000000..8df1999b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_signal_blocker.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7de47be836117003368e3e6e2fb8c931532130663ef76cea37ee4873c4c3612 +size 1975 diff --git a/ThirdParty/include/boost/asio/detail/posix_static_mutex.hpp b/ThirdParty/include/boost/asio/detail/posix_static_mutex.hpp new file mode 100644 index 00000000..e0d397fa --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_static_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0ab47579aeb2ccfe327c503bd3930fc79292018c5cf4fdd65cc340ae6c1ef7e +size 1467 diff --git a/ThirdParty/include/boost/asio/detail/posix_thread.hpp b/ThirdParty/include/boost/asio/detail/posix_thread.hpp new file mode 100644 index 00000000..94ed6e2f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61e94bf73cf002cef50f3af4f9f6fecadb0213239a4ca7eef36639cc9051714d +size 2187 diff --git a/ThirdParty/include/boost/asio/detail/posix_tss_ptr.hpp b/ThirdParty/include/boost/asio/detail/posix_tss_ptr.hpp new file mode 100644 index 00000000..ee08e63a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/posix_tss_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a66843339903548a0d0a094dd23291f56d26f1387c353b7ca2772b4be1e790e5 +size 1800 diff --git a/ThirdParty/include/boost/asio/detail/push_options.hpp b/ThirdParty/include/boost/asio/detail/push_options.hpp new file mode 100644 index 00000000..6b39ed60 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/push_options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e69d196ad62bbfed3e013806ebc3f6829cdb52d7989552bb3f79b15beea5f35f +size 4224 diff --git a/ThirdParty/include/boost/asio/detail/reactive_descriptor_service.hpp b/ThirdParty/include/boost/asio/detail/reactive_descriptor_service.hpp new file mode 100644 index 00000000..14fbd6b1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_descriptor_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c562b3f05d5343c9b98c95095a56a33504451468082ba61efbd9bfc0289ab717 +size 13402 diff --git a/ThirdParty/include/boost/asio/detail/reactive_null_buffers_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_null_buffers_op.hpp new file mode 100644 index 00000000..dcb6956e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_null_buffers_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e56ab8a02437079aa8bd4391b94e53e9629fb9acaaacc0304cd8fcd7920b3451 +size 2923 diff --git a/ThirdParty/include/boost/asio/detail/reactive_serial_port_service.hpp b/ThirdParty/include/boost/asio/detail/reactive_serial_port_service.hpp new file mode 100644 index 00000000..65ddb7eb --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_serial_port_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8f749814ebfeeb8114abc5f7e13254e65c9ceae5cf96d921e0a5675b6d39084 +size 8177 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_accept_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_accept_op.hpp new file mode 100644 index 00000000..a13f1043 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_accept_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30ad229e3c52c390d49d7454da20ae8ea2edbf9ee3c584bfc25ee3c5935aa5f0 +size 7321 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_connect_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_connect_op.hpp new file mode 100644 index 00000000..9d9c8cd5 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_connect_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06fcc764657249ba5206c1093ffcab8f6e78f706a3c07fe16cc8ab4434dbe636 +size 3554 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_recv_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_recv_op.hpp new file mode 100644 index 00000000..1f0f4286 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_recv_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf7fa101924c66aa9a3621bce4eccd724ef01ef3ea9a02d4843fede183919f08 +size 4512 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp new file mode 100644 index 00000000..633c5602 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34a07dbd6353b10a36c49cd34f4facbfdf333e4e91b1bda5fa1a12f81107759f +size 4733 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp new file mode 100644 index 00000000..3f3bd940 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a7a1eb6d9b36d19b754d254600c9ebcaf3fbb7d6556a532967082ebf831095d +size 4484 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_send_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_send_op.hpp new file mode 100644 index 00000000..b638ffb6 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_send_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b23f002481150ab1bf8dd21e2b9ca9526c9e9713420fa01b7ef114fdd7a6388c +size 4457 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_sendto_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_sendto_op.hpp new file mode 100644 index 00000000..e5b6dc81 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_sendto_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:308ff82940137d6c970eb49ae5d92cbafb6f8fcce43f35ba039f6dfa5a1f373e +size 4432 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_service.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_service.hpp new file mode 100644 index 00000000..d93c4adb --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26343bee66eb42422df17202c557270007b4d8b790ffaa8ca0f72f719fdc84e2 +size 18269 diff --git a/ThirdParty/include/boost/asio/detail/reactive_socket_service_base.hpp b/ThirdParty/include/boost/asio/detail/reactive_socket_service_base.hpp new file mode 100644 index 00000000..18310107 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_socket_service_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7958ebcf6ee028149eb42bfcac2e163e234ef97556194e6658daeae38cae2bb5 +size 18465 diff --git a/ThirdParty/include/boost/asio/detail/reactive_wait_op.hpp b/ThirdParty/include/boost/asio/detail/reactive_wait_op.hpp new file mode 100644 index 00000000..1c9f8e54 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactive_wait_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c5f66c4c1bd4228854ea2c14cfa162ad62a594414fa110a0997a77b3387f85d +size 2776 diff --git a/ThirdParty/include/boost/asio/detail/reactor.hpp b/ThirdParty/include/boost/asio/detail/reactor.hpp new file mode 100644 index 00000000..78e59e81 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2653de9b06f66e978f670a9d4872c088aa95dbfab4673b0ff68d7b980cdb337a +size 1003 diff --git a/ThirdParty/include/boost/asio/detail/reactor_fwd.hpp b/ThirdParty/include/boost/asio/detail/reactor_fwd.hpp new file mode 100644 index 00000000..5cbc2399 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactor_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce703c076bfceab4fe53528444e7b894b5a2b576b02ee06b8b700f10f1ab2083 +size 1155 diff --git a/ThirdParty/include/boost/asio/detail/reactor_op.hpp b/ThirdParty/include/boost/asio/detail/reactor_op.hpp new file mode 100644 index 00000000..dbe4c768 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactor_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5fb3879ce982139752778893c6b680126e7aa9c8c34491d82f18684920c4029 +size 1689 diff --git a/ThirdParty/include/boost/asio/detail/reactor_op_queue.hpp b/ThirdParty/include/boost/asio/detail/reactor_op_queue.hpp new file mode 100644 index 00000000..c9cc6761 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/reactor_op_queue.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7df2d757883bbf636430cb9912229737427fac6621f8d3db51ed06b3550dfc63 +size 4979 diff --git a/ThirdParty/include/boost/asio/detail/recycling_allocator.hpp b/ThirdParty/include/boost/asio/detail/recycling_allocator.hpp new file mode 100644 index 00000000..325881c1 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/recycling_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98910af74e8aba26ff0389d77fb383f78e125c82424a7f7ebf78bb68d0893451 +size 2265 diff --git a/ThirdParty/include/boost/asio/detail/regex_fwd.hpp b/ThirdParty/include/boost/asio/detail/regex_fwd.hpp new file mode 100644 index 00000000..c3b3be61 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/regex_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07a714670336891220fa8ebd332e78092a10d1457093633576e64935d647d134 +size 846 diff --git a/ThirdParty/include/boost/asio/detail/resolve_endpoint_op.hpp b/ThirdParty/include/boost/asio/detail/resolve_endpoint_op.hpp new file mode 100644 index 00000000..02faaf27 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/resolve_endpoint_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aae0f9759cbe29e69de297c2faa50fbdede36f42d58380397c780b91f5e6a597 +size 4327 diff --git a/ThirdParty/include/boost/asio/detail/resolve_op.hpp b/ThirdParty/include/boost/asio/detail/resolve_op.hpp new file mode 100644 index 00000000..fd8772cc --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/resolve_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e69fc76e9723ec83736f096d2abd20bb46f517c27cdde77f6b032703b15967 +size 1090 diff --git a/ThirdParty/include/boost/asio/detail/resolve_query_op.hpp b/ThirdParty/include/boost/asio/detail/resolve_query_op.hpp new file mode 100644 index 00000000..e28d431e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/resolve_query_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0adc1f589d12081a1180e74cd517d0de4fc1a54510f989a86605e11a99b3ee3 +size 4525 diff --git a/ThirdParty/include/boost/asio/detail/resolver_service.hpp b/ThirdParty/include/boost/asio/detail/resolver_service.hpp new file mode 100644 index 00000000..d206ed48 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/resolver_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df2a6be94c78b7ec5de727c03aa3d5104d179bd86a92f0611b3976bd58d20475 +size 4685 diff --git a/ThirdParty/include/boost/asio/detail/resolver_service_base.hpp b/ThirdParty/include/boost/asio/detail/resolver_service_base.hpp new file mode 100644 index 00000000..8217f7f6 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/resolver_service_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa187d2f2472886a8bc62fb9e41ef3a32c4b181aaf7ccb3a7929712b1e513547 +size 4363 diff --git a/ThirdParty/include/boost/asio/detail/scheduler.hpp b/ThirdParty/include/boost/asio/detail/scheduler.hpp new file mode 100644 index 00000000..787b752a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/scheduler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86fb8d506514871740412ac91fe0fe21f02700d4a2ce13260ee644fa255b7915 +size 6889 diff --git a/ThirdParty/include/boost/asio/detail/scheduler_operation.hpp b/ThirdParty/include/boost/asio/detail/scheduler_operation.hpp new file mode 100644 index 00000000..d037fa37 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/scheduler_operation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:678d6b1fcb0ee20f2c3a7d300cb8a74d4082a211d6b52b29c51708c3c8279b7d +size 1922 diff --git a/ThirdParty/include/boost/asio/detail/scheduler_thread_info.hpp b/ThirdParty/include/boost/asio/detail/scheduler_thread_info.hpp new file mode 100644 index 00000000..e04cfb3c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/scheduler_thread_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7d406acc70c3777d7af18c238762c1116b7690d7f41b297e410f80e2a33b14e +size 1079 diff --git a/ThirdParty/include/boost/asio/detail/scoped_lock.hpp b/ThirdParty/include/boost/asio/detail/scoped_lock.hpp new file mode 100644 index 00000000..6c979cae --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/scoped_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ae28679d3434c29929b02744650190b780883d086f54fab2f28f01a268c8c1e +size 1942 diff --git a/ThirdParty/include/boost/asio/detail/scoped_ptr.hpp b/ThirdParty/include/boost/asio/detail/scoped_ptr.hpp new file mode 100644 index 00000000..f4d29f90 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/scoped_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1abf14af75fcbd2935bffbf5578baf9c44657a536b245f723da123d006d5f3d +size 1448 diff --git a/ThirdParty/include/boost/asio/detail/select_interrupter.hpp b/ThirdParty/include/boost/asio/detail/select_interrupter.hpp new file mode 100644 index 00000000..9b67be34 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/select_interrupter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80e944ceb28f98434e86e07dfe888ab1aed37e617176f3a49db4dbd1a94b2a5b +size 1426 diff --git a/ThirdParty/include/boost/asio/detail/select_reactor.hpp b/ThirdParty/include/boost/asio/detail/select_reactor.hpp new file mode 100644 index 00000000..2f36bb0f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/select_reactor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e7220dae6a79dee806e39dd52111e3d613f35df30472eeadb7a6c1199cd378 +size 8813 diff --git a/ThirdParty/include/boost/asio/detail/service_registry.hpp b/ThirdParty/include/boost/asio/detail/service_registry.hpp new file mode 100644 index 00000000..8a36bc6a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/service_registry.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0ec76748aae87d617c0bf89fb5762d3cd4d82e37c68fb6115c4c2b36852907e +size 5645 diff --git a/ThirdParty/include/boost/asio/detail/signal_blocker.hpp b/ThirdParty/include/boost/asio/detail/signal_blocker.hpp new file mode 100644 index 00000000..e0347a84 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/signal_blocker.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4fdcebc8be95fd4c92e88b2ce44336dd3541aabfead2162c782830144069d91 +size 1382 diff --git a/ThirdParty/include/boost/asio/detail/signal_handler.hpp b/ThirdParty/include/boost/asio/detail/signal_handler.hpp new file mode 100644 index 00000000..6d51bd05 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/signal_handler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5584d576a6c9afc540c671031d82128c7625e9b220bb5fa94bcad666bd01be5 +size 2765 diff --git a/ThirdParty/include/boost/asio/detail/signal_init.hpp b/ThirdParty/include/boost/asio/detail/signal_init.hpp new file mode 100644 index 00000000..78d5927e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/signal_init.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d6a2a6d637ffb079c12bda4d45f51b1af8d3b01f85a60c4776ea088448e7132 +size 1070 diff --git a/ThirdParty/include/boost/asio/detail/signal_op.hpp b/ThirdParty/include/boost/asio/detail/signal_op.hpp new file mode 100644 index 00000000..32810164 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/signal_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4103884a9db9abe2bd7e3bac6b4c7e7859d5e84e935352769ad467b537fc4f94 +size 1146 diff --git a/ThirdParty/include/boost/asio/detail/signal_set_service.hpp b/ThirdParty/include/boost/asio/detail/signal_set_service.hpp new file mode 100644 index 00000000..55698133 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/signal_set_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14703ab36342438651a22b9621a377c05a596d0b8d3a3ba5a85a8d9d9a7a7b9e +size 6588 diff --git a/ThirdParty/include/boost/asio/detail/socket_holder.hpp b/ThirdParty/include/boost/asio/detail/socket_holder.hpp new file mode 100644 index 00000000..336753b5 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/socket_holder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:129ae88c4acac7228b8ee5514400a84b7922fe88ba1e04b8eb22d88d51ffb986 +size 2148 diff --git a/ThirdParty/include/boost/asio/detail/socket_ops.hpp b/ThirdParty/include/boost/asio/detail/socket_ops.hpp new file mode 100644 index 00000000..8868af47 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/socket_ops.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2522fea39af9f389896011cde2adca05991f9c639f62882da56cfd4b25708f25 +size 11828 diff --git a/ThirdParty/include/boost/asio/detail/socket_option.hpp b/ThirdParty/include/boost/asio/detail/socket_option.hpp new file mode 100644 index 00000000..c18be6ff --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/socket_option.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8161d5674a4010b6005b6751352902245491957b87502f0143506b522efd71bf +size 6410 diff --git a/ThirdParty/include/boost/asio/detail/socket_select_interrupter.hpp b/ThirdParty/include/boost/asio/detail/socket_select_interrupter.hpp new file mode 100644 index 00000000..b6afd804 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/socket_select_interrupter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81ac3eaa25f11edf101e26f7deb03da3110ecdbf7895391309d0fa9453e7cc3b +size 2618 diff --git a/ThirdParty/include/boost/asio/detail/socket_types.hpp b/ThirdParty/include/boost/asio/detail/socket_types.hpp new file mode 100644 index 00000000..c455de14 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/socket_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37b29fb54ccb865cc3667bf6d1aa1d8deef063aac98262e6a5acba718eeac1a6 +size 16173 diff --git a/ThirdParty/include/boost/asio/detail/solaris_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/solaris_fenced_block.hpp new file mode 100644 index 00000000..1e974f89 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/solaris_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f71d24b1f3dfcef03fdce219d3274641e328a701610a0ba0fefd4f22cd860eb +size 1338 diff --git a/ThirdParty/include/boost/asio/detail/static_mutex.hpp b/ThirdParty/include/boost/asio/detail/static_mutex.hpp new file mode 100644 index 00000000..23f8437a --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/static_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6225ed7dd28b5a93c1b938f1de60f41fb54a7af30d189713518aa44f2db1ec2 +size 1745 diff --git a/ThirdParty/include/boost/asio/detail/std_event.hpp b/ThirdParty/include/boost/asio/detail/std_event.hpp new file mode 100644 index 00000000..56307794 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/std_event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e13bb9b2d1d9960bc66d4a01377de01b0ded62642213d6ef6acc787939bd1d28 +size 3728 diff --git a/ThirdParty/include/boost/asio/detail/std_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/std_fenced_block.hpp new file mode 100644 index 00000000..84d4cc3b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/std_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48cf0e90eab1dec6ddecca727cfebcd7b9e638a26874e345ccb6bc4a79f6e6be +size 1408 diff --git a/ThirdParty/include/boost/asio/detail/std_global.hpp b/ThirdParty/include/boost/asio/detail/std_global.hpp new file mode 100644 index 00000000..093e50b8 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/std_global.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da092fab7f9093ea6c6445ba3b27c9e55128d44b3ef373297f467073f628d51e +size 1568 diff --git a/ThirdParty/include/boost/asio/detail/std_mutex.hpp b/ThirdParty/include/boost/asio/detail/std_mutex.hpp new file mode 100644 index 00000000..981a72c4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/std_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49fad314848f1b644acd56848a4ebf246de7f9c1a1f5453c0c0014df5fc046cc +size 1404 diff --git a/ThirdParty/include/boost/asio/detail/std_static_mutex.hpp b/ThirdParty/include/boost/asio/detail/std_static_mutex.hpp new file mode 100644 index 00000000..82e048d4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/std_static_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69bedc8390c52cf71afb6fe6274f89ea692b3407451559ba7b9dd478273a4504 +size 1586 diff --git a/ThirdParty/include/boost/asio/detail/std_thread.hpp b/ThirdParty/include/boost/asio/detail/std_thread.hpp new file mode 100644 index 00000000..046b28f4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/std_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e1e3d70025f5eb3615c4f4e6f6d507b39a112e9d8abe3bf7a61eb7c9faf8b1d +size 1425 diff --git a/ThirdParty/include/boost/asio/detail/strand_executor_service.hpp b/ThirdParty/include/boost/asio/detail/strand_executor_service.hpp new file mode 100644 index 00000000..e0fc3cc8 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/strand_executor_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fc80f2c0dfe52965115eab9a00e51dfdc1d8353e324922b2108f55be4cd757b +size 5015 diff --git a/ThirdParty/include/boost/asio/detail/strand_service.hpp b/ThirdParty/include/boost/asio/detail/strand_service.hpp new file mode 100644 index 00000000..fd322079 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/strand_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29341ec61f2b811bd36f27ca858f2b55f76288ae4128999e6205b27a9898d7df +size 4811 diff --git a/ThirdParty/include/boost/asio/detail/string_view.hpp b/ThirdParty/include/boost/asio/detail/string_view.hpp new file mode 100644 index 00000000..e7b1464e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/string_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95457b89a3d6655a11a37220a3ea5b5c724be81e150915539eb4f4bc791e07ed +size 1574 diff --git a/ThirdParty/include/boost/asio/detail/thread.hpp b/ThirdParty/include/boost/asio/detail/thread.hpp new file mode 100644 index 00000000..a7786d1f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9277c1199fa44fb09ba56c2abb743e4e14fb062729a0601b209f14a0f2f3eee3 +size 1658 diff --git a/ThirdParty/include/boost/asio/detail/thread_context.hpp b/ThirdParty/include/boost/asio/detail/thread_context.hpp new file mode 100644 index 00000000..a819616c --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/thread_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6762729b444057c389dd82f7f92feb6678cb11d2f5757b3e2574fadc9642eda0 +size 1135 diff --git a/ThirdParty/include/boost/asio/detail/thread_group.hpp b/ThirdParty/include/boost/asio/detail/thread_group.hpp new file mode 100644 index 00000000..b29cebd2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/thread_group.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d62106a52c11bdcb09e2aa8a35d1a9a454ddadaebacc64ed899d4a0027f8b053 +size 1901 diff --git a/ThirdParty/include/boost/asio/detail/thread_info_base.hpp b/ThirdParty/include/boost/asio/detail/thread_info_base.hpp new file mode 100644 index 00000000..03d09b85 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/thread_info_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acbc1827390656513f54c335063d9cb777d0650c01720e421eb93116674e6a9a +size 3095 diff --git a/ThirdParty/include/boost/asio/detail/throw_error.hpp b/ThirdParty/include/boost/asio/detail/throw_error.hpp new file mode 100644 index 00000000..7cbc9cee --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/throw_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93184285a2920f25f94008e960ff45156730e626e997a1143a94d7793e336733 +size 1377 diff --git a/ThirdParty/include/boost/asio/detail/throw_exception.hpp b/ThirdParty/include/boost/asio/detail/throw_exception.hpp new file mode 100644 index 00000000..b7636113 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/throw_exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:567027051197e12e08a9dc03517ccddc66ed298623e20c5274cfd83e3a602717 +size 1512 diff --git a/ThirdParty/include/boost/asio/detail/timer_queue.hpp b/ThirdParty/include/boost/asio/detail/timer_queue.hpp new file mode 100644 index 00000000..fcde3f54 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/timer_queue.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04a92cddc3b58662d497999a27af6f089b2e3fc52756930b15658c7a1208f7ca +size 9873 diff --git a/ThirdParty/include/boost/asio/detail/timer_queue_base.hpp b/ThirdParty/include/boost/asio/detail/timer_queue_base.hpp new file mode 100644 index 00000000..27ed1384 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/timer_queue_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:160ab4341e1b2d50177f346ba7fe43073499c12beb6632b3472a0d8b18eca995 +size 1754 diff --git a/ThirdParty/include/boost/asio/detail/timer_queue_ptime.hpp b/ThirdParty/include/boost/asio/detail/timer_queue_ptime.hpp new file mode 100644 index 00000000..cea2e0a0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/timer_queue_ptime.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e633f63849ed6df00289af000566bb5d95bc21fcd04be2f423a91e5fa10cddc7 +size 3132 diff --git a/ThirdParty/include/boost/asio/detail/timer_queue_set.hpp b/ThirdParty/include/boost/asio/detail/timer_queue_set.hpp new file mode 100644 index 00000000..8573f3e0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/timer_queue_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd3ab29422c2a48a51b01715b4dc2035229f50eddce6d57a57b215e5cced0f08 +size 1805 diff --git a/ThirdParty/include/boost/asio/detail/timer_scheduler.hpp b/ThirdParty/include/boost/asio/detail/timer_scheduler.hpp new file mode 100644 index 00000000..d52a5f1d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/timer_scheduler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e294e9dbda06b95a6bcc055806dcb24cc2a154520a3be677e9ee1ae3b7c690e +size 1157 diff --git a/ThirdParty/include/boost/asio/detail/timer_scheduler_fwd.hpp b/ThirdParty/include/boost/asio/detail/timer_scheduler_fwd.hpp new file mode 100644 index 00000000..046b01ce --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/timer_scheduler_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9655df419c406b427d38db49ecfc9b971c070bda519e319d645bc586cadf33b9 +size 1225 diff --git a/ThirdParty/include/boost/asio/detail/tss_ptr.hpp b/ThirdParty/include/boost/asio/detail/tss_ptr.hpp new file mode 100644 index 00000000..b830e5e5 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/tss_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1783dca827adc6dad1948d09e9356e5b81328e7785132a9b8bf46462112cc46d +size 1883 diff --git a/ThirdParty/include/boost/asio/detail/type_traits.hpp b/ThirdParty/include/boost/asio/detail/type_traits.hpp new file mode 100644 index 00000000..b832572f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/type_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81149d082102b1619a71493c4ba31624535717e44eeff724c42afc497e0a8fc0 +size 2746 diff --git a/ThirdParty/include/boost/asio/detail/variadic_templates.hpp b/ThirdParty/include/boost/asio/detail/variadic_templates.hpp new file mode 100644 index 00000000..5a0733e8 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/variadic_templates.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b3bfc75ea923ab378a7c4fc990e7e69ef1edf0309a41bd3387ba5fbe412f8ad +size 4528 diff --git a/ThirdParty/include/boost/asio/detail/wait_handler.hpp b/ThirdParty/include/boost/asio/detail/wait_handler.hpp new file mode 100644 index 00000000..a56579a5 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/wait_handler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b2510d6ff0652a018b73bdb9382e5c79790e37ae093b2869d66848fe46c711 +size 2643 diff --git a/ThirdParty/include/boost/asio/detail/wait_op.hpp b/ThirdParty/include/boost/asio/detail/wait_op.hpp new file mode 100644 index 00000000..fcf69117 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/wait_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de2ba94c8fd940e00cb1097e45b8530107cdf4952f836081b4eeef5f36da1448 +size 1021 diff --git a/ThirdParty/include/boost/asio/detail/win_event.hpp b/ThirdParty/include/boost/asio/detail/win_event.hpp new file mode 100644 index 00000000..23b4c413 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f234349477d033e64294e1c2272f6e8da40fce00dd1fd2f47b0a570f6a5a2e9 +size 3596 diff --git a/ThirdParty/include/boost/asio/detail/win_fd_set_adapter.hpp b/ThirdParty/include/boost/asio/detail/win_fd_set_adapter.hpp new file mode 100644 index 00000000..a8460246 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_fd_set_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fda7ed1dca38c382d8471621b2e18776cc85d76bd335fd0a16eb41b03a471578 +size 3911 diff --git a/ThirdParty/include/boost/asio/detail/win_fenced_block.hpp b/ThirdParty/include/boost/asio/detail/win_fenced_block.hpp new file mode 100644 index 00000000..2af4ab6d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_fenced_block.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:449f35f728927d4d4ba098ca3972124ed8a1361c7caabba3fa0e153a57309d3b +size 2138 diff --git a/ThirdParty/include/boost/asio/detail/win_global.hpp b/ThirdParty/include/boost/asio/detail/win_global.hpp new file mode 100644 index 00000000..ffa9eaab --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_global.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4326d64ea4d853ead8a891c2753c1de8c98edee7c227f458d94a7f1949f1356 +size 1823 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_handle_read_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_handle_read_op.hpp new file mode 100644 index 00000000..eaa58229 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_handle_read_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdf4c9a9047b170f207331154187e434305034c2cfc482db65a3c6181edeb616 +size 3689 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_handle_service.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_handle_service.hpp new file mode 100644 index 00000000..8456bbaf --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_handle_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f5cc6c988536837ad6cef362e037a387267a258ee8283164a5804917356bc17 +size 12356 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_handle_write_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_handle_write_op.hpp new file mode 100644 index 00000000..0faba8d0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_handle_write_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:050375a8210731bf74fd7a4a4fb21210211f3cc918f89b0bf6cb160427e22441 +size 3484 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_io_context.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_io_context.hpp new file mode 100644 index 00000000..484aef07 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_io_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a887684ca04873e9cde919aafd54226d9c1df02ba5018fc44d8373b0dc494c48 +size 11293 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_null_buffers_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_null_buffers_op.hpp new file mode 100644 index 00000000..0cbbd924 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_null_buffers_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f7654939397009a9fc199bfb92147311dc540e73241b075a5d7261fc0ba5a0b +size 3850 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_operation.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_operation.hpp new file mode 100644 index 00000000..16fa70e3 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_operation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d6969bec7a2226db3061fa310680c255d722cc391ab8a6d133ae25cc9ae4592 +size 2187 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_overlapped_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_overlapped_op.hpp new file mode 100644 index 00000000..9c1c4aac --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_overlapped_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f7fdcd47ae4d20dd98572e5787399b3f264036bf5e1dbd1d6ed6ae574b2091 +size 2918 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp new file mode 100644 index 00000000..2d19b3e2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0f4d8cd2abbd0afa9bf52fd817be6c8de971d9ea2fccf64997cffc2cd4c70ba +size 3561 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_serial_port_service.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_serial_port_service.hpp new file mode 100644 index 00000000..8202ef32 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_serial_port_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf4469088d254ce43cddefc1f1aa71238f709112ba030f3bd4c8dcf3dc525460 +size 7848 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_accept_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_accept_op.hpp new file mode 100644 index 00000000..a9342ac4 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_accept_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f10aab18b460d197b69e28bd51257b2792557afccd73900e33e0a57e2b4ec654 +size 9676 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_connect_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_connect_op.hpp new file mode 100644 index 00000000..571dfcf9 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_connect_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f98301ef1adf3e679f0acc45dbbfd611ff049590a3f1f430e0eeca3b586edd8 +size 3835 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_recv_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_recv_op.hpp new file mode 100644 index 00000000..9e385dbc --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_recv_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b13de30ace488f64262fc869f05d1b1613f00c2b2374ac1d92f94b7709a241c +size 3958 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp new file mode 100644 index 00000000..3e0d6473 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8538901831792383ed246c64c94153d98fdea6696a858ab84f61e17e1a24cf5f +size 4116 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp new file mode 100644 index 00000000..acc2a28f --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79334e9adab359b29c803a19bce4fed09266a9e046d36a8e7ec7dd03e7c9d5bb +size 3937 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_send_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_send_op.hpp new file mode 100644 index 00000000..aeb9a7e0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_send_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:522a003daf6c68da503c14749c0567c49f413aa333e77dae1e86a9c495e85ad2 +size 3701 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_service.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_service.hpp new file mode 100644 index 00000000..2f236f40 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f95ab08dbb3af7fe18f341202fe97b87c5ff9bb75b90da419ecd9b3699bff80 +size 20585 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_socket_service_base.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_socket_service_base.hpp new file mode 100644 index 00000000..50ebb57b --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_socket_service_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1de9b20eec883e09f4a42351d7074cbf10ae75a4a1c5329fc5f1ad9a1da115b +size 22970 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_thread_info.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_thread_info.hpp new file mode 100644 index 00000000..fd11fa2e --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_thread_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8757a76df82b24733b37e8faf7caf5e125281de247127afdc662fd65d656bb0b +size 903 diff --git a/ThirdParty/include/boost/asio/detail/win_iocp_wait_op.hpp b/ThirdParty/include/boost/asio/detail/win_iocp_wait_op.hpp new file mode 100644 index 00000000..61f0f725 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_iocp_wait_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e28640c50c829aa4a8062030a78d52ac9b82b3d3f5e5d23eff395bee8f85a07 +size 3711 diff --git a/ThirdParty/include/boost/asio/detail/win_mutex.hpp b/ThirdParty/include/boost/asio/detail/win_mutex.hpp new file mode 100644 index 00000000..18405ed6 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9881d335171e72da5d16a814726f1f71b0432e1e92bbd70399612795ce111400 +size 1832 diff --git a/ThirdParty/include/boost/asio/detail/win_object_handle_service.hpp b/ThirdParty/include/boost/asio/detail/win_object_handle_service.hpp new file mode 100644 index 00000000..7447b935 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_object_handle_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96619f6ff6e1f1ecbbf2deb121219f63537d6921fcef5849c67fd88cd06fb066 +size 5991 diff --git a/ThirdParty/include/boost/asio/detail/win_static_mutex.hpp b/ThirdParty/include/boost/asio/detail/win_static_mutex.hpp new file mode 100644 index 00000000..b3024222 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_static_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea162c53713c8fe9f3f354f4a5ae8c60fcdabdda9b03fb6dcb9ced41b9a091ae +size 1937 diff --git a/ThirdParty/include/boost/asio/detail/win_thread.hpp b/ThirdParty/include/boost/asio/detail/win_thread.hpp new file mode 100644 index 00000000..151c2ba9 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5da25470ee00115bc15732d2b8300f8d13777a37f28e812192639f8de26d601 +size 3233 diff --git a/ThirdParty/include/boost/asio/detail/win_tss_ptr.hpp b/ThirdParty/include/boost/asio/detail/win_tss_ptr.hpp new file mode 100644 index 00000000..92d849e8 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/win_tss_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:027351323e075b51bbb4cf75f579bc195e2964cb72876a8e69e8c421c667b5fa +size 1744 diff --git a/ThirdParty/include/boost/asio/detail/winapp_thread.hpp b/ThirdParty/include/boost/asio/detail/winapp_thread.hpp new file mode 100644 index 00000000..4c78c624 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winapp_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df88b9b348ec91207daa1f83252c90a0c13dc8ecb428782eb3e43f4d2ab4a50c +size 2740 diff --git a/ThirdParty/include/boost/asio/detail/wince_thread.hpp b/ThirdParty/include/boost/asio/detail/wince_thread.hpp new file mode 100644 index 00000000..6bad7f73 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/wince_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a9330e36ec552fd2376174739bf6b057c1790b6d5fda2bcffc7c25eb87706a8 +size 2683 diff --git a/ThirdParty/include/boost/asio/detail/winrt_async_manager.hpp b/ThirdParty/include/boost/asio/detail/winrt_async_manager.hpp new file mode 100644 index 00000000..f6a68f76 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_async_manager.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f02eaa8e8c37a467703b2385624d1830165aa09dcff8334d6c607b9c0840df +size 8700 diff --git a/ThirdParty/include/boost/asio/detail/winrt_async_op.hpp b/ThirdParty/include/boost/asio/detail/winrt_async_op.hpp new file mode 100644 index 00000000..cdebd5f7 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_async_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04b1d6bd54a98c9cbc75a2d43950b61326bf42aef5c6aa9e39f552f9c10d0078 +size 1487 diff --git a/ThirdParty/include/boost/asio/detail/winrt_resolve_op.hpp b/ThirdParty/include/boost/asio/detail/winrt_resolve_op.hpp new file mode 100644 index 00000000..afd78e84 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_resolve_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7fd049a17949996d69be978d7ffcad3e8f26a70c8e7d4e998ed15b5c0ba7bd4 +size 3784 diff --git a/ThirdParty/include/boost/asio/detail/winrt_resolver_service.hpp b/ThirdParty/include/boost/asio/detail/winrt_resolver_service.hpp new file mode 100644 index 00000000..c33ec119 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_resolver_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8571d956ea0ac4f98b5508e0052d2b63a57ad17471f657ab4f6168ec8d915483 +size 5746 diff --git a/ThirdParty/include/boost/asio/detail/winrt_socket_connect_op.hpp b/ThirdParty/include/boost/asio/detail/winrt_socket_connect_op.hpp new file mode 100644 index 00000000..dd8baaaf --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_socket_connect_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c71da19c487253fea8777ce75ed35e22de6a2a8efeab6fc8cbc19f49a8c05ea9 +size 2965 diff --git a/ThirdParty/include/boost/asio/detail/winrt_socket_recv_op.hpp b/ThirdParty/include/boost/asio/detail/winrt_socket_recv_op.hpp new file mode 100644 index 00000000..28793358 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_socket_recv_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84f0385bb94a35ce2578286652e923897643d8f89bcd0e78d268213973b4678a +size 3764 diff --git a/ThirdParty/include/boost/asio/detail/winrt_socket_send_op.hpp b/ThirdParty/include/boost/asio/detail/winrt_socket_send_op.hpp new file mode 100644 index 00000000..3a34fedd --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_socket_send_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb7ebe5416c9329a3283463e9bbca847740b74baa929deb54c0df302170bd7b1 +size 3399 diff --git a/ThirdParty/include/boost/asio/detail/winrt_ssocket_service.hpp b/ThirdParty/include/boost/asio/detail/winrt_ssocket_service.hpp new file mode 100644 index 00000000..555e0298 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_ssocket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0525c18869c3de8f89c61ff19b386135ae7f4025e4ac1e9b871a9b0da7496e7f +size 7089 diff --git a/ThirdParty/include/boost/asio/detail/winrt_ssocket_service_base.hpp b/ThirdParty/include/boost/asio/detail/winrt_ssocket_service_base.hpp new file mode 100644 index 00000000..62fd60c0 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_ssocket_service_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12e5c1cd470783f0be3dce2028ddc99489948eaa7c33a667bbcad4c12064c0eb +size 12560 diff --git a/ThirdParty/include/boost/asio/detail/winrt_timer_scheduler.hpp b/ThirdParty/include/boost/asio/detail/winrt_timer_scheduler.hpp new file mode 100644 index 00000000..776d4da5 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_timer_scheduler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2008908bd8882a5c4d13afe6b6d94e48428683049640df1c36d6967e3f5679f +size 4511 diff --git a/ThirdParty/include/boost/asio/detail/winrt_utils.hpp b/ThirdParty/include/boost/asio/detail/winrt_utils.hpp new file mode 100644 index 00000000..78905ee8 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winrt_utils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:640ef16c0cf47062f071ab23637a2e6d3751ae0bbebbdb717d0f956faedb5d80 +size 2760 diff --git a/ThirdParty/include/boost/asio/detail/winsock_init.hpp b/ThirdParty/include/boost/asio/detail/winsock_init.hpp new file mode 100644 index 00000000..d0c8cbc2 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/winsock_init.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63f1f7dc67a733908855a135025e3aee04ff5dcdfc8ef7750a9a84123476b50e +size 3232 diff --git a/ThirdParty/include/boost/asio/detail/work_dispatcher.hpp b/ThirdParty/include/boost/asio/detail/work_dispatcher.hpp new file mode 100644 index 00000000..4ff4f34d --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/work_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:593d3454031d55d415a0f3f2e42a1530260a483e68c4576197e400150e006fd1 +size 1929 diff --git a/ThirdParty/include/boost/asio/detail/wrapped_handler.hpp b/ThirdParty/include/boost/asio/detail/wrapped_handler.hpp new file mode 100644 index 00000000..4e90d862 --- /dev/null +++ b/ThirdParty/include/boost/asio/detail/wrapped_handler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b853d7f308c42c5c754df3ebc6d198a1802c0142c5c54c18c556bcfdad3239d +size 8334 diff --git a/ThirdParty/include/boost/asio/dispatch.hpp b/ThirdParty/include/boost/asio/dispatch.hpp new file mode 100644 index 00000000..60493e7a --- /dev/null +++ b/ThirdParty/include/boost/asio/dispatch.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f02de1b3a86abcd3eb6b94e2342601fbcf4c010bc414368357382d342ffd2fff +size 3997 diff --git a/ThirdParty/include/boost/asio/error.hpp b/ThirdParty/include/boost/asio/error.hpp new file mode 100644 index 00000000..a78d1c47 --- /dev/null +++ b/ThirdParty/include/boost/asio/error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baa0e11510425b18acc67872e2c418d81623e6100958f22568444c5237222aba +size 10351 diff --git a/ThirdParty/include/boost/asio/execution_context.hpp b/ThirdParty/include/boost/asio/execution_context.hpp new file mode 100644 index 00000000..ccb5d1b8 --- /dev/null +++ b/ThirdParty/include/boost/asio/execution_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e14bfddcc202437cb659405c666fa9093b81ee958addac171658f40255b5e28e +size 14333 diff --git a/ThirdParty/include/boost/asio/executor.hpp b/ThirdParty/include/boost/asio/executor.hpp new file mode 100644 index 00000000..f89bc412 --- /dev/null +++ b/ThirdParty/include/boost/asio/executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:131ed030b7701fd32bbb00762ac82e723b80532911ea42968b1d405f674ba66f +size 10297 diff --git a/ThirdParty/include/boost/asio/executor_work_guard.hpp b/ThirdParty/include/boost/asio/executor_work_guard.hpp new file mode 100644 index 00000000..733e4547 --- /dev/null +++ b/ThirdParty/include/boost/asio/executor_work_guard.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5bddb1ec2b137b07255c945b88b168a7be362fc8003318e60951aebc8f21ea6 +size 5133 diff --git a/ThirdParty/include/boost/asio/experimental.hpp b/ThirdParty/include/boost/asio/experimental.hpp new file mode 100644 index 00000000..c0259de2 --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:245d8dd777c1a59a97752137ecad2230d8591a93b709e4ddc133b86227e8f483 +size 656 diff --git a/ThirdParty/include/boost/asio/experimental/co_spawn.hpp b/ThirdParty/include/boost/asio/experimental/co_spawn.hpp new file mode 100644 index 00000000..6a81f039 --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental/co_spawn.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d2458fda0e9d12b5c6597ed32688cccb1e646db6c3bd82fd37f4bf3709a3e9d +size 6380 diff --git a/ThirdParty/include/boost/asio/experimental/detached.hpp b/ThirdParty/include/boost/asio/experimental/detached.hpp new file mode 100644 index 00000000..ac462769 --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental/detached.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fcdefa1caea5197033dede92a721728e623fbf476f3478344356096e664b25e +size 1826 diff --git a/ThirdParty/include/boost/asio/experimental/impl/co_spawn.hpp b/ThirdParty/include/boost/asio/experimental/impl/co_spawn.hpp new file mode 100644 index 00000000..fdf8cd99 --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental/impl/co_spawn.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc9869211858b73eb3d3debdbe1c1faef44fdf975a730a1253f1972d5b00ebaa +size 20232 diff --git a/ThirdParty/include/boost/asio/experimental/impl/detached.hpp b/ThirdParty/include/boost/asio/experimental/impl/detached.hpp new file mode 100644 index 00000000..5f37f0fe --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental/impl/detached.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20caf730d7400d2a87a8b4567617580e1ea2dcdf5be2563397f22738f1282342 +size 2128 diff --git a/ThirdParty/include/boost/asio/experimental/impl/redirect_error.hpp b/ThirdParty/include/boost/asio/experimental/impl/redirect_error.hpp new file mode 100644 index 00000000..d043f90a --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental/impl/redirect_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8d4876b1637b67e716211d19efe02db8d4f5c44683ab56350a91bf5e42c3795 +size 8588 diff --git a/ThirdParty/include/boost/asio/experimental/redirect_error.hpp b/ThirdParty/include/boost/asio/experimental/redirect_error.hpp new file mode 100644 index 00000000..803993b1 --- /dev/null +++ b/ThirdParty/include/boost/asio/experimental/redirect_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b051c51392c0bb980506ddddfd2698e932975873c8132a0e22f930f59079f085 +size 2046 diff --git a/ThirdParty/include/boost/asio/generic/basic_endpoint.hpp b/ThirdParty/include/boost/asio/generic/basic_endpoint.hpp new file mode 100644 index 00000000..5863d78a --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/basic_endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2f1822a6dc08e182b8f423402f79a7154b6952a80db8f5c593ba90a2e55c72b +size 4824 diff --git a/ThirdParty/include/boost/asio/generic/datagram_protocol.hpp b/ThirdParty/include/boost/asio/generic/datagram_protocol.hpp new file mode 100644 index 00000000..e4ff5c2c --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/datagram_protocol.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f8d444b89360703332b71284a947d6ffdedf0201513930a645e897796f9e7be +size 3290 diff --git a/ThirdParty/include/boost/asio/generic/detail/endpoint.hpp b/ThirdParty/include/boost/asio/generic/detail/endpoint.hpp new file mode 100644 index 00000000..3f125774 --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/detail/endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed92caff8cebc4dc3180e14af7f7b1e31cbd3baa7f9096349daf4a0602c93c26 +size 3359 diff --git a/ThirdParty/include/boost/asio/generic/detail/impl/endpoint.ipp b/ThirdParty/include/boost/asio/generic/detail/impl/endpoint.ipp new file mode 100644 index 00000000..6a088c94 --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/detail/impl/endpoint.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0973171b6da3051ac86e7d8b3eedbcd8759c995a96c7a36f5ff942ad158f221b +size 2846 diff --git a/ThirdParty/include/boost/asio/generic/raw_protocol.hpp b/ThirdParty/include/boost/asio/generic/raw_protocol.hpp new file mode 100644 index 00000000..7aa2d071 --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/raw_protocol.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de0781c2e14c29c4ca2f4d0351449873e09b1135315439f1fe50ab5bdba0d6f0 +size 3150 diff --git a/ThirdParty/include/boost/asio/generic/seq_packet_protocol.hpp b/ThirdParty/include/boost/asio/generic/seq_packet_protocol.hpp new file mode 100644 index 00000000..c8d10b97 --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/seq_packet_protocol.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c5d06ad85fd296a4543107f7ac9643b0dc477b30f8b7dee8ccff409c957aa47 +size 3236 diff --git a/ThirdParty/include/boost/asio/generic/stream_protocol.hpp b/ThirdParty/include/boost/asio/generic/stream_protocol.hpp new file mode 100644 index 00000000..3d75abb0 --- /dev/null +++ b/ThirdParty/include/boost/asio/generic/stream_protocol.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceb76a6660d5e70d25e8dc9e3d5c9d063a109c73aab48c73949575a13a05dfb5 +size 3463 diff --git a/ThirdParty/include/boost/asio/handler_alloc_hook.hpp b/ThirdParty/include/boost/asio/handler_alloc_hook.hpp new file mode 100644 index 00000000..084a2a6d --- /dev/null +++ b/ThirdParty/include/boost/asio/handler_alloc_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:560e2460c5db4c122574053ee37e62a238ca2cafd41c204f59c692568da7fccb +size 2516 diff --git a/ThirdParty/include/boost/asio/handler_continuation_hook.hpp b/ThirdParty/include/boost/asio/handler_continuation_hook.hpp new file mode 100644 index 00000000..e1b40de2 --- /dev/null +++ b/ThirdParty/include/boost/asio/handler_continuation_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67f9ae57a708be2ffc606334214a35062c9802536d2f1da0169848537b5144fe +size 1474 diff --git a/ThirdParty/include/boost/asio/handler_invoke_hook.hpp b/ThirdParty/include/boost/asio/handler_invoke_hook.hpp new file mode 100644 index 00000000..ea8fa2c1 --- /dev/null +++ b/ThirdParty/include/boost/asio/handler_invoke_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:909232f25d5fbaa668f0d685ed0172e20ebdd5517e85c45624719e369ed9f4c8 +size 2750 diff --git a/ThirdParty/include/boost/asio/handler_type.hpp b/ThirdParty/include/boost/asio/handler_type.hpp new file mode 100644 index 00000000..cd8bbc33 --- /dev/null +++ b/ThirdParty/include/boost/asio/handler_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b55cf8c79ee0d892648bc0d8a8836f7f4340f0a1b549fa30a64f0998ee8ca463 +size 1608 diff --git a/ThirdParty/include/boost/asio/high_resolution_timer.hpp b/ThirdParty/include/boost/asio/high_resolution_timer.hpp new file mode 100644 index 00000000..333efc83 --- /dev/null +++ b/ThirdParty/include/boost/asio/high_resolution_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aef7a84a54d5c1764b10ca15dc61d73b20047eed3a9049d0f58d4fd0e10b1448 +size 1394 diff --git a/ThirdParty/include/boost/asio/impl/buffered_read_stream.hpp b/ThirdParty/include/boost/asio/impl/buffered_read_stream.hpp new file mode 100644 index 00000000..fc6da661 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/buffered_read_stream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a84d5d302790a9b04dcee06dba9e444405d33433b7e95ac1f36bd4595aa6a53c +size 13410 diff --git a/ThirdParty/include/boost/asio/impl/buffered_write_stream.hpp b/ThirdParty/include/boost/asio/impl/buffered_write_stream.hpp new file mode 100644 index 00000000..94a8dbcd --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/buffered_write_stream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c539ec32e1cbafab25ee990f956db06c0e4e2616eb6b97c3aade2e69ec9fb74e +size 12977 diff --git a/ThirdParty/include/boost/asio/impl/connect.hpp b/ThirdParty/include/boost/asio/impl/connect.hpp new file mode 100644 index 00000000..6757dfce --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/connect.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:804ccfb625482e4fd775f381d924d2963c1739e71c19f5113bd630a6f10b1dfb +size 30400 diff --git a/ThirdParty/include/boost/asio/impl/defer.hpp b/ThirdParty/include/boost/asio/impl/defer.hpp new file mode 100644 index 00000000..16c2b347 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/defer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02648fb36045315a6cd3985da79616a1a5b908e4efea0d532a6dc8532f75ba9a +size 2454 diff --git a/ThirdParty/include/boost/asio/impl/dispatch.hpp b/ThirdParty/include/boost/asio/impl/dispatch.hpp new file mode 100644 index 00000000..f7e6a2e6 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/dispatch.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19e27ec1faf56e4c13daa2d10b51ff1da007d61fb8297f13356304ef6047c618 +size 2496 diff --git a/ThirdParty/include/boost/asio/impl/error.ipp b/ThirdParty/include/boost/asio/impl/error.ipp new file mode 100644 index 00000000..268641dd --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/error.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7026e0ff4b9d134d412cd5160c5e2face30c88876429925290e562799cbccee1 +size 3070 diff --git a/ThirdParty/include/boost/asio/impl/execution_context.hpp b/ThirdParty/include/boost/asio/impl/execution_context.hpp new file mode 100644 index 00000000..5fc767a1 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/execution_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e59a04360ad5038bcf336bb1b211407fce3fb349f12b6c6bb7b937e2b4e6acc +size 3248 diff --git a/ThirdParty/include/boost/asio/impl/execution_context.ipp b/ThirdParty/include/boost/asio/impl/execution_context.ipp new file mode 100644 index 00000000..497c33a9 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/execution_context.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca346c4d55aed1d4411db83613daa33311d6cbe0f36a61ad9a6ba052f7eb9e58 +size 1801 diff --git a/ThirdParty/include/boost/asio/impl/executor.hpp b/ThirdParty/include/boost/asio/impl/executor.hpp new file mode 100644 index 00000000..57f004da --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da2519b35e8e2ee8cd2a36bb7847e544c60257a3e6091524fbb4595f0c77d91f +size 8425 diff --git a/ThirdParty/include/boost/asio/impl/executor.ipp b/ThirdParty/include/boost/asio/impl/executor.ipp new file mode 100644 index 00000000..234424e4 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/executor.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f84b90cd80745837a3fcf01ba9324bc65893f242554bfd0766f52b75a8f5b667 +size 911 diff --git a/ThirdParty/include/boost/asio/impl/handler_alloc_hook.ipp b/ThirdParty/include/boost/asio/impl/handler_alloc_hook.ipp new file mode 100644 index 00000000..f05cf505 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/handler_alloc_hook.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2408d51873fe153d2ad407ac9659c1c58345fce73283e13c3290dfe8f3c8c45d +size 1690 diff --git a/ThirdParty/include/boost/asio/impl/io_context.hpp b/ThirdParty/include/boost/asio/impl/io_context.hpp new file mode 100644 index 00000000..fc5f9cd2 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/io_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bca79c36df175a4e53eea7ab79b6d822ebf71e977ae67643afff0205a9fffd3 +size 10171 diff --git a/ThirdParty/include/boost/asio/impl/io_context.ipp b/ThirdParty/include/boost/asio/impl/io_context.ipp new file mode 100644 index 00000000..82bfd3b7 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/io_context.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65572c45c5b7cd1f5f6a513c04c9b44547e3a5a63f9fa9422afba8be4a249ae8 +size 4084 diff --git a/ThirdParty/include/boost/asio/impl/post.hpp b/ThirdParty/include/boost/asio/impl/post.hpp new file mode 100644 index 00000000..0ee6ffe8 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/post.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ce4a0c5ffffff7ac857b49d9e0480681d3206aa687b93e2c3f21e9d25daf41e +size 2443 diff --git a/ThirdParty/include/boost/asio/impl/read.hpp b/ThirdParty/include/boost/asio/impl/read.hpp new file mode 100644 index 00000000..aaf8490c --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/read.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:932008cb54ed84513c5d05590301a5b8b7d122b6c6b1c797536e8cc83bd3985e +size 26056 diff --git a/ThirdParty/include/boost/asio/impl/read_at.hpp b/ThirdParty/include/boost/asio/impl/read_at.hpp new file mode 100644 index 00000000..d34ed096 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/read_at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a80572cee8b10da3656f3592697f4d61fb051bd0dd5ac01b602ee4169668c474 +size 24102 diff --git a/ThirdParty/include/boost/asio/impl/read_until.hpp b/ThirdParty/include/boost/asio/impl/read_until.hpp new file mode 100644 index 00000000..1fafea3a --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/read_until.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d94f0e2368503868fd078b65ccca8aee8da44ea822d227b77ff78eae338ae557 +size 50549 diff --git a/ThirdParty/include/boost/asio/impl/serial_port_base.hpp b/ThirdParty/include/boost/asio/impl/serial_port_base.hpp new file mode 100644 index 00000000..68040ba9 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/serial_port_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b93d39624f4d87526100a15305a5aa9113250ba331028c47ecd31e38f5a0342 +size 1375 diff --git a/ThirdParty/include/boost/asio/impl/serial_port_base.ipp b/ThirdParty/include/boost/asio/impl/serial_port_base.ipp new file mode 100644 index 00000000..bfeea4e8 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/serial_port_base.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398142e389a4c8c988efc05afd1a3a44d77c9de10cb0eaa32d1dbf93c474bbcc +size 13327 diff --git a/ThirdParty/include/boost/asio/impl/spawn.hpp b/ThirdParty/include/boost/asio/impl/spawn.hpp new file mode 100644 index 00000000..284deb66 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/spawn.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dc5a82c6e2922931b19909c441031c4c6ddf6d34617f2d2c8cb5d63a095d885 +size 15788 diff --git a/ThirdParty/include/boost/asio/impl/src.cpp b/ThirdParty/include/boost/asio/impl/src.cpp new file mode 100644 index 00000000..a30182d2 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/src.cpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:027311c78ceb4d1900592cedcf91f929ad84b25698772815d06bed068271ed37 +size 712 diff --git a/ThirdParty/include/boost/asio/impl/src.hpp b/ThirdParty/include/boost/asio/impl/src.hpp new file mode 100644 index 00000000..98911759 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/src.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b921421712371a4c630582c874b6a79ee7b3ec26d32c803500e1e6c72b9f7ae +size 3661 diff --git a/ThirdParty/include/boost/asio/impl/system_context.hpp b/ThirdParty/include/boost/asio/impl/system_context.hpp new file mode 100644 index 00000000..6b309ea4 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/system_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdc959173817e9f5f4f182387244294563850d3a4083d4103eaff7f13b6c5755 +size 875 diff --git a/ThirdParty/include/boost/asio/impl/system_context.ipp b/ThirdParty/include/boost/asio/impl/system_context.ipp new file mode 100644 index 00000000..e2d34ee5 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/system_context.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbe223cd3aa3421cc05a8bf7f79e385ef275664e0f7c3e6b7521be89ebd28a5e +size 1591 diff --git a/ThirdParty/include/boost/asio/impl/system_executor.hpp b/ThirdParty/include/boost/asio/impl/system_executor.hpp new file mode 100644 index 00000000..9e7a3b76 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/system_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80123ef4002039fb1c1c3e1e9fe643ff2404d3e34c088a12d387a210654c28fc +size 2727 diff --git a/ThirdParty/include/boost/asio/impl/thread_pool.hpp b/ThirdParty/include/boost/asio/impl/thread_pool.hpp new file mode 100644 index 00000000..a7a1fae6 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/thread_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35f9f9682866f4de33447eeee09ebc69b07b71a60cc4200b8dd54c243b1d929c +size 3836 diff --git a/ThirdParty/include/boost/asio/impl/thread_pool.ipp b/ThirdParty/include/boost/asio/impl/thread_pool.ipp new file mode 100644 index 00000000..9a9ca3f3 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/thread_pool.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d11820ab27f8cc2eb0c6d633a2f6d1f1ae325c3e831cd206dde503e8cacdeea +size 1630 diff --git a/ThirdParty/include/boost/asio/impl/use_future.hpp b/ThirdParty/include/boost/asio/impl/use_future.hpp new file mode 100644 index 00000000..a3aed95b --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/use_future.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd5301f2b0f81aa854d9265fa5ebde565d49c247ad43e5d8ffe417bfd3199be8 +size 25304 diff --git a/ThirdParty/include/boost/asio/impl/write.hpp b/ThirdParty/include/boost/asio/impl/write.hpp new file mode 100644 index 00000000..2eba6561 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/write.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:269222cfc0fdd661418411fa64b921f281231957bcee343f0bb8b2ab974d8640 +size 24231 diff --git a/ThirdParty/include/boost/asio/impl/write_at.hpp b/ThirdParty/include/boost/asio/impl/write_at.hpp new file mode 100644 index 00000000..f35ae008 --- /dev/null +++ b/ThirdParty/include/boost/asio/impl/write_at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e883994ddfcd223e2031d7c1516172e8d084a9db49335fd0e461baed0fcf4308 +size 20882 diff --git a/ThirdParty/include/boost/asio/io_context.hpp b/ThirdParty/include/boost/asio/io_context.hpp new file mode 100644 index 00000000..4a03dcd0 --- /dev/null +++ b/ThirdParty/include/boost/asio/io_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ace12ef70142c92895b0112a33dfc5d97c50e16b35596419d7989c8a9d39457 +size 33264 diff --git a/ThirdParty/include/boost/asio/io_context_strand.hpp b/ThirdParty/include/boost/asio/io_context_strand.hpp new file mode 100644 index 00000000..2c126255 --- /dev/null +++ b/ThirdParty/include/boost/asio/io_context_strand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d507cdd9d5a67e5bd7c10b9ff9e61bedc678ebecf0fec69d762112166d1a643 +size 13970 diff --git a/ThirdParty/include/boost/asio/io_service.hpp b/ThirdParty/include/boost/asio/io_service.hpp new file mode 100644 index 00000000..d3c4a051 --- /dev/null +++ b/ThirdParty/include/boost/asio/io_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05d43932fad7c13d57944f0db0599e75431eadc23877e5af0da933273d5e81d2 +size 861 diff --git a/ThirdParty/include/boost/asio/io_service_strand.hpp b/ThirdParty/include/boost/asio/io_service_strand.hpp new file mode 100644 index 00000000..abef9862 --- /dev/null +++ b/ThirdParty/include/boost/asio/io_service_strand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:740d721453207bea19bb53f2145766e17499975a04279760f93a53735471ab76 +size 575 diff --git a/ThirdParty/include/boost/asio/ip/address.hpp b/ThirdParty/include/boost/asio/ip/address.hpp new file mode 100644 index 00000000..1ef84941 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1ae8a83875a8293f95e03288a66089670ffb050ea03fa4998619a7778833ddb +size 7806 diff --git a/ThirdParty/include/boost/asio/ip/address_v4.hpp b/ThirdParty/include/boost/asio/ip/address_v4.hpp new file mode 100644 index 00000000..0fc9097e --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address_v4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3b8a0f0edeb67a741c01cd9999f968772972f91c469f570909de73907e8eb32 +size 9621 diff --git a/ThirdParty/include/boost/asio/ip/address_v4_iterator.hpp b/ThirdParty/include/boost/asio/ip/address_v4_iterator.hpp new file mode 100644 index 00000000..14956266 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address_v4_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e659f9c99c997f9f26f763edc04c26d27ed22a7e8617471e20cfc5fdd0471a56 +size 4260 diff --git a/ThirdParty/include/boost/asio/ip/address_v4_range.hpp b/ThirdParty/include/boost/asio/ip/address_v4_range.hpp new file mode 100644 index 00000000..8e5019ee --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address_v4_range.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:634e6a10d612672160badf5f4daf6dbe7de3b9b4bc8f1779e39b4ca3a27433c7 +size 3392 diff --git a/ThirdParty/include/boost/asio/ip/address_v6.hpp b/ThirdParty/include/boost/asio/ip/address_v6.hpp new file mode 100644 index 00000000..070e9513 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address_v6.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be66f84f8f6c0d0b9c78da49a30c51819093bc07c1d61e05ed6f90afab0ceab6 +size 9943 diff --git a/ThirdParty/include/boost/asio/ip/address_v6_iterator.hpp b/ThirdParty/include/boost/asio/ip/address_v6_iterator.hpp new file mode 100644 index 00000000..19db1914 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address_v6_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:909280f4144b87cbba1d689ae4a05968464fa8f345e204c84f0bd03f12058601 +size 4602 diff --git a/ThirdParty/include/boost/asio/ip/address_v6_range.hpp b/ThirdParty/include/boost/asio/ip/address_v6_range.hpp new file mode 100644 index 00000000..70c8219a --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/address_v6_range.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb2e51865a750cc7f970a0c14822f64357d083e1d71829e21e8b6a3f36a7c0f6 +size 3335 diff --git a/ThirdParty/include/boost/asio/ip/bad_address_cast.hpp b/ThirdParty/include/boost/asio/ip/bad_address_cast.hpp new file mode 100644 index 00000000..59ca6811 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/bad_address_cast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a537a290eb8cc79c20a333bc52dc8adb7c53bb6edf47d7f7628d46d23711aaac +size 1317 diff --git a/ThirdParty/include/boost/asio/ip/basic_endpoint.hpp b/ThirdParty/include/boost/asio/ip/basic_endpoint.hpp new file mode 100644 index 00000000..b8214432 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/basic_endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e16fbc31d9c938fa29e3f9c29f75a6245b3b34a35083f4250af5859fc55c5b51 +size 7008 diff --git a/ThirdParty/include/boost/asio/ip/basic_resolver.hpp b/ThirdParty/include/boost/asio/ip/basic_resolver.hpp new file mode 100644 index 00000000..c14538e2 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/basic_resolver.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5893909a41f2c2edbdbc348fceadabfc3a9778410eae379bcc96a2ac28fbac7a +size 44973 diff --git a/ThirdParty/include/boost/asio/ip/basic_resolver_entry.hpp b/ThirdParty/include/boost/asio/ip/basic_resolver_entry.hpp new file mode 100644 index 00000000..e43f3a27 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/basic_resolver_entry.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:817b5b8501da73242c5e4c0f643f5d0674f39de89e22f2bd5bb667e4dd2fca0a +size 3020 diff --git a/ThirdParty/include/boost/asio/ip/basic_resolver_iterator.hpp b/ThirdParty/include/boost/asio/ip/basic_resolver_iterator.hpp new file mode 100644 index 00000000..a5ced5ef --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/basic_resolver_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8b2d7ef1403f664e3370155324dc745988227670d4f58a63b37367c70524cb +size 5154 diff --git a/ThirdParty/include/boost/asio/ip/basic_resolver_query.hpp b/ThirdParty/include/boost/asio/ip/basic_resolver_query.hpp new file mode 100644 index 00000000..32f71f29 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/basic_resolver_query.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea98bc2724ca2716db822ad8d554abe1a7f729e61a928ddcddb1655c1f1b3fe1 +size 9356 diff --git a/ThirdParty/include/boost/asio/ip/basic_resolver_results.hpp b/ThirdParty/include/boost/asio/ip/basic_resolver_results.hpp new file mode 100644 index 00000000..1a41e0bd --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/basic_resolver_results.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2732bdecc6b106dcf1e2ac5ac21a3cc2aad35d6656d7b493f5e50e43c9d0f5f0 +size 9749 diff --git a/ThirdParty/include/boost/asio/ip/detail/endpoint.hpp b/ThirdParty/include/boost/asio/ip/detail/endpoint.hpp new file mode 100644 index 00000000..2ea4a6ed --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/detail/endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d596c6b8cdad52afbf03a5f6f24a06784b0e9d02c16d014a5b51e6d8c21f63b +size 3767 diff --git a/ThirdParty/include/boost/asio/ip/detail/impl/endpoint.ipp b/ThirdParty/include/boost/asio/ip/detail/impl/endpoint.ipp new file mode 100644 index 00000000..0782ce16 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/detail/impl/endpoint.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12d9d27d00dda12cba1f5dcdd02e980db6cd69b89599f0234537fb1c06106767 +size 5670 diff --git a/ThirdParty/include/boost/asio/ip/detail/socket_option.hpp b/ThirdParty/include/boost/asio/ip/detail/socket_option.hpp new file mode 100644 index 00000000..d624276d --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/detail/socket_option.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c62eb2ce9b64345f6fd8da7afbc267e237c62f0eae9972fc3854e509ffd994e7 +size 14206 diff --git a/ThirdParty/include/boost/asio/ip/host_name.hpp b/ThirdParty/include/boost/asio/ip/host_name.hpp new file mode 100644 index 00000000..d7d5e44d --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/host_name.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bc63f753dcf320196077f0771713dcb9f03bedb78a86833225580ce10b51577 +size 1106 diff --git a/ThirdParty/include/boost/asio/ip/icmp.hpp b/ThirdParty/include/boost/asio/ip/icmp.hpp new file mode 100644 index 00000000..dd9c53d1 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/icmp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de48e868cf93da48510fe65ad55b67147f58318bcf209d6fcfe830bc1ffb4ddd +size 2745 diff --git a/ThirdParty/include/boost/asio/ip/impl/address.hpp b/ThirdParty/include/boost/asio/ip/impl/address.hpp new file mode 100644 index 00000000..6a3c5956 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/address.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef96c7203c2c98f3023a61fdd03eb660401756765b325cce077791830a522b92 +size 1641 diff --git a/ThirdParty/include/boost/asio/ip/impl/address.ipp b/ThirdParty/include/boost/asio/ip/impl/address.ipp new file mode 100644 index 00000000..c24a61c6 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/address.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e1c764a86ccc309e6c2e460f036a3b23976b2dd8b3e010a1ec48f14f609637 +size 5307 diff --git a/ThirdParty/include/boost/asio/ip/impl/address_v4.hpp b/ThirdParty/include/boost/asio/ip/impl/address_v4.hpp new file mode 100644 index 00000000..5642e2e3 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/address_v4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1b05b2874beba8d0ae3c45e76a628834844120681467ae2e8e3b19a9408d6b7 +size 1695 diff --git a/ThirdParty/include/boost/asio/ip/impl/address_v4.ipp b/ThirdParty/include/boost/asio/ip/impl/address_v4.ipp new file mode 100644 index 00000000..e272ebab --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/address_v4.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fec7f5663e125790acf43f184ff8a8924161aebae569787d74f38364372564ac +size 5479 diff --git a/ThirdParty/include/boost/asio/ip/impl/address_v6.hpp b/ThirdParty/include/boost/asio/ip/impl/address_v6.hpp new file mode 100644 index 00000000..fd46fdd0 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/address_v6.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed4e419c897db68dce6664eb49baa71682caec0e69ff253ad90ea2b44a6cc9e8 +size 1695 diff --git a/ThirdParty/include/boost/asio/ip/impl/address_v6.ipp b/ThirdParty/include/boost/asio/ip/impl/address_v6.ipp new file mode 100644 index 00000000..3dda495b --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/address_v6.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cf5ac7da3d90753d1f796d3c374de28a3f3f4ce082e2aa20aa00789b41b94e6 +size 9941 diff --git a/ThirdParty/include/boost/asio/ip/impl/basic_endpoint.hpp b/ThirdParty/include/boost/asio/ip/impl/basic_endpoint.hpp new file mode 100644 index 00000000..8ff7a17e --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/basic_endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ceaf18cb3f79c64359e1f826d984cfdb9cb4856e17f05efc3a7c280047c7d71 +size 1227 diff --git a/ThirdParty/include/boost/asio/ip/impl/host_name.ipp b/ThirdParty/include/boost/asio/ip/impl/host_name.ipp new file mode 100644 index 00000000..b0edcead --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/host_name.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0144ef48a3f082ab9f4a45234cfb7bb52ac567914eb349154af1d571d99cf84b +size 1426 diff --git a/ThirdParty/include/boost/asio/ip/impl/network_v4.hpp b/ThirdParty/include/boost/asio/ip/impl/network_v4.hpp new file mode 100644 index 00000000..24d1e77d --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/network_v4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78954e2d43659e33abde368bb68f6a5160f8cbf8906e51567dae0e38a279c1ab +size 1484 diff --git a/ThirdParty/include/boost/asio/ip/impl/network_v4.ipp b/ThirdParty/include/boost/asio/ip/impl/network_v4.ipp new file mode 100644 index 00000000..aecc726f --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/network_v4.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:026e2d4de233900343b36bd1c104ecedc350f22ad9b7a9f1e5eae54d85ccaa0d +size 5619 diff --git a/ThirdParty/include/boost/asio/ip/impl/network_v6.hpp b/ThirdParty/include/boost/asio/ip/impl/network_v6.hpp new file mode 100644 index 00000000..2407477a --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/network_v6.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90128aeff354db1121426e26a866ade6a3f0190ad190a3056f9549524b77370a +size 1409 diff --git a/ThirdParty/include/boost/asio/ip/impl/network_v6.ipp b/ThirdParty/include/boost/asio/ip/impl/network_v6.ipp new file mode 100644 index 00000000..f989f3d6 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/impl/network_v6.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:235079f8fde220d14bb9b0c8318bf96471839c399acaae770c18b6a2f97f8ff6 +size 4961 diff --git a/ThirdParty/include/boost/asio/ip/multicast.hpp b/ThirdParty/include/boost/asio/ip/multicast.hpp new file mode 100644 index 00000000..df73304a --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/multicast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79961573d1f72e8e495a8866d49159c7224f9e4c31cde25fa9f343347945ffc4 +size 5503 diff --git a/ThirdParty/include/boost/asio/ip/network_v4.hpp b/ThirdParty/include/boost/asio/ip/network_v4.hpp new file mode 100644 index 00000000..d02d3bee --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/network_v4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693999f0ba5a341d081d81f6379ea49d96b35e2173778b25dcd88804e0aa96aa +size 7283 diff --git a/ThirdParty/include/boost/asio/ip/network_v6.hpp b/ThirdParty/include/boost/asio/ip/network_v6.hpp new file mode 100644 index 00000000..3c7c06da --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/network_v6.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7d83f4fc6fe2f5e5f5fd2ed93c01b2c35a90906e6b6f27cadca73dac2a48d69 +size 6500 diff --git a/ThirdParty/include/boost/asio/ip/resolver_base.hpp b/ThirdParty/include/boost/asio/ip/resolver_base.hpp new file mode 100644 index 00000000..c87f9051 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/resolver_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b8e04c8cd661c170e1a1c860031db233ab0de1b78246a3842b1a95a4fed07de +size 3772 diff --git a/ThirdParty/include/boost/asio/ip/resolver_query_base.hpp b/ThirdParty/include/boost/asio/ip/resolver_query_base.hpp new file mode 100644 index 00000000..4d1ace83 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/resolver_query_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17d1be625382e3d52753963618b09ebfc2aad48a59217c6d2b78c16756a647a7 +size 1169 diff --git a/ThirdParty/include/boost/asio/ip/resolver_service.hpp b/ThirdParty/include/boost/asio/ip/resolver_service.hpp new file mode 100644 index 00000000..57cde380 --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/resolver_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2c1ecfd6df37e67c9071ad2ad6e6c91b6fb4580f5e85769a0de9d6b1d18f571 +size 5904 diff --git a/ThirdParty/include/boost/asio/ip/tcp.hpp b/ThirdParty/include/boost/asio/ip/tcp.hpp new file mode 100644 index 00000000..df69ff5b --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/tcp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f69a13f5d4b3a5578506989fcbb10f6e1e7b9a1b63f9692c6c80b9491da534 +size 3810 diff --git a/ThirdParty/include/boost/asio/ip/udp.hpp b/ThirdParty/include/boost/asio/ip/udp.hpp new file mode 100644 index 00000000..c4e642ef --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/udp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a278a7e948d92e8dcd908a0fc1dd243e18a61444f042064e619c764ddfb5fcb +size 2540 diff --git a/ThirdParty/include/boost/asio/ip/unicast.hpp b/ThirdParty/include/boost/asio/ip/unicast.hpp new file mode 100644 index 00000000..72447eeb --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/unicast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73002b553b3e40b76e5ca0bec0d4d7d292fb1d656db7ac866da8224eadd1f2c6 +size 1787 diff --git a/ThirdParty/include/boost/asio/ip/v6_only.hpp b/ThirdParty/include/boost/asio/ip/v6_only.hpp new file mode 100644 index 00000000..26cd5b2f --- /dev/null +++ b/ThirdParty/include/boost/asio/ip/v6_only.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce7c43d538dec4b00eeaafc486449fd6d919a87df3a6d0adc7834d0d2abb371f +size 1811 diff --git a/ThirdParty/include/boost/asio/is_executor.hpp b/ThirdParty/include/boost/asio/is_executor.hpp new file mode 100644 index 00000000..db98decb --- /dev/null +++ b/ThirdParty/include/boost/asio/is_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4642a7c28a21dc9a1a9b8f1d794e2fcf95b4802ce42b97e415bdd294183c3a61 +size 1306 diff --git a/ThirdParty/include/boost/asio/is_read_buffered.hpp b/ThirdParty/include/boost/asio/is_read_buffered.hpp new file mode 100644 index 00000000..be1a489b --- /dev/null +++ b/ThirdParty/include/boost/asio/is_read_buffered.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5801a804e7f3224e279183f23dcbe2c2baebb05b885b592120080ac4b46b55a2 +size 1646 diff --git a/ThirdParty/include/boost/asio/is_write_buffered.hpp b/ThirdParty/include/boost/asio/is_write_buffered.hpp new file mode 100644 index 00000000..29f89e14 --- /dev/null +++ b/ThirdParty/include/boost/asio/is_write_buffered.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c70135e9f8db384995dd34b4fc8df249acb1196bbefc9ae86f78ddd656e4b2c +size 1667 diff --git a/ThirdParty/include/boost/asio/local/basic_endpoint.hpp b/ThirdParty/include/boost/asio/local/basic_endpoint.hpp new file mode 100644 index 00000000..9bcda4a6 --- /dev/null +++ b/ThirdParty/include/boost/asio/local/basic_endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07fcfacee85c741a92f85ee153de26d14d64b7dcc643b3eb6489f0d4a3212cd1 +size 5716 diff --git a/ThirdParty/include/boost/asio/local/connect_pair.hpp b/ThirdParty/include/boost/asio/local/connect_pair.hpp new file mode 100644 index 00000000..3b72749a --- /dev/null +++ b/ThirdParty/include/boost/asio/local/connect_pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e04aeec377ea5ddb5a4b76c991a99e0efe804346c49a8ad8f88646165d2a54d4 +size 3515 diff --git a/ThirdParty/include/boost/asio/local/datagram_protocol.hpp b/ThirdParty/include/boost/asio/local/datagram_protocol.hpp new file mode 100644 index 00000000..76ffc95d --- /dev/null +++ b/ThirdParty/include/boost/asio/local/datagram_protocol.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:194e2e306d432e5f44caf5c5932985f27fb91bbcd276d53b2d60b2da614bfdda +size 1990 diff --git a/ThirdParty/include/boost/asio/local/detail/endpoint.hpp b/ThirdParty/include/boost/asio/local/detail/endpoint.hpp new file mode 100644 index 00000000..0e4f6c3f --- /dev/null +++ b/ThirdParty/include/boost/asio/local/detail/endpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f46c4572a363e45ef131430ba9dc31b6b9f7eb47e8892a9c5f3c8ea0561549d +size 3564 diff --git a/ThirdParty/include/boost/asio/local/detail/impl/endpoint.ipp b/ThirdParty/include/boost/asio/local/detail/impl/endpoint.ipp new file mode 100644 index 00000000..f9183858 --- /dev/null +++ b/ThirdParty/include/boost/asio/local/detail/impl/endpoint.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:784fb7ddf36d7e06ae3acc2a244954634c026bdd9cabdd778ff881160f13b144 +size 3320 diff --git a/ThirdParty/include/boost/asio/local/stream_protocol.hpp b/ThirdParty/include/boost/asio/local/stream_protocol.hpp new file mode 100644 index 00000000..1275f032 --- /dev/null +++ b/ThirdParty/include/boost/asio/local/stream_protocol.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3a44ead6ff8f0822f0265c261b1708d1762106489a84b2a13097128b761e635 +size 2335 diff --git a/ThirdParty/include/boost/asio/packaged_task.hpp b/ThirdParty/include/boost/asio/packaged_task.hpp new file mode 100644 index 00000000..1fa668e2 --- /dev/null +++ b/ThirdParty/include/boost/asio/packaged_task.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74317a2903dbc5e993d0bf926fd34f88b4adf2f41be1089328fcf573b8703f72 +size 3358 diff --git a/ThirdParty/include/boost/asio/placeholders.hpp b/ThirdParty/include/boost/asio/placeholders.hpp new file mode 100644 index 00000000..40b39421 --- /dev/null +++ b/ThirdParty/include/boost/asio/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e8f59912eb21394e7a59b0510098cce186fd01cfe3791f5c963ddd16f762496 +size 4146 diff --git a/ThirdParty/include/boost/asio/posix/basic_descriptor.hpp b/ThirdParty/include/boost/asio/posix/basic_descriptor.hpp new file mode 100644 index 00000000..d52c963f --- /dev/null +++ b/ThirdParty/include/boost/asio/posix/basic_descriptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5335a1d978d265c7fafbdba08cb8e0a212f6abe291c85097bb18d289fe189b2d +size 20466 diff --git a/ThirdParty/include/boost/asio/posix/basic_stream_descriptor.hpp b/ThirdParty/include/boost/asio/posix/basic_stream_descriptor.hpp new file mode 100644 index 00000000..7111ee52 --- /dev/null +++ b/ThirdParty/include/boost/asio/posix/basic_stream_descriptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c6738de29d25de7fa3388899e2f62a2ea6176e17fc5d7d3bd6faeed945da905 +size 14316 diff --git a/ThirdParty/include/boost/asio/posix/descriptor.hpp b/ThirdParty/include/boost/asio/posix/descriptor.hpp new file mode 100644 index 00000000..0e853947 --- /dev/null +++ b/ThirdParty/include/boost/asio/posix/descriptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7002eeec5966af0e8f9eee1a4a288566bfccadcf89e51271ebd3b049adbf3897 +size 22357 diff --git a/ThirdParty/include/boost/asio/posix/descriptor_base.hpp b/ThirdParty/include/boost/asio/posix/descriptor_base.hpp new file mode 100644 index 00000000..75007ca3 --- /dev/null +++ b/ThirdParty/include/boost/asio/posix/descriptor_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cf9dd85e7c8b3cfccb9b9a06492c773263fc3a3415629b79dc968f58bea5d3c +size 2370 diff --git a/ThirdParty/include/boost/asio/posix/stream_descriptor.hpp b/ThirdParty/include/boost/asio/posix/stream_descriptor.hpp new file mode 100644 index 00000000..731d5865 --- /dev/null +++ b/ThirdParty/include/boost/asio/posix/stream_descriptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c57d4e81bbe0f090c397e2454f066d6a9f90df5486a95f0f08f9dd054294ab8e +size 13985 diff --git a/ThirdParty/include/boost/asio/posix/stream_descriptor_service.hpp b/ThirdParty/include/boost/asio/posix/stream_descriptor_service.hpp new file mode 100644 index 00000000..91dbde72 --- /dev/null +++ b/ThirdParty/include/boost/asio/posix/stream_descriptor_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e626bd2b574f2a3d78af4dc47eda81cccc481c262b26c8f2b683249ea72bfb92 +size 8816 diff --git a/ThirdParty/include/boost/asio/post.hpp b/ThirdParty/include/boost/asio/post.hpp new file mode 100644 index 00000000..1bcffa01 --- /dev/null +++ b/ThirdParty/include/boost/asio/post.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4329b3b0800d3d87f1bb5c1f51197a9515febd65c323d11add3507b6572a8421 +size 3938 diff --git a/ThirdParty/include/boost/asio/raw_socket_service.hpp b/ThirdParty/include/boost/asio/raw_socket_service.hpp new file mode 100644 index 00000000..c38625c6 --- /dev/null +++ b/ThirdParty/include/boost/asio/raw_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75594b3abdc58d6c6aa2d1d47c1a41336156bb12ee6b0cce6b76b870c9b88a34 +size 15181 diff --git a/ThirdParty/include/boost/asio/read.hpp b/ThirdParty/include/boost/asio/read.hpp new file mode 100644 index 00000000..9e186282 --- /dev/null +++ b/ThirdParty/include/boost/asio/read.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66ebcc6a8237b95811767ec799e726096a05b6a0f66a31a169bb08af5bd47ad2 +size 38935 diff --git a/ThirdParty/include/boost/asio/read_at.hpp b/ThirdParty/include/boost/asio/read_at.hpp new file mode 100644 index 00000000..f21721ce --- /dev/null +++ b/ThirdParty/include/boost/asio/read_at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fccf23cf7f0869e87ca2f1104ce9efa450c9fece2d26bf7dcf1f2988c82b950 +size 26510 diff --git a/ThirdParty/include/boost/asio/read_until.hpp b/ThirdParty/include/boost/asio/read_until.hpp new file mode 100644 index 00000000..eaa08d0f --- /dev/null +++ b/ThirdParty/include/boost/asio/read_until.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48862844a4ac2c096d032a19cb44e97f02377adbdd4bba85bbc6cd6ee29a8d27 +size 75209 diff --git a/ThirdParty/include/boost/asio/seq_packet_socket_service.hpp b/ThirdParty/include/boost/asio/seq_packet_socket_service.hpp new file mode 100644 index 00000000..2cb7ae82 --- /dev/null +++ b/ThirdParty/include/boost/asio/seq_packet_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa15d57b6c03d284c10cb0d4e9f3306c9d36e0c3013f6e5cb2516b91138d9105 +size 13489 diff --git a/ThirdParty/include/boost/asio/serial_port.hpp b/ThirdParty/include/boost/asio/serial_port.hpp new file mode 100644 index 00000000..f54325d7 --- /dev/null +++ b/ThirdParty/include/boost/asio/serial_port.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98de02d7379c32792c715579a241b4f19d790500fdcac36dc4357903c7366e33 +size 27711 diff --git a/ThirdParty/include/boost/asio/serial_port_base.hpp b/ThirdParty/include/boost/asio/serial_port_base.hpp new file mode 100644 index 00000000..201f2d71 --- /dev/null +++ b/ThirdParty/include/boost/asio/serial_port_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dfbd5c1391c6aa207014acdf1b86ce5383156bb9a9cd62f8e01d734c95b9804 +size 4975 diff --git a/ThirdParty/include/boost/asio/serial_port_service.hpp b/ThirdParty/include/boost/asio/serial_port_service.hpp new file mode 100644 index 00000000..49a22437 --- /dev/null +++ b/ThirdParty/include/boost/asio/serial_port_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c827629f8e7f5504bb1740b20b71dcbe35aad37fc8f271c2a5c4911f86e658a6 +size 7586 diff --git a/ThirdParty/include/boost/asio/signal_set.hpp b/ThirdParty/include/boost/asio/signal_set.hpp new file mode 100644 index 00000000..4970fe9f --- /dev/null +++ b/ThirdParty/include/boost/asio/signal_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:938f8d39da7a28a7daf937016221844b3c9561091f35b4977ffa1d3f25cf95a3 +size 15900 diff --git a/ThirdParty/include/boost/asio/signal_set_service.hpp b/ThirdParty/include/boost/asio/signal_set_service.hpp new file mode 100644 index 00000000..6336a11a --- /dev/null +++ b/ThirdParty/include/boost/asio/signal_set_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:231ff32be7d7c59c2992c85642af4e24b9bb5e9f88ea81922c49998b7d14fb3b +size 3968 diff --git a/ThirdParty/include/boost/asio/socket_acceptor_service.hpp b/ThirdParty/include/boost/asio/socket_acceptor_service.hpp new file mode 100644 index 00000000..43a37203 --- /dev/null +++ b/ThirdParty/include/boost/asio/socket_acceptor_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:624706c38efeb26f24f19c826af21406e46787f74e383530161e234f892074de +size 12093 diff --git a/ThirdParty/include/boost/asio/socket_base.hpp b/ThirdParty/include/boost/asio/socket_base.hpp new file mode 100644 index 00000000..1deb883b --- /dev/null +++ b/ThirdParty/include/boost/asio/socket_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2a3e7520ac45eca3bc4c08257914681c0908b2b08959a45e3594c8caa0ae99f +size 15962 diff --git a/ThirdParty/include/boost/asio/spawn.hpp b/ThirdParty/include/boost/asio/spawn.hpp new file mode 100644 index 00000000..26a01d00 --- /dev/null +++ b/ThirdParty/include/boost/asio/spawn.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffd1d7c66de2aae0a6baff85d864a1274f58b280f2e7f65834d7968365cd8908 +size 11556 diff --git a/ThirdParty/include/boost/asio/ssl.hpp b/ThirdParty/include/boost/asio/ssl.hpp new file mode 100644 index 00000000..530062d0 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72bfb0942f5caa3d6ff4dad2a7fc5a2cd0f906bfd620ce2a4066e0ff7d9fe2e9 +size 795 diff --git a/ThirdParty/include/boost/asio/ssl/context.hpp b/ThirdParty/include/boost/asio/ssl/context.hpp new file mode 100644 index 00000000..4c1098f6 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca3ab65dbe10885fc8d3adc0a3cff6e697fb0816e445430d4249f1b50d5e3b6c +size 26624 diff --git a/ThirdParty/include/boost/asio/ssl/context_base.hpp b/ThirdParty/include/boost/asio/ssl/context_base.hpp new file mode 100644 index 00000000..18b577a8 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/context_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25db549bbe8bb1c9cbd21a2570f8a7166c89a8488af0b2104b455fa6df14dd97 +size 5437 diff --git a/ThirdParty/include/boost/asio/ssl/detail/buffered_handshake_op.hpp b/ThirdParty/include/boost/asio/ssl/detail/buffered_handshake_op.hpp new file mode 100644 index 00000000..d4dcd4c6 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/buffered_handshake_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2580cbcebfa28f014adb4c2b897da0dc372e82ea5ca692cbdb194aeefb8e3dc2 +size 3275 diff --git a/ThirdParty/include/boost/asio/ssl/detail/engine.hpp b/ThirdParty/include/boost/asio/ssl/detail/engine.hpp new file mode 100644 index 00000000..84165f1f --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/engine.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b54f2331a87154fac972bd309c3b3603b59b721e58dccafaf7ecac3f556921dc +size 5852 diff --git a/ThirdParty/include/boost/asio/ssl/detail/handshake_op.hpp b/ThirdParty/include/boost/asio/ssl/detail/handshake_op.hpp new file mode 100644 index 00000000..512573f1 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/handshake_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f0aee6ab4760366967c6b9bb974574843fa4187dc6cf399b8b0f55ab95dd758 +size 1410 diff --git a/ThirdParty/include/boost/asio/ssl/detail/impl/engine.ipp b/ThirdParty/include/boost/asio/ssl/detail/impl/engine.ipp new file mode 100644 index 00000000..4e023cab --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/impl/engine.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cd5bfdd4962e34f7f00fba7056835e7a61b74b1b5592ae90b244e17a6be63a4 +size 8413 diff --git a/ThirdParty/include/boost/asio/ssl/detail/impl/openssl_init.ipp b/ThirdParty/include/boost/asio/ssl/detail/impl/openssl_init.ipp new file mode 100644 index 00000000..fa4400cc --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/impl/openssl_init.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4576aa1a186819d859a77deb4c88b00ab77d4acd636cdcff4cb54d42c29b0518 +size 5401 diff --git a/ThirdParty/include/boost/asio/ssl/detail/io.hpp b/ThirdParty/include/boost/asio/ssl/detail/io.hpp new file mode 100644 index 00000000..5a493346 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef104030aec2f664091ef94724fe460930ff60612d7b26f26209122d41a6a540 +size 11692 diff --git a/ThirdParty/include/boost/asio/ssl/detail/openssl_init.hpp b/ThirdParty/include/boost/asio/ssl/detail/openssl_init.hpp new file mode 100644 index 00000000..94860240 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/openssl_init.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:572a66b06054f551a97d172ce334d48f6726189e4e3ead817f267126d8702158 +size 3059 diff --git a/ThirdParty/include/boost/asio/ssl/detail/openssl_types.hpp b/ThirdParty/include/boost/asio/ssl/detail/openssl_types.hpp new file mode 100644 index 00000000..34df5811 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/openssl_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4712c62bcf5f4cb325748f17c182850c53e699a4710a501e026865748c1e86a0 +size 904 diff --git a/ThirdParty/include/boost/asio/ssl/detail/password_callback.hpp b/ThirdParty/include/boost/asio/ssl/detail/password_callback.hpp new file mode 100644 index 00000000..6708dd18 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/password_callback.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abe1f9bda2a1421a673da68bc2defe24cb7dec90bd5201f6473bc9a1f2c784fd +size 1512 diff --git a/ThirdParty/include/boost/asio/ssl/detail/read_op.hpp b/ThirdParty/include/boost/asio/ssl/detail/read_op.hpp new file mode 100644 index 00000000..d71705e4 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/read_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de61ee61dc57775f31dbc35247ce83edb62d67812c37f127268b546d976ce045 +size 1677 diff --git a/ThirdParty/include/boost/asio/ssl/detail/shutdown_op.hpp b/ThirdParty/include/boost/asio/ssl/detail/shutdown_op.hpp new file mode 100644 index 00000000..952f889d --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/shutdown_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:219051fb00397f06617a3bac21f11fd8a1edd830d9a9ba28255098736c5405d1 +size 1273 diff --git a/ThirdParty/include/boost/asio/ssl/detail/stream_core.hpp b/ThirdParty/include/boost/asio/ssl/detail/stream_core.hpp new file mode 100644 index 00000000..34409879 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/stream_core.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b412fe905737046182f56e78da5caa8bf8f8df4a46fedbc134e788e8f7c2e273 +size 4134 diff --git a/ThirdParty/include/boost/asio/ssl/detail/verify_callback.hpp b/ThirdParty/include/boost/asio/ssl/detail/verify_callback.hpp new file mode 100644 index 00000000..1808a02e --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/verify_callback.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a46fcc3a676358edb5ee9fc24aaa2e2d8e7d322f2f8c7382503b1e9b9538b4c +size 1392 diff --git a/ThirdParty/include/boost/asio/ssl/detail/write_op.hpp b/ThirdParty/include/boost/asio/ssl/detail/write_op.hpp new file mode 100644 index 00000000..64cd29ea --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/detail/write_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beff61c5f4ca7bb1e464c69b760e0778d21818d065f3cb4ce47d7562ec989e51 +size 1673 diff --git a/ThirdParty/include/boost/asio/ssl/error.hpp b/ThirdParty/include/boost/asio/ssl/error.hpp new file mode 100644 index 00000000..5e586fe0 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfb76db60b80b6ba8b05b2da78c81641e1d42ee77777634680b4faff48383dcc +size 2687 diff --git a/ThirdParty/include/boost/asio/ssl/impl/context.hpp b/ThirdParty/include/boost/asio/ssl/impl/context.hpp new file mode 100644 index 00000000..fc73ae71 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/impl/context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afde58c52015dfa62533bd5d3a5bbfb1cd0c5145c36249065284ef4a9c5d4dd7 +size 1953 diff --git a/ThirdParty/include/boost/asio/ssl/impl/context.ipp b/ThirdParty/include/boost/asio/ssl/impl/context.ipp new file mode 100644 index 00000000..67a667e4 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/impl/context.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3bb2ab44844aecdd11730dec1fdf414167838316ef0317d4287781f73ade612 +size 34027 diff --git a/ThirdParty/include/boost/asio/ssl/impl/error.ipp b/ThirdParty/include/boost/asio/ssl/impl/error.ipp new file mode 100644 index 00000000..e0762d2e --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/impl/error.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d5a8a3900b8f50c5b29cd2fd5fc4738a40e49c8c084e65ad30268b215b38351 +size 2121 diff --git a/ThirdParty/include/boost/asio/ssl/impl/rfc2818_verification.ipp b/ThirdParty/include/boost/asio/ssl/impl/rfc2818_verification.ipp new file mode 100644 index 00000000..5b74f706 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/impl/rfc2818_verification.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:028f19f31d4170831b9ff47cfe249b8e7ac32a64f35f15d3dad5cb5bd7964a51 +size 4753 diff --git a/ThirdParty/include/boost/asio/ssl/impl/src.hpp b/ThirdParty/include/boost/asio/ssl/impl/src.hpp new file mode 100644 index 00000000..c9c9daf4 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/impl/src.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1445166ad0fe1b8ba389ae347f3ebff66bb0a4b59d763c8004e5274a56e6945 +size 832 diff --git a/ThirdParty/include/boost/asio/ssl/rfc2818_verification.hpp b/ThirdParty/include/boost/asio/ssl/rfc2818_verification.hpp new file mode 100644 index 00000000..b09cd417 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/rfc2818_verification.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2430456dd28fb6a9cdc12efd195f58e3dc2dd586a4b2767e51e48ecc8366175a +size 2854 diff --git a/ThirdParty/include/boost/asio/ssl/stream.hpp b/ThirdParty/include/boost/asio/ssl/stream.hpp new file mode 100644 index 00000000..48dd3658 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/stream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dff19d7da7532713b37568303bdb2b876044fd13f85721be1430f7411311e70a +size 26723 diff --git a/ThirdParty/include/boost/asio/ssl/stream_base.hpp b/ThirdParty/include/boost/asio/ssl/stream_base.hpp new file mode 100644 index 00000000..e52ca746 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/stream_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9693789496a1b3f7fd110a765df743d123250fde7cf042ee5fbf58c6172a4cc4 +size 1224 diff --git a/ThirdParty/include/boost/asio/ssl/verify_context.hpp b/ThirdParty/include/boost/asio/ssl/verify_context.hpp new file mode 100644 index 00000000..59a2022d --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/verify_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d1368845a0393d1a831f36144fa86cfb60c03aed6e592937c581d9c0d301af2 +size 1745 diff --git a/ThirdParty/include/boost/asio/ssl/verify_mode.hpp b/ThirdParty/include/boost/asio/ssl/verify_mode.hpp new file mode 100644 index 00000000..920ede88 --- /dev/null +++ b/ThirdParty/include/boost/asio/ssl/verify_mode.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4da539e4faae73b099b49744ee7bf03b00ba5800fd0b2a1466fb653a70e56346 +size 1758 diff --git a/ThirdParty/include/boost/asio/steady_timer.hpp b/ThirdParty/include/boost/asio/steady_timer.hpp new file mode 100644 index 00000000..f97001f4 --- /dev/null +++ b/ThirdParty/include/boost/asio/steady_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09e97b40fac7a2e1fcee8294af930795092b3a874578ed4e34d247a740f6ab73 +size 1306 diff --git a/ThirdParty/include/boost/asio/strand.hpp b/ThirdParty/include/boost/asio/strand.hpp new file mode 100644 index 00000000..448e9d3b --- /dev/null +++ b/ThirdParty/include/boost/asio/strand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3877818734dbc699317e929fb44248e3caf6e3f627c50305bed13d5c571a7dd9 +size 8947 diff --git a/ThirdParty/include/boost/asio/stream_socket_service.hpp b/ThirdParty/include/boost/asio/stream_socket_service.hpp new file mode 100644 index 00000000..4c104191 --- /dev/null +++ b/ThirdParty/include/boost/asio/stream_socket_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d1b40058ef27c7b5ec9c496fc502a1b3d27eee6ca30d68d3f2e73876ac26ff5 +size 13145 diff --git a/ThirdParty/include/boost/asio/streambuf.hpp b/ThirdParty/include/boost/asio/streambuf.hpp new file mode 100644 index 00000000..37ba65fe --- /dev/null +++ b/ThirdParty/include/boost/asio/streambuf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9dda58d4e8da8527f3224ecfba296055f5aec3036af1386a290f921c8034b34 +size 826 diff --git a/ThirdParty/include/boost/asio/system_context.hpp b/ThirdParty/include/boost/asio/system_context.hpp new file mode 100644 index 00000000..8ce947bb --- /dev/null +++ b/ThirdParty/include/boost/asio/system_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2911d8c3e5f35c39e35373ecaa4de7731d113cfebe52ef8ec8796daf00ce38f8 +size 2166 diff --git a/ThirdParty/include/boost/asio/system_executor.hpp b/ThirdParty/include/boost/asio/system_executor.hpp new file mode 100644 index 00000000..ddf7c063 --- /dev/null +++ b/ThirdParty/include/boost/asio/system_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c226892076a2282ad2c6b019837b715eb86142c31c91ceab5a13e8a62675be90 +size 4390 diff --git a/ThirdParty/include/boost/asio/system_timer.hpp b/ThirdParty/include/boost/asio/system_timer.hpp new file mode 100644 index 00000000..fb1ccacc --- /dev/null +++ b/ThirdParty/include/boost/asio/system_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ef5f6018157c4eb087fb8bbfa862808db4d8ffcc38422e355737e46ff1b33e +size 1306 diff --git a/ThirdParty/include/boost/asio/thread_pool.hpp b/ThirdParty/include/boost/asio/thread_pool.hpp new file mode 100644 index 00000000..e04fd6aa --- /dev/null +++ b/ThirdParty/include/boost/asio/thread_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a541a4dc05285a3dbe9efa4641f9db317bc60a931f1c31d394967b93fdfb4b5 +size 7449 diff --git a/ThirdParty/include/boost/asio/time_traits.hpp b/ThirdParty/include/boost/asio/time_traits.hpp new file mode 100644 index 00000000..3181c919 --- /dev/null +++ b/ThirdParty/include/boost/asio/time_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91ad4e0a41a42d656b4c09da7b1bafb50bc6aee724ed7a8bdbe72c9fae38a4e0 +size 2281 diff --git a/ThirdParty/include/boost/asio/ts/buffer.hpp b/ThirdParty/include/boost/asio/ts/buffer.hpp new file mode 100644 index 00000000..e9bcd9dc --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/buffer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92010a61c2cb299ecfd3ca88dc2d3b4c9c5fadf0f7050f32a95256719057ca4a +size 671 diff --git a/ThirdParty/include/boost/asio/ts/executor.hpp b/ThirdParty/include/boost/asio/ts/executor.hpp new file mode 100644 index 00000000..951515df --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95315500977f69c2b393b75348ef77b43076d72da0310f6e983f7683f01b8d48 +size 1125 diff --git a/ThirdParty/include/boost/asio/ts/internet.hpp b/ThirdParty/include/boost/asio/ts/internet.hpp new file mode 100644 index 00000000..d09ab4d3 --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/internet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f91d7191014d874c3edd49bc4d2da9a5be3bd83dda5413f293eeb8caf1f487a +size 1393 diff --git a/ThirdParty/include/boost/asio/ts/io_context.hpp b/ThirdParty/include/boost/asio/ts/io_context.hpp new file mode 100644 index 00000000..a37471e2 --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/io_context.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e4aea9c89b65b53d3275d8c863efc0c42aaf6b2a13feaa0b8c1756311f74702 +size 548 diff --git a/ThirdParty/include/boost/asio/ts/net.hpp b/ThirdParty/include/boost/asio/ts/net.hpp new file mode 100644 index 00000000..79af3454 --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/net.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99fc28ce0060d1dad8ab068ab7e1a3e01f7c6e7c0f24643de2a5f967274cc25a +size 735 diff --git a/ThirdParty/include/boost/asio/ts/netfwd.hpp b/ThirdParty/include/boost/asio/ts/netfwd.hpp new file mode 100644 index 00000000..1099ea51 --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/netfwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7dc63ff0371577c59c69865286e7ed06ecd94c4d72a0db5542c02be15f01fd6 +size 5123 diff --git a/ThirdParty/include/boost/asio/ts/socket.hpp b/ThirdParty/include/boost/asio/ts/socket.hpp new file mode 100644 index 00000000..2f3579af --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/socket.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2fcc64f241bb09615b9e043780c8d61b8eb980f9debfe70c203fbe31b81a2a7 +size 841 diff --git a/ThirdParty/include/boost/asio/ts/timer.hpp b/ThirdParty/include/boost/asio/ts/timer.hpp new file mode 100644 index 00000000..96fd9249 --- /dev/null +++ b/ThirdParty/include/boost/asio/ts/timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f2940128369a6f667c6602f61f6802f54ffad8fa9b803807c0f3ef08cfb1b09 +size 738 diff --git a/ThirdParty/include/boost/asio/unyield.hpp b/ThirdParty/include/boost/asio/unyield.hpp new file mode 100644 index 00000000..ec4c0287 --- /dev/null +++ b/ThirdParty/include/boost/asio/unyield.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05cec70bb2caa62252bea38b5c9c9da8f82264911d816b13fb387dbbae1afedb +size 381 diff --git a/ThirdParty/include/boost/asio/use_future.hpp b/ThirdParty/include/boost/asio/use_future.hpp new file mode 100644 index 00000000..1fa34170 --- /dev/null +++ b/ThirdParty/include/boost/asio/use_future.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0efbcad95c823020605bfc4dda17f6905b8409e5d25d4343d228be3da02e9637 +size 4820 diff --git a/ThirdParty/include/boost/asio/uses_executor.hpp b/ThirdParty/include/boost/asio/uses_executor.hpp new file mode 100644 index 00000000..a5bd963e --- /dev/null +++ b/ThirdParty/include/boost/asio/uses_executor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:988440437a206491d44593f2a7a12f20ba9951b4c572db2934c71d36c0f47d36 +size 2348 diff --git a/ThirdParty/include/boost/asio/version.hpp b/ThirdParty/include/boost/asio/version.hpp new file mode 100644 index 00000000..5c090d6f --- /dev/null +++ b/ThirdParty/include/boost/asio/version.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:679f696421f7dd798971f860534910ca693fd9dac5ae6973d0fd8c04b284410b +size 686 diff --git a/ThirdParty/include/boost/asio/wait_traits.hpp b/ThirdParty/include/boost/asio/wait_traits.hpp new file mode 100644 index 00000000..07fbd640 --- /dev/null +++ b/ThirdParty/include/boost/asio/wait_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8195e154d3fe6fb41d7000da5dabd4e02b8a2719d9dd1f5393f6356244930a7 +size 1451 diff --git a/ThirdParty/include/boost/asio/waitable_timer_service.hpp b/ThirdParty/include/boost/asio/waitable_timer_service.hpp new file mode 100644 index 00000000..443771d8 --- /dev/null +++ b/ThirdParty/include/boost/asio/waitable_timer_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fd732196bd673628019983bb0a0155b67971caf8b4b08f5a6f4be12bcf388d +size 6346 diff --git a/ThirdParty/include/boost/asio/windows/basic_handle.hpp b/ThirdParty/include/boost/asio/windows/basic_handle.hpp new file mode 100644 index 00000000..91d711ca --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/basic_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9c449c77722603d514f2c738c694b3c99ec2dec4714c886c8eba8ae4702c482 +size 8810 diff --git a/ThirdParty/include/boost/asio/windows/basic_object_handle.hpp b/ThirdParty/include/boost/asio/windows/basic_object_handle.hpp new file mode 100644 index 00000000..191e9e50 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/basic_object_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fea66ca2dbb1547743b9d1f3ea75e0050a671b4d1451ba3d6110ecd885fc766 +size 6353 diff --git a/ThirdParty/include/boost/asio/windows/basic_random_access_handle.hpp b/ThirdParty/include/boost/asio/windows/basic_random_access_handle.hpp new file mode 100644 index 00000000..9fae87b2 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/basic_random_access_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6017f7e39c8f0bb20ea214dab5f630193fe6931dfa0bd5a9fc364261ba9fc70a +size 15013 diff --git a/ThirdParty/include/boost/asio/windows/basic_stream_handle.hpp b/ThirdParty/include/boost/asio/windows/basic_stream_handle.hpp new file mode 100644 index 00000000..af151bb9 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/basic_stream_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30e1f06f36cf78c331db0ad459d95f13f1404caec3a85c75508ce5cc517dd835 +size 14005 diff --git a/ThirdParty/include/boost/asio/windows/object_handle.hpp b/ThirdParty/include/boost/asio/windows/object_handle.hpp new file mode 100644 index 00000000..bc4e09eb --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/object_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c3528d08d93e565cddf05444b6593ca82623ef5bd952ac1aeb0564cc29163eb +size 12870 diff --git a/ThirdParty/include/boost/asio/windows/object_handle_service.hpp b/ThirdParty/include/boost/asio/windows/object_handle_service.hpp new file mode 100644 index 00000000..d2cb7802 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/object_handle_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cc1f72a8a48cf99033679c9a34b236fcbefb922d08354a40f408e182878a300 +size 5349 diff --git a/ThirdParty/include/boost/asio/windows/overlapped_handle.hpp b/ThirdParty/include/boost/asio/windows/overlapped_handle.hpp new file mode 100644 index 00000000..d8b0b9b0 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/overlapped_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64f0ebdc050ca6bbbeffe4b73bd472038405a753b372f0c4125af7588b5d929b +size 10888 diff --git a/ThirdParty/include/boost/asio/windows/overlapped_ptr.hpp b/ThirdParty/include/boost/asio/windows/overlapped_ptr.hpp new file mode 100644 index 00000000..cc76ea3e --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/overlapped_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d790c15bb8ad8ce973c742522e7e6e5ee6be2fd2dddfde32fb4614e5c0c15719 +size 2959 diff --git a/ThirdParty/include/boost/asio/windows/random_access_handle.hpp b/ThirdParty/include/boost/asio/windows/random_access_handle.hpp new file mode 100644 index 00000000..55bd039d --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/random_access_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ae1f571a0918b0b8fd5fcb7f8d9db16bf5a2912ae6ba93dcadea52053316f70 +size 14811 diff --git a/ThirdParty/include/boost/asio/windows/random_access_handle_service.hpp b/ThirdParty/include/boost/asio/windows/random_access_handle_service.hpp new file mode 100644 index 00000000..71f694e5 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/random_access_handle_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54f3d602c856f4086dc68810f157912dbf05f0f8b343f3e0bf6c1eb5c101b81d +size 6796 diff --git a/ThirdParty/include/boost/asio/windows/stream_handle.hpp b/ThirdParty/include/boost/asio/windows/stream_handle.hpp new file mode 100644 index 00000000..a925fff5 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/stream_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cbfb1581002a24ac9778b6234d276c27e989ec3d117e5e5474569a2a97330e8 +size 13860 diff --git a/ThirdParty/include/boost/asio/windows/stream_handle_service.hpp b/ThirdParty/include/boost/asio/windows/stream_handle_service.hpp new file mode 100644 index 00000000..fdb292b4 --- /dev/null +++ b/ThirdParty/include/boost/asio/windows/stream_handle_service.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e22f0da024ae451fac13f7791632c5265012553c26bd8a6c6eaeb65e4e89a40 +size 6391 diff --git a/ThirdParty/include/boost/asio/write.hpp b/ThirdParty/include/boost/asio/write.hpp new file mode 100644 index 00000000..3d29525d --- /dev/null +++ b/ThirdParty/include/boost/asio/write.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8121f2c0dbd7a962a183ddd6956b8a6b083976279c5c148433d54ea399d91911 +size 38694 diff --git a/ThirdParty/include/boost/asio/write_at.hpp b/ThirdParty/include/boost/asio/write_at.hpp new file mode 100644 index 00000000..b4676cae --- /dev/null +++ b/ThirdParty/include/boost/asio/write_at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85c2d4434e994f6178bc0805fe1da40110531ce9a2b0b0d40bb4d0f3f4c5c2d6 +size 28250 diff --git a/ThirdParty/include/boost/asio/yield.hpp b/ThirdParty/include/boost/asio/yield.hpp new file mode 100644 index 00000000..a3af2b84 --- /dev/null +++ b/ThirdParty/include/boost/asio/yield.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83be779e6c7a0e51559c632e5e50fc5f73fdb4a351ca8df7266f2f386cdba485 +size 482 diff --git a/ThirdParty/include/boost/assert.hpp b/ThirdParty/include/boost/assert.hpp new file mode 100644 index 00000000..f14b4df9 --- /dev/null +++ b/ThirdParty/include/boost/assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bbedf7669fec61d273084e1165bdf766636bf427d0ce5e9fed378b23445969e +size 2625 diff --git a/ThirdParty/include/boost/bind.hpp b/ThirdParty/include/boost/bind.hpp new file mode 100644 index 00000000..9ac42c70 --- /dev/null +++ b/ThirdParty/include/boost/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7442708211608a9390f8a8bcbe1b6008370998f67c1e0198f2d68225e0cd0387 +size 936 diff --git a/ThirdParty/include/boost/bind/apply.hpp b/ThirdParty/include/boost/bind/apply.hpp new file mode 100644 index 00000000..722b63af --- /dev/null +++ b/ThirdParty/include/boost/bind/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3f545bcefda3d8f2dcb7302b3971c3e685b35c6d14b90dab5a56c6982b9eaeb +size 2402 diff --git a/ThirdParty/include/boost/bind/arg.hpp b/ThirdParty/include/boost/bind/arg.hpp new file mode 100644 index 00000000..1821c606 --- /dev/null +++ b/ThirdParty/include/boost/bind/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb9eb3acf810e8079dfb3e4c7665b8f80e1cc98ac5a7b763fb1d8ff09f04a47 +size 1314 diff --git a/ThirdParty/include/boost/bind/bind.hpp b/ThirdParty/include/boost/bind/bind.hpp new file mode 100644 index 00000000..a7f63231 --- /dev/null +++ b/ThirdParty/include/boost/bind/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8930aaf6257441ae0a43693e7f3cfe2360c2926a40c55f055d6f445fbc816c90 +size 81476 diff --git a/ThirdParty/include/boost/bind/bind_cc.hpp b/ThirdParty/include/boost/bind/bind_cc.hpp new file mode 100644 index 00000000..51c7d023 --- /dev/null +++ b/ThirdParty/include/boost/bind/bind_cc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba98f81705e1e9633fc3ecc97bd94cd6c195d1695d69c2e4d4f25c47cd065eda +size 6508 diff --git a/ThirdParty/include/boost/bind/bind_mf2_cc.hpp b/ThirdParty/include/boost/bind/bind_mf2_cc.hpp new file mode 100644 index 00000000..82c46be0 --- /dev/null +++ b/ThirdParty/include/boost/bind/bind_mf2_cc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73218349eb9ff4fa1b2d715093c6bc3d19e3ee555fcb404fc566b45d1433964a +size 11338 diff --git a/ThirdParty/include/boost/bind/bind_mf_cc.hpp b/ThirdParty/include/boost/bind/bind_mf_cc.hpp new file mode 100644 index 00000000..bda8469e --- /dev/null +++ b/ThirdParty/include/boost/bind/bind_mf_cc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc07c077db3f655b49d08b991056c0c857e01041cd5861e2afbd645d1ccd3bbe +size 23475 diff --git a/ThirdParty/include/boost/bind/bind_template.hpp b/ThirdParty/include/boost/bind/bind_template.hpp new file mode 100644 index 00000000..48795676 --- /dev/null +++ b/ThirdParty/include/boost/bind/bind_template.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2defabb1fd59d8ff0db963d5be9edc88c4067a43e93a1e809a9871c51f700ed4 +size 14071 diff --git a/ThirdParty/include/boost/bind/make_adaptable.hpp b/ThirdParty/include/boost/bind/make_adaptable.hpp new file mode 100644 index 00000000..03ab0404 --- /dev/null +++ b/ThirdParty/include/boost/bind/make_adaptable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e65ae5b80733e6b0876abf81d5b6409a7c3efb2acc4dfb4bdad33ad1dac70735 +size 3164 diff --git a/ThirdParty/include/boost/bind/mem_fn.hpp b/ThirdParty/include/boost/bind/mem_fn.hpp new file mode 100644 index 00000000..58d6ecc4 --- /dev/null +++ b/ThirdParty/include/boost/bind/mem_fn.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7e131c07d7bda3064b4ead6d06de823dcac2a8340fffa69bc7841b0438758dc +size 7049 diff --git a/ThirdParty/include/boost/bind/mem_fn_cc.hpp b/ThirdParty/include/boost/bind/mem_fn_cc.hpp new file mode 100644 index 00000000..4ac9b6d3 --- /dev/null +++ b/ThirdParty/include/boost/bind/mem_fn_cc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac135d8d682b5e01e76f4c552996aa2eed247eec4ae8c3fcf0ddd1960f02f22c +size 4804 diff --git a/ThirdParty/include/boost/bind/mem_fn_template.hpp b/ThirdParty/include/boost/bind/mem_fn_template.hpp new file mode 100644 index 00000000..8c621fe7 --- /dev/null +++ b/ThirdParty/include/boost/bind/mem_fn_template.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbe25c55983f9b0f6d695a7044aab9e2f2c74f9804a0883e679350db3667bb8a +size 26529 diff --git a/ThirdParty/include/boost/bind/mem_fn_vw.hpp b/ThirdParty/include/boost/bind/mem_fn_vw.hpp new file mode 100644 index 00000000..8bcb7e58 --- /dev/null +++ b/ThirdParty/include/boost/bind/mem_fn_vw.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9311b08120e2ae2c1d980ed338db29fb60257cdbb26780cfd32797164f1a157 +size 7952 diff --git a/ThirdParty/include/boost/bind/placeholders.hpp b/ThirdParty/include/boost/bind/placeholders.hpp new file mode 100644 index 00000000..193a0766 --- /dev/null +++ b/ThirdParty/include/boost/bind/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ca918e6c9bebbf79006b2923220e045a06a6caaf7b83ed3572660aa6eecce70 +size 1725 diff --git a/ThirdParty/include/boost/bind/protect.hpp b/ThirdParty/include/boost/bind/protect.hpp new file mode 100644 index 00000000..561f13ae --- /dev/null +++ b/ThirdParty/include/boost/bind/protect.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3372f3a9494d06ad0f6963183ecbcf7351857267348b1ae4ccc97b354f9b2b21 +size 9704 diff --git a/ThirdParty/include/boost/bind/storage.hpp b/ThirdParty/include/boost/bind/storage.hpp new file mode 100644 index 00000000..b77336e7 --- /dev/null +++ b/ThirdParty/include/boost/bind/storage.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e0a84447240d765578227aee29572ff8ec9388b203ccf27ff7f824fb1f8ac02 +size 13372 diff --git a/ThirdParty/include/boost/cerrno.hpp b/ThirdParty/include/boost/cerrno.hpp new file mode 100644 index 00000000..4bf59850 --- /dev/null +++ b/ThirdParty/include/boost/cerrno.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c098a406619f7cd75cd5638191be32e3837a5a6692cf9bab1bf2403617eb9b59 +size 4187 diff --git a/ThirdParty/include/boost/checked_delete.hpp b/ThirdParty/include/boost/checked_delete.hpp new file mode 100644 index 00000000..22c30d7f --- /dev/null +++ b/ThirdParty/include/boost/checked_delete.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c33aaa806a5b166366b487f1ef9d332216a926db4c5f83b68d9449ad5301f6f +size 414 diff --git a/ThirdParty/include/boost/config.hpp b/ThirdParty/include/boost/config.hpp new file mode 100644 index 00000000..569d474b --- /dev/null +++ b/ThirdParty/include/boost/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:373206390d20aa5bb9e2628eb08543399d73b853af7bfc5f1d2bd9a00bc07593 +size 2216 diff --git a/ThirdParty/include/boost/config/abi/borland_prefix.hpp b/ThirdParty/include/boost/config/abi/borland_prefix.hpp new file mode 100644 index 00000000..453f12fc --- /dev/null +++ b/ThirdParty/include/boost/config/abi/borland_prefix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bcb32c03327907d1a79f1a687d1e889f048f89a02f01c9306ffccd270ccd53a +size 1002 diff --git a/ThirdParty/include/boost/config/abi/borland_suffix.hpp b/ThirdParty/include/boost/config/abi/borland_suffix.hpp new file mode 100644 index 00000000..952b5245 --- /dev/null +++ b/ThirdParty/include/boost/config/abi/borland_suffix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddf73eec710e6a40e5649e70ff0f5ee262b92648ab5b1ab2abb563a5fb6bc556 +size 280 diff --git a/ThirdParty/include/boost/config/abi/msvc_prefix.hpp b/ThirdParty/include/boost/config/abi/msvc_prefix.hpp new file mode 100644 index 00000000..4b10fa72 --- /dev/null +++ b/ThirdParty/include/boost/config/abi/msvc_prefix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0846f71a84d25120bd54ae29095b33af1e9691f162a3a81d518b044a76037613 +size 819 diff --git a/ThirdParty/include/boost/config/abi/msvc_suffix.hpp b/ThirdParty/include/boost/config/abi/msvc_suffix.hpp new file mode 100644 index 00000000..ce5a06dd --- /dev/null +++ b/ThirdParty/include/boost/config/abi/msvc_suffix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e401a3cc760fde65b6ff0681094eaab365a5716632d8526d4847e98f842927ac +size 252 diff --git a/ThirdParty/include/boost/config/abi_prefix.hpp b/ThirdParty/include/boost/config/abi_prefix.hpp new file mode 100644 index 00000000..5bed52f9 --- /dev/null +++ b/ThirdParty/include/boost/config/abi_prefix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cab389037c481b96573401da49f75d2309e6df2947f3c63db396ff5d2a04cff +size 698 diff --git a/ThirdParty/include/boost/config/abi_suffix.hpp b/ThirdParty/include/boost/config/abi_suffix.hpp new file mode 100644 index 00000000..ba176b42 --- /dev/null +++ b/ThirdParty/include/boost/config/abi_suffix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f301ea93528e4dbf8cada69033f4cda44920ec5f82f6bc4f1e87d88b60cfeea +size 781 diff --git a/ThirdParty/include/boost/config/auto_link.hpp b/ThirdParty/include/boost/config/auto_link.hpp new file mode 100644 index 00000000..30ca3962 --- /dev/null +++ b/ThirdParty/include/boost/config/auto_link.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73dcbbd0d807c16747233ddf769380816eb69f3c8f2fec9dc2bdded7bebd783 +size 16377 diff --git a/ThirdParty/include/boost/config/compiler/borland.hpp b/ThirdParty/include/boost/config/compiler/borland.hpp new file mode 100644 index 00000000..7fb73618 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/borland.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf4d58509f668b53f1bc61b854f2828d5e5dac8ad8847a0c0f460b34f93fcf4f +size 10611 diff --git a/ThirdParty/include/boost/config/compiler/clang.hpp b/ThirdParty/include/boost/config/compiler/clang.hpp new file mode 100644 index 00000000..b16fffb5 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/clang.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a223c63d52a40dde9b4a30cdad596406cc9ef6a7d48859776df761998ff84a82 +size 9409 diff --git a/ThirdParty/include/boost/config/compiler/codegear.hpp b/ThirdParty/include/boost/config/compiler/codegear.hpp new file mode 100644 index 00000000..c2f0af93 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/codegear.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ad51ee112993c90a3dd26d1d99f5fcd852f4ca7cba48cc5da381b053422119 +size 7802 diff --git a/ThirdParty/include/boost/config/compiler/comeau.hpp b/ThirdParty/include/boost/config/compiler/comeau.hpp new file mode 100644 index 00000000..1b9fbbec --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/comeau.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:710f475254cdce46a9409b53a618f241267f91fd4ff66b24796b4ea596044227 +size 1638 diff --git a/ThirdParty/include/boost/config/compiler/common_edg.hpp b/ThirdParty/include/boost/config/compiler/common_edg.hpp new file mode 100644 index 00000000..b8aae6f4 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/common_edg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a02c301cedd3a5b169253f184c419f2051379b0f16afa7d1840495e4be1873e6 +size 5247 diff --git a/ThirdParty/include/boost/config/compiler/compaq_cxx.hpp b/ThirdParty/include/boost/config/compiler/compaq_cxx.hpp new file mode 100644 index 00000000..ffa75576 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/compaq_cxx.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5db1c8909dfc9e25ccaca4b205c4def731e3565a73e7529c7ceb31b98f255203 +size 501 diff --git a/ThirdParty/include/boost/config/compiler/cray.hpp b/ThirdParty/include/boost/config/compiler/cray.hpp new file mode 100644 index 00000000..a793ed28 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/cray.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e4c3d6fecb6d9c7b177a007cc25d61758e56e900fe325f4e860c6561ed302f +size 15285 diff --git a/ThirdParty/include/boost/config/compiler/diab.hpp b/ThirdParty/include/boost/config/compiler/diab.hpp new file mode 100644 index 00000000..c98a05db --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/diab.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b60af9eae596c5c9b8e26cfaa82d91f8e1024e442d91dbf8245be373de43ed9c +size 909 diff --git a/ThirdParty/include/boost/config/compiler/digitalmars.hpp b/ThirdParty/include/boost/config/compiler/digitalmars.hpp new file mode 100644 index 00000000..64e044da --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/digitalmars.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a27e82f571ce92696730536998566452e87df1ad2b06e05fd5961f286ca9321 +size 4521 diff --git a/ThirdParty/include/boost/config/compiler/gcc.hpp b/ThirdParty/include/boost/config/compiler/gcc.hpp new file mode 100644 index 00000000..992f2dd4 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/gcc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b93e55d7f13c181e3526f3484283a86c54fac45a7f1025dec9a96a074028e765 +size 11572 diff --git a/ThirdParty/include/boost/config/compiler/gcc_xml.hpp b/ThirdParty/include/boost/config/compiler/gcc_xml.hpp new file mode 100644 index 00000000..2d3cf3b3 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/gcc_xml.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6159362de2881f4230008c9e543aeb119ac53e121354057160c4b2ac453f591 +size 3967 diff --git a/ThirdParty/include/boost/config/compiler/greenhills.hpp b/ThirdParty/include/boost/config/compiler/greenhills.hpp new file mode 100644 index 00000000..46dce08f --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/greenhills.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fa76a673c90ac4dfa2868f87c6fdd42601c1ff69bd4a1aae14dbd374dd49714 +size 822 diff --git a/ThirdParty/include/boost/config/compiler/hp_acc.hpp b/ThirdParty/include/boost/config/compiler/hp_acc.hpp new file mode 100644 index 00000000..3f9e397e --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/hp_acc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0614cef2999442685ce759bb10724749b56935302dc6410f880309f6c35fe1e +size 4927 diff --git a/ThirdParty/include/boost/config/compiler/intel.hpp b/ThirdParty/include/boost/config/compiler/intel.hpp new file mode 100644 index 00000000..fce44ddb --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/intel.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18b2ae5c32a57321ca00780ff8171b4568599b389c0e712c4cda3dbfbe09ec2c +size 22218 diff --git a/ThirdParty/include/boost/config/compiler/kai.hpp b/ThirdParty/include/boost/config/compiler/kai.hpp new file mode 100644 index 00000000..c3f33bdd --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/kai.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a92aed2cecd022d9c1321a47929ae0b518c6e502396df8b70042d90a653e306 +size 1030 diff --git a/ThirdParty/include/boost/config/compiler/metrowerks.hpp b/ThirdParty/include/boost/config/compiler/metrowerks.hpp new file mode 100644 index 00000000..b29ea6f0 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/metrowerks.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba43cb6b143e9a15881c0d721824d6e706d3b60de574ef996a14cd8c61b8bcaa +size 6303 diff --git a/ThirdParty/include/boost/config/compiler/mpw.hpp b/ThirdParty/include/boost/config/compiler/mpw.hpp new file mode 100644 index 00000000..7eacaf11 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/mpw.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce5a90d5581b5d500db988db6e7786b990712fa137038ceb4e8aa1f1547ea5a1 +size 4706 diff --git a/ThirdParty/include/boost/config/compiler/nvcc.hpp b/ThirdParty/include/boost/config/compiler/nvcc.hpp new file mode 100644 index 00000000..a66fe652 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/nvcc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d6e949ad18b5c1391cc87ed1aaf8224943ac3d6ff650d3312d23ebde698ef54 +size 2042 diff --git a/ThirdParty/include/boost/config/compiler/pathscale.hpp b/ThirdParty/include/boost/config/compiler/pathscale.hpp new file mode 100644 index 00000000..629c59a7 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/pathscale.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcd0f45be8c30a8337203db437e22a2355a1032d30e0b59ea4108e6089d611f5 +size 5045 diff --git a/ThirdParty/include/boost/config/compiler/pgi.hpp b/ThirdParty/include/boost/config/compiler/pgi.hpp new file mode 100644 index 00000000..4250fac3 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/pgi.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0545c8d13c7680d2b46308794b54196f76b86625c475dd0ff809ebe8b8724bb4 +size 770 diff --git a/ThirdParty/include/boost/config/compiler/sgi_mipspro.hpp b/ThirdParty/include/boost/config/compiler/sgi_mipspro.hpp new file mode 100644 index 00000000..2256ccc4 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/sgi_mipspro.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0911c1cf0f124ba79239bd9ee73bc1a78c529e9f99186dc2820c0c33e64097ca +size 774 diff --git a/ThirdParty/include/boost/config/compiler/sunpro_cc.hpp b/ThirdParty/include/boost/config/compiler/sunpro_cc.hpp new file mode 100644 index 00000000..25310699 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/sunpro_cc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bceea851fe07e3702d8aac9df57d0b6dee85f76ac4b756315a80c6ec49a6818c +size 7350 diff --git a/ThirdParty/include/boost/config/compiler/vacpp.hpp b/ThirdParty/include/boost/config/compiler/vacpp.hpp new file mode 100644 index 00000000..5c528700 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/vacpp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8ae704d51ce15c16b33e5d698ddbe2d9073c8fc743a4aad7cdb1dca85fa8a99 +size 6044 diff --git a/ThirdParty/include/boost/config/compiler/visualc.hpp b/ThirdParty/include/boost/config/compiler/visualc.hpp new file mode 100644 index 00000000..311b862d --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/visualc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:194b0a6ad4592bc913df06312279702b16b35dc54f43175a5de0836fdf3fb3e3 +size 11612 diff --git a/ThirdParty/include/boost/config/compiler/xlcpp.hpp b/ThirdParty/include/boost/config/compiler/xlcpp.hpp new file mode 100644 index 00000000..cdb5a238 --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/xlcpp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b01eabb78ac1bc3c293ea62a7c7a383365e0d5aa1de79645623f2240f5dc914f +size 7768 diff --git a/ThirdParty/include/boost/config/compiler/xlcpp_zos.hpp b/ThirdParty/include/boost/config/compiler/xlcpp_zos.hpp new file mode 100644 index 00000000..3b1c9b8c --- /dev/null +++ b/ThirdParty/include/boost/config/compiler/xlcpp_zos.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e6fdd6a4368ba3dc9ec0aede9cefb5056d83728522bb2d896fd943c14b51449 +size 4879 diff --git a/ThirdParty/include/boost/config/detail/posix_features.hpp b/ThirdParty/include/boost/config/detail/posix_features.hpp new file mode 100644 index 00000000..cc7cb8d8 --- /dev/null +++ b/ThirdParty/include/boost/config/detail/posix_features.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bba105d0af558c09307941fe64ce5ce9d775990b96684708adf4a9a92070fc0a +size 3736 diff --git a/ThirdParty/include/boost/config/detail/select_compiler_config.hpp b/ThirdParty/include/boost/config/detail/select_compiler_config.hpp new file mode 100644 index 00000000..81024699 --- /dev/null +++ b/ThirdParty/include/boost/config/detail/select_compiler_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92fec7679b77bf4defdbb0ef661a63c2a32470a88bddca82b66e4b48eb788879 +size 5329 diff --git a/ThirdParty/include/boost/config/detail/select_platform_config.hpp b/ThirdParty/include/boost/config/detail/select_platform_config.hpp new file mode 100644 index 00000000..4d0a9a27 --- /dev/null +++ b/ThirdParty/include/boost/config/detail/select_platform_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f2107ebb83c115963be6ec3a63dacc89ef644538b639babad64d720e391b9e3 +size 4479 diff --git a/ThirdParty/include/boost/config/detail/select_stdlib_config.hpp b/ThirdParty/include/boost/config/detail/select_stdlib_config.hpp new file mode 100644 index 00000000..c168e793 --- /dev/null +++ b/ThirdParty/include/boost/config/detail/select_stdlib_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866b014d24f2a1ef38eb648496d700384ecb4c3a414d6c2f4a5b9071a515fc1c +size 4090 diff --git a/ThirdParty/include/boost/config/detail/suffix.hpp b/ThirdParty/include/boost/config/detail/suffix.hpp new file mode 100644 index 00000000..c63bec96 --- /dev/null +++ b/ThirdParty/include/boost/config/detail/suffix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d71fa9b920caf20305158579f3eb45e2021a6c25eb042615e0663639dfe41800 +size 37297 diff --git a/ThirdParty/include/boost/config/header_deprecated.hpp b/ThirdParty/include/boost/config/header_deprecated.hpp new file mode 100644 index 00000000..6666313c --- /dev/null +++ b/ThirdParty/include/boost/config/header_deprecated.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f65fdd80185ee4999beb94248ff133db9875ac8e44349ca77a20a7ed375c0815 +size 813 diff --git a/ThirdParty/include/boost/config/helper_macros.hpp b/ThirdParty/include/boost/config/helper_macros.hpp new file mode 100644 index 00000000..ec270353 --- /dev/null +++ b/ThirdParty/include/boost/config/helper_macros.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecf739b9b06545ebb0d691e8207cf7b70a5d42d7cb378d5d5502c0c96eefafc2 +size 1120 diff --git a/ThirdParty/include/boost/config/no_tr1/cmath.hpp b/ThirdParty/include/boost/config/no_tr1/cmath.hpp new file mode 100644 index 00000000..54fdf238 --- /dev/null +++ b/ThirdParty/include/boost/config/no_tr1/cmath.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88333f68b514da159a18b2aac33be864f279ce4efc215c3f8425baf2c9ea1fa4 +size 838 diff --git a/ThirdParty/include/boost/config/no_tr1/complex.hpp b/ThirdParty/include/boost/config/no_tr1/complex.hpp new file mode 100644 index 00000000..3929495d --- /dev/null +++ b/ThirdParty/include/boost/config/no_tr1/complex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c91b0824f8f22581547c364626decc91d94092518be46aa5ed473046565ac0dd +size 854 diff --git a/ThirdParty/include/boost/config/no_tr1/functional.hpp b/ThirdParty/include/boost/config/no_tr1/functional.hpp new file mode 100644 index 00000000..e7ab9008 --- /dev/null +++ b/ThirdParty/include/boost/config/no_tr1/functional.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa14f93ad82f3ef4d5be7107e388f4636e057cc056602527ae82319bd6d91949 +size 878 diff --git a/ThirdParty/include/boost/config/no_tr1/memory.hpp b/ThirdParty/include/boost/config/no_tr1/memory.hpp new file mode 100644 index 00000000..7955654b --- /dev/null +++ b/ThirdParty/include/boost/config/no_tr1/memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0be3cb94459966b29df1a4c36d4bf7bc18d57d2a06a433c12e1ed60ec29851c +size 846 diff --git a/ThirdParty/include/boost/config/no_tr1/utility.hpp b/ThirdParty/include/boost/config/no_tr1/utility.hpp new file mode 100644 index 00000000..7f033c05 --- /dev/null +++ b/ThirdParty/include/boost/config/no_tr1/utility.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2f768cf5c0a2800fb8bee3bd521e1e77feb1ca8dc7120d3fed4c7b2a70cacde +size 854 diff --git a/ThirdParty/include/boost/config/platform/aix.hpp b/ThirdParty/include/boost/config/platform/aix.hpp new file mode 100644 index 00000000..2b77a21c --- /dev/null +++ b/ThirdParty/include/boost/config/platform/aix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:202780bd2c63a581860b273d439c27aebf5380ec6ef88c3ae6f45fe5498ea7f4 +size 888 diff --git a/ThirdParty/include/boost/config/platform/amigaos.hpp b/ThirdParty/include/boost/config/platform/amigaos.hpp new file mode 100644 index 00000000..e45417d1 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/amigaos.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:281591f1f79e5560b06fbc5671ed86596e10c0ecd02215f3c5e12c101165ea0b +size 442 diff --git a/ThirdParty/include/boost/config/platform/beos.hpp b/ThirdParty/include/boost/config/platform/beos.hpp new file mode 100644 index 00000000..f3b1da92 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/beos.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bfb4c40d6a696aafc3068e0613768b4ca3bd914dfda24677afe87e6eed39bfd +size 600 diff --git a/ThirdParty/include/boost/config/platform/bsd.hpp b/ThirdParty/include/boost/config/platform/bsd.hpp new file mode 100644 index 00000000..2bfc0fee --- /dev/null +++ b/ThirdParty/include/boost/config/platform/bsd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb1eb62f358321c2c555a893329e6b2943e3626323173760e4818c43e923d1f9 +size 2505 diff --git a/ThirdParty/include/boost/config/platform/cloudabi.hpp b/ThirdParty/include/boost/config/platform/cloudabi.hpp new file mode 100644 index 00000000..614a8622 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/cloudabi.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9c3693c4033f2625f90185806c9a7be6bffb1982fbbf48adddd565fa2e09680 +size 530 diff --git a/ThirdParty/include/boost/config/platform/cray.hpp b/ThirdParty/include/boost/config/platform/cray.hpp new file mode 100644 index 00000000..e2922b00 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/cray.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cdb37d8dfc102a686fdff50aaa77641aebd5e674dd617c73c405748ffb94b24 +size 456 diff --git a/ThirdParty/include/boost/config/platform/cygwin.hpp b/ThirdParty/include/boost/config/platform/cygwin.hpp new file mode 100644 index 00000000..d97d86ba --- /dev/null +++ b/ThirdParty/include/boost/config/platform/cygwin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2851dd3e823b55e73cf894d2976354d7a7326072b2fec81c18a9ed58e27ec1f1 +size 1767 diff --git a/ThirdParty/include/boost/config/platform/haiku.hpp b/ThirdParty/include/boost/config/platform/haiku.hpp new file mode 100644 index 00000000..9db3e2a5 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/haiku.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e66f4725bfa196668a3252964ed5468c81dbd1006a733c49edd4f87f0e7fd4c +size 807 diff --git a/ThirdParty/include/boost/config/platform/hpux.hpp b/ThirdParty/include/boost/config/platform/hpux.hpp new file mode 100644 index 00000000..a447d8ef --- /dev/null +++ b/ThirdParty/include/boost/config/platform/hpux.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e1ada36b46783f7a3f336b8d060a38cd519e9701cc606c958fcc202e8e4f4ce +size 2484 diff --git a/ThirdParty/include/boost/config/platform/irix.hpp b/ThirdParty/include/boost/config/platform/irix.hpp new file mode 100644 index 00000000..61e30023 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/irix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ea7e1e081993ed5aa631acf35b69146193f6285624011872fdc861d12274115 +size 796 diff --git a/ThirdParty/include/boost/config/platform/linux.hpp b/ThirdParty/include/boost/config/platform/linux.hpp new file mode 100644 index 00000000..e6a54b70 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/linux.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f508f04c0fe1e1dab43a5c5cb287bb5514b58f63ea3d4705d3aafea528be2341 +size 2850 diff --git a/ThirdParty/include/boost/config/platform/macos.hpp b/ThirdParty/include/boost/config/platform/macos.hpp new file mode 100644 index 00000000..ad8e5bd9 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/macos.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5f923845074c86a3abfb0b5fee1e5795646e92274f722291f6e2a1e6e4d7b0d +size 2350 diff --git a/ThirdParty/include/boost/config/platform/qnxnto.hpp b/ThirdParty/include/boost/config/platform/qnxnto.hpp new file mode 100644 index 00000000..1755871a --- /dev/null +++ b/ThirdParty/include/boost/config/platform/qnxnto.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a994c5204414f356008d0cbb491bb1215f24adac65f71ea62e8f1641b5741482 +size 773 diff --git a/ThirdParty/include/boost/config/platform/solaris.hpp b/ThirdParty/include/boost/config/platform/solaris.hpp new file mode 100644 index 00000000..a2bdf6f5 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/solaris.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da27516af05fb2bc561fcc06e293202524b22c962eb9c077646fa7a592afcac3 +size 841 diff --git a/ThirdParty/include/boost/config/platform/symbian.hpp b/ThirdParty/include/boost/config/platform/symbian.hpp new file mode 100644 index 00000000..956f9f62 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/symbian.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:301de8231e5be4e9bbb812e7142235c15d6b8b31b05c3b5c55944e898f059e9c +size 2621 diff --git a/ThirdParty/include/boost/config/platform/vms.hpp b/ThirdParty/include/boost/config/platform/vms.hpp new file mode 100644 index 00000000..52dab7ea --- /dev/null +++ b/ThirdParty/include/boost/config/platform/vms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e479c2501ba061a46720795cbc7845137c12a081df6325d58b9ffe7317ca00a1 +size 749 diff --git a/ThirdParty/include/boost/config/platform/vxworks.hpp b/ThirdParty/include/boost/config/platform/vxworks.hpp new file mode 100644 index 00000000..ddabc1e2 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/vxworks.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03a1c29f99985989d7315a2ac1a84fa2722211876b0bc61691c39912910f8d40 +size 15342 diff --git a/ThirdParty/include/boost/config/platform/win32.hpp b/ThirdParty/include/boost/config/platform/win32.hpp new file mode 100644 index 00000000..3400dc9e --- /dev/null +++ b/ThirdParty/include/boost/config/platform/win32.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaa82c93bc49969f4e91edd333e1068bb4aeeb97c9a3dcdf51c0f8dab05dc225 +size 2718 diff --git a/ThirdParty/include/boost/config/platform/zos.hpp b/ThirdParty/include/boost/config/platform/zos.hpp new file mode 100644 index 00000000..584ed162 --- /dev/null +++ b/ThirdParty/include/boost/config/platform/zos.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:108f3d2d0c14c98e258b6bb012119edc5c0f954981f4836f019f563e7ec4e729 +size 789 diff --git a/ThirdParty/include/boost/config/pragma_message.hpp b/ThirdParty/include/boost/config/pragma_message.hpp new file mode 100644 index 00000000..bd4e822a --- /dev/null +++ b/ThirdParty/include/boost/config/pragma_message.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1951b59b8db3e8bf1e02c622605c7f45067dc3ce86eee8fba00f656099c64ab9 +size 1019 diff --git a/ThirdParty/include/boost/config/requires_threads.hpp b/ThirdParty/include/boost/config/requires_threads.hpp new file mode 100644 index 00000000..f6bba029 --- /dev/null +++ b/ThirdParty/include/boost/config/requires_threads.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff5b6b123e00b032d58d5f0c2daa299d99036618d9c90260cb4c7693d05a985c +size 3507 diff --git a/ThirdParty/include/boost/config/stdlib/dinkumware.hpp b/ThirdParty/include/boost/config/stdlib/dinkumware.hpp new file mode 100644 index 00000000..8c5f0516 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/dinkumware.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c12e2ab06e2357239c62b4472221a8113f59c4abf4121fc553770665bb30cdff +size 9354 diff --git a/ThirdParty/include/boost/config/stdlib/libcomo.hpp b/ThirdParty/include/boost/config/stdlib/libcomo.hpp new file mode 100644 index 00000000..efa5fbf3 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/libcomo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c524987d9cfec1e22e892dd9f5d463a0c443e8d2240e2c0b4ad8cf26ac7c7f7a +size 2791 diff --git a/ThirdParty/include/boost/config/stdlib/libcpp.hpp b/ThirdParty/include/boost/config/stdlib/libcpp.hpp new file mode 100644 index 00000000..522f6ccf --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/libcpp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17f7c3e0fcdf40e865c1ebe0cb1927d179fca9a198076e3dd371a1c2fbddb3b1 +size 4929 diff --git a/ThirdParty/include/boost/config/stdlib/libstdcpp3.hpp b/ThirdParty/include/boost/config/stdlib/libstdcpp3.hpp new file mode 100644 index 00000000..fe65898f --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/libstdcpp3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1dbfe1e377b1b9c16f95bbfefe7519b96732645cfa5a8c257757a396d7c4d10 +size 12239 diff --git a/ThirdParty/include/boost/config/stdlib/modena.hpp b/ThirdParty/include/boost/config/stdlib/modena.hpp new file mode 100644 index 00000000..d7499485 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/modena.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db7f6ae87e7ef379a1f6319b2598bd177ed9b88ac0ff35a5247cd6274f4067b0 +size 2196 diff --git a/ThirdParty/include/boost/config/stdlib/msl.hpp b/ThirdParty/include/boost/config/stdlib/msl.hpp new file mode 100644 index 00000000..15766098 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/msl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42674ff55c138e6e8957fac8d03e461f5d2626da6d627ecd52f06849563500ba +size 2797 diff --git a/ThirdParty/include/boost/config/stdlib/roguewave.hpp b/ThirdParty/include/boost/config/stdlib/roguewave.hpp new file mode 100644 index 00000000..fd17fc13 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/roguewave.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5cf1bfc3827462eecb0f5959d6bb823f6fa2fcbec102a72a399e54fed43be50 +size 6219 diff --git a/ThirdParty/include/boost/config/stdlib/sgi.hpp b/ThirdParty/include/boost/config/stdlib/sgi.hpp new file mode 100644 index 00000000..4c1fcb1f --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/sgi.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f45d99aab0c0e9027965b14fa9b6abf441da4804ae239e98addadf4788371724 +size 5022 diff --git a/ThirdParty/include/boost/config/stdlib/stlport.hpp b/ThirdParty/include/boost/config/stdlib/stlport.hpp new file mode 100644 index 00000000..46bcecb4 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/stlport.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:275e8b37848ab6d82d9da164e466868f19136892ce5eff5d466bdd3719dac5d9 +size 8532 diff --git a/ThirdParty/include/boost/config/stdlib/vacpp.hpp b/ThirdParty/include/boost/config/stdlib/vacpp.hpp new file mode 100644 index 00000000..488e3af5 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/vacpp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:153464bd14987f2d0b7d5317084571446bc164961b6b560053e39a43a62ea096 +size 2355 diff --git a/ThirdParty/include/boost/config/stdlib/xlcpp_zos.hpp b/ThirdParty/include/boost/config/stdlib/xlcpp_zos.hpp new file mode 100644 index 00000000..d08b48c7 --- /dev/null +++ b/ThirdParty/include/boost/config/stdlib/xlcpp_zos.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3918664637dba3e454425906964c1bf56ce5ac2e33beab01e0ec6f62eda3a438 +size 1926 diff --git a/ThirdParty/include/boost/config/user.hpp b/ThirdParty/include/boost/config/user.hpp new file mode 100644 index 00000000..280acd65 --- /dev/null +++ b/ThirdParty/include/boost/config/user.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3031f2d4cd6ab3b9f7f8a17a0b2acd3947a9ede21ecb18a16104b2f2b68d2cb3 +size 5367 diff --git a/ThirdParty/include/boost/config/warning_disable.hpp b/ThirdParty/include/boost/config/warning_disable.hpp new file mode 100644 index 00000000..fdcc86df --- /dev/null +++ b/ThirdParty/include/boost/config/warning_disable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51afb69aa2a3907b10d253ed93d000cee51f88cd6ff1bc7ca23a3296997e7453 +size 1820 diff --git a/ThirdParty/include/boost/config/workaround.hpp b/ThirdParty/include/boost/config/workaround.hpp new file mode 100644 index 00000000..6c55d78e --- /dev/null +++ b/ThirdParty/include/boost/config/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d4fd91e3ed1c01cdb49d1bc6dda8cbfd071c323da15bf40c2b58b9371ca48a +size 7558 diff --git a/ThirdParty/include/boost/container/adaptive_pool.hpp b/ThirdParty/include/boost/container/adaptive_pool.hpp new file mode 100644 index 00000000..cca1253d --- /dev/null +++ b/ThirdParty/include/boost/container/adaptive_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca36797be3bf6fad249895a55362b3dfc83fd877751190c8150640464c2b83b1 +size 23207 diff --git a/ThirdParty/include/boost/container/allocator.hpp b/ThirdParty/include/boost/container/allocator.hpp new file mode 100644 index 00000000..630cfd01 --- /dev/null +++ b/ThirdParty/include/boost/container/allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ccb5b89731743f872bba30fd11ab752668718535d3c5de0966628a2cd68bd0 +size 13809 diff --git a/ThirdParty/include/boost/container/allocator_traits.hpp b/ThirdParty/include/boost/container/allocator_traits.hpp new file mode 100644 index 00000000..92724a4b --- /dev/null +++ b/ThirdParty/include/boost/container/allocator_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b998cb2d659b71ae2e9a547c65f6fa5687a03a8feca8f3fa96cdd54d5b4b6b37 +size 23213 diff --git a/ThirdParty/include/boost/container/container_fwd.hpp b/ThirdParty/include/boost/container/container_fwd.hpp new file mode 100644 index 00000000..02814794 --- /dev/null +++ b/ThirdParty/include/boost/container/container_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9009f31dc938d3eec09bd43576fc0ad97d4a47cca7e0e24c85edbc68e00045ea +size 7795 diff --git a/ThirdParty/include/boost/container/deque.hpp b/ThirdParty/include/boost/container/deque.hpp new file mode 100644 index 00000000..68282b7f --- /dev/null +++ b/ThirdParty/include/boost/container/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d2c67577f8c7b7adf0dc86427c4245434f8b7292e39dec75b03e435b9c0cef8 +size 81807 diff --git a/ThirdParty/include/boost/container/detail/adaptive_node_pool.hpp b/ThirdParty/include/boost/container/detail/adaptive_node_pool.hpp new file mode 100644 index 00000000..d82a0e3e --- /dev/null +++ b/ThirdParty/include/boost/container/detail/adaptive_node_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8dc59b370749d2bb6463a578b92eaa1562408a4e66d41fd8c47643152019c26 +size 5569 diff --git a/ThirdParty/include/boost/container/detail/adaptive_node_pool_impl.hpp b/ThirdParty/include/boost/container/detail/adaptive_node_pool_impl.hpp new file mode 100644 index 00000000..e3e01474 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/adaptive_node_pool_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba25f2342be0cdfae1861ec460a349401e63ced4fe8a9fad321460a7f5f17de9 +size 54088 diff --git a/ThirdParty/include/boost/container/detail/addressof.hpp b/ThirdParty/include/boost/container/detail/addressof.hpp new file mode 100644 index 00000000..1bfe2817 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/addressof.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85817e83cca948b15bd4294c04d36a0c9f06d3aacf8868b48edea274064dbc7d +size 1063 diff --git a/ThirdParty/include/boost/container/detail/advanced_insert_int.hpp b/ThirdParty/include/boost/container/detail/advanced_insert_int.hpp new file mode 100644 index 00000000..c800e42e --- /dev/null +++ b/ThirdParty/include/boost/container/detail/advanced_insert_int.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d371daa953cb5de31d88f2ded295cb4509618f83356bc22acd34e0fcc73893c0 +size 17544 diff --git a/ThirdParty/include/boost/container/detail/algorithm.hpp b/ThirdParty/include/boost/container/detail/algorithm.hpp new file mode 100644 index 00000000..79c91dcf --- /dev/null +++ b/ThirdParty/include/boost/container/detail/algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3a67332a18f057c2ae6d001f0b692124243722f691d6e21b58ee04c518bd342 +size 3880 diff --git a/ThirdParty/include/boost/container/detail/alloc_helpers.hpp b/ThirdParty/include/boost/container/detail/alloc_helpers.hpp new file mode 100644 index 00000000..adb5fbde --- /dev/null +++ b/ThirdParty/include/boost/container/detail/alloc_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00da1b4240cda3358a8acae0e737c807e6208a2cedc11732961e520400be8d0a +size 1741 diff --git a/ThirdParty/include/boost/container/detail/alloc_lib.h b/ThirdParty/include/boost/container/detail/alloc_lib.h new file mode 100644 index 00000000..e8414a9b --- /dev/null +++ b/ThirdParty/include/boost/container/detail/alloc_lib.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ae7c2f57ce10dd5b64c543d1af5901f43f78acd35894c7a42b7fa07d210f3fa +size 11710 diff --git a/ThirdParty/include/boost/container/detail/allocation_type.hpp b/ThirdParty/include/boost/container/detail/allocation_type.hpp new file mode 100644 index 00000000..02171fb1 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/allocation_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81611e89ed54d9deb3fd03c648e6f58e45fca65410f1a846cd422d4b562d8a1d +size 2017 diff --git a/ThirdParty/include/boost/container/detail/allocator_version_traits.hpp b/ThirdParty/include/boost/container/detail/allocator_version_traits.hpp new file mode 100644 index 00000000..18d89edb --- /dev/null +++ b/ThirdParty/include/boost/container/detail/allocator_version_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c7b05ab60fa46ecdd75a29ba82721c5c044e2f2fc94006651f707043d71418b +size 5632 diff --git a/ThirdParty/include/boost/container/detail/auto_link.hpp b/ThirdParty/include/boost/container/detail/auto_link.hpp new file mode 100644 index 00000000..162ad59f --- /dev/null +++ b/ThirdParty/include/boost/container/detail/auto_link.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e711211ac22c58b18ccd0dac1f8b6c21556f86e3009d4611e6bded25f45ee7d +size 1657 diff --git a/ThirdParty/include/boost/container/detail/block_list.hpp b/ThirdParty/include/boost/container/detail/block_list.hpp new file mode 100644 index 00000000..97db1437 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/block_list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98ced842d2e57aaa2de002ab8de4cab28718aff2073a943435e43b525a64727a +size 4122 diff --git a/ThirdParty/include/boost/container/detail/block_slist.hpp b/ThirdParty/include/boost/container/detail/block_slist.hpp new file mode 100644 index 00000000..1c1e676a --- /dev/null +++ b/ThirdParty/include/boost/container/detail/block_slist.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c5269d48993dc4adda3918c359ab9d0582b63318976f2ece7d39676e2c0dc9e +size 4426 diff --git a/ThirdParty/include/boost/container/detail/compare_functors.hpp b/ThirdParty/include/boost/container/detail/compare_functors.hpp new file mode 100644 index 00000000..d0fc330b --- /dev/null +++ b/ThirdParty/include/boost/container/detail/compare_functors.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85c4cb4b05632f26006d2636f3b458eacbb9035ad7be5a7f4dff931778a3079e +size 4013 diff --git a/ThirdParty/include/boost/container/detail/config_begin.hpp b/ThirdParty/include/boost/container/detail/config_begin.hpp new file mode 100644 index 00000000..879771dc --- /dev/null +++ b/ThirdParty/include/boost/container/detail/config_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74c930a9e23bf0ea690f43ec8a12b5c9f80109186beae33ad4951e52aa3ee342 +size 3637 diff --git a/ThirdParty/include/boost/container/detail/config_end.hpp b/ThirdParty/include/boost/container/detail/config_end.hpp new file mode 100644 index 00000000..7408b2b1 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/config_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f35bfe1070009b6dd95b4d76bd60399fc0ba4fcfd462709851499949b552c227 +size 480 diff --git a/ThirdParty/include/boost/container/detail/construct_in_place.hpp b/ThirdParty/include/boost/container/detail/construct_in_place.hpp new file mode 100644 index 00000000..82522ba3 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/construct_in_place.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ea864816752e399d90e5c9cb4e2c13fb6a11aa7178eb757455f29548e03edaf +size 2952 diff --git a/ThirdParty/include/boost/container/detail/container_or_allocator_rebind.hpp b/ThirdParty/include/boost/container/detail/container_or_allocator_rebind.hpp new file mode 100644 index 00000000..16c169cd --- /dev/null +++ b/ThirdParty/include/boost/container/detail/container_or_allocator_rebind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66997726c38ca95f813219bae7e424eb85511cb257a8cdbd3c6bd32528aeadaf +size 1619 diff --git a/ThirdParty/include/boost/container/detail/container_rebind.hpp b/ThirdParty/include/boost/container/detail/container_rebind.hpp new file mode 100644 index 00000000..7c0714c6 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/container_rebind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f83bbda90c8997cb1733dc098f06b999779a70895575394a3ca9501e6cd61ac +size 10824 diff --git a/ThirdParty/include/boost/container/detail/copy_move_algo.hpp b/ThirdParty/include/boost/container/detail/copy_move_algo.hpp new file mode 100644 index 00000000..9526559f --- /dev/null +++ b/ThirdParty/include/boost/container/detail/copy_move_algo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c98d1df5921f3da2eac74c77efcbcb6d2e012a8a4bc2c3b0779d5360b47c1e3a +size 38467 diff --git a/ThirdParty/include/boost/container/detail/destroyers.hpp b/ThirdParty/include/boost/container/detail/destroyers.hpp new file mode 100644 index 00000000..b712fb3a --- /dev/null +++ b/ThirdParty/include/boost/container/detail/destroyers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b11fae41fd6bb4f7704509d6773d5e0262ac00654564663fbb64a30e096f703 +size 9338 diff --git a/ThirdParty/include/boost/container/detail/dispatch_uses_allocator.hpp b/ThirdParty/include/boost/container/detail/dispatch_uses_allocator.hpp new file mode 100644 index 00000000..7a44b2e0 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/dispatch_uses_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14a9c0c060eee5ee84b2df807466e790196aa27d6703be91cfb28f6c7ca50511 +size 19485 diff --git a/ThirdParty/include/boost/container/detail/dlmalloc.hpp b/ThirdParty/include/boost/container/detail/dlmalloc.hpp new file mode 100644 index 00000000..80ce5dc9 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/dlmalloc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a808c9bf7add5c4505769d257180cb1b477805f53fa52bf066c6aecbc7569092 +size 3444 diff --git a/ThirdParty/include/boost/container/detail/flat_tree.hpp b/ThirdParty/include/boost/container/detail/flat_tree.hpp new file mode 100644 index 00000000..8bcb47f2 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/flat_tree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6672e0a6a94771f9a947aee6a326a17d380643b18beae44124195eec8649f26e +size 61462 diff --git a/ThirdParty/include/boost/container/detail/function_detector.hpp b/ThirdParty/include/boost/container/detail/function_detector.hpp new file mode 100644 index 00000000..6c640315 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/function_detector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c695281459d1ce9a54e8d6023733dbd1e87564cd18a3f7220452daf91c3017b +size 3558 diff --git a/ThirdParty/include/boost/container/detail/is_container.hpp b/ThirdParty/include/boost/container/detail/is_container.hpp new file mode 100644 index 00000000..d2b1ba1c --- /dev/null +++ b/ThirdParty/include/boost/container/detail/is_container.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a05957392014db9799a58c034d9883d14d553c0fc645ec961beb203b8b88127 +size 2132 diff --git a/ThirdParty/include/boost/container/detail/is_contiguous_container.hpp b/ThirdParty/include/boost/container/detail/is_contiguous_container.hpp new file mode 100644 index 00000000..fdd327a6 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/is_contiguous_container.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fba30670ef4a0028c5dfc13b7ba4ef96279190bec3df7e7eb2c2e7f904c26d04 +size 1712 diff --git a/ThirdParty/include/boost/container/detail/is_sorted.hpp b/ThirdParty/include/boost/container/detail/is_sorted.hpp new file mode 100644 index 00000000..f5803048 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/is_sorted.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78082cc7f00dc3b8ed73d601352b4f456c136532bc19f1e8af4190395a61daea +size 1465 diff --git a/ThirdParty/include/boost/container/detail/iterator.hpp b/ThirdParty/include/boost/container/detail/iterator.hpp new file mode 100644 index 00000000..280ec308 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae697e6b82b585d1fd6569ca744851e78504073f39ed3e9a952248150b22bde1 +size 2590 diff --git a/ThirdParty/include/boost/container/detail/iterator_to_raw_pointer.hpp b/ThirdParty/include/boost/container/detail/iterator_to_raw_pointer.hpp new file mode 100644 index 00000000..a29e8eb3 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/iterator_to_raw_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:758d0974971f187b130aa6ddea90c633932daa7d0ea3b1065988f37fb89611f7 +size 971 diff --git a/ThirdParty/include/boost/container/detail/iterators.hpp b/ThirdParty/include/boost/container/detail/iterators.hpp new file mode 100644 index 00000000..4e741b52 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/iterators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95c5fb1a97f0e6151c8040a87cbfc4956a47ed9fa846c91fd7040ce898da6bcc +size 26063 diff --git a/ThirdParty/include/boost/container/detail/math_functions.hpp b/ThirdParty/include/boost/container/detail/math_functions.hpp new file mode 100644 index 00000000..1b87904f --- /dev/null +++ b/ThirdParty/include/boost/container/detail/math_functions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d71c4698133616580d723198f54e1ba1c28680a557a857f4dc7f6d713c5b97a +size 3872 diff --git a/ThirdParty/include/boost/container/detail/min_max.hpp b/ThirdParty/include/boost/container/detail/min_max.hpp new file mode 100644 index 00000000..9ed8b1d5 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/min_max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46047136eeeba6892fb4d92ae362e2be20bd8b74e08abde37cc1602f5fbd5e6f +size 997 diff --git a/ThirdParty/include/boost/container/detail/minimal_char_traits_header.hpp b/ThirdParty/include/boost/container/detail/minimal_char_traits_header.hpp new file mode 100644 index 00000000..14e625a5 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/minimal_char_traits_header.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a34e6549640689dacfd8f82d945bf97eeb29a729a1c309bf6533f85b7efef9db +size 1057 diff --git a/ThirdParty/include/boost/container/detail/mpl.hpp b/ThirdParty/include/boost/container/detail/mpl.hpp new file mode 100644 index 00000000..87e6e87d --- /dev/null +++ b/ThirdParty/include/boost/container/detail/mpl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d5693b121b9473db400f9ff80707bd1a4d9e9ee791ea9b08e8e35d3810e2dc3 +size 3778 diff --git a/ThirdParty/include/boost/container/detail/multiallocation_chain.hpp b/ThirdParty/include/boost/container/detail/multiallocation_chain.hpp new file mode 100644 index 00000000..50e738fc --- /dev/null +++ b/ThirdParty/include/boost/container/detail/multiallocation_chain.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e97a150a94b8527c4a4b03e688f4f98d539c80b3f8eb6190b2d98d7860aeb438 +size 10317 diff --git a/ThirdParty/include/boost/container/detail/mutex.hpp b/ThirdParty/include/boost/container/detail/mutex.hpp new file mode 100644 index 00000000..0b9752b1 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:679965f26776637b748d894e0dc65b0128b74bb52fdcdb0c61bff10622a2b5d4 +size 8665 diff --git a/ThirdParty/include/boost/container/detail/next_capacity.hpp b/ThirdParty/include/boost/container/detail/next_capacity.hpp new file mode 100644 index 00000000..4c88ed09 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/next_capacity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4f30acc17dfe1c3002c330e6e4f3fe95502a170d835d3bde535d24a538581de +size 2140 diff --git a/ThirdParty/include/boost/container/detail/node_alloc_holder.hpp b/ThirdParty/include/boost/container/detail/node_alloc_holder.hpp new file mode 100644 index 00000000..4ee716ac --- /dev/null +++ b/ThirdParty/include/boost/container/detail/node_alloc_holder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db4ba31d3048d7abf5ee895cc3bb37d9219f36f79b541e217e15c08ca135038e +size 17651 diff --git a/ThirdParty/include/boost/container/detail/node_pool.hpp b/ThirdParty/include/boost/container/detail/node_pool.hpp new file mode 100644 index 00000000..ef831609 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/node_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e773146c9ecf45ec8c2fb7545ac48614b034e026505d736820acaf4653fc12fa +size 4808 diff --git a/ThirdParty/include/boost/container/detail/node_pool_impl.hpp b/ThirdParty/include/boost/container/detail/node_pool_impl.hpp new file mode 100644 index 00000000..b6e30154 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/node_pool_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dda6d7bcd7a4b0a9f57107bd1a6232b64a035597a48c3072837b66a0ebc82ee +size 13171 diff --git a/ThirdParty/include/boost/container/detail/pair.hpp b/ThirdParty/include/boost/container/detail/pair.hpp new file mode 100644 index 00000000..e801ac7d --- /dev/null +++ b/ThirdParty/include/boost/container/detail/pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07e6392d7dfaea04181f38720abc3615f3d5d6eba8f27cfa0fd7c68dac7ca243 +size 19046 diff --git a/ThirdParty/include/boost/container/detail/pair_key_mapped_of_value.hpp b/ThirdParty/include/boost/container/detail/pair_key_mapped_of_value.hpp new file mode 100644 index 00000000..285f8790 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/pair_key_mapped_of_value.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b48b142f084d7d3b1693f5d03a6e9bb4857ca178cc697e2b1fe06c38041a3b99 +size 1466 diff --git a/ThirdParty/include/boost/container/detail/placement_new.hpp b/ThirdParty/include/boost/container/detail/placement_new.hpp new file mode 100644 index 00000000..c7dd1147 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/placement_new.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:624e2da323c21b01142e31388403c071cf915950d91b59bc82167ab75b017735 +size 914 diff --git a/ThirdParty/include/boost/container/detail/pool_common.hpp b/ThirdParty/include/boost/container/detail/pool_common.hpp new file mode 100644 index 00000000..1afcbe30 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/pool_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d440b96963a29471b32fce299ea92240cc5e26bf534739a66bed15f92499d2c9 +size 1606 diff --git a/ThirdParty/include/boost/container/detail/pool_common_alloc.hpp b/ThirdParty/include/boost/container/detail/pool_common_alloc.hpp new file mode 100644 index 00000000..d21f4e65 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/pool_common_alloc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ad2d8210ddf586c70070242e02991540b8f3fc1acc25c825714a1b4066daa92 +size 2730 diff --git a/ThirdParty/include/boost/container/detail/pool_resource.hpp b/ThirdParty/include/boost/container/detail/pool_resource.hpp new file mode 100644 index 00000000..b0fdbd06 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/pool_resource.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f47ef05e5ea1eef48a77c54aac3e52a6eccfbf9ceff3b7569e90db3a13c67d13 +size 7744 diff --git a/ThirdParty/include/boost/container/detail/singleton.hpp b/ThirdParty/include/boost/container/detail/singleton.hpp new file mode 100644 index 00000000..981e6ed9 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/singleton.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3928673e1293f043baa56dac6c38cf7e0bed2f7df6873483c83824aab97ff1af +size 4465 diff --git a/ThirdParty/include/boost/container/detail/std_fwd.hpp b/ThirdParty/include/boost/container/detail/std_fwd.hpp new file mode 100644 index 00000000..7d309b1e --- /dev/null +++ b/ThirdParty/include/boost/container/detail/std_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6d541b8c82a29fbcecfeb4b54be889570f2c71f02341bf4b8eb1d64b52f6129 +size 1450 diff --git a/ThirdParty/include/boost/container/detail/thread_mutex.hpp b/ThirdParty/include/boost/container/detail/thread_mutex.hpp new file mode 100644 index 00000000..dfba9909 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/thread_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e43787e0469c55afe74bed268a252e36b2cd5989c4921cd079ec5559d1fd3c52 +size 4440 diff --git a/ThirdParty/include/boost/container/detail/transform_iterator.hpp b/ThirdParty/include/boost/container/detail/transform_iterator.hpp new file mode 100644 index 00000000..5ce7fe8f --- /dev/null +++ b/ThirdParty/include/boost/container/detail/transform_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c2a3a41bfaa0db0d95cfb75482cdd74784d5dd0beb658b3c84476b525b428cf +size 5103 diff --git a/ThirdParty/include/boost/container/detail/tree.hpp b/ThirdParty/include/boost/container/detail/tree.hpp new file mode 100644 index 00000000..a589a065 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/tree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff65d82e5390e8e3e9f10cbcec5845e8fe4be9d28ac075f1f0ef70a5520e04a4 +size 55865 diff --git a/ThirdParty/include/boost/container/detail/type_traits.hpp b/ThirdParty/include/boost/container/detail/type_traits.hpp new file mode 100644 index 00000000..864d566a --- /dev/null +++ b/ThirdParty/include/boost/container/detail/type_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cb5197331c9251167b68db1432d84ba52cfae40b2e5b623c0ecac5c42a67bb7 +size 2714 diff --git a/ThirdParty/include/boost/container/detail/value_functors.hpp b/ThirdParty/include/boost/container/detail/value_functors.hpp new file mode 100644 index 00000000..2ae16f68 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/value_functors.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae0b73aa647084c393425f9f6680887e6b646edad42aac89f7b744023fe85e0 +size 1026 diff --git a/ThirdParty/include/boost/container/detail/value_init.hpp b/ThirdParty/include/boost/container/detail/value_init.hpp new file mode 100644 index 00000000..06645741 --- /dev/null +++ b/ThirdParty/include/boost/container/detail/value_init.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69f9bd16f6ec8e0b9709d5cda5c81fc46452603e6c678dd538e6c0fbc43d5baa +size 1135 diff --git a/ThirdParty/include/boost/container/detail/variadic_templates_tools.hpp b/ThirdParty/include/boost/container/detail/variadic_templates_tools.hpp new file mode 100644 index 00000000..093002cd --- /dev/null +++ b/ThirdParty/include/boost/container/detail/variadic_templates_tools.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30189e4df53bc5ff1dcb896b27c1e9afa19494d5097d40dceddfffcb9572c9d8 +size 4959 diff --git a/ThirdParty/include/boost/container/detail/version_type.hpp b/ThirdParty/include/boost/container/detail/version_type.hpp new file mode 100644 index 00000000..1a7cca1b --- /dev/null +++ b/ThirdParty/include/boost/container/detail/version_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d791962ad165a84a0f118cbcdf1f40ebc707ae50e4e4f03b9dee1f1c7ff74bc +size 2650 diff --git a/ThirdParty/include/boost/container/detail/workaround.hpp b/ThirdParty/include/boost/container/detail/workaround.hpp new file mode 100644 index 00000000..bc5ad39a --- /dev/null +++ b/ThirdParty/include/boost/container/detail/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c96dc9894a16f739a88345b5264a705c753e5c2e407befb1a2be2e580f0c781a +size 4360 diff --git a/ThirdParty/include/boost/container/flat_map.hpp b/ThirdParty/include/boost/container/flat_map.hpp new file mode 100644 index 00000000..abfd02af --- /dev/null +++ b/ThirdParty/include/boost/container/flat_map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9aaf36bca6fdf621d5fea4eb88f85fbbc8d7daae19484e809504e458ccec06c6 +size 135185 diff --git a/ThirdParty/include/boost/container/flat_set.hpp b/ThirdParty/include/boost/container/flat_set.hpp new file mode 100644 index 00000000..6e7db73f --- /dev/null +++ b/ThirdParty/include/boost/container/flat_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7c50d7443926c10f583f8d96af9d70352aa3fb33d676e0061dd1b889b2075a8 +size 84437 diff --git a/ThirdParty/include/boost/container/list.hpp b/ThirdParty/include/boost/container/list.hpp new file mode 100644 index 00000000..c33cc5db --- /dev/null +++ b/ThirdParty/include/boost/container/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2932e201900557ee62074169eb67151b10ec074dcc2573c5ccc7c977e94a6b2b +size 57410 diff --git a/ThirdParty/include/boost/container/map.hpp b/ThirdParty/include/boost/container/map.hpp new file mode 100644 index 00000000..675dfc54 --- /dev/null +++ b/ThirdParty/include/boost/container/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:babba37700734440739685c6a5674b25493a228954f0bf9a80851c8b234925d6 +size 103614 diff --git a/ThirdParty/include/boost/container/new_allocator.hpp b/ThirdParty/include/boost/container/new_allocator.hpp new file mode 100644 index 00000000..d23c13e2 --- /dev/null +++ b/ThirdParty/include/boost/container/new_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c51ea38764fdd8e1c9b2e9950b02262489c1c65efeec27c7a7ebeb3054212f2 +size 5779 diff --git a/ThirdParty/include/boost/container/node_allocator.hpp b/ThirdParty/include/boost/container/node_allocator.hpp new file mode 100644 index 00000000..90244c75 --- /dev/null +++ b/ThirdParty/include/boost/container/node_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0559380f399711515d9b6a9562b181c50f13a9c8cb759564eb8df239ab8e1948 +size 12485 diff --git a/ThirdParty/include/boost/container/node_handle.hpp b/ThirdParty/include/boost/container/node_handle.hpp new file mode 100644 index 00000000..1c6d04c2 --- /dev/null +++ b/ThirdParty/include/boost/container/node_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b0e33149324e8fd37dcc7dd67e025f56347bfce0adcc710a8873eabf38e55e4 +size 15448 diff --git a/ThirdParty/include/boost/container/options.hpp b/ThirdParty/include/boost/container/options.hpp new file mode 100644 index 00000000..6c923b5e --- /dev/null +++ b/ThirdParty/include/boost/container/options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:959fe941344d0895d4f971b212de5f7f84350ee97483ddd72d2e5cb4788e3e6d +size 9054 diff --git a/ThirdParty/include/boost/container/pmr/deque.hpp b/ThirdParty/include/boost/container/pmr/deque.hpp new file mode 100644 index 00000000..12eb6b2c --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c84b9bd31b180b49b59797f79cf27ab3e241596316fca3ce4c7fd1be49cead71 +size 1160 diff --git a/ThirdParty/include/boost/container/pmr/flat_map.hpp b/ThirdParty/include/boost/container/pmr/flat_map.hpp new file mode 100644 index 00000000..9df3443f --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/flat_map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e151eb16824c8cb7337b06f8d69e8fd57759913b2e87662b595cbf8fae8ace +size 1883 diff --git a/ThirdParty/include/boost/container/pmr/flat_set.hpp b/ThirdParty/include/boost/container/pmr/flat_set.hpp new file mode 100644 index 00000000..ed530961 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/flat_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e5545422237dc7908dabf6d8a6567cc4ee2f6e1c601275fc6d2ae872837f021 +size 1719 diff --git a/ThirdParty/include/boost/container/pmr/global_resource.hpp b/ThirdParty/include/boost/container/pmr/global_resource.hpp new file mode 100644 index 00000000..99bc5dcf --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/global_resource.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:572cc0465577b9c726cf983bdf1dd50206b8b4a86ddf9837b5725a7cfeb8f723 +size 2733 diff --git a/ThirdParty/include/boost/container/pmr/list.hpp b/ThirdParty/include/boost/container/pmr/list.hpp new file mode 100644 index 00000000..b0a0e7d2 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b517bf3972e964569806a899f41dca6314049369f4decbd4b1dd700ea3aa3f21 +size 1153 diff --git a/ThirdParty/include/boost/container/pmr/map.hpp b/ThirdParty/include/boost/container/pmr/map.hpp new file mode 100644 index 00000000..9832cf78 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:617314d31645256f4274ae8d4f927858e2658faea6c4c86000c80262b4a0b3af +size 1992 diff --git a/ThirdParty/include/boost/container/pmr/memory_resource.hpp b/ThirdParty/include/boost/container/pmr/memory_resource.hpp new file mode 100644 index 00000000..a1760fe6 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/memory_resource.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03465f4d5cb6e2f4e078ac5f8454887d1655a1f3d813353d241e23dacf9b578a +size 4047 diff --git a/ThirdParty/include/boost/container/pmr/monotonic_buffer_resource.hpp b/ThirdParty/include/boost/container/pmr/monotonic_buffer_resource.hpp new file mode 100644 index 00000000..5dd3ad27 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/monotonic_buffer_resource.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:209fdb451925db3c21838ec6f1ead15aca3b675cb6bbe325fb9aacec8d9e25be +size 8172 diff --git a/ThirdParty/include/boost/container/pmr/polymorphic_allocator.hpp b/ThirdParty/include/boost/container/pmr/polymorphic_allocator.hpp new file mode 100644 index 00000000..ea3329a0 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/polymorphic_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a68512287b0d237d5f07de05f9dfbe384cfec41e38fa1a41fa0b1717d81ebe +size 6189 diff --git a/ThirdParty/include/boost/container/pmr/pool_options.hpp b/ThirdParty/include/boost/container/pmr/pool_options.hpp new file mode 100644 index 00000000..22b74c97 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/pool_options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8525dcffff4f7a89745453eb6252d807b37b21bfb8919e62e5be3263a18ff9c +size 2083 diff --git a/ThirdParty/include/boost/container/pmr/resource_adaptor.hpp b/ThirdParty/include/boost/container/pmr/resource_adaptor.hpp new file mode 100644 index 00000000..f3d6012a --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/resource_adaptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e44d4d6acf7ebc7de0d2a4ca1266fedb279dbd6b0aaea5cc34e5fdf533c6b393 +size 7106 diff --git a/ThirdParty/include/boost/container/pmr/set.hpp b/ThirdParty/include/boost/container/pmr/set.hpp new file mode 100644 index 00000000..724c0f4c --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e48645929e7b95e859822f002841acecbbb9613b75524a6f8356d4adc57272fe +size 1820 diff --git a/ThirdParty/include/boost/container/pmr/slist.hpp b/ThirdParty/include/boost/container/pmr/slist.hpp new file mode 100644 index 00000000..8892420b --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/slist.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82ed1aeafbb1a55dd1f106877f63dcbc01d404c759b7ec009c21b69dc0bec219 +size 1161 diff --git a/ThirdParty/include/boost/container/pmr/small_vector.hpp b/ThirdParty/include/boost/container/pmr/small_vector.hpp new file mode 100644 index 00000000..3a8544a4 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/small_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a50c69e5a22c8767ccf005e6826249ebdb80b05d20f18ec8e2a6ce9722ebd56e +size 1259 diff --git a/ThirdParty/include/boost/container/pmr/stable_vector.hpp b/ThirdParty/include/boost/container/pmr/stable_vector.hpp new file mode 100644 index 00000000..e77fa6a9 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/stable_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35304a610c0a425c275923ba8cf2f453590e5f2abc89a909f7dc2807676d011 +size 1232 diff --git a/ThirdParty/include/boost/container/pmr/string.hpp b/ThirdParty/include/boost/container/pmr/string.hpp new file mode 100644 index 00000000..c020bb50 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/string.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:653a19c4302f866bc3d9f53d203000777b42b633ace6d071253eadad13bb9ce4 +size 1423 diff --git a/ThirdParty/include/boost/container/pmr/synchronized_pool_resource.hpp b/ThirdParty/include/boost/container/pmr/synchronized_pool_resource.hpp new file mode 100644 index 00000000..29cc8942 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/synchronized_pool_resource.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c3260484b730afcdfb042679570afcb7a0398e2f5647a1d2d6e62ff37bc64d0 +size 6111 diff --git a/ThirdParty/include/boost/container/pmr/unsynchronized_pool_resource.hpp b/ThirdParty/include/boost/container/pmr/unsynchronized_pool_resource.hpp new file mode 100644 index 00000000..84c26010 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/unsynchronized_pool_resource.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:188429bdca7e6224e2297d4c322bd8aacefbd78789e64eac5eb642f27894ca42 +size 8568 diff --git a/ThirdParty/include/boost/container/pmr/vector.hpp b/ThirdParty/include/boost/container/pmr/vector.hpp new file mode 100644 index 00000000..56e42f02 --- /dev/null +++ b/ThirdParty/include/boost/container/pmr/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:331eb4eb5266c349bd8feab278634abf367c6c763ea015ceefd965b951d38516 +size 1169 diff --git a/ThirdParty/include/boost/container/scoped_allocator.hpp b/ThirdParty/include/boost/container/scoped_allocator.hpp new file mode 100644 index 00000000..4670bb1c --- /dev/null +++ b/ThirdParty/include/boost/container/scoped_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:196dfa0350e2fbf576462f15749c88e973f1aa72c8b3f643982bb0c2fb40b6dd +size 37015 diff --git a/ThirdParty/include/boost/container/scoped_allocator_fwd.hpp b/ThirdParty/include/boost/container/scoped_allocator_fwd.hpp new file mode 100644 index 00000000..57d6f368 --- /dev/null +++ b/ThirdParty/include/boost/container/scoped_allocator_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f05c469dbff10c113be2986dcb448cd857a8f0bcb6d5b3ae9ccd46a0aa76d242 +size 2164 diff --git a/ThirdParty/include/boost/container/set.hpp b/ThirdParty/include/boost/container/set.hpp new file mode 100644 index 00000000..5b8f20b8 --- /dev/null +++ b/ThirdParty/include/boost/container/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42743033f4cd7c3050c60db083fc83cc3769bf736706be7254085cf93c62b048 +size 71786 diff --git a/ThirdParty/include/boost/container/slist.hpp b/ThirdParty/include/boost/container/slist.hpp new file mode 100644 index 00000000..59a59d49 --- /dev/null +++ b/ThirdParty/include/boost/container/slist.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7af48ec021a5d2114edf79faa803768c87ef54c31e4cc23639f70cce0a1eaab +size 68707 diff --git a/ThirdParty/include/boost/container/small_vector.hpp b/ThirdParty/include/boost/container/small_vector.hpp new file mode 100644 index 00000000..480f2c51 --- /dev/null +++ b/ThirdParty/include/boost/container/small_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:162eb86c7b91da734287e06cfaf27c76616345719ef868ccba0409e9a5bdd49c +size 29769 diff --git a/ThirdParty/include/boost/container/stable_vector.hpp b/ThirdParty/include/boost/container/stable_vector.hpp new file mode 100644 index 00000000..27d7cb29 --- /dev/null +++ b/ThirdParty/include/boost/container/stable_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a7238bdd6e6bbfd4a94fce4f138e48d0ddef577eaaafc4ff69116a72be324db +size 81300 diff --git a/ThirdParty/include/boost/container/static_vector.hpp b/ThirdParty/include/boost/container/static_vector.hpp new file mode 100644 index 00000000..b4793f2a --- /dev/null +++ b/ThirdParty/include/boost/container/static_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:572abb6546da20d732a528a81312b8452b9ef0b09986e79981e85460fb1aef07 +size 41483 diff --git a/ThirdParty/include/boost/container/string.hpp b/ThirdParty/include/boost/container/string.hpp new file mode 100644 index 00000000..7eb15add --- /dev/null +++ b/ThirdParty/include/boost/container/string.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b35c46542bb1d7a36ddac6840dec5f9df242b451719973cca86353c76f3a50ce +size 128107 diff --git a/ThirdParty/include/boost/container/throw_exception.hpp b/ThirdParty/include/boost/container/throw_exception.hpp new file mode 100644 index 00000000..9488d6aa --- /dev/null +++ b/ThirdParty/include/boost/container/throw_exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:765da2d552f6ee07b49687b523d6f9e0823cbd68cd8b68d84274ca8983fb468e +size 6617 diff --git a/ThirdParty/include/boost/container/uses_allocator.hpp b/ThirdParty/include/boost/container/uses_allocator.hpp new file mode 100644 index 00000000..9e694b1f --- /dev/null +++ b/ThirdParty/include/boost/container/uses_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74301a9e236dcced388e0dafae3cd8b73841e1fa8270b1ceb6dbfc2472ebaac4 +size 7514 diff --git a/ThirdParty/include/boost/container/uses_allocator_fwd.hpp b/ThirdParty/include/boost/container/uses_allocator_fwd.hpp new file mode 100644 index 00000000..604ea418 --- /dev/null +++ b/ThirdParty/include/boost/container/uses_allocator_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e10f25e2777a0d866180e6a2d97add1f976ddb1e4e2e7c67be04ac34c90fb013 +size 2540 diff --git a/ThirdParty/include/boost/container/vector.hpp b/ThirdParty/include/boost/container/vector.hpp new file mode 100644 index 00000000..93db6817 --- /dev/null +++ b/ThirdParty/include/boost/container/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a9a7b829da31de7602533d5416e0409f3f256629b4cf8c0b0599cf5ca08d527 +size 138814 diff --git a/ThirdParty/include/boost/container_hash/detail/float_functions.hpp b/ThirdParty/include/boost/container_hash/detail/float_functions.hpp new file mode 100644 index 00000000..87b20fcd --- /dev/null +++ b/ThirdParty/include/boost/container_hash/detail/float_functions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f198d979b179803048865a8dfb14d02abf327cfdf65e6897af2a04132fffca +size 13683 diff --git a/ThirdParty/include/boost/container_hash/detail/hash_float.hpp b/ThirdParty/include/boost/container_hash/detail/hash_float.hpp new file mode 100644 index 00000000..4f054e8d --- /dev/null +++ b/ThirdParty/include/boost/container_hash/detail/hash_float.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2f8606b8f1c8efcb339291f5a52431e861c7d825a08d978f5f623b7aed0aec2 +size 8079 diff --git a/ThirdParty/include/boost/container_hash/detail/limits.hpp b/ThirdParty/include/boost/container_hash/detail/limits.hpp new file mode 100644 index 00000000..41ad1fee --- /dev/null +++ b/ThirdParty/include/boost/container_hash/detail/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b863c3d936d76bfa33c45ba20a781285fbad604c6279ac858946e53e6db737e8 +size 1691 diff --git a/ThirdParty/include/boost/container_hash/extensions.hpp b/ThirdParty/include/boost/container_hash/extensions.hpp new file mode 100644 index 00000000..fa519e7c --- /dev/null +++ b/ThirdParty/include/boost/container_hash/extensions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2659b8b59d8ceec444374e4c74c5720165354dac66ad34f8f0a39db2ef4a5ba8 +size 11603 diff --git a/ThirdParty/include/boost/container_hash/hash.hpp b/ThirdParty/include/boost/container_hash/hash.hpp new file mode 100644 index 00000000..3222be69 --- /dev/null +++ b/ThirdParty/include/boost/container_hash/hash.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a7581bb65dacb7ff8373b4be785db9c32fae48471acf2e97b76669848449946 +size 22224 diff --git a/ThirdParty/include/boost/container_hash/hash_fwd.hpp b/ThirdParty/include/boost/container_hash/hash_fwd.hpp new file mode 100644 index 00000000..4af50080 --- /dev/null +++ b/ThirdParty/include/boost/container_hash/hash_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93bcc6f92f328d5a55c7a351cacdd0f0a6ccd4eb98ebd9c2d1e1ab3fbac2b36d +size 971 diff --git a/ThirdParty/include/boost/core/addressof.hpp b/ThirdParty/include/boost/core/addressof.hpp new file mode 100644 index 00000000..f32aaf30 --- /dev/null +++ b/ThirdParty/include/boost/core/addressof.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643323576b2aa61127f9aff6c01542975d997cfac46c2a97e9d3f4954853b83b +size 6149 diff --git a/ThirdParty/include/boost/core/checked_delete.hpp b/ThirdParty/include/boost/core/checked_delete.hpp new file mode 100644 index 00000000..c1f78aa5 --- /dev/null +++ b/ThirdParty/include/boost/core/checked_delete.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e25321ad09aa981c0b0732158aef56702508d779b4c96a72397d970e6fc1d6f +size 1588 diff --git a/ThirdParty/include/boost/core/demangle.hpp b/ThirdParty/include/boost/core/demangle.hpp new file mode 100644 index 00000000..e2a6fd64 --- /dev/null +++ b/ThirdParty/include/boost/core/demangle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:310bfea5659a54a79f0421132b5d7fcf5e79f846788775e64beae700c01f5413 +size 3034 diff --git a/ThirdParty/include/boost/core/empty_value.hpp b/ThirdParty/include/boost/core/empty_value.hpp new file mode 100644 index 00000000..32106b50 --- /dev/null +++ b/ThirdParty/include/boost/core/empty_value.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:482d4e37868c9b3fa4b95fdef7a0689dab3841d43f3c1cb5b683265d7349d72b +size 2997 diff --git a/ThirdParty/include/boost/core/enable_if.hpp b/ThirdParty/include/boost/core/enable_if.hpp new file mode 100644 index 00000000..1d8cc077 --- /dev/null +++ b/ThirdParty/include/boost/core/enable_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4aefa20fb7a5d673ee4023e693ca74738dd84ffd5a4c248ddc06c1df812229e +size 3315 diff --git a/ThirdParty/include/boost/core/exchange.hpp b/ThirdParty/include/boost/core/exchange.hpp new file mode 100644 index 00000000..77c67e3e --- /dev/null +++ b/ThirdParty/include/boost/core/exchange.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:010dbad20301588498082a5d26121cf7f53c51f948f92fa9097e17319d520b28 +size 911 diff --git a/ThirdParty/include/boost/core/explicit_operator_bool.hpp b/ThirdParty/include/boost/core/explicit_operator_bool.hpp new file mode 100644 index 00000000..7affa3ea --- /dev/null +++ b/ThirdParty/include/boost/core/explicit_operator_bool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4328e10b18731c5a01feb82e692d6e3d61418d37958cd6ef66c55e1676070c3f +size 5354 diff --git a/ThirdParty/include/boost/core/ignore_unused.hpp b/ThirdParty/include/boost/core/ignore_unused.hpp new file mode 100644 index 00000000..3680e6e7 --- /dev/null +++ b/ThirdParty/include/boost/core/ignore_unused.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:091ae9d42706a5ba1cafd9546f080927a5e6b8dc3dc7c10f26410525708a342e +size 1976 diff --git a/ThirdParty/include/boost/core/is_same.hpp b/ThirdParty/include/boost/core/is_same.hpp new file mode 100644 index 00000000..225d4647 --- /dev/null +++ b/ThirdParty/include/boost/core/is_same.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:686586c5a596d4819c71fc970dfd4400f21cc55909743ca1e0f58d43fc87869b +size 793 diff --git a/ThirdParty/include/boost/core/lightweight_test.hpp b/ThirdParty/include/boost/core/lightweight_test.hpp new file mode 100644 index 00000000..e26e48ec --- /dev/null +++ b/ThirdParty/include/boost/core/lightweight_test.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e714a355defe1fe684f9b63ed20a5f82ca82a79b045c7e5902275c6839f3ef +size 15544 diff --git a/ThirdParty/include/boost/core/lightweight_test_trait.hpp b/ThirdParty/include/boost/core/lightweight_test_trait.hpp new file mode 100644 index 00000000..e71e5e44 --- /dev/null +++ b/ThirdParty/include/boost/core/lightweight_test_trait.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:960cce021dc6403dac6c19a8aabe0a62af951a4848d4da0640acffbce929be26 +size 1613 diff --git a/ThirdParty/include/boost/core/no_exceptions_support.hpp b/ThirdParty/include/boost/core/no_exceptions_support.hpp new file mode 100644 index 00000000..b28de20b --- /dev/null +++ b/ThirdParty/include/boost/core/no_exceptions_support.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b612e534d0b9405c3c7d206eb10282557590a8c6e289f508bd7fbff58eb123f +size 1390 diff --git a/ThirdParty/include/boost/core/noncopyable.hpp b/ThirdParty/include/boost/core/noncopyable.hpp new file mode 100644 index 00000000..bb55b815 --- /dev/null +++ b/ThirdParty/include/boost/core/noncopyable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37177e9d1a542014397f53f01495f00937c502cf5f8454db1d035c4021cab20e +size 1911 diff --git a/ThirdParty/include/boost/core/null_deleter.hpp b/ThirdParty/include/boost/core/null_deleter.hpp new file mode 100644 index 00000000..c1962161 --- /dev/null +++ b/ThirdParty/include/boost/core/null_deleter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29ba0a5afd6f04d18edbb97c5cc72cb5d8b06f4901862774552a335a9a64c818 +size 1232 diff --git a/ThirdParty/include/boost/core/pointer_traits.hpp b/ThirdParty/include/boost/core/pointer_traits.hpp new file mode 100644 index 00000000..79478452 --- /dev/null +++ b/ThirdParty/include/boost/core/pointer_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b043faee0d6d221cedb9bbd7cf229ba94a205147d4af21877b3b5da715514225 +size 5053 diff --git a/ThirdParty/include/boost/core/quick_exit.hpp b/ThirdParty/include/boost/core/quick_exit.hpp new file mode 100644 index 00000000..acb89a2c --- /dev/null +++ b/ThirdParty/include/boost/core/quick_exit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0de8f085851cc50221306337dd5b2be3ce20cc5817274bde84c92c40a9a76dd3 +size 1097 diff --git a/ThirdParty/include/boost/core/ref.hpp b/ThirdParty/include/boost/core/ref.hpp new file mode 100644 index 00000000..935919f8 --- /dev/null +++ b/ThirdParty/include/boost/core/ref.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34d9a961c758fbd24b0ce724ecc3d520dfd8e35c1eb2877a3e679224b6c503e1 +size 5972 diff --git a/ThirdParty/include/boost/core/scoped_enum.hpp b/ThirdParty/include/boost/core/scoped_enum.hpp new file mode 100644 index 00000000..8cbb2de3 --- /dev/null +++ b/ThirdParty/include/boost/core/scoped_enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c923e0d3cfa3d28f7269c636cd7866cb54c6c8787757bbdfb72ac207e49d9b61 +size 7880 diff --git a/ThirdParty/include/boost/core/swap.hpp b/ThirdParty/include/boost/core/swap.hpp new file mode 100644 index 00000000..ab3cc35f --- /dev/null +++ b/ThirdParty/include/boost/core/swap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e46d8300864b19397cfad6b4b988c840825659130996488102a5a75be2bf4244 +size 2044 diff --git a/ThirdParty/include/boost/core/typeinfo.hpp b/ThirdParty/include/boost/core/typeinfo.hpp new file mode 100644 index 00000000..a93c897b --- /dev/null +++ b/ThirdParty/include/boost/core/typeinfo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b197390b6e5fa52c32ccced47f0132c67d5e6d7b27e4132a770f2f262af37f12 +size 3099 diff --git a/ThirdParty/include/boost/core/underlying_type.hpp b/ThirdParty/include/boost/core/underlying_type.hpp new file mode 100644 index 00000000..53874e68 --- /dev/null +++ b/ThirdParty/include/boost/core/underlying_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47a7e72f96110bb7e961f1979ed9032c641fe26553775d7bf60205f89e1f1c25 +size 2205 diff --git a/ThirdParty/include/boost/cstdint.hpp b/ThirdParty/include/boost/cstdint.hpp new file mode 100644 index 00000000..b89cdabd --- /dev/null +++ b/ThirdParty/include/boost/cstdint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85d2640e28b15a56508f65b9406e64e7042265cc9a55f20bd341b5d657d60185 +size 18473 diff --git a/ThirdParty/include/boost/current_function.hpp b/ThirdParty/include/boost/current_function.hpp new file mode 100644 index 00000000..ab20b4cc --- /dev/null +++ b/ThirdParty/include/boost/current_function.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3289f8a267ae81c452b9dda40391ea0778c027771eaa90b7af2284e8e3a7a17e +size 1701 diff --git a/ThirdParty/include/boost/date_time.hpp b/ThirdParty/include/boost/date_time.hpp new file mode 100644 index 00000000..78e505a0 --- /dev/null +++ b/ThirdParty/include/boost/date_time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5973bcb349ac07a42d883201b177bb7da778157f11982d4e706b2b6c29f435b8 +size 540 diff --git a/ThirdParty/include/boost/date_time/adjust_functors.hpp b/ThirdParty/include/boost/date_time/adjust_functors.hpp new file mode 100644 index 00000000..d53a8190 --- /dev/null +++ b/ThirdParty/include/boost/date_time/adjust_functors.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31851a1c7ed0a952cbeec86b45bd8ec0ae37c4b1090b99b001c4fca9ef73ea64 +size 5467 diff --git a/ThirdParty/include/boost/date_time/c_local_time_adjustor.hpp b/ThirdParty/include/boost/date_time/c_local_time_adjustor.hpp new file mode 100644 index 00000000..25838d6a --- /dev/null +++ b/ThirdParty/include/boost/date_time/c_local_time_adjustor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:258565a0a5e4bc5e912eb9e89f26c68973fb152cc08eca965a2aee4bbe7d81cb +size 2631 diff --git a/ThirdParty/include/boost/date_time/c_time.hpp b/ThirdParty/include/boost/date_time/c_time.hpp new file mode 100644 index 00000000..63c8f5e5 --- /dev/null +++ b/ThirdParty/include/boost/date_time/c_time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f9615c5283919867707c997c2de710c6f94eb00fb6230a461f85c879bbb5a9a +size 4288 diff --git a/ThirdParty/include/boost/date_time/compiler_config.hpp b/ThirdParty/include/boost/date_time/compiler_config.hpp new file mode 100644 index 00000000..af490bb1 --- /dev/null +++ b/ThirdParty/include/boost/date_time/compiler_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21410b1960858ac3c7fbcb7c4ef11583ec6a95a822fe70ff98acb8dd268767db +size 6327 diff --git a/ThirdParty/include/boost/date_time/constrained_value.hpp b/ThirdParty/include/boost/date_time/constrained_value.hpp new file mode 100644 index 00000000..a02e31ca --- /dev/null +++ b/ThirdParty/include/boost/date_time/constrained_value.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46d1a0955478a2790397f603fb72a785692ee8f6e866b4deb0ff8018395a6c3a +size 4025 diff --git a/ThirdParty/include/boost/date_time/date.hpp b/ThirdParty/include/boost/date_time/date.hpp new file mode 100644 index 00000000..7fb75507 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c2ad7a595250e588dae3b8edef727684f57a13c3cb6c09318589ca71327d87 +size 6905 diff --git a/ThirdParty/include/boost/date_time/date_clock_device.hpp b/ThirdParty/include/boost/date_time/date_clock_device.hpp new file mode 100644 index 00000000..f6efa3ed --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_clock_device.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13d55167b7b349282fa5ff8950a8f659a2f124d0dbe457b3984572e824e2cd6a +size 2299 diff --git a/ThirdParty/include/boost/date_time/date_defs.hpp b/ThirdParty/include/boost/date_time/date_defs.hpp new file mode 100644 index 00000000..c6b13936 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_defs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6e32066c662aaf8c9fe93b908676b2b75c6b4daaed6898be5824739283a5259 +size 701 diff --git a/ThirdParty/include/boost/date_time/date_duration.hpp b/ThirdParty/include/boost/date_time/date_duration.hpp new file mode 100644 index 00000000..a5748e3b --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_duration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c20b51691d1e18bee689b456d1454008319f227b9c31d424d602608dc88bacb9 +size 4510 diff --git a/ThirdParty/include/boost/date_time/date_duration_types.hpp b/ThirdParty/include/boost/date_time/date_duration_types.hpp new file mode 100644 index 00000000..d581089e --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_duration_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abc44f224030c5e2028ea034e66290f4250e6821d63a86f263ab755a950a0bc8 +size 8243 diff --git a/ThirdParty/include/boost/date_time/date_facet.hpp b/ThirdParty/include/boost/date_time/date_facet.hpp new file mode 100644 index 00000000..bd75eca8 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_facet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae3b4688b9285dd19365d7273705978ebaf59cad555fc25b38af111c79b80dbb +size 29307 diff --git a/ThirdParty/include/boost/date_time/date_format_simple.hpp b/ThirdParty/include/boost/date_time/date_format_simple.hpp new file mode 100644 index 00000000..9b351d7d --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_format_simple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54f2045755444bf66d9b790724ac3bc1bc4eeb3de842695ad95013283cb1c4b0 +size 3128 diff --git a/ThirdParty/include/boost/date_time/date_formatting.hpp b/ThirdParty/include/boost/date_time/date_formatting.hpp new file mode 100644 index 00000000..df61a7a1 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_formatting.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e2399a826f825bcfb0645c551cd3daff201d0ccf63df3311f03712344b3c42 +size 4208 diff --git a/ThirdParty/include/boost/date_time/date_formatting_limited.hpp b/ThirdParty/include/boost/date_time/date_formatting_limited.hpp new file mode 100644 index 00000000..40192288 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_formatting_limited.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8456598970a28a1e9c665f778052a76493e46e1a5384393afb788bbeb9535cd0 +size 3461 diff --git a/ThirdParty/include/boost/date_time/date_formatting_locales.hpp b/ThirdParty/include/boost/date_time/date_formatting_locales.hpp new file mode 100644 index 00000000..6d97fe76 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_formatting_locales.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64a572ef7978032622d869d6055016061a88b9379a37aaf5197d403f0cbd908e +size 6748 diff --git a/ThirdParty/include/boost/date_time/date_generator_formatter.hpp b/ThirdParty/include/boost/date_time/date_generator_formatter.hpp new file mode 100644 index 00000000..073c4da3 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_generator_formatter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58ee6e9b80bf6f6d1f86e3e07061c1d363af4d7e9e3e39e47889338d10dfd4b9 +size 11715 diff --git a/ThirdParty/include/boost/date_time/date_generator_parser.hpp b/ThirdParty/include/boost/date_time/date_generator_parser.hpp new file mode 100644 index 00000000..9a0f4f6e --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_generator_parser.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ed55fd956de6e6dd362bee41ce5b21fc3e8326631ae017287aaec6f62c738e2 +size 13064 diff --git a/ThirdParty/include/boost/date_time/date_generators.hpp b/ThirdParty/include/boost/date_time/date_generators.hpp new file mode 100644 index 00000000..241b5484 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_generators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a054891f0881965708c9f3f565d476ce2cf834db5a0854eb9ac5031f5fae4183 +size 16156 diff --git a/ThirdParty/include/boost/date_time/date_iterator.hpp b/ThirdParty/include/boost/date_time/date_iterator.hpp new file mode 100644 index 00000000..fdac4ea4 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e169e910a7d5f2c5ad23a85b04db17136a701071ed56dbbff9544b0c3275492 +size 3305 diff --git a/ThirdParty/include/boost/date_time/date_names_put.hpp b/ThirdParty/include/boost/date_time/date_names_put.hpp new file mode 100644 index 00000000..d6e27964 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_names_put.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7bae080a8e0db02188cc42c782e264324d41271341257449b87d7cb3c93a0bb +size 10754 diff --git a/ThirdParty/include/boost/date_time/date_parsing.hpp b/ThirdParty/include/boost/date_time/date_parsing.hpp new file mode 100644 index 00000000..abd17108 --- /dev/null +++ b/ThirdParty/include/boost/date_time/date_parsing.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2004b64c2d2b0c6f1f9d3aa80d1d2c06d72bd8e8650358219337e06e1df5b27b +size 11784 diff --git a/ThirdParty/include/boost/date_time/dst_rules.hpp b/ThirdParty/include/boost/date_time/dst_rules.hpp new file mode 100644 index 00000000..99daf9af --- /dev/null +++ b/ThirdParty/include/boost/date_time/dst_rules.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:320526d0e30b6a050a3bfcac54cabb4505d4507b2e0e6a2057cd14aeb2f64be0 +size 15505 diff --git a/ThirdParty/include/boost/date_time/dst_transition_generators.hpp b/ThirdParty/include/boost/date_time/dst_transition_generators.hpp new file mode 100644 index 00000000..ffa6d2a1 --- /dev/null +++ b/ThirdParty/include/boost/date_time/dst_transition_generators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0450f3a83c3e83755a6e0a9d34ddf8006d7f50283e3ca95af3d35690f0a4311f +size 2275 diff --git a/ThirdParty/include/boost/date_time/filetime_functions.hpp b/ThirdParty/include/boost/date_time/filetime_functions.hpp new file mode 100644 index 00000000..3a8d3c45 --- /dev/null +++ b/ThirdParty/include/boost/date_time/filetime_functions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38285d82bd47b2e017dad7556770f61e261fd3f78fbd80c292d9086007a873aa +size 3163 diff --git a/ThirdParty/include/boost/date_time/format_date_parser.hpp b/ThirdParty/include/boost/date_time/format_date_parser.hpp new file mode 100644 index 00000000..9f8d2228 --- /dev/null +++ b/ThirdParty/include/boost/date_time/format_date_parser.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcb9de62184af7f47233f6b672e69c910808fa622c24b5c33402419be73668d5 +size 24153 diff --git a/ThirdParty/include/boost/date_time/gregorian/conversion.hpp b/ThirdParty/include/boost/date_time/gregorian/conversion.hpp new file mode 100644 index 00000000..c494d583 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/conversion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e969d78894c065b76a3a7b49ddde85a8d8cdf7c42048bddcbe957e7804e99008 +size 2067 diff --git a/ThirdParty/include/boost/date_time/gregorian/formatters.hpp b/ThirdParty/include/boost/date_time/gregorian/formatters.hpp new file mode 100644 index 00000000..a84066cf --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/formatters.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7329f13482203c62780e0ab9a0bd8fe9cea69361ef95e4490f076122d3611ce +size 5627 diff --git a/ThirdParty/include/boost/date_time/gregorian/formatters_limited.hpp b/ThirdParty/include/boost/date_time/gregorian/formatters_limited.hpp new file mode 100644 index 00000000..2d2054ae --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/formatters_limited.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d62a9048c3d6e16329a2e71734d15b15def2c0e145e85eaea5f0f919c983960 +size 2746 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_calendar.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_calendar.hpp new file mode 100644 index 00000000..e402b0a7 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_calendar.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9506577b519976af0a3fff0e8779eb725625ff50bb81c7fc25094992c96da47 +size 1588 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_date.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_date.hpp new file mode 100644 index 00000000..ab4ce897 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_date.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:532297dd97a6ade09da0dbf75bacd44130f5e2f591b3f2d11bc2dc67d9e372f1 +size 4517 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_day.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_day.hpp new file mode 100644 index 00000000..ec046461 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_day.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25e987120333af63aeac2bba07ee56b54efbb199c0c0d8cea3095b5d9e2d088b +size 1832 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_day_of_year.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_day_of_year.hpp new file mode 100644 index 00000000..93fb6512 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_day_of_year.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:893c436c51fa71996b6654deca0761ba6e8df65b85d887bae7c7e0c2337b45f8 +size 1094 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_duration.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_duration.hpp new file mode 100644 index 00000000..adfd5d08 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_duration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6abcabbcc34a24ac06b809b32ee2c0f4fe73f93dca0a0bd86f826267a4ec36fd +size 3919 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_duration_types.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_duration_types.hpp new file mode 100644 index 00000000..701abaa6 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_duration_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e0c78a508ce20d5da5ddd0b4ec7f7bb13777e24f7efd5736116dbad0eccfeaf +size 1413 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_facet.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_facet.hpp new file mode 100644 index 00000000..a410474a --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_facet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff825c8a9a1ca337a3402822ab400addf2cabb02fe441255dbc4fa3c5abbe5f +size 13225 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_month.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_month.hpp new file mode 100644 index 00000000..ec40b756 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_month.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b506c3ded4675d1b207d9d8acaf4abd934b03491238a90a77ca53f0a4ef4ee49 +size 3449 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_serialize.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_serialize.hpp new file mode 100644 index 00000000..238d8b7b --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_serialize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b600c2c77a6aaee3047bcf7f2ccb93a8148aa2dc5a7446014123d6339c03f8a +size 19711 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_weekday.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_weekday.hpp new file mode 100644 index 00000000..1adcabd0 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_weekday.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dc951357533666ada1cf44b77c3b9b1bd404bcac33629fdeb45a0e9c5b950dd +size 1892 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_year.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_year.hpp new file mode 100644 index 00000000..f858da0f --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_year.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3682daa0f4ec1ebdbcfd76e1b97beca5a262ba67c793534e10cb01416118ed79 +size 1630 diff --git a/ThirdParty/include/boost/date_time/gregorian/greg_ymd.hpp b/ThirdParty/include/boost/date_time/gregorian/greg_ymd.hpp new file mode 100644 index 00000000..f6e02c88 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/greg_ymd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1771bb4bf7fa2c9429f27d630d24addccd50218bc70423285b994a98dc18bc5a +size 857 diff --git a/ThirdParty/include/boost/date_time/gregorian/gregorian.hpp b/ThirdParty/include/boost/date_time/gregorian/gregorian.hpp new file mode 100644 index 00000000..3f03b970 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/gregorian.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1214658bea4d9808808d3e225b943dcd43c989d8cecf403e5defdc2acd9d95d +size 1163 diff --git a/ThirdParty/include/boost/date_time/gregorian/gregorian_io.hpp b/ThirdParty/include/boost/date_time/gregorian/gregorian_io.hpp new file mode 100644 index 00000000..1657dfa8 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/gregorian_io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f170b718c37f77803c3af54b2a0eaee0f4ab60d89ffd76fd41eff673d8b23116 +size 28585 diff --git a/ThirdParty/include/boost/date_time/gregorian/gregorian_types.hpp b/ThirdParty/include/boost/date_time/gregorian/gregorian_types.hpp new file mode 100644 index 00000000..8223d7ab --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/gregorian_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bcef06b45abf99432752a3339a70377214798d7af09333af2ba5a8cbb663d2a +size 3631 diff --git a/ThirdParty/include/boost/date_time/gregorian/parsers.hpp b/ThirdParty/include/boost/date_time/gregorian/parsers.hpp new file mode 100644 index 00000000..9bd0db23 --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian/parsers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c4e3d8b0f5b28db420256b3f3bb3b034493c1fb3ef43a6054d4893db141c54b +size 3594 diff --git a/ThirdParty/include/boost/date_time/gregorian_calendar.hpp b/ThirdParty/include/boost/date_time/gregorian_calendar.hpp new file mode 100644 index 00000000..003805bc --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian_calendar.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f88d8dc7997345799423b4439f59d1d5299ce380cd3d7b7fac63921ff2c32a +size 2544 diff --git a/ThirdParty/include/boost/date_time/gregorian_calendar.ipp b/ThirdParty/include/boost/date_time/gregorian_calendar.ipp new file mode 100644 index 00000000..9ff1a31f --- /dev/null +++ b/ThirdParty/include/boost/date_time/gregorian_calendar.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd4c7b335ba02e048c4cabcaeb8254c5c78a4c8ca95fd52e648719f4f17f42ea +size 7969 diff --git a/ThirdParty/include/boost/date_time/int_adapter.hpp b/ThirdParty/include/boost/date_time/int_adapter.hpp new file mode 100644 index 00000000..3b8cf0ce --- /dev/null +++ b/ThirdParty/include/boost/date_time/int_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15e40654ba5e1d3dfad18c560f1546888e3d2d51217ad8c8e7b5111c701364c5 +size 13552 diff --git a/ThirdParty/include/boost/date_time/iso_format.hpp b/ThirdParty/include/boost/date_time/iso_format.hpp new file mode 100644 index 00000000..7edb88c9 --- /dev/null +++ b/ThirdParty/include/boost/date_time/iso_format.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:575e7a4ff7917693210d013dc6f4a7b5f9f6ed4e6102a72dfbc92e0d58c3afa9 +size 5640 diff --git a/ThirdParty/include/boost/date_time/local_time/conversion.hpp b/ThirdParty/include/boost/date_time/local_time/conversion.hpp new file mode 100644 index 00000000..c1f964fd --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/conversion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0c44c46c8630f5687dc17e7c7f1350fd0a5e85da25904523657d9f10973e771 +size 863 diff --git a/ThirdParty/include/boost/date_time/local_time/custom_time_zone.hpp b/ThirdParty/include/boost/date_time/local_time/custom_time_zone.hpp new file mode 100644 index 00000000..7d378e0f --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/custom_time_zone.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c43a05cdb6ec0b18f6efbebca58dafa66506a8d231360cf18010b40d074f443a +size 6279 diff --git a/ThirdParty/include/boost/date_time/local_time/date_duration_operators.hpp b/ThirdParty/include/boost/date_time/local_time/date_duration_operators.hpp new file mode 100644 index 00000000..93800f06 --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/date_duration_operators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d881a3010dfe4087c691cc8fdaa2f4052a5896bb5cedda9fcd4c491274ce554 +size 4282 diff --git a/ThirdParty/include/boost/date_time/local_time/dst_transition_day_rules.hpp b/ThirdParty/include/boost/date_time/local_time/dst_transition_day_rules.hpp new file mode 100644 index 00000000..06e3aa91 --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/dst_transition_day_rules.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08089af0dad8c7212646d394cf0d1a357c02ce15e4502e60630aa783ebcd55b4 +size 2638 diff --git a/ThirdParty/include/boost/date_time/local_time/local_date_time.hpp b/ThirdParty/include/boost/date_time/local_time/local_date_time.hpp new file mode 100644 index 00000000..6a8f65fd --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/local_date_time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51c0fc0edf4ba88412c18fdcbb6272a7aa516428407a9a19ff729aeece5a0243 +size 19914 diff --git a/ThirdParty/include/boost/date_time/local_time/local_time.hpp b/ThirdParty/include/boost/date_time/local_time/local_time.hpp new file mode 100644 index 00000000..a94fe4d2 --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/local_time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5da700d67733e74ed6c05cb751a5c5680b8690e333f95ea97aa4e0d76272f1e1 +size 911 diff --git a/ThirdParty/include/boost/date_time/local_time/local_time_io.hpp b/ThirdParty/include/boost/date_time/local_time/local_time_io.hpp new file mode 100644 index 00000000..16119ddc --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/local_time_io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ea3fecf2bd8c2ab87afead6c70687d818903f0608f7a8f239aef8774459b31 +size 7001 diff --git a/ThirdParty/include/boost/date_time/local_time/local_time_types.hpp b/ThirdParty/include/boost/date_time/local_time/local_time_types.hpp new file mode 100644 index 00000000..1a8ad004 --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/local_time_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:846162ee7403dbfbb7dee722c27f52c6280d1389178ff12da3a8d429ee83632e +size 1957 diff --git a/ThirdParty/include/boost/date_time/local_time/posix_time_zone.hpp b/ThirdParty/include/boost/date_time/local_time/posix_time_zone.hpp new file mode 100644 index 00000000..7bfb778d --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/posix_time_zone.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f5c65e79e32f09e8a07687ab839b80d1b88d4d04969f05b90b0f6964c76905c +size 18179 diff --git a/ThirdParty/include/boost/date_time/local_time/tz_database.hpp b/ThirdParty/include/boost/date_time/local_time/tz_database.hpp new file mode 100644 index 00000000..f67ea8ed --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time/tz_database.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cf5cfed850b7ed153c8338a0173ff28e2b3108681e3cdd88b88a426943471f8 +size 1044 diff --git a/ThirdParty/include/boost/date_time/local_time_adjustor.hpp b/ThirdParty/include/boost/date_time/local_time_adjustor.hpp new file mode 100644 index 00000000..26f1efa2 --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_time_adjustor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cc7101014480462359bf1babf29f3cd5835e0b055828e914408acc40b0cbb49 +size 8578 diff --git a/ThirdParty/include/boost/date_time/local_timezone_defs.hpp b/ThirdParty/include/boost/date_time/local_timezone_defs.hpp new file mode 100644 index 00000000..d55f7819 --- /dev/null +++ b/ThirdParty/include/boost/date_time/local_timezone_defs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a897f6e00db5b61e55d317aca3f68ad4cbaba1fc6d06672cc18ccb65d798310 +size 7618 diff --git a/ThirdParty/include/boost/date_time/locale_config.hpp b/ThirdParty/include/boost/date_time/locale_config.hpp new file mode 100644 index 00000000..cf49c1da --- /dev/null +++ b/ThirdParty/include/boost/date_time/locale_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaf3df750edb54d2b517d0b6c8056533401d30823d6ccad734cd3e008dcd0a1b +size 1204 diff --git a/ThirdParty/include/boost/date_time/microsec_time_clock.hpp b/ThirdParty/include/boost/date_time/microsec_time_clock.hpp new file mode 100644 index 00000000..0a060c66 --- /dev/null +++ b/ThirdParty/include/boost/date_time/microsec_time_clock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51afe4a30061be7d51053d2217f06e03a3d0475d83b724a39fddd7f029a1db74 +size 6257 diff --git a/ThirdParty/include/boost/date_time/parse_format_base.hpp b/ThirdParty/include/boost/date_time/parse_format_base.hpp new file mode 100644 index 00000000..c066f163 --- /dev/null +++ b/ThirdParty/include/boost/date_time/parse_format_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b34b51527656fb1347b1d97130808daa118d26ce87591ed0757c2802ff7437b +size 961 diff --git a/ThirdParty/include/boost/date_time/period.hpp b/ThirdParty/include/boost/date_time/period.hpp new file mode 100644 index 00000000..627e41fe --- /dev/null +++ b/ThirdParty/include/boost/date_time/period.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbde2892f2c09817ca32d9852b64e34e694b0bbb70936ea4a62a902e8dca764a +size 11069 diff --git a/ThirdParty/include/boost/date_time/period_formatter.hpp b/ThirdParty/include/boost/date_time/period_formatter.hpp new file mode 100644 index 00000000..be863082 --- /dev/null +++ b/ThirdParty/include/boost/date_time/period_formatter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a086f31bf78a1dca3fd11833c7b4ba464b8b8e7fabf125eca55a2b7ca199aa4e +size 7216 diff --git a/ThirdParty/include/boost/date_time/period_parser.hpp b/ThirdParty/include/boost/date_time/period_parser.hpp new file mode 100644 index 00000000..4fdfba4b --- /dev/null +++ b/ThirdParty/include/boost/date_time/period_parser.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75a0425bef0c9bfdb20fcb864a8d5204a9cbc2576150ff30a94c2180df23b40e +size 8022 diff --git a/ThirdParty/include/boost/date_time/posix_time/conversion.hpp b/ThirdParty/include/boost/date_time/posix_time/conversion.hpp new file mode 100644 index 00000000..b21a25ca --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/conversion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19ecc8e1ddd8d358477de2f22fe8094f8f46e446dd4389de01d66063721a4987 +size 3391 diff --git a/ThirdParty/include/boost/date_time/posix_time/date_duration_operators.hpp b/ThirdParty/include/boost/date_time/posix_time/date_duration_operators.hpp new file mode 100644 index 00000000..d0618bca --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/date_duration_operators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26b0a57f64b28a27648622d046bf8ab7961467449cbaf3ff6a42fef5a9aeef7a +size 3730 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time.hpp new file mode 100644 index 00000000..22f5c8d8 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34137e920ef44d6f7ebe62b51c74ebf37fb4a3f469d25d36683f142ff668d4f8 +size 1250 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time_config.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time_config.hpp new file mode 100644 index 00000000..c3ce8709 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72adeb89f412867c33b9e5da016a80d4830c5a6b2cff89f89a64f5332feecc9b +size 5948 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time_duration.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time_duration.hpp new file mode 100644 index 00000000..85660b60 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time_duration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:351fc7e675046f77b45446559b3722ac17ad709b83e4ae3aaa8cf4b819ed513c +size 2769 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time_io.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time_io.hpp new file mode 100644 index 00000000..f6b6c4b0 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time_io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ee9170b6bede5822cefe353210cffdecfb58c94c0056026ddfcfaa469cad385 +size 9233 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time_legacy_io.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time_legacy_io.hpp new file mode 100644 index 00000000..bafc3e82 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time_legacy_io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32a60630628875121fefbf735484d3f8c312a7e4253b730d56f4f5cd3c84b29b +size 4640 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time_system.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time_system.hpp new file mode 100644 index 00000000..e816ecb3 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time_system.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef0a43e1a0e93e2b709420ffd5048fe9cb24c36f42c36d0b7ddfee724ca1fc01 +size 1154 diff --git a/ThirdParty/include/boost/date_time/posix_time/posix_time_types.hpp b/ThirdParty/include/boost/date_time/posix_time/posix_time_types.hpp new file mode 100644 index 00000000..06da3764 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/posix_time_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e720aa5af0a1ced8a64579a3a5ff4cfb90838ae6413d543dca74f59ebb7c2fb4 +size 1798 diff --git a/ThirdParty/include/boost/date_time/posix_time/ptime.hpp b/ThirdParty/include/boost/date_time/posix_time/ptime.hpp new file mode 100644 index 00000000..e4f1a3f1 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/ptime.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ea6995328fd8c26d27f6ab013e09769cdf440e6cd599b3f5689a275889e18c +size 2143 diff --git a/ThirdParty/include/boost/date_time/posix_time/time_formatters.hpp b/ThirdParty/include/boost/date_time/posix_time/time_formatters.hpp new file mode 100644 index 00000000..0ad94a7a --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/time_formatters.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34478c620f0651ad11bd2b9900f401e2ffc8b18e42cb9e7278a034b054001d3 +size 9300 diff --git a/ThirdParty/include/boost/date_time/posix_time/time_formatters_limited.hpp b/ThirdParty/include/boost/date_time/posix_time/time_formatters_limited.hpp new file mode 100644 index 00000000..3103894a --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/time_formatters_limited.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61329e533e54183f15753ac72ca491ab553a4597f5c817705d397d0487ae2f31 +size 5988 diff --git a/ThirdParty/include/boost/date_time/posix_time/time_parsers.hpp b/ThirdParty/include/boost/date_time/posix_time/time_parsers.hpp new file mode 100644 index 00000000..23f4b8d9 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/time_parsers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01dd2569f9e36ddfd10c2dd350c5dff7c4516bda57c1da8044d7ec42aa9174bc +size 1384 diff --git a/ThirdParty/include/boost/date_time/posix_time/time_period.hpp b/ThirdParty/include/boost/date_time/posix_time/time_period.hpp new file mode 100644 index 00000000..44750a79 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/time_period.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cf187c92b23661debf994b73e9ad0dc47c414284ad4ef6e4547051430c8b156 +size 690 diff --git a/ThirdParty/include/boost/date_time/posix_time/time_serialize.hpp b/ThirdParty/include/boost/date_time/posix_time/time_serialize.hpp new file mode 100644 index 00000000..c4555f12 --- /dev/null +++ b/ThirdParty/include/boost/date_time/posix_time/time_serialize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e9f2f28910e0e312629f8ea924fe4431a3da6b5e3b3d00ae32661aba91bc677 +size 9067 diff --git a/ThirdParty/include/boost/date_time/special_defs.hpp b/ThirdParty/include/boost/date_time/special_defs.hpp new file mode 100644 index 00000000..5b1e1dce --- /dev/null +++ b/ThirdParty/include/boost/date_time/special_defs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e60e7b693dc42d405e5287ad2007c0451963c798ae2dd92f80fcb78d5d8f17c +size 633 diff --git a/ThirdParty/include/boost/date_time/special_values_formatter.hpp b/ThirdParty/include/boost/date_time/special_values_formatter.hpp new file mode 100644 index 00000000..a294a079 --- /dev/null +++ b/ThirdParty/include/boost/date_time/special_values_formatter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eab0cca5dee40bb0c3977e4688bcf9a66397219923f053a8c27dc8da43df803d +size 3637 diff --git a/ThirdParty/include/boost/date_time/special_values_parser.hpp b/ThirdParty/include/boost/date_time/special_values_parser.hpp new file mode 100644 index 00000000..139e2a65 --- /dev/null +++ b/ThirdParty/include/boost/date_time/special_values_parser.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feb4a8ba30926d446dd205e9925155d5d812b99ac51f651c6f259bae635d9ce2 +size 6296 diff --git a/ThirdParty/include/boost/date_time/string_convert.hpp b/ThirdParty/include/boost/date_time/string_convert.hpp new file mode 100644 index 00000000..531b2774 --- /dev/null +++ b/ThirdParty/include/boost/date_time/string_convert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1b7a9cd7756d05168150b740b27dddfb152badfff4fd70fdb2c3b787fef7296 +size 1002 diff --git a/ThirdParty/include/boost/date_time/string_parse_tree.hpp b/ThirdParty/include/boost/date_time/string_parse_tree.hpp new file mode 100644 index 00000000..02919210 --- /dev/null +++ b/ThirdParty/include/boost/date_time/string_parse_tree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:294a84fbf3dd9bc5eefcb372d740e0adb24d173c7bde8467c70ebb19ba3d44ec +size 8397 diff --git a/ThirdParty/include/boost/date_time/strings_from_facet.hpp b/ThirdParty/include/boost/date_time/strings_from_facet.hpp new file mode 100644 index 00000000..27c222c1 --- /dev/null +++ b/ThirdParty/include/boost/date_time/strings_from_facet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d79aef90303f28a21831db5330636b6c2e606dd9ef0e6bd780dfb89730efd0a +size 4456 diff --git a/ThirdParty/include/boost/date_time/time.hpp b/ThirdParty/include/boost/date_time/time.hpp new file mode 100644 index 00000000..e0040f20 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c32f5de81e684f650161a47505b374816fc2c4ce8e6a8218478996fe5fbd2423 +size 6261 diff --git a/ThirdParty/include/boost/date_time/time_clock.hpp b/ThirdParty/include/boost/date_time/time_clock.hpp new file mode 100644 index 00000000..7639508f --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_clock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05d28d4731ef2087af7ea08cc7d71cc99934a0cd6ef37792d5ff09f850118caf +size 2245 diff --git a/ThirdParty/include/boost/date_time/time_defs.hpp b/ThirdParty/include/boost/date_time/time_defs.hpp new file mode 100644 index 00000000..b15ef256 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_defs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7b7ee0bd6c015d4f62b8a75891299ce9bc2b364474e98e8cb26ab982e3ed414 +size 942 diff --git a/ThirdParty/include/boost/date_time/time_duration.hpp b/ThirdParty/include/boost/date_time/time_duration.hpp new file mode 100644 index 00000000..240e0dda --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_duration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f96a30c485a756a5ed30b77e06e3fc568bd81c034f513431e38d98015d776578 +size 9619 diff --git a/ThirdParty/include/boost/date_time/time_facet.hpp b/ThirdParty/include/boost/date_time/time_facet.hpp new file mode 100644 index 00000000..bc202788 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_facet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:598804789646de8c3114e6c11b6b5e3dd6b99f7112fb80360729df1729b260f3 +size 58976 diff --git a/ThirdParty/include/boost/date_time/time_formatting_streams.hpp b/ThirdParty/include/boost/date_time/time_formatting_streams.hpp new file mode 100644 index 00000000..8665d5e0 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_formatting_streams.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b3020371d76c64e262d150b21ee3d94dd3d17f8285eeef8f4329a1e726cb8b6 +size 3752 diff --git a/ThirdParty/include/boost/date_time/time_iterator.hpp b/ThirdParty/include/boost/date_time/time_iterator.hpp new file mode 100644 index 00000000..b4930d82 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1fd1676da75940dcb1e499b035d6b31ba3bb3cd149d17854eba7769b25761dc +size 1438 diff --git a/ThirdParty/include/boost/date_time/time_parsing.hpp b/ThirdParty/include/boost/date_time/time_parsing.hpp new file mode 100644 index 00000000..3c17fde0 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_parsing.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:412e34e03a58eaf5fe6b5f85a9e8f3cd06fd46f7102d5755104731a4171db456 +size 11854 diff --git a/ThirdParty/include/boost/date_time/time_resolution_traits.hpp b/ThirdParty/include/boost/date_time/time_resolution_traits.hpp new file mode 100644 index 00000000..1a522fbf --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_resolution_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18b4534e09a33ba616d52ccf378f01cf4d47d14356ffd15a334d5af08a676c43 +size 6364 diff --git a/ThirdParty/include/boost/date_time/time_system_counted.hpp b/ThirdParty/include/boost/date_time/time_system_counted.hpp new file mode 100644 index 00000000..3ee433ef --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_system_counted.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:695cef3b0f1e2ac39e043cc5a9be3d05d5ed6606ad94e812a757639e926a5c0f +size 8441 diff --git a/ThirdParty/include/boost/date_time/time_system_split.hpp b/ThirdParty/include/boost/date_time/time_system_split.hpp new file mode 100644 index 00000000..4daeadc9 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_system_split.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:553897efc9659072d0cb74e6a9146dcc56bad4581adf85f60c8b7d541fdb79d7 +size 7795 diff --git a/ThirdParty/include/boost/date_time/time_zone_base.hpp b/ThirdParty/include/boost/date_time/time_zone_base.hpp new file mode 100644 index 00000000..0372fe49 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_zone_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d43c4bd562b051592f1abdc3037d7a6b58a87abe9a5cc3e8038e4e8bdee5cdb +size 3710 diff --git a/ThirdParty/include/boost/date_time/time_zone_names.hpp b/ThirdParty/include/boost/date_time/time_zone_names.hpp new file mode 100644 index 00000000..37a2ff57 --- /dev/null +++ b/ThirdParty/include/boost/date_time/time_zone_names.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d756a1c7241212d3676b26105e4f34e0e289783ce386a0b47a173f39aa3cd4a +size 3101 diff --git a/ThirdParty/include/boost/date_time/tz_db_base.hpp b/ThirdParty/include/boost/date_time/tz_db_base.hpp new file mode 100644 index 00000000..97df1a62 --- /dev/null +++ b/ThirdParty/include/boost/date_time/tz_db_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cee6199b6b5c6fb3b7961f7766738e6446a7aba368a362007993d333ba891e3 +size 15950 diff --git a/ThirdParty/include/boost/date_time/wrapping_int.hpp b/ThirdParty/include/boost/date_time/wrapping_int.hpp new file mode 100644 index 00000000..d859309f --- /dev/null +++ b/ThirdParty/include/boost/date_time/wrapping_int.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e0dd673bf4a70bda3f1c16ce830e393b39af0036703e49f555d0b415ab46346 +size 5508 diff --git a/ThirdParty/include/boost/date_time/year_month_day.hpp b/ThirdParty/include/boost/date_time/year_month_day.hpp new file mode 100644 index 00000000..387032e1 --- /dev/null +++ b/ThirdParty/include/boost/date_time/year_month_day.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3540087870f6c8dc9ab9cdd48b5a4d7254a992c3a3762fc5d0f1c478837461 +size 1333 diff --git a/ThirdParty/include/boost/detail/algorithm.hpp b/ThirdParty/include/boost/detail/algorithm.hpp new file mode 100644 index 00000000..16f474db --- /dev/null +++ b/ThirdParty/include/boost/detail/algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:976ed0f5ee1552f8d37eff0b650e271211b35081ccff9a7ab39156cb7fa3d01a +size 2960 diff --git a/ThirdParty/include/boost/detail/allocator_utilities.hpp b/ThirdParty/include/boost/detail/allocator_utilities.hpp new file mode 100644 index 00000000..428752fd --- /dev/null +++ b/ThirdParty/include/boost/detail/allocator_utilities.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86d53dbbbeb9fdf88fa3b132b017ae3cd31836d623013fb4a1b879272819d83e +size 4792 diff --git a/ThirdParty/include/boost/detail/atomic_count.hpp b/ThirdParty/include/boost/detail/atomic_count.hpp new file mode 100644 index 00000000..ca90f541 --- /dev/null +++ b/ThirdParty/include/boost/detail/atomic_count.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21e4599d95ecdb73147ed2a580e950de649119b6342ae8137733845eb4df7aae +size 618 diff --git a/ThirdParty/include/boost/detail/basic_pointerbuf.hpp b/ThirdParty/include/boost/detail/basic_pointerbuf.hpp new file mode 100644 index 00000000..3a39ed62 --- /dev/null +++ b/ThirdParty/include/boost/detail/basic_pointerbuf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c7feca71b630a9c768f178507630fe7ea539788270963a2365ccac4c28fb37f +size 4425 diff --git a/ThirdParty/include/boost/detail/binary_search.hpp b/ThirdParty/include/boost/detail/binary_search.hpp new file mode 100644 index 00000000..32963aeb --- /dev/null +++ b/ThirdParty/include/boost/detail/binary_search.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d955f53e843e5e5b332083d73f6bd8b8471be79d19454a2354e8e7e4a25676d9 +size 6358 diff --git a/ThirdParty/include/boost/detail/bitmask.hpp b/ThirdParty/include/boost/detail/bitmask.hpp new file mode 100644 index 00000000..28f057c2 --- /dev/null +++ b/ThirdParty/include/boost/detail/bitmask.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd17654c91580081408d358c0c83a2d4a6d34362b009cd620aecb1c603e05d6e +size 3033 diff --git a/ThirdParty/include/boost/detail/call_traits.hpp b/ThirdParty/include/boost/detail/call_traits.hpp new file mode 100644 index 00000000..c6dd2a80 --- /dev/null +++ b/ThirdParty/include/boost/detail/call_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60399c9aee599b10f6a1e93acd9ceaf061ff6abb7770f18f2e32b2d0d5889bd8 +size 4322 diff --git a/ThirdParty/include/boost/detail/catch_exceptions.hpp b/ThirdParty/include/boost/detail/catch_exceptions.hpp new file mode 100644 index 00000000..72a982d4 --- /dev/null +++ b/ThirdParty/include/boost/detail/catch_exceptions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53d42570100e9b74caeb9d380786176310eaf6231e6e0deddb70056e840c4e82 +size 5644 diff --git a/ThirdParty/include/boost/detail/compressed_pair.hpp b/ThirdParty/include/boost/detail/compressed_pair.hpp new file mode 100644 index 00000000..3c7ea7c5 --- /dev/null +++ b/ThirdParty/include/boost/detail/compressed_pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4ee16a2881189010ac17202551cb3e3dda582449aa7a9295e8a44f4cc77c300 +size 17002 diff --git a/ThirdParty/include/boost/detail/container_fwd.hpp b/ThirdParty/include/boost/detail/container_fwd.hpp new file mode 100644 index 00000000..ea0371cb --- /dev/null +++ b/ThirdParty/include/boost/detail/container_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5865c63f8a83daad0747aed35dc5b036f200d2844c9cccd53d805b17a83f5ada +size 5160 diff --git a/ThirdParty/include/boost/detail/endian.hpp b/ThirdParty/include/boost/detail/endian.hpp new file mode 100644 index 00000000..5dad19b5 --- /dev/null +++ b/ThirdParty/include/boost/detail/endian.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86701f68f842417a8e887ef6868b09eaa68e9519ed2ecd0f3ccb558743cbe5da +size 364 diff --git a/ThirdParty/include/boost/detail/fenv.hpp b/ThirdParty/include/boost/detail/fenv.hpp new file mode 100644 index 00000000..03495792 --- /dev/null +++ b/ThirdParty/include/boost/detail/fenv.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:433a938c63e22681fe03b2220ba342289c36b89926d5836511595b27cbe4a2dd +size 3206 diff --git a/ThirdParty/include/boost/detail/has_default_constructor.hpp b/ThirdParty/include/boost/detail/has_default_constructor.hpp new file mode 100644 index 00000000..653ff3ed --- /dev/null +++ b/ThirdParty/include/boost/detail/has_default_constructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:645f2a64387bfde7e31b97a09df13a6566752d3d28bb5beb7a82e2cda55fe7b1 +size 935 diff --git a/ThirdParty/include/boost/detail/identifier.hpp b/ThirdParty/include/boost/detail/identifier.hpp new file mode 100644 index 00000000..960b93ce --- /dev/null +++ b/ThirdParty/include/boost/detail/identifier.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28318c5a65122b31542612eef2f11e0b6b6e68d26d3954c39aea41e6e85cfaab +size 3178 diff --git a/ThirdParty/include/boost/detail/indirect_traits.hpp b/ThirdParty/include/boost/detail/indirect_traits.hpp new file mode 100644 index 00000000..d98c4e5d --- /dev/null +++ b/ThirdParty/include/boost/detail/indirect_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10629648828b55d799bb03bca2bcfa203b76993dde571c43bbf77739f96299f2 +size 4423 diff --git a/ThirdParty/include/boost/detail/interlocked.hpp b/ThirdParty/include/boost/detail/interlocked.hpp new file mode 100644 index 00000000..6d420503 --- /dev/null +++ b/ThirdParty/include/boost/detail/interlocked.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afa500324f550dabf1beb9ba6a83269778d0e50fcb076e3130bded65ee999ec1 +size 8907 diff --git a/ThirdParty/include/boost/detail/is_incrementable.hpp b/ThirdParty/include/boost/detail/is_incrementable.hpp new file mode 100644 index 00000000..6f1a109f --- /dev/null +++ b/ThirdParty/include/boost/detail/is_incrementable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44ad465d065f7b81faae5a13d133d1739fdec6ef3fffebfe29cee15fda7ad51c +size 3071 diff --git a/ThirdParty/include/boost/detail/is_sorted.hpp b/ThirdParty/include/boost/detail/is_sorted.hpp new file mode 100644 index 00000000..7e447543 --- /dev/null +++ b/ThirdParty/include/boost/detail/is_sorted.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02cdbe1a5149f8c45bdf989f7e0273dcc858e53b001961eb4cdafe3fba282618 +size 1464 diff --git a/ThirdParty/include/boost/detail/is_xxx.hpp b/ThirdParty/include/boost/detail/is_xxx.hpp new file mode 100644 index 00000000..cba5103b --- /dev/null +++ b/ThirdParty/include/boost/detail/is_xxx.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b234852437ea2dae5472f1985d58485faeade9b310052024ac430b954f40755 +size 1250 diff --git a/ThirdParty/include/boost/detail/iterator.hpp b/ThirdParty/include/boost/detail/iterator.hpp new file mode 100644 index 00000000..20881b60 --- /dev/null +++ b/ThirdParty/include/boost/detail/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b9993e0c49c30c8bfe4d09b1ad3a045943013d2f2e688fdf21e9fe6b4027543 +size 1068 diff --git a/ThirdParty/include/boost/detail/lcast_precision.hpp b/ThirdParty/include/boost/detail/lcast_precision.hpp new file mode 100644 index 00000000..8d9214f3 --- /dev/null +++ b/ThirdParty/include/boost/detail/lcast_precision.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8407e48a437166db6b905fa78d1317af9c5589012f7cc0df9c26384b64e38fa +size 6089 diff --git a/ThirdParty/include/boost/detail/lightweight_main.hpp b/ThirdParty/include/boost/detail/lightweight_main.hpp new file mode 100644 index 00000000..9ee53207 --- /dev/null +++ b/ThirdParty/include/boost/detail/lightweight_main.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a7c84f48874707850915234489fcb4fd947ad679c02dfa891b1c6073f025c25 +size 1226 diff --git a/ThirdParty/include/boost/detail/lightweight_mutex.hpp b/ThirdParty/include/boost/detail/lightweight_mutex.hpp new file mode 100644 index 00000000..f80005cb --- /dev/null +++ b/ThirdParty/include/boost/detail/lightweight_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0889c1d4383014f4c1d4b399b10aa48d9947fc50608dacba28f751c56667cc67 +size 630 diff --git a/ThirdParty/include/boost/detail/lightweight_test.hpp b/ThirdParty/include/boost/detail/lightweight_test.hpp new file mode 100644 index 00000000..0e3beebb --- /dev/null +++ b/ThirdParty/include/boost/detail/lightweight_test.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e20f75a9ec1966e0282e51641d064d0351b0da81d4328e08e238cb5126f3a823 +size 436 diff --git a/ThirdParty/include/boost/detail/lightweight_test_report.hpp b/ThirdParty/include/boost/detail/lightweight_test_report.hpp new file mode 100644 index 00000000..eaa500cd --- /dev/null +++ b/ThirdParty/include/boost/detail/lightweight_test_report.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cacffcc87fd88da49b8cd0ee2815ffca5ff238137cfd893e7c0da3451e86640 +size 2223 diff --git a/ThirdParty/include/boost/detail/lightweight_thread.hpp b/ThirdParty/include/boost/detail/lightweight_thread.hpp new file mode 100644 index 00000000..892a3b10 --- /dev/null +++ b/ThirdParty/include/boost/detail/lightweight_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bd2a9165de74bc01431fcc584dc5595e03ac2d1c941d0a9e37d7f35ba3e756e +size 3412 diff --git a/ThirdParty/include/boost/detail/named_template_params.hpp b/ThirdParty/include/boost/detail/named_template_params.hpp new file mode 100644 index 00000000..c3adfe86 --- /dev/null +++ b/ThirdParty/include/boost/detail/named_template_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42a3f77ad31176a3e9433169d5a30d40c9f02eab2911cdf522434834cc6f18f7 +size 6090 diff --git a/ThirdParty/include/boost/detail/no_exceptions_support.hpp b/ThirdParty/include/boost/detail/no_exceptions_support.hpp new file mode 100644 index 00000000..f50a232e --- /dev/null +++ b/ThirdParty/include/boost/detail/no_exceptions_support.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:923b11128f5132839e7a320c9a56c9a5985885ec2682dd51a26c00ded2396f2c +size 456 diff --git a/ThirdParty/include/boost/detail/numeric_traits.hpp b/ThirdParty/include/boost/detail/numeric_traits.hpp new file mode 100644 index 00000000..a4a61f9e --- /dev/null +++ b/ThirdParty/include/boost/detail/numeric_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b43af6d1f7e9f237f4a21bd07a045861a2be0679319492745b888f8490685a5d +size 5473 diff --git a/ThirdParty/include/boost/detail/ob_compressed_pair.hpp b/ThirdParty/include/boost/detail/ob_compressed_pair.hpp new file mode 100644 index 00000000..dca5e302 --- /dev/null +++ b/ThirdParty/include/boost/detail/ob_compressed_pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baaab0b90d8aa661ac54811a284c18392e1b57dd84653d9a77266140692c0df2 +size 16399 diff --git a/ThirdParty/include/boost/detail/quick_allocator.hpp b/ThirdParty/include/boost/detail/quick_allocator.hpp new file mode 100644 index 00000000..c88605ec --- /dev/null +++ b/ThirdParty/include/boost/detail/quick_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55e168afa917d086929d2a9b975fa28f6da034b7d89db7bb3bfa8ad83286e7ac +size 606 diff --git a/ThirdParty/include/boost/detail/reference_content.hpp b/ThirdParty/include/boost/detail/reference_content.hpp new file mode 100644 index 00000000..695178d8 --- /dev/null +++ b/ThirdParty/include/boost/detail/reference_content.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:729862548f026865e374c9df1eaeb7524c992d68baf5d45af7bf1f6b54b4ec1c +size 2443 diff --git a/ThirdParty/include/boost/detail/scoped_enum_emulation.hpp b/ThirdParty/include/boost/detail/scoped_enum_emulation.hpp new file mode 100644 index 00000000..3a5d29ea --- /dev/null +++ b/ThirdParty/include/boost/detail/scoped_enum_emulation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:738641b0d11878f83645d85b5a72b3357de5b9040c664138cedafb116ebf9fcc +size 437 diff --git a/ThirdParty/include/boost/detail/select_type.hpp b/ThirdParty/include/boost/detail/select_type.hpp new file mode 100644 index 00000000..a5b4dfe5 --- /dev/null +++ b/ThirdParty/include/boost/detail/select_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:983d9862b3b45e5a213140521c24a33c928fc4cbc297013fb7130b78b7a0aa32 +size 1130 diff --git a/ThirdParty/include/boost/detail/sp_typeinfo.hpp b/ThirdParty/include/boost/detail/sp_typeinfo.hpp new file mode 100644 index 00000000..2ead3949 --- /dev/null +++ b/ThirdParty/include/boost/detail/sp_typeinfo.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ed76e073cd899a2375dbd270994e2ad07ed32da690e12198cf4e327e623cb6 +size 755 diff --git a/ThirdParty/include/boost/detail/templated_streams.hpp b/ThirdParty/include/boost/detail/templated_streams.hpp new file mode 100644 index 00000000..d4b2817b --- /dev/null +++ b/ThirdParty/include/boost/detail/templated_streams.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:515459aa9b62b0cd8fee8fa901df26cb423166328b0217a1166c6476ee7da575 +size 2242 diff --git a/ThirdParty/include/boost/detail/utf8_codecvt_facet.hpp b/ThirdParty/include/boost/detail/utf8_codecvt_facet.hpp new file mode 100644 index 00000000..9b1e88e7 --- /dev/null +++ b/ThirdParty/include/boost/detail/utf8_codecvt_facet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da81df69b429bd1d31f7c7cd449570555a11b7cec011f66876e03201abe59866 +size 7726 diff --git a/ThirdParty/include/boost/detail/utf8_codecvt_facet.ipp b/ThirdParty/include/boost/detail/utf8_codecvt_facet.ipp new file mode 100644 index 00000000..6dcb5f5a --- /dev/null +++ b/ThirdParty/include/boost/detail/utf8_codecvt_facet.ipp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b2fc6b7ba19a83a6de665fb4475869ec3372d044ce8a1cee0cdb906646353af +size 9560 diff --git a/ThirdParty/include/boost/detail/winapi/access_rights.hpp b/ThirdParty/include/boost/detail/winapi/access_rights.hpp new file mode 100644 index 00000000..7c225340 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/access_rights.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc4465aa9da6fde41aa58231d317fc5258bb6a5ab94ccad73b396794b697b66 +size 525 diff --git a/ThirdParty/include/boost/detail/winapi/apc.hpp b/ThirdParty/include/boost/detail/winapi/apc.hpp new file mode 100644 index 00000000..6248cb56 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/apc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f2124b4787cf692e3fc121066a1da2dede0203a5b29813627f2859e59373853 +size 475 diff --git a/ThirdParty/include/boost/detail/winapi/basic_types.hpp b/ThirdParty/include/boost/detail/winapi/basic_types.hpp new file mode 100644 index 00000000..b0188269 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/basic_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7ebe425dbdfe971df31f0e01f800cd2fc4dbc16f3ce6ca128da527172b80ce8 +size 515 diff --git a/ThirdParty/include/boost/detail/winapi/bcrypt.hpp b/ThirdParty/include/boost/detail/winapi/bcrypt.hpp new file mode 100644 index 00000000..702f77e1 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/bcrypt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a74668a720375819c2b97a3f8287946e11d08d8fe6269ea7e249f14754619f61 +size 493 diff --git a/ThirdParty/include/boost/detail/winapi/character_code_conversion.hpp b/ThirdParty/include/boost/detail/winapi/character_code_conversion.hpp new file mode 100644 index 00000000..839cba79 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/character_code_conversion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc53578e9cecfb3ba65ccec4f68d187f996ec5c1295bec319ed4791543b4455a +size 585 diff --git a/ThirdParty/include/boost/detail/winapi/condition_variable.hpp b/ThirdParty/include/boost/detail/winapi/condition_variable.hpp new file mode 100644 index 00000000..8c514a86 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/condition_variable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24bf06cf7fe55796cfa022d4af61411eb73d5a7d3298e5d264fc081253210a25 +size 654 diff --git a/ThirdParty/include/boost/detail/winapi/config.hpp b/ThirdParty/include/boost/detail/winapi/config.hpp new file mode 100644 index 00000000..5a8efa13 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:315556578f72bd289cb9b5f06c586c663870d0096a2190249d0cd1faaf873ec7 +size 457 diff --git a/ThirdParty/include/boost/detail/winapi/critical_section.hpp b/ThirdParty/include/boost/detail/winapi/critical_section.hpp new file mode 100644 index 00000000..75aac4f7 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/critical_section.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8d3c8eb8527cbb3ed6d23ae046d799b84932159794eb7b8a07e8dee421da1fe +size 540 diff --git a/ThirdParty/include/boost/detail/winapi/crypt.hpp b/ThirdParty/include/boost/detail/winapi/crypt.hpp new file mode 100644 index 00000000..6dbf2879 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/crypt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f3a5a70a91bde2ec5eafecebbb1c26367f90646f9187d977de4e75a5c2f1696 +size 485 diff --git a/ThirdParty/include/boost/detail/winapi/dbghelp.hpp b/ThirdParty/include/boost/detail/winapi/dbghelp.hpp new file mode 100644 index 00000000..d40ebee6 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/dbghelp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d88a4fb3e5fb5de41b347fd1782b53211490fa911a71865ab76a65f68ee5293d +size 495 diff --git a/ThirdParty/include/boost/detail/winapi/debugapi.hpp b/ThirdParty/include/boost/detail/winapi/debugapi.hpp new file mode 100644 index 00000000..aef48f92 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/debugapi.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed667194b5257c31fb5699c5865b11ea7a33e24745c7a9d4fa248f7d504a72e6 +size 500 diff --git a/ThirdParty/include/boost/detail/winapi/detail/deprecated_namespace.hpp b/ThirdParty/include/boost/detail/winapi/detail/deprecated_namespace.hpp new file mode 100644 index 00000000..366c8d5f --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/detail/deprecated_namespace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40410f67af3513578474fa04ada5c30ea62b384ff06b3b9a53cf6dd7a9be6f36 +size 714 diff --git a/ThirdParty/include/boost/detail/winapi/directory_management.hpp b/ThirdParty/include/boost/detail/winapi/directory_management.hpp new file mode 100644 index 00000000..a058dbb5 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/directory_management.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f676b76a78108f3e09c044fc46a3e6ee19f8bd6a0601eb14c921955051a87e3 +size 560 diff --git a/ThirdParty/include/boost/detail/winapi/dll.hpp b/ThirdParty/include/boost/detail/winapi/dll.hpp new file mode 100644 index 00000000..4271f01c --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/dll.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb3a0729ca76dad40f984f49f12e0cb312b785950d0c19c8c7cad90ba5f6198d +size 475 diff --git a/ThirdParty/include/boost/detail/winapi/environment.hpp b/ThirdParty/include/boost/detail/winapi/environment.hpp new file mode 100644 index 00000000..c60f4208 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/environment.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c41b70241b1c26ffc48e37c33f1e144b95529a16e87093b6a4df185fec3af639 +size 518 diff --git a/ThirdParty/include/boost/detail/winapi/error_codes.hpp b/ThirdParty/include/boost/detail/winapi/error_codes.hpp new file mode 100644 index 00000000..e2851505 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/error_codes.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5cc6a1db79b1e94693c5a64c0675a6cd88980a340a1ee449085f4c5690726fb +size 518 diff --git a/ThirdParty/include/boost/detail/winapi/error_handling.hpp b/ThirdParty/include/boost/detail/winapi/error_handling.hpp new file mode 100644 index 00000000..1fa043c3 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/error_handling.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7533316843f8f3222d809e84ac2fc40959dcf16508e308cfa4e0f7a985d0cb5 +size 530 diff --git a/ThirdParty/include/boost/detail/winapi/event.hpp b/ThirdParty/include/boost/detail/winapi/event.hpp new file mode 100644 index 00000000..11d081a8 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41b84e5e6061b0cca925e13d35f127657a23173a3bcfa277051689692e003359 +size 488 diff --git a/ThirdParty/include/boost/detail/winapi/file_management.hpp b/ThirdParty/include/boost/detail/winapi/file_management.hpp new file mode 100644 index 00000000..9a54fedd --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/file_management.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:690403490a9b17310c70e03a01804ed99bd5191bebaca4d0fd76b051ab954b6b +size 535 diff --git a/ThirdParty/include/boost/detail/winapi/file_mapping.hpp b/ThirdParty/include/boost/detail/winapi/file_mapping.hpp new file mode 100644 index 00000000..cbb670e6 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/file_mapping.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:118250fb16e8e915238db1bf0d69e3b0447987ab93920b5fdda26e064af501a8 +size 520 diff --git a/ThirdParty/include/boost/detail/winapi/get_current_process.hpp b/ThirdParty/include/boost/detail/winapi/get_current_process.hpp new file mode 100644 index 00000000..60d51e11 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_current_process.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f8ee35f983cffbdcb00f6b6b3eba7c6e9498f679bb6584ba945f7884b22b0a4 +size 555 diff --git a/ThirdParty/include/boost/detail/winapi/get_current_process_id.hpp b/ThirdParty/include/boost/detail/winapi/get_current_process_id.hpp new file mode 100644 index 00000000..fe4f0e66 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_current_process_id.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aef3b74ca147a518db6574d2b841f02c7a4766c084be587f9f3fe5752983e542 +size 570 diff --git a/ThirdParty/include/boost/detail/winapi/get_current_thread.hpp b/ThirdParty/include/boost/detail/winapi/get_current_thread.hpp new file mode 100644 index 00000000..40bb1290 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_current_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1371550116848274c95d826a95bccd7e29330ff8cdd88d71975ee11c25db64f0 +size 550 diff --git a/ThirdParty/include/boost/detail/winapi/get_current_thread_id.hpp b/ThirdParty/include/boost/detail/winapi/get_current_thread_id.hpp new file mode 100644 index 00000000..2ed31870 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_current_thread_id.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2e933198420e32b4447b9410c4a9a3f3745957848e833abbb9286e4bc8d012b +size 565 diff --git a/ThirdParty/include/boost/detail/winapi/get_last_error.hpp b/ThirdParty/include/boost/detail/winapi/get_last_error.hpp new file mode 100644 index 00000000..c29a9203 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_last_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03981df2b80a2dab93d31fe206536ca124140916a89e9f04f985571bf36f6d4e +size 530 diff --git a/ThirdParty/include/boost/detail/winapi/get_process_times.hpp b/ThirdParty/include/boost/detail/winapi/get_process_times.hpp new file mode 100644 index 00000000..3e9268d3 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_process_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3c79b723ef4acd812760158dd075a6a916c92948b63d967e229566506c2a468 +size 545 diff --git a/ThirdParty/include/boost/detail/winapi/get_system_directory.hpp b/ThirdParty/include/boost/detail/winapi/get_system_directory.hpp new file mode 100644 index 00000000..1f652e13 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_system_directory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998fc56deb9a4abd6924f55ab5399b05bd23fa6421b06f595e919922b7c0dbd0 +size 563 diff --git a/ThirdParty/include/boost/detail/winapi/get_thread_times.hpp b/ThirdParty/include/boost/detail/winapi/get_thread_times.hpp new file mode 100644 index 00000000..75a1fccf --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/get_thread_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96e5a7d6be15e188f089ae2583e41c80ff0e397a56670b35884ff47d80c3f88f +size 540 diff --git a/ThirdParty/include/boost/detail/winapi/handle_info.hpp b/ThirdParty/include/boost/detail/winapi/handle_info.hpp new file mode 100644 index 00000000..25bd9975 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/handle_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a8414e4152c87838c2ed151206d9535038268e184799b745cae6abb6626e693 +size 497 diff --git a/ThirdParty/include/boost/detail/winapi/handles.hpp b/ThirdParty/include/boost/detail/winapi/handles.hpp new file mode 100644 index 00000000..f0f5f395 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/handles.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fba63abac1f9cadc62bdc013d0d765ebf19414e51196e3fbfef3ae5a37887a18 +size 495 diff --git a/ThirdParty/include/boost/detail/winapi/heap_memory.hpp b/ThirdParty/include/boost/detail/winapi/heap_memory.hpp new file mode 100644 index 00000000..5493b5cf --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/heap_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab0059ad4d9c121fc520a5b0bd07d3ca9b96d5d790f862e506c05c4b6dcb4d8d +size 518 diff --git a/ThirdParty/include/boost/detail/winapi/init_once.hpp b/ThirdParty/include/boost/detail/winapi/init_once.hpp new file mode 100644 index 00000000..5e205dde --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/init_once.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:102d3aa7c752d66654353f5ad7185a5ef60e6b88f4a4f3c03a70f01991df94eb +size 591 diff --git a/ThirdParty/include/boost/detail/winapi/jobs.hpp b/ThirdParty/include/boost/detail/winapi/jobs.hpp new file mode 100644 index 00000000..49a357f5 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/jobs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af3b9837acfe70f21d40c8ea01382f96478aa53c7c195dcd5f6e4b588696c4da +size 483 diff --git a/ThirdParty/include/boost/detail/winapi/limits.hpp b/ThirdParty/include/boost/detail/winapi/limits.hpp new file mode 100644 index 00000000..ae21832e --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:255ec01d72f6003225b3d9cd4ceb5422a97ad9a7a4e820d3b2b3bafb3c297917 +size 493 diff --git a/ThirdParty/include/boost/detail/winapi/local_memory.hpp b/ThirdParty/include/boost/detail/winapi/local_memory.hpp new file mode 100644 index 00000000..ff37363f --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/local_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1de63cb324e539f1e6ba27b04f2c1a27317f7084e5d081df472f865a8e6cb3b3 +size 520 diff --git a/ThirdParty/include/boost/detail/winapi/memory.hpp b/ThirdParty/include/boost/detail/winapi/memory.hpp new file mode 100644 index 00000000..a820596b --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14064e4b9161f43d34afe30a7c8073fba572d36bdd5a97d98fbcd88afb16e48e +size 490 diff --git a/ThirdParty/include/boost/detail/winapi/mutex.hpp b/ThirdParty/include/boost/detail/winapi/mutex.hpp new file mode 100644 index 00000000..bc630761 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e7d5f5da2ddef51df2413b1804695b02277896d158305442d61ca6c376e35f +size 488 diff --git a/ThirdParty/include/boost/detail/winapi/overlapped.hpp b/ThirdParty/include/boost/detail/winapi/overlapped.hpp new file mode 100644 index 00000000..77978c4d --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/overlapped.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b6800c170ae14063520c964c0d0c00ac89ce58f783c9ee739d19612ba7ac096 +size 513 diff --git a/ThirdParty/include/boost/detail/winapi/page_protection_flags.hpp b/ThirdParty/include/boost/detail/winapi/page_protection_flags.hpp new file mode 100644 index 00000000..4e7cf158 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/page_protection_flags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb371b4baf59697e5af8d9ab509dbe8a0f683bdb227e4f0e8974b3b2528931d7 +size 565 diff --git a/ThirdParty/include/boost/detail/winapi/pipes.hpp b/ThirdParty/include/boost/detail/winapi/pipes.hpp new file mode 100644 index 00000000..43e5ae00 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/pipes.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e0fd8bc7e675e40d844d250d16e759c432ca48009a0e1d49218467dee80e79e +size 488 diff --git a/ThirdParty/include/boost/detail/winapi/priority_class.hpp b/ThirdParty/include/boost/detail/winapi/priority_class.hpp new file mode 100644 index 00000000..98fb1935 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/priority_class.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8d44fb8e536e41278fbda3fd5fc45dee1e61a26a0d6d50e851e0d03afbbcc1e +size 533 diff --git a/ThirdParty/include/boost/detail/winapi/process.hpp b/ThirdParty/include/boost/detail/winapi/process.hpp new file mode 100644 index 00000000..c7e90581 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/process.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a4750ef10d3f1f268e1732e87e460b35e795f274c2b90f4aeb9babdd518c885 +size 498 diff --git a/ThirdParty/include/boost/detail/winapi/security.hpp b/ThirdParty/include/boost/detail/winapi/security.hpp new file mode 100644 index 00000000..6d6b9ca7 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/security.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7fe97cd2e55285cd618035c82c99c774c3de7d22b845734642c0d674a724a84 +size 500 diff --git a/ThirdParty/include/boost/detail/winapi/semaphore.hpp b/ThirdParty/include/boost/detail/winapi/semaphore.hpp new file mode 100644 index 00000000..b1d24ec0 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db7aa39b4343a0f66b935a59ad977278962379e74c0cac8f92906a9a10000862 +size 508 diff --git a/ThirdParty/include/boost/detail/winapi/shell.hpp b/ThirdParty/include/boost/detail/winapi/shell.hpp new file mode 100644 index 00000000..03e355f6 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/shell.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7437f13c9f434b4cf3f3487d6cb7777379ae6ce28727786d7ef23c56bf07155a +size 488 diff --git a/ThirdParty/include/boost/detail/winapi/show_window.hpp b/ThirdParty/include/boost/detail/winapi/show_window.hpp new file mode 100644 index 00000000..bb596825 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/show_window.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbdafeaa0ab9c1108db542a9eeac68233344e79ef2d985cc21907ae5728e302b +size 518 diff --git a/ThirdParty/include/boost/detail/winapi/srw_lock.hpp b/ThirdParty/include/boost/detail/winapi/srw_lock.hpp new file mode 100644 index 00000000..30ef3cf9 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/srw_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5ba6ef9b75093a556ecdb6bb8b7972e5d19f1d77e634c7d4a5cc048447af297 +size 582 diff --git a/ThirdParty/include/boost/detail/winapi/stack_backtrace.hpp b/ThirdParty/include/boost/detail/winapi/stack_backtrace.hpp new file mode 100644 index 00000000..99f6083e --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/stack_backtrace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:660275d50150aae8684024235a2fa0d9d55cd36cab467afb8964418e36eef29f +size 565 diff --git a/ThirdParty/include/boost/detail/winapi/synchronization.hpp b/ThirdParty/include/boost/detail/winapi/synchronization.hpp new file mode 100644 index 00000000..9426f233 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/synchronization.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b6644a696afac9741400c6f29feec97d777a2b1d4a9946d38cd7351772bb066 +size 535 diff --git a/ThirdParty/include/boost/detail/winapi/system.hpp b/ThirdParty/include/boost/detail/winapi/system.hpp new file mode 100644 index 00000000..927f3dbe --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/system.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15733ccd41fa17c9a487195c1102f8d5bdf897ae174663dacbe8d5606e219981 +size 490 diff --git a/ThirdParty/include/boost/detail/winapi/thread.hpp b/ThirdParty/include/boost/detail/winapi/thread.hpp new file mode 100644 index 00000000..6e799d4d --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ef7f2dc8ece4aa9c4c61d261eaaecd0eb8b6f0c4c588736f9de14622a18e890 +size 490 diff --git a/ThirdParty/include/boost/detail/winapi/thread_pool.hpp b/ThirdParty/include/boost/detail/winapi/thread_pool.hpp new file mode 100644 index 00000000..712540ee --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/thread_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f950c6742892cb382f3b90498cfb319dee4b6c42c6735b7d42d3108371d7c58 +size 515 diff --git a/ThirdParty/include/boost/detail/winapi/time.hpp b/ThirdParty/include/boost/detail/winapi/time.hpp new file mode 100644 index 00000000..a8ace51b --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3a8900e861ab0a429164dff6eba97e6942d2adff24a66f77b36fc495ca628b +size 483 diff --git a/ThirdParty/include/boost/detail/winapi/timers.hpp b/ThirdParty/include/boost/detail/winapi/timers.hpp new file mode 100644 index 00000000..6155b6ab --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/timers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af99266715c4290a294141862d092a5dfa9b3a31f32883d3404c924d9cabbc5 +size 490 diff --git a/ThirdParty/include/boost/detail/winapi/tls.hpp b/ThirdParty/include/boost/detail/winapi/tls.hpp new file mode 100644 index 00000000..bffac3ba --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/tls.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4069c9c7135bdc45fb538ca8ff07b28e671beac1318ffefdde4cb1d1259e3ab7 +size 475 diff --git a/ThirdParty/include/boost/detail/winapi/wait.hpp b/ThirdParty/include/boost/detail/winapi/wait.hpp new file mode 100644 index 00000000..e560d582 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/wait.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a56716b284b0913ef90a815d15e2bc5a381d13b5286ff3802aca66b8b8bcb936 +size 480 diff --git a/ThirdParty/include/boost/detail/winapi/waitable_timer.hpp b/ThirdParty/include/boost/detail/winapi/waitable_timer.hpp new file mode 100644 index 00000000..47478083 --- /dev/null +++ b/ThirdParty/include/boost/detail/winapi/waitable_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c54cde3e76277ec342ae754d04db876cf416308da5ef4a6e763e948b82d4b7ac +size 530 diff --git a/ThirdParty/include/boost/detail/workaround.hpp b/ThirdParty/include/boost/detail/workaround.hpp new file mode 100644 index 00000000..cfb82166 --- /dev/null +++ b/ThirdParty/include/boost/detail/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05218eed322b097f20bd71ffb52aa57721acafa13cb89b641634ab75d251b73c +size 335 diff --git a/ThirdParty/include/boost/exception/all.hpp b/ThirdParty/include/boost/exception/all.hpp new file mode 100644 index 00000000..2aee82cd --- /dev/null +++ b/ThirdParty/include/boost/exception/all.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d10e54d586b0769c93f29b2516259424d6754d3acc7d4c476e5573d22ff1dd1b +size 1088 diff --git a/ThirdParty/include/boost/exception/current_exception_cast.hpp b/ThirdParty/include/boost/exception/current_exception_cast.hpp new file mode 100644 index 00000000..6526e1e6 --- /dev/null +++ b/ThirdParty/include/boost/exception/current_exception_cast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ce6f0adf3c6f89b0f1b9acdb86082b844332c16dc0a46be0309f8e482ee640d +size 969 diff --git a/ThirdParty/include/boost/exception/detail/clone_current_exception.hpp b/ThirdParty/include/boost/exception/detail/clone_current_exception.hpp new file mode 100644 index 00000000..38957de3 --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/clone_current_exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fef7179fdde82942d5e2808a6c94fbc6dab9e619b66e92ee36faec3a23f79a8f +size 1523 diff --git a/ThirdParty/include/boost/exception/detail/error_info_impl.hpp b/ThirdParty/include/boost/exception/detail/error_info_impl.hpp new file mode 100644 index 00000000..6ca48289 --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/error_info_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afd2bf0004079ae850aae6456f7ab6d1fc5b7ba540ffdba534b262b047571edb +size 2603 diff --git a/ThirdParty/include/boost/exception/detail/exception_ptr.hpp b/ThirdParty/include/boost/exception/detail/exception_ptr.hpp new file mode 100644 index 00000000..b22a29ec --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/exception_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72044a74be3a6fac55fa564fa370530af48d3b017586d9164292957e2aa277ee +size 15044 diff --git a/ThirdParty/include/boost/exception/detail/is_output_streamable.hpp b/ThirdParty/include/boost/exception/detail/is_output_streamable.hpp new file mode 100644 index 00000000..08079991 --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/is_output_streamable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03e17bb5289229a2f0095292158042eea201bb1e5d722c06f276748346105dd7 +size 1683 diff --git a/ThirdParty/include/boost/exception/detail/object_hex_dump.hpp b/ThirdParty/include/boost/exception/detail/object_hex_dump.hpp new file mode 100644 index 00000000..d74f0402 --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/object_hex_dump.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d20278771122db81717d036dd9dc397ba368cad4604161edb4b83e9a6b97bb62 +size 1544 diff --git a/ThirdParty/include/boost/exception/detail/shared_ptr.hpp b/ThirdParty/include/boost/exception/detail/shared_ptr.hpp new file mode 100644 index 00000000..b4fd6f48 --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/shared_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f95697b38d3e5e3d9735c4e89fefb1797d4fdb98c6a98ea8101762229181cb31 +size 570 diff --git a/ThirdParty/include/boost/exception/detail/type_info.hpp b/ThirdParty/include/boost/exception/detail/type_info.hpp new file mode 100644 index 00000000..063eb827 --- /dev/null +++ b/ThirdParty/include/boost/exception/detail/type_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61c40731ffc078fa63b37197c7879707b8077d4e37635d81dc6c4edfcb2d24ba +size 1963 diff --git a/ThirdParty/include/boost/exception/diagnostic_information.hpp b/ThirdParty/include/boost/exception/diagnostic_information.hpp new file mode 100644 index 00000000..09f04abe --- /dev/null +++ b/ThirdParty/include/boost/exception/diagnostic_information.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1765dd76c9b767c678eafe07a54cac621d4f22658e02c4d79fb67ecb0bc2437c +size 6225 diff --git a/ThirdParty/include/boost/exception/enable_current_exception.hpp b/ThirdParty/include/boost/exception/enable_current_exception.hpp new file mode 100644 index 00000000..d032fc8a --- /dev/null +++ b/ThirdParty/include/boost/exception/enable_current_exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c86cd2285b011fcffefbad55a10ea61cf042b8c09d6278ac227b7ba7048be8ab +size 363 diff --git a/ThirdParty/include/boost/exception/enable_error_info.hpp b/ThirdParty/include/boost/exception/enable_error_info.hpp new file mode 100644 index 00000000..e732ff97 --- /dev/null +++ b/ThirdParty/include/boost/exception/enable_error_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15dc4b579c758c6ac086b0ddfea71219f0a4582719ba1bf6628dbf43c225162b +size 363 diff --git a/ThirdParty/include/boost/exception/errinfo_api_function.hpp b/ThirdParty/include/boost/exception/errinfo_api_function.hpp new file mode 100644 index 00000000..ba79bc62 --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_api_function.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bd6f4226a07aedb8da2f6304d1b91693edfec6fbe83d14324aeee4300f6b195 +size 647 diff --git a/ThirdParty/include/boost/exception/errinfo_at_line.hpp b/ThirdParty/include/boost/exception/errinfo_at_line.hpp new file mode 100644 index 00000000..00b25750 --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_at_line.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c80d47d6cd9d7881812e64fa4e8ef678635a456e192a1a377447a9d0aed66416 +size 547 diff --git a/ThirdParty/include/boost/exception/errinfo_errno.hpp b/ThirdParty/include/boost/exception/errinfo_errno.hpp new file mode 100644 index 00000000..e588a437 --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_errno.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b42cd61ed5ef1d23ad7c3c09e2dc2a24d881437b8402ad2a97908152d157e7cc +size 1296 diff --git a/ThirdParty/include/boost/exception/errinfo_file_handle.hpp b/ThirdParty/include/boost/exception/errinfo_file_handle.hpp new file mode 100644 index 00000000..6b14b59d --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_file_handle.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e05ddb3496f484221d00ff32b5582891decb1931c1c3513dd523a0dc3c825fcf +size 548 diff --git a/ThirdParty/include/boost/exception/errinfo_file_name.hpp b/ThirdParty/include/boost/exception/errinfo_file_name.hpp new file mode 100644 index 00000000..8156c533 --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_file_name.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8f8c04371a21e6be85cff42d4344cbf34c3c761ea37d1c7fc31f3075a018872 +size 723 diff --git a/ThirdParty/include/boost/exception/errinfo_file_open_mode.hpp b/ThirdParty/include/boost/exception/errinfo_file_open_mode.hpp new file mode 100644 index 00000000..068208c8 --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_file_open_mode.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c10c18c311e1eb32882b593d7f0e903fd9c23a614821f800a4757b7775739c3 +size 733 diff --git a/ThirdParty/include/boost/exception/errinfo_nested_exception.hpp b/ThirdParty/include/boost/exception/errinfo_nested_exception.hpp new file mode 100644 index 00000000..d9e91e21 --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_nested_exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d84e25ef4c14d8c5386138fa2785c4e66dc48b3e49fabdbe9806175ec1eebe91 +size 576 diff --git a/ThirdParty/include/boost/exception/errinfo_type_info_name.hpp b/ThirdParty/include/boost/exception/errinfo_type_info_name.hpp new file mode 100644 index 00000000..c6f4c18a --- /dev/null +++ b/ThirdParty/include/boost/exception/errinfo_type_info_name.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5bb4ba4865b59ba22fea9670cf73a6ec50000ad8490d1f049cdebb6ac12ca16 +size 637 diff --git a/ThirdParty/include/boost/exception/error_info.hpp b/ThirdParty/include/boost/exception/error_info.hpp new file mode 100644 index 00000000..a4d7006d --- /dev/null +++ b/ThirdParty/include/boost/exception/error_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a40e1a1818b60fe4f978933cfc99f8865174ec6d579205e314458c8464502e6 +size 387 diff --git a/ThirdParty/include/boost/exception/exception.hpp b/ThirdParty/include/boost/exception/exception.hpp new file mode 100644 index 00000000..0f38a250 --- /dev/null +++ b/ThirdParty/include/boost/exception/exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dc079bac46d9f89de9d8423e6c8f38b9ecf30f6552fa7e6bdfda2ea86113f89 +size 13395 diff --git a/ThirdParty/include/boost/exception/get_error_info.hpp b/ThirdParty/include/boost/exception/get_error_info.hpp new file mode 100644 index 00000000..f4184df7 --- /dev/null +++ b/ThirdParty/include/boost/exception/get_error_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79c5c95affcf79050fa5fa8e4d175d1c960627c1c7d5b9f856c79b4a38cd3230 +size 3701 diff --git a/ThirdParty/include/boost/exception/info.hpp b/ThirdParty/include/boost/exception/info.hpp new file mode 100644 index 00000000..8c1338a4 --- /dev/null +++ b/ThirdParty/include/boost/exception/info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b41e3a43d69a06cfae4f8d587543bdb06f059b14d475bd8614699fb26d6a499 +size 8663 diff --git a/ThirdParty/include/boost/exception/info_tuple.hpp b/ThirdParty/include/boost/exception/info_tuple.hpp new file mode 100644 index 00000000..586fc0cd --- /dev/null +++ b/ThirdParty/include/boost/exception/info_tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1818414aa51d87f02a494ea82ae6f05ce9d5d4e28abe65905dc679617cbb1acb +size 2390 diff --git a/ThirdParty/include/boost/exception/to_string.hpp b/ThirdParty/include/boost/exception/to_string.hpp new file mode 100644 index 00000000..87c03882 --- /dev/null +++ b/ThirdParty/include/boost/exception/to_string.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69584c5a901d6330a1376ead93f2c0f9785fe7bec22ebb64085a812965a3af01 +size 2268 diff --git a/ThirdParty/include/boost/exception/to_string_stub.hpp b/ThirdParty/include/boost/exception/to_string_stub.hpp new file mode 100644 index 00000000..9c21d413 --- /dev/null +++ b/ThirdParty/include/boost/exception/to_string_stub.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e1d3a10535a1db9eae2ab0eb57d449331a44a171ef16d068fee23e8f877fdd +size 3032 diff --git a/ThirdParty/include/boost/functional.hpp b/ThirdParty/include/boost/functional.hpp new file mode 100644 index 00000000..01c48c05 --- /dev/null +++ b/ThirdParty/include/boost/functional.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ea4dd42b936261a749117e245aed5e6ec7612e294dc1dc9fea61f991ecc3251 +size 20124 diff --git a/ThirdParty/include/boost/functional/factory.hpp b/ThirdParty/include/boost/functional/factory.hpp new file mode 100644 index 00000000..2e36edec --- /dev/null +++ b/ThirdParty/include/boost/functional/factory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bccebf2544b48566f0cc0c54fa4f5d854c7d74a43787ad17d82e8d1ead9a54ac +size 7206 diff --git a/ThirdParty/include/boost/functional/forward_adapter.hpp b/ThirdParty/include/boost/functional/forward_adapter.hpp new file mode 100644 index 00000000..cc0129b6 --- /dev/null +++ b/ThirdParty/include/boost/functional/forward_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e164429f2797c4ef7d3d7187bc3c52f6a7be17e9da9e60141705d08d9baaa2f6 +size 16401 diff --git a/ThirdParty/include/boost/functional/hash.hpp b/ThirdParty/include/boost/functional/hash.hpp new file mode 100644 index 00000000..4dee6201 --- /dev/null +++ b/ThirdParty/include/boost/functional/hash.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c1e756b0c98774fb26f75e8880ff4bbcfc53e18d8a39e686b32c7af45baa2d1 +size 233 diff --git a/ThirdParty/include/boost/functional/hash/extensions.hpp b/ThirdParty/include/boost/functional/hash/extensions.hpp new file mode 100644 index 00000000..4a5c587a --- /dev/null +++ b/ThirdParty/include/boost/functional/hash/extensions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efc474537dd76c2c774623fffe518e17f599c44ab6b20fb68dbc39ed0cd1f359 +size 234 diff --git a/ThirdParty/include/boost/functional/hash/hash.hpp b/ThirdParty/include/boost/functional/hash/hash.hpp new file mode 100644 index 00000000..4dee6201 --- /dev/null +++ b/ThirdParty/include/boost/functional/hash/hash.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c1e756b0c98774fb26f75e8880ff4bbcfc53e18d8a39e686b32c7af45baa2d1 +size 233 diff --git a/ThirdParty/include/boost/functional/hash/hash_fwd.hpp b/ThirdParty/include/boost/functional/hash/hash_fwd.hpp new file mode 100644 index 00000000..d25693be --- /dev/null +++ b/ThirdParty/include/boost/functional/hash/hash_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0177e56687b53ed7aaee092cd10244379e8078dbcb6d2ed1d85487da783f36a +size 237 diff --git a/ThirdParty/include/boost/functional/hash_fwd.hpp b/ThirdParty/include/boost/functional/hash_fwd.hpp new file mode 100644 index 00000000..d25693be --- /dev/null +++ b/ThirdParty/include/boost/functional/hash_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0177e56687b53ed7aaee092cd10244379e8078dbcb6d2ed1d85487da783f36a +size 237 diff --git a/ThirdParty/include/boost/functional/lightweight_forward_adapter.hpp b/ThirdParty/include/boost/functional/lightweight_forward_adapter.hpp new file mode 100644 index 00000000..8f93d2c6 --- /dev/null +++ b/ThirdParty/include/boost/functional/lightweight_forward_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb63c82a1215b02c4a3169de71f5e3d6026a22fb001bdac00745c210ea915384 +size 11464 diff --git a/ThirdParty/include/boost/functional/overloaded_function.hpp b/ThirdParty/include/boost/functional/overloaded_function.hpp new file mode 100644 index 00000000..eeb8e965 --- /dev/null +++ b/ThirdParty/include/boost/functional/overloaded_function.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5819bb758e91d8b2b6ea4a504b32b6f9382909cd322d7766301db7f845c07509 +size 11550 diff --git a/ThirdParty/include/boost/functional/overloaded_function/config.hpp b/ThirdParty/include/boost/functional/overloaded_function/config.hpp new file mode 100644 index 00000000..1fad36e5 --- /dev/null +++ b/ThirdParty/include/boost/functional/overloaded_function/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd7d900490adafab512bd9adf520574ef07667d10336fe08e833095b02d76827 +size 1767 diff --git a/ThirdParty/include/boost/functional/overloaded_function/detail/base.hpp b/ThirdParty/include/boost/functional/overloaded_function/detail/base.hpp new file mode 100644 index 00000000..359e051e --- /dev/null +++ b/ThirdParty/include/boost/functional/overloaded_function/detail/base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11aa009f112f773ba237e2649e14dffe16b86e4ab63532ea1be56d4b6ee1c207 +size 3020 diff --git a/ThirdParty/include/boost/functional/overloaded_function/detail/function_type.hpp b/ThirdParty/include/boost/functional/overloaded_function/detail/function_type.hpp new file mode 100644 index 00000000..f2ae9f99 --- /dev/null +++ b/ThirdParty/include/boost/functional/overloaded_function/detail/function_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3c903bd0a3327b9e26a2de29a85cde6e2b81fec992d226978beb18923866de9 +size 3278 diff --git a/ThirdParty/include/boost/functional/value_factory.hpp b/ThirdParty/include/boost/functional/value_factory.hpp new file mode 100644 index 00000000..f3623de9 --- /dev/null +++ b/ThirdParty/include/boost/functional/value_factory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bce63b611ed23a08deb7838440390e09329509aabfec28bd00e408ef96c698a8 +size 2138 diff --git a/ThirdParty/include/boost/get_pointer.hpp b/ThirdParty/include/boost/get_pointer.hpp new file mode 100644 index 00000000..2a51746c --- /dev/null +++ b/ThirdParty/include/boost/get_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56f8d28eef5c78280970bafc3b7b2878fd63e73161e26afb86b3a5e1ec4e1279 +size 2288 diff --git a/ThirdParty/include/boost/integer.hpp b/ThirdParty/include/boost/integer.hpp new file mode 100644 index 00000000..ee10737f --- /dev/null +++ b/ThirdParty/include/boost/integer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dae90c95bdbf6f1fe82fb396767ccffcd8a4e83c614d5e8453ae3b6cb9701f2 +size 11589 diff --git a/ThirdParty/include/boost/integer/common_factor.hpp b/ThirdParty/include/boost/integer/common_factor.hpp new file mode 100644 index 00000000..56501796 --- /dev/null +++ b/ThirdParty/include/boost/integer/common_factor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2521f84197c24d4a460fe6214957df4fd1c11a4a53972607905a73e727cc5cb8 +size 583 diff --git a/ThirdParty/include/boost/integer/common_factor_ct.hpp b/ThirdParty/include/boost/integer/common_factor_ct.hpp new file mode 100644 index 00000000..4f2f7c49 --- /dev/null +++ b/ThirdParty/include/boost/integer/common_factor_ct.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b85a7dda1a533f650df7f1b175291d1851e37f250bc062833eab94fe810bb8a +size 3368 diff --git a/ThirdParty/include/boost/integer/common_factor_rt.hpp b/ThirdParty/include/boost/integer/common_factor_rt.hpp new file mode 100644 index 00000000..c5cc6686 --- /dev/null +++ b/ThirdParty/include/boost/integer/common_factor_rt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28179a82632d6ccbe5e91c2d6c803b852178b9370e8aa52ca432a73ced0f5bef +size 22779 diff --git a/ThirdParty/include/boost/integer/integer_log2.hpp b/ThirdParty/include/boost/integer/integer_log2.hpp new file mode 100644 index 00000000..8a51b983 --- /dev/null +++ b/ThirdParty/include/boost/integer/integer_log2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04fa99f596f9bbdd90273dffd8a7ba5202d7c8ccd5a20d14a1756535a64bda5e +size 2245 diff --git a/ThirdParty/include/boost/integer/integer_mask.hpp b/ThirdParty/include/boost/integer/integer_mask.hpp new file mode 100644 index 00000000..ec287edb --- /dev/null +++ b/ThirdParty/include/boost/integer/integer_mask.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c96e1b3efbb580afe2dde46d30a29d1871fa223dd1fba8a2371de4ab6463c5c7 +size 4234 diff --git a/ThirdParty/include/boost/integer/static_log2.hpp b/ThirdParty/include/boost/integer/static_log2.hpp new file mode 100644 index 00000000..540b9670 --- /dev/null +++ b/ThirdParty/include/boost/integer/static_log2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af8357eeba97d9abce9ad9b7b8e5248b8cf933553ca4e181f704da50cbc81fa1 +size 3540 diff --git a/ThirdParty/include/boost/integer/static_min_max.hpp b/ThirdParty/include/boost/integer/static_min_max.hpp new file mode 100644 index 00000000..49c6e382 --- /dev/null +++ b/ThirdParty/include/boost/integer/static_min_max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af6c4c495b600acf67f8f3ae41b95c32353ac103c2f48ecd359577b2024713df +size 1605 diff --git a/ThirdParty/include/boost/integer_fwd.hpp b/ThirdParty/include/boost/integer_fwd.hpp new file mode 100644 index 00000000..aaa59b6d --- /dev/null +++ b/ThirdParty/include/boost/integer_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23575339d843ad61aa7255dd53313da4ddbc3bc41037e58db5a595c1c6697640 +size 5181 diff --git a/ThirdParty/include/boost/interprocess/allocators/adaptive_pool.hpp b/ThirdParty/include/boost/interprocess/allocators/adaptive_pool.hpp new file mode 100644 index 00000000..cc679d21 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/adaptive_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:616220460f1e914da88269829daddf6b37656d8c2949a08f7c42ff6bb2295ca3 +size 17970 diff --git a/ThirdParty/include/boost/interprocess/allocators/allocator.hpp b/ThirdParty/include/boost/interprocess/allocators/allocator.hpp new file mode 100644 index 00000000..8a71a687 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6077069c3e6a268fce7247dc53a634e6a7a1c151bc3afec3ee53524e8ea529c +size 11433 diff --git a/ThirdParty/include/boost/interprocess/allocators/cached_adaptive_pool.hpp b/ThirdParty/include/boost/interprocess/allocators/cached_adaptive_pool.hpp new file mode 100644 index 00000000..9abacdf3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/cached_adaptive_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e812f2862c584ed6ff405f0c7cb5e3f428f278c17981d35542fcdd026a0cb612 +size 13283 diff --git a/ThirdParty/include/boost/interprocess/allocators/cached_node_allocator.hpp b/ThirdParty/include/boost/interprocess/allocators/cached_node_allocator.hpp new file mode 100644 index 00000000..dedd916e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/cached_node_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f46285e55eab91cce4b7f77a6363fd83bf11dd0a63d3aa2b14f728a221fbf10e +size 11528 diff --git a/ThirdParty/include/boost/interprocess/allocators/detail/adaptive_node_pool.hpp b/ThirdParty/include/boost/interprocess/allocators/detail/adaptive_node_pool.hpp new file mode 100644 index 00000000..b0b86247 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/detail/adaptive_node_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ee7a663ade4d613ad9e555f320cc2eab0ed998d505b6511b1818228561a0ce2 +size 4187 diff --git a/ThirdParty/include/boost/interprocess/allocators/detail/allocator_common.hpp b/ThirdParty/include/boost/interprocess/allocators/detail/allocator_common.hpp new file mode 100644 index 00000000..3545fb44 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/detail/allocator_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a7bf4fb493a87adac31a0e74826c7b1a5f1657953b665626529dd1300d7529b +size 31594 diff --git a/ThirdParty/include/boost/interprocess/allocators/detail/node_pool.hpp b/ThirdParty/include/boost/interprocess/allocators/detail/node_pool.hpp new file mode 100644 index 00000000..cf117c2b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/detail/node_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d251903f7c2aadeab4606b84b8f37ce101cae7009a1aca636bfb51d7911e540b +size 3880 diff --git a/ThirdParty/include/boost/interprocess/allocators/detail/node_tools.hpp b/ThirdParty/include/boost/interprocess/allocators/detail/node_tools.hpp new file mode 100644 index 00000000..87d69ba5 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/detail/node_tools.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b37fa25764ce5c3cc49296170cb7f2dcc7468ef98baacce1e90dc52c10da1e8 +size 1535 diff --git a/ThirdParty/include/boost/interprocess/allocators/node_allocator.hpp b/ThirdParty/include/boost/interprocess/allocators/node_allocator.hpp new file mode 100644 index 00000000..ae5d9a0f --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/node_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8572772ed26c2e7a4c0db3c81f8a37c96d0f5c74b0643440fd714e477eef5fa2 +size 16625 diff --git a/ThirdParty/include/boost/interprocess/allocators/private_adaptive_pool.hpp b/ThirdParty/include/boost/interprocess/allocators/private_adaptive_pool.hpp new file mode 100644 index 00000000..e34c9c11 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/private_adaptive_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4bd4ba7a7100d041ee329e61bd58fe68e580f8cde56fdad60c09e93285cbb5f +size 17706 diff --git a/ThirdParty/include/boost/interprocess/allocators/private_node_allocator.hpp b/ThirdParty/include/boost/interprocess/allocators/private_node_allocator.hpp new file mode 100644 index 00000000..bc2d7ac4 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/allocators/private_node_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852b72bdc07b726e038a959f1d9a6aaeb432144eb036fe8ae70d72790380d335 +size 16253 diff --git a/ThirdParty/include/boost/interprocess/anonymous_shared_memory.hpp b/ThirdParty/include/boost/interprocess/anonymous_shared_memory.hpp new file mode 100644 index 00000000..91227fae --- /dev/null +++ b/ThirdParty/include/boost/interprocess/anonymous_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8ab4659071f765758e630781cd18adc280e7d885480cc723716660cb20fa47b +size 3532 diff --git a/ThirdParty/include/boost/interprocess/containers/allocation_type.hpp b/ThirdParty/include/boost/interprocess/containers/allocation_type.hpp new file mode 100644 index 00000000..b111d14e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/allocation_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cc2422647ed4062bea6a3811c5912a70b434d0a846d29b7182c1f033659eec6 +size 1716 diff --git a/ThirdParty/include/boost/interprocess/containers/containers_fwd.hpp b/ThirdParty/include/boost/interprocess/containers/containers_fwd.hpp new file mode 100644 index 00000000..44a999c1 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/containers_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f96b7b09b1f1bd394a760a909cd0336112de9d66cd3b64af2286f722934ae90a +size 1387 diff --git a/ThirdParty/include/boost/interprocess/containers/deque.hpp b/ThirdParty/include/boost/interprocess/containers/deque.hpp new file mode 100644 index 00000000..88897aac --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f429179d2d081bd7e45339bb3ab75c7ae03d256cd517308eabdd71b8ba69d4e2 +size 1044 diff --git a/ThirdParty/include/boost/interprocess/containers/flat_map.hpp b/ThirdParty/include/boost/interprocess/containers/flat_map.hpp new file mode 100644 index 00000000..9a65b38a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/flat_map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6478507387557195a010a6cf18b11b5a7de1143a3ea32e300086f04e0e71e940 +size 1097 diff --git a/ThirdParty/include/boost/interprocess/containers/flat_set.hpp b/ThirdParty/include/boost/interprocess/containers/flat_set.hpp new file mode 100644 index 00000000..996c0e0b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/flat_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8c5db5a5a13ea016b18faec7338c982a157ae8824fe0cb959ae42f7411eed23 +size 1097 diff --git a/ThirdParty/include/boost/interprocess/containers/list.hpp b/ThirdParty/include/boost/interprocess/containers/list.hpp new file mode 100644 index 00000000..594e16c3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1627ea6a8b7e8d9c0ec66ec8f60cd1f49e05b44811eb8fd5ef31d23963ad9071 +size 1039 diff --git a/ThirdParty/include/boost/interprocess/containers/map.hpp b/ThirdParty/include/boost/interprocess/containers/map.hpp new file mode 100644 index 00000000..89175007 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5426f0c0c9e7fc53bb2e3f7131847f2126ff96edfba597e29b8b37d31000f5ce +size 1067 diff --git a/ThirdParty/include/boost/interprocess/containers/pair.hpp b/ThirdParty/include/boost/interprocess/containers/pair.hpp new file mode 100644 index 00000000..7b3ae634 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2590ba221f3e980150cb607a75b25159a0930af5aadecd72f3051b4b8d3c5c73 +size 1051 diff --git a/ThirdParty/include/boost/interprocess/containers/set.hpp b/ThirdParty/include/boost/interprocess/containers/set.hpp new file mode 100644 index 00000000..dd3d6525 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd0b84d6c9df4d06da26bc0f9fd8a22431914666893b662ea59cf3b0387409a6 +size 1067 diff --git a/ThirdParty/include/boost/interprocess/containers/slist.hpp b/ThirdParty/include/boost/interprocess/containers/slist.hpp new file mode 100644 index 00000000..8657bc92 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/slist.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6ac4acc98e1ba2d651baa103806e01c4f08c54ad48039e0a571c298d3a971e6 +size 1043 diff --git a/ThirdParty/include/boost/interprocess/containers/stable_vector.hpp b/ThirdParty/include/boost/interprocess/containers/stable_vector.hpp new file mode 100644 index 00000000..be9dd552 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/stable_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f0002e93855662dbc5de38f84f42e3f1e71149789f2c7dfad7d3818e55d6e2f +size 1095 diff --git a/ThirdParty/include/boost/interprocess/containers/string.hpp b/ThirdParty/include/boost/interprocess/containers/string.hpp new file mode 100644 index 00000000..067d0f56 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/string.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81c7da01416662dce170d38e750cb2acf5b9a8b820f2056409a95c818a48aa22 +size 1086 diff --git a/ThirdParty/include/boost/interprocess/containers/vector.hpp b/ThirdParty/include/boost/interprocess/containers/vector.hpp new file mode 100644 index 00000000..aa3754e9 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0632c99d79b206ceac1fe3a793072691f01facc2ada799e81cec61d82d3b1bd5 +size 1049 diff --git a/ThirdParty/include/boost/interprocess/containers/version_type.hpp b/ThirdParty/include/boost/interprocess/containers/version_type.hpp new file mode 100644 index 00000000..de585cfd --- /dev/null +++ b/ThirdParty/include/boost/interprocess/containers/version_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d12f53fdbf3df957db5809e0119edb892fdcc3effb423a767f7e1b5abcac2141 +size 1069 diff --git a/ThirdParty/include/boost/interprocess/creation_tags.hpp b/ThirdParty/include/boost/interprocess/creation_tags.hpp new file mode 100644 index 00000000..f82f3949 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/creation_tags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:028e4d9b3b79ddc28d90f708ed8dafe11c4d12e5a5c3aa073f3b2f3e6594ebb7 +size 2399 diff --git a/ThirdParty/include/boost/interprocess/detail/atomic.hpp b/ThirdParty/include/boost/interprocess/detail/atomic.hpp new file mode 100644 index 00000000..594f4894 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/atomic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcac8403881d13a796f93b05d4ae24450c48bf4fdb8249650d58da7677e4ecab +size 22036 diff --git a/ThirdParty/include/boost/interprocess/detail/cast_tags.hpp b/ThirdParty/include/boost/interprocess/detail/cast_tags.hpp new file mode 100644 index 00000000..8b9deeab --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/cast_tags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b4221b19b64cb102a6716626b29a98c473834c6137643bf01eebbfbae8c9e9 +size 959 diff --git a/ThirdParty/include/boost/interprocess/detail/config_begin.hpp b/ThirdParty/include/boost/interprocess/detail/config_begin.hpp new file mode 100644 index 00000000..7b970b35 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/config_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dd41320ffea8d1e018b7c35fc59bd5e86ffd6ac3285296f2d50210382c72cda +size 3210 diff --git a/ThirdParty/include/boost/interprocess/detail/config_end.hpp b/ThirdParty/include/boost/interprocess/detail/config_end.hpp new file mode 100644 index 00000000..377fe02b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/config_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2c18196ba9b71075cb6e193ab327216191916cc8e4c45c484577d488caff5c +size 564 diff --git a/ThirdParty/include/boost/interprocess/detail/config_external_begin.hpp b/ThirdParty/include/boost/interprocess/detail/config_external_begin.hpp new file mode 100644 index 00000000..8ed80736 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/config_external_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:548d9e827042cb33ce0e9e6226e67395882f6001cfdaf72948d75e295ff081a6 +size 714 diff --git a/ThirdParty/include/boost/interprocess/detail/config_external_end.hpp b/ThirdParty/include/boost/interprocess/detail/config_external_end.hpp new file mode 100644 index 00000000..d97b7789 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/config_external_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d7685806919226c8156bb6f1822baec80e01032dcefd6da8fbfcfdac2c1539a +size 529 diff --git a/ThirdParty/include/boost/interprocess/detail/file_locking_helpers.hpp b/ThirdParty/include/boost/interprocess/detail/file_locking_helpers.hpp new file mode 100644 index 00000000..c4c62512 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/file_locking_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:177c53ff2d26e0c2144eb9752a353758a6208189f121dccf3b5e13eec8c85242 +size 7029 diff --git a/ThirdParty/include/boost/interprocess/detail/file_wrapper.hpp b/ThirdParty/include/boost/interprocess/detail/file_wrapper.hpp new file mode 100644 index 00000000..7d53e1bd --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/file_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1a5d357423fb322d0ea02de7c52a99d1c0a213c8b35b175a2370086ab638920 +size 6407 diff --git a/ThirdParty/include/boost/interprocess/detail/in_place_interface.hpp b/ThirdParty/include/boost/interprocess/detail/in_place_interface.hpp new file mode 100644 index 00000000..ddcdebd3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/in_place_interface.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9aa2674552e3cbd2b0db3a0f2dd0bc5786e22a0700872eaed9f5a0706659eed +size 2284 diff --git a/ThirdParty/include/boost/interprocess/detail/intermodule_singleton.hpp b/ThirdParty/include/boost/interprocess/detail/intermodule_singleton.hpp new file mode 100644 index 00000000..3cd5a26f --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/intermodule_singleton.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:973fbdd6aafdf760f02ce822e7653ad674c78fc419df052d2d30cab35796de59 +size 1634 diff --git a/ThirdParty/include/boost/interprocess/detail/intermodule_singleton_common.hpp b/ThirdParty/include/boost/interprocess/detail/intermodule_singleton_common.hpp new file mode 100644 index 00000000..99903fe0 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/intermodule_singleton_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19e5513c31a297d6b3a5283ad620392cf27d9cd465ba684c8fe1fde56508423b +size 20068 diff --git a/ThirdParty/include/boost/interprocess/detail/interprocess_tester.hpp b/ThirdParty/include/boost/interprocess/detail/interprocess_tester.hpp new file mode 100644 index 00000000..0725ba3e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/interprocess_tester.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bf8ca1b3322e202fe051f87fdbb85390142f860ae79ecf1ac66c4b32ac097a0 +size 1028 diff --git a/ThirdParty/include/boost/interprocess/detail/intersegment_ptr.hpp b/ThirdParty/include/boost/interprocess/detail/intersegment_ptr.hpp new file mode 100644 index 00000000..65b1ed97 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/intersegment_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cac375e0246a918282dbba592ecc7365a4cfb0471446fca3250f5956e4ec1f0 +size 34301 diff --git a/ThirdParty/include/boost/interprocess/detail/managed_global_memory.hpp b/ThirdParty/include/boost/interprocess/detail/managed_global_memory.hpp new file mode 100644 index 00000000..351265d2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/managed_global_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcf7ad400e9acf5c70c5b220b024628e14f5bb6752876f395a194ed4af9d2603 +size 4072 diff --git a/ThirdParty/include/boost/interprocess/detail/managed_memory_impl.hpp b/ThirdParty/include/boost/interprocess/detail/managed_memory_impl.hpp new file mode 100644 index 00000000..e9e24fc8 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/managed_memory_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee7a703555aa2400248a31b9c1ac5e7be969f080a273a7145bd69405db12efde +size 29951 diff --git a/ThirdParty/include/boost/interprocess/detail/managed_multi_shared_memory.hpp b/ThirdParty/include/boost/interprocess/detail/managed_multi_shared_memory.hpp new file mode 100644 index 00000000..92fff0db --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/managed_multi_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41727bedd1c02df230716020e845381cadf72b45e9ef534bf459e908f4363817 +size 14744 diff --git a/ThirdParty/include/boost/interprocess/detail/managed_open_or_create_impl.hpp b/ThirdParty/include/boost/interprocess/detail/managed_open_or_create_impl.hpp new file mode 100644 index 00000000..8a2b8bd1 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/managed_open_or_create_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef48c5d892596e70d3f8629ae698a1896a82d46476db5e8ce1c9e033a9ee91f8 +size 15421 diff --git a/ThirdParty/include/boost/interprocess/detail/math_functions.hpp b/ThirdParty/include/boost/interprocess/detail/math_functions.hpp new file mode 100644 index 00000000..303cd15b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/math_functions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c2a5f564f8a0da0409278e6dc7de4b58d4dde535e0e77a389b963d213bd5133 +size 2574 diff --git a/ThirdParty/include/boost/interprocess/detail/min_max.hpp b/ThirdParty/include/boost/interprocess/detail/min_max.hpp new file mode 100644 index 00000000..4cb2e7be --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/min_max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:044dfd4b216ace68ba94084c42b91aeef1f48f83a621f1d36c0625b1ad8e34e8 +size 1147 diff --git a/ThirdParty/include/boost/interprocess/detail/move.hpp b/ThirdParty/include/boost/interprocess/detail/move.hpp new file mode 100644 index 00000000..392f5f19 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/move.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ab0143959d0bc1bfb949b8dfbe4978d7e94bb82ac61afb2a9a247db9ac1f5a9 +size 879 diff --git a/ThirdParty/include/boost/interprocess/detail/mpl.hpp b/ThirdParty/include/boost/interprocess/detail/mpl.hpp new file mode 100644 index 00000000..9d1d8a06 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/mpl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3876c02e53452c4470720e1c7f427de56e40a5cc6b6050bc45c8d80e8fb6350b +size 2259 diff --git a/ThirdParty/include/boost/interprocess/detail/named_proxy.hpp b/ThirdParty/include/boost/interprocess/detail/named_proxy.hpp new file mode 100644 index 00000000..80157eee --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/named_proxy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8241945e92acdeec70fbcf821dfe8237a1e8a51c03201def51ed00788ab8234d +size 9950 diff --git a/ThirdParty/include/boost/interprocess/detail/nothrow.hpp b/ThirdParty/include/boost/interprocess/detail/nothrow.hpp new file mode 100644 index 00000000..8ac0f69a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/nothrow.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4f413e3e43cea72bb78dffec1ef93f214ae5f17c6dd5eb1f401e5a8a729eaf7 +size 1199 diff --git a/ThirdParty/include/boost/interprocess/detail/os_file_functions.hpp b/ThirdParty/include/boost/interprocess/detail/os_file_functions.hpp new file mode 100644 index 00000000..10f177cb --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/os_file_functions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77660113d4221e396b06a096f57891ab6fdb653b5b74aca3eddc7816e339da4c +size 22440 diff --git a/ThirdParty/include/boost/interprocess/detail/os_thread_functions.hpp b/ThirdParty/include/boost/interprocess/detail/os_thread_functions.hpp new file mode 100644 index 00000000..69725a60 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/os_thread_functions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fa020630959af80afef177012d09f073cc9e6d8ccb43ddfb44ebb488b75e09e +size 17427 diff --git a/ThirdParty/include/boost/interprocess/detail/pointer_type.hpp b/ThirdParty/include/boost/interprocess/detail/pointer_type.hpp new file mode 100644 index 00000000..d72a7ffc --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/pointer_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b03ecffc03ba2a319c101a8dd2b2702fc5c837360cb96362e33be5c594476b75 +size 1890 diff --git a/ThirdParty/include/boost/interprocess/detail/portable_intermodule_singleton.hpp b/ThirdParty/include/boost/interprocess/detail/portable_intermodule_singleton.hpp new file mode 100644 index 00000000..f3be0bb3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/portable_intermodule_singleton.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84a02b69c59cff787781c1f660ac8b797be6b24302ecf92859607d4632db1b71 +size 11670 diff --git a/ThirdParty/include/boost/interprocess/detail/posix_time_types_wrk.hpp b/ThirdParty/include/boost/interprocess/detail/posix_time_types_wrk.hpp new file mode 100644 index 00000000..929d9812 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/posix_time_types_wrk.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66efb200e1a5a9cfb639413cfb01710f915ab267a6143222da886c1ab1aeece7 +size 1459 diff --git a/ThirdParty/include/boost/interprocess/detail/ptime_wrk.hpp b/ThirdParty/include/boost/interprocess/detail/ptime_wrk.hpp new file mode 100644 index 00000000..5d9b158e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/ptime_wrk.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9df904543634638373609df637766b76d168802b3291268518e3fd1764ed115 +size 1195 diff --git a/ThirdParty/include/boost/interprocess/detail/robust_emulation.hpp b/ThirdParty/include/boost/interprocess/detail/robust_emulation.hpp new file mode 100644 index 00000000..61b7fecc --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/robust_emulation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e99e90dc7ef114ebcaae1a586296998b68de01475a9cb120302f71cd680674ed +size 13020 diff --git a/ThirdParty/include/boost/interprocess/detail/segment_manager_helper.hpp b/ThirdParty/include/boost/interprocess/detail/segment_manager_helper.hpp new file mode 100644 index 00000000..09be2d66 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/segment_manager_helper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45156dbb35d9d6d3f2d27e4e27b4b0cbb8d8b21a7e87bd8636a6268aea59d77b +size 15325 diff --git a/ThirdParty/include/boost/interprocess/detail/shared_dir_helpers.hpp b/ThirdParty/include/boost/interprocess/detail/shared_dir_helpers.hpp new file mode 100644 index 00000000..55141864 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/shared_dir_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e892e34152e7622031fb1c4c909f4d645da2cefeb1c37ec9ede541dced9b6c25 +size 6908 diff --git a/ThirdParty/include/boost/interprocess/detail/simple_swap.hpp b/ThirdParty/include/boost/interprocess/detail/simple_swap.hpp new file mode 100644 index 00000000..1236896c --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/simple_swap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3ce9ba52ffa61cbe906d3918b7d659d5cee2b2d98a324c30fd19fe9bc073400 +size 859 diff --git a/ThirdParty/include/boost/interprocess/detail/std_fwd.hpp b/ThirdParty/include/boost/interprocess/detail/std_fwd.hpp new file mode 100644 index 00000000..fd3380a3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/std_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d11b22c47e831393e71498a7c72c274e32e96059b773ef4bd59711273c962e0 +size 1708 diff --git a/ThirdParty/include/boost/interprocess/detail/transform_iterator.hpp b/ThirdParty/include/boost/interprocess/detail/transform_iterator.hpp new file mode 100644 index 00000000..f49e85fe --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/transform_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8590dac3b9d0cd39a6fb3d7edeb59fbf1382785f7cbbf4fe80946bdaac47de7e +size 1283 diff --git a/ThirdParty/include/boost/interprocess/detail/type_traits.hpp b/ThirdParty/include/boost/interprocess/detail/type_traits.hpp new file mode 100644 index 00000000..98efdb05 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/type_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23eba3681b9586e887299d3b0db5c536d2498dd40ec5bd001b67897a6b1e51ab +size 2901 diff --git a/ThirdParty/include/boost/interprocess/detail/utilities.hpp b/ThirdParty/include/boost/interprocess/detail/utilities.hpp new file mode 100644 index 00000000..3cc04f3a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/utilities.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02a681af9a10e574bf03f916bceeb288a2ae5f3761a158e318f9531fafeb9dec +size 5917 diff --git a/ThirdParty/include/boost/interprocess/detail/variadic_templates_tools.hpp b/ThirdParty/include/boost/interprocess/detail/variadic_templates_tools.hpp new file mode 100644 index 00000000..dbbba2ec --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/variadic_templates_tools.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeaf51755f544f638c4c7235a1bb3167c397d3bd10163b2c50ceae8733184762 +size 1115 diff --git a/ThirdParty/include/boost/interprocess/detail/win32_api.hpp b/ThirdParty/include/boost/interprocess/detail/win32_api.hpp new file mode 100644 index 00000000..828def28 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/win32_api.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bc87d17c184386df002b43a7711186b317dbd4d51d2545bfc741cc956985cbd +size 87936 diff --git a/ThirdParty/include/boost/interprocess/detail/windows_intermodule_singleton.hpp b/ThirdParty/include/boost/interprocess/detail/windows_intermodule_singleton.hpp new file mode 100644 index 00000000..e27f018d --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/windows_intermodule_singleton.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:306afd896afda7b39c840248905ccaeae00db51e12c60dbf82146f905384cba2 +size 10745 diff --git a/ThirdParty/include/boost/interprocess/detail/workaround.hpp b/ThirdParty/include/boost/interprocess/detail/workaround.hpp new file mode 100644 index 00000000..bac625d2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25fcbb2563fac68febe8df96ded136e99b451de2ec994843db17429aebd3256b +size 9271 diff --git a/ThirdParty/include/boost/interprocess/detail/xsi_shared_memory_file_wrapper.hpp b/ThirdParty/include/boost/interprocess/detail/xsi_shared_memory_file_wrapper.hpp new file mode 100644 index 00000000..56066ba2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/detail/xsi_shared_memory_file_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1c9a8a59c210eb3d88401c0b5ba05c61622870ef88349456d2e554e7cf2b576 +size 3144 diff --git a/ThirdParty/include/boost/interprocess/errors.hpp b/ThirdParty/include/boost/interprocess/errors.hpp new file mode 100644 index 00000000..2e7633dc --- /dev/null +++ b/ThirdParty/include/boost/interprocess/errors.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6025182f51d539c36a6eeac5d8f072f20fa5fdaa751297db1154b15b37c4f50b +size 7483 diff --git a/ThirdParty/include/boost/interprocess/exceptions.hpp b/ThirdParty/include/boost/interprocess/exceptions.hpp new file mode 100644 index 00000000..6104662e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/exceptions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:404255525890e8eb13e2d740a80a0d769707bfcb38109b587ceb1c9153a6336e +size 3188 diff --git a/ThirdParty/include/boost/interprocess/file_mapping.hpp b/ThirdParty/include/boost/interprocess/file_mapping.hpp new file mode 100644 index 00000000..532cf3fc --- /dev/null +++ b/ThirdParty/include/boost/interprocess/file_mapping.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46e5117fd075d203ca13545705a48222b1fbd43ca21d584650773317e8e29404 +size 5894 diff --git a/ThirdParty/include/boost/interprocess/indexes/flat_map_index.hpp b/ThirdParty/include/boost/interprocess/indexes/flat_map_index.hpp new file mode 100644 index 00000000..19f03da6 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/indexes/flat_map_index.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a07480f429c0c59a464128cbe9fc776f88f7b6fd18140a590011dfb5fde28fc +size 3250 diff --git a/ThirdParty/include/boost/interprocess/indexes/iset_index.hpp b/ThirdParty/include/boost/interprocess/indexes/iset_index.hpp new file mode 100644 index 00000000..22e79b1b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/indexes/iset_index.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ae246829ef789cfb2b26314c7f8b743b4ee5fe20f83b45ceb7185bfc657132d +size 5611 diff --git a/ThirdParty/include/boost/interprocess/indexes/iunordered_set_index.hpp b/ThirdParty/include/boost/interprocess/indexes/iunordered_set_index.hpp new file mode 100644 index 00000000..31d1486f --- /dev/null +++ b/ThirdParty/include/boost/interprocess/indexes/iunordered_set_index.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a480a92ef4e5ce3946a1be078a2b5bb11184b108c069b4cb90c2b3861b3c11be +size 13306 diff --git a/ThirdParty/include/boost/interprocess/indexes/map_index.hpp b/ThirdParty/include/boost/interprocess/indexes/map_index.hpp new file mode 100644 index 00000000..d0b51ed2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/indexes/map_index.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773999c980931f77e0a598e4ad165af94cfc9de38ddace35caf3467c881b43c7 +size 3640 diff --git a/ThirdParty/include/boost/interprocess/indexes/null_index.hpp b/ThirdParty/include/boost/interprocess/indexes/null_index.hpp new file mode 100644 index 00000000..628b9b1d --- /dev/null +++ b/ThirdParty/include/boost/interprocess/indexes/null_index.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5e0c3a09b2b25f1a2962e26ca7ebf7010eff188dd63f013c8990c706ebfc51d +size 2000 diff --git a/ThirdParty/include/boost/interprocess/indexes/unordered_map_index.hpp b/ThirdParty/include/boost/interprocess/indexes/unordered_map_index.hpp new file mode 100644 index 00000000..caad24ed --- /dev/null +++ b/ThirdParty/include/boost/interprocess/indexes/unordered_map_index.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:607037b389b25bdbe5aff0bb9f134c8cf82cdd66ed35c410464f7c6660f4db47 +size 4239 diff --git a/ThirdParty/include/boost/interprocess/interprocess_fwd.hpp b/ThirdParty/include/boost/interprocess/interprocess_fwd.hpp new file mode 100644 index 00000000..27ff1565 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/interprocess_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4207e2e9b41219ca8d5e032988e4993247a9dc1821779a3485281bc66297aec7 +size 17418 diff --git a/ThirdParty/include/boost/interprocess/ipc/message_queue.hpp b/ThirdParty/include/boost/interprocess/ipc/message_queue.hpp new file mode 100644 index 00000000..3abbcd58 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/ipc/message_queue.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5d3b0632058dcace33891f7fb801d6b5214acac49311a9cb9ce2bb7cb1774d +size 39895 diff --git a/ThirdParty/include/boost/interprocess/managed_external_buffer.hpp b/ThirdParty/include/boost/interprocess/managed_external_buffer.hpp new file mode 100644 index 00000000..c56628f8 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/managed_external_buffer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d4badc1affe41a8078fe51a3fd8ba1fbdc31e4291c91b54ccb41dc720a0be8c +size 4595 diff --git a/ThirdParty/include/boost/interprocess/managed_heap_memory.hpp b/ThirdParty/include/boost/interprocess/managed_heap_memory.hpp new file mode 100644 index 00000000..089449e3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/managed_heap_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc1267244286df205eefff17f99aba95fb82e50ceecd184aa55d82e7e143b5aa +size 5459 diff --git a/ThirdParty/include/boost/interprocess/managed_mapped_file.hpp b/ThirdParty/include/boost/interprocess/managed_mapped_file.hpp new file mode 100644 index 00000000..9c0edfc2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/managed_mapped_file.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f203b2eadba79d8dcf529858b134a8eaceab21cb215d0b1ed715227e5b2aa19c +size 8685 diff --git a/ThirdParty/include/boost/interprocess/managed_shared_memory.hpp b/ThirdParty/include/boost/interprocess/managed_shared_memory.hpp new file mode 100644 index 00000000..5f3a5d62 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/managed_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c85fdbba76640cb21a354a9fff94868c5314325672dba71207620be78e87bd +size 9067 diff --git a/ThirdParty/include/boost/interprocess/managed_windows_shared_memory.hpp b/ThirdParty/include/boost/interprocess/managed_windows_shared_memory.hpp new file mode 100644 index 00000000..5ab86e79 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/managed_windows_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cd4668d1b3bd4905da785d73129a26e5aac60c81477abdc2814dfef1da36a2a +size 8014 diff --git a/ThirdParty/include/boost/interprocess/managed_xsi_shared_memory.hpp b/ThirdParty/include/boost/interprocess/managed_xsi_shared_memory.hpp new file mode 100644 index 00000000..f44ea537 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/managed_xsi_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e15337a002e6b3532204baa48620b01f024d9d24af03746fd5e4cbbfba44fe8 +size 8022 diff --git a/ThirdParty/include/boost/interprocess/mapped_region.hpp b/ThirdParty/include/boost/interprocess/mapped_region.hpp new file mode 100644 index 00000000..d1228d04 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/mapped_region.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82fd98529b356baa9ae8dbbf843e38c67d3213d6853bb1f515299d26672e3303 +size 31773 diff --git a/ThirdParty/include/boost/interprocess/mem_algo/detail/mem_algo_common.hpp b/ThirdParty/include/boost/interprocess/mem_algo/detail/mem_algo_common.hpp new file mode 100644 index 00000000..e5415726 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/mem_algo/detail/mem_algo_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2338b2fff47fb160e01a4d8deae9d385c7e99461e0684a42a4890ef9d38af8c6 +size 25012 diff --git a/ThirdParty/include/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp b/ThirdParty/include/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp new file mode 100644 index 00000000..f623f9ec --- /dev/null +++ b/ThirdParty/include/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0718abca9fd43ef35e9e74e18dd3b6833f30003186facef55e31410266d0e682 +size 41335 diff --git a/ThirdParty/include/boost/interprocess/mem_algo/rbtree_best_fit.hpp b/ThirdParty/include/boost/interprocess/mem_algo/rbtree_best_fit.hpp new file mode 100644 index 00000000..70444bb3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/mem_algo/rbtree_best_fit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:532482db8190365b3a233f27bcf00ecc87446c039c950c3e25911ffb7e5f983d +size 58181 diff --git a/ThirdParty/include/boost/interprocess/mem_algo/simple_seq_fit.hpp b/ThirdParty/include/boost/interprocess/mem_algo/simple_seq_fit.hpp new file mode 100644 index 00000000..fab7d08b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/mem_algo/simple_seq_fit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6aca3202e6517287354cb2e9064ba2a0fc31b0a18979a94976e153956c7ea7d0 +size 2081 diff --git a/ThirdParty/include/boost/interprocess/offset_ptr.hpp b/ThirdParty/include/boost/interprocess/offset_ptr.hpp new file mode 100644 index 00000000..d8d218b5 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/offset_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1db603f00b77069dffa030f7ffae7c57ba4f78d934ae2d42dbf22239f6963d2 +size 30933 diff --git a/ThirdParty/include/boost/interprocess/permissions.hpp b/ThirdParty/include/boost/interprocess/permissions.hpp new file mode 100644 index 00000000..870b7d6a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/permissions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e145835880930f4ecf6a31daed286749e59ffbcab6914e019a6cd0959a424645 +size 3443 diff --git a/ThirdParty/include/boost/interprocess/segment_manager.hpp b/ThirdParty/include/boost/interprocess/segment_manager.hpp new file mode 100644 index 00000000..59857ed3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/segment_manager.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5be8e698ffd520cec030d74a265005437794f4b446ed80e744e5ed0dec6588 +size 50713 diff --git a/ThirdParty/include/boost/interprocess/shared_memory_object.hpp b/ThirdParty/include/boost/interprocess/shared_memory_object.hpp new file mode 100644 index 00000000..2971248a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/shared_memory_object.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:544eea3a4442b343f5a2157765c9f1f27e5632c45db8b1de7107abdff9aa6cef +size 13550 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/deleter.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/deleter.hpp new file mode 100644 index 00000000..4e9c3292 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/deleter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3e848808a77f845c7f37b12f351c58ef62e0132dd035fa632c237ebd41c590b +size 1883 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp new file mode 100644 index 00000000..1f636aec --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66c25e51f855bf759638f91f13ec9176fd43bf28fdd38f93e57020bf0dab7225 +size 1354 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/detail/shared_count.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/detail/shared_count.hpp new file mode 100644 index 00000000..33aca626 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/detail/shared_count.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b0c1f92b8370390cd6a68283e38fff852fbea6ac4fb1f75e06d4775bdf2b78 +size 11546 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp new file mode 100644 index 00000000..3b7e986b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e29b710995ff1ce20b3643dab563a7150f95528548a55ce62e9066d000fc39e +size 833 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp new file mode 100644 index 00000000..fca1e612 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcc27846ab065f0040c0c894a76d81c8ce37d779fd7c6ee1c33b5868f25614f3 +size 2344 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp new file mode 100644 index 00000000..309b45d6 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ac5e3338a951029c06b19ca2d39b2b84bbe10e983c29069cfda8f72963c91c9 +size 4922 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/enable_shared_from_this.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/enable_shared_from_this.hpp new file mode 100644 index 00000000..324b9a53 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/enable_shared_from_this.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c694115f3cc25a3ea531cef638ed07c3bf4fabc8ba9ac4dbe40e202577f5067 +size 2661 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/intrusive_ptr.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/intrusive_ptr.hpp new file mode 100755 index 00000000..7432ba72 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/intrusive_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d93a9d2ebac83cc90128d44c2ede6e75759b78b7f66566f53c6cb31d2464b886 +size 10454 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/scoped_ptr.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/scoped_ptr.hpp new file mode 100644 index 00000000..014a70ac --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/scoped_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dfde0d002155cf857ec62be3d46fc3e7037171d59ef8d96f581cb834120ddb3 +size 5771 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/shared_ptr.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/shared_ptr.hpp new file mode 100644 index 00000000..abbbde8b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/shared_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1fffc5a4e995c3f7e828cdf443e2038e2d3710ceb419605d64d96c61d9f6dab +size 16662 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/unique_ptr.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/unique_ptr.hpp new file mode 100644 index 00000000..ed86b1b0 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/unique_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10071ebb809b7fccc0102b1041487d54a2b72e359f9fc5d3b1be8dd88c0376e4 +size 2009 diff --git a/ThirdParty/include/boost/interprocess/smart_ptr/weak_ptr.hpp b/ThirdParty/include/boost/interprocess/smart_ptr/weak_ptr.hpp new file mode 100644 index 00000000..43a5ed8a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/smart_ptr/weak_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be7850ac116baeebdf1c3fd351cf207cf1b1ec68773e99cf3e7af650e0c8e091 +size 9111 diff --git a/ThirdParty/include/boost/interprocess/streams/bufferstream.hpp b/ThirdParty/include/boost/interprocess/streams/bufferstream.hpp new file mode 100644 index 00000000..a7682c1e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/streams/bufferstream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15bc75877551cee4f7c39d8b3befadcaa5dc5a854e25af6895327ba7f5a0ad81 +size 18980 diff --git a/ThirdParty/include/boost/interprocess/streams/vectorstream.hpp b/ThirdParty/include/boost/interprocess/streams/vectorstream.hpp new file mode 100644 index 00000000..02c6a8f2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/streams/vectorstream.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37aa5bad55f8ef9aab0d65af51724af0fc3a13ff633fdbeaa2cd5cb8274cfceb +size 25648 diff --git a/ThirdParty/include/boost/interprocess/sync/detail/common_algorithms.hpp b/ThirdParty/include/boost/interprocess/sync/detail/common_algorithms.hpp new file mode 100644 index 00000000..f2e094e6 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/detail/common_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9e06335e765d9541084b6adde10aa6893a1cd0d063ef75795cc54600cf615f9 +size 3258 diff --git a/ThirdParty/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp b/ThirdParty/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp new file mode 100644 index 00000000..87dc0f71 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:048c4b85611053738669c1f44dd60bf629378715e9e2035aca6ab6ba2d69cfa6 +size 12723 diff --git a/ThirdParty/include/boost/interprocess/sync/detail/condition_any_algorithm.hpp b/ThirdParty/include/boost/interprocess/sync/detail/condition_any_algorithm.hpp new file mode 100644 index 00000000..283a4fae --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/detail/condition_any_algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:683f38416dcbcf491cce8caed799336e9806900070693fb164e22f55e61f5fb8 +size 6866 diff --git a/ThirdParty/include/boost/interprocess/sync/detail/locks.hpp b/ThirdParty/include/boost/interprocess/sync/detail/locks.hpp new file mode 100644 index 00000000..fd5b060d --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/detail/locks.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71642ca84797023597036e141d259b09d13273b75fe98266e7c5c612867bd5eb +size 2210 diff --git a/ThirdParty/include/boost/interprocess/sync/file_lock.hpp b/ThirdParty/include/boost/interprocess/sync/file_lock.hpp new file mode 100644 index 00000000..92aa9f9d --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/file_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3915d890d6bc99177b1881a893e2579576f956ffac6252c1da47f37d8622dc53 +size 7962 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_condition.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_condition.hpp new file mode 100644 index 00000000..8012540e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db43486d87b52214941e37e0b042c2f885faa00cacc311026ce9913976813c82 +size 5656 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_condition_any.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_condition_any.hpp new file mode 100644 index 00000000..c50685f6 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_condition_any.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5727e387c131af5eb7bdec1c6e393d6b1d77f5242bde981e3a514e85f04c9ddf +size 4762 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_mutex.hpp new file mode 100644 index 00000000..cb7151a5 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:692e4a789d4f1e10e21ec2c74da8e6731f3d4060abc637fedbac74a9bbe4f50a +size 6359 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_recursive_mutex.hpp new file mode 100644 index 00000000..3671eb0f --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a43f4cc30cc92f6bc77e01001fc53a7e387f712f21ac7f749287304cc15858a7 +size 6821 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_semaphore.hpp new file mode 100644 index 00000000..bbbd6f7b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a374e33a861af91285aed20f217bb713264ed4848af792f77710f72c45b391ef +size 5681 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_sharable_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_sharable_mutex.hpp new file mode 100644 index 00000000..85edfc40 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_sharable_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30abd0170b31f6ba3d890c0045dd997d35e069210c3e409efda0ec578ce98810 +size 10918 diff --git a/ThirdParty/include/boost/interprocess/sync/interprocess_upgradable_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/interprocess_upgradable_mutex.hpp new file mode 100644 index 00000000..87bd9dbd --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/interprocess_upgradable_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d645da3a1acc9fba741243b979b3d03698765ebd188f3e73c74f5443b6de696 +size 22851 diff --git a/ThirdParty/include/boost/interprocess/sync/lock_options.hpp b/ThirdParty/include/boost/interprocess/sync/lock_options.hpp new file mode 100644 index 00000000..26806b91 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/lock_options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b919be9698ac1a9386a57474f15589d5c25125e6988f2209ecd431e0dca76193 +size 1983 diff --git a/ThirdParty/include/boost/interprocess/sync/mutex_family.hpp b/ThirdParty/include/boost/interprocess/sync/mutex_family.hpp new file mode 100644 index 00000000..9801d9fe --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/mutex_family.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0247ad384ab02742d384e43930b10f4c673430f63cf2c6b8de4b4a9357f977fc +size 1887 diff --git a/ThirdParty/include/boost/interprocess/sync/named_condition.hpp b/ThirdParty/include/boost/interprocess/sync/named_condition.hpp new file mode 100644 index 00000000..d96fe1aa --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf1b565463dca2e103a6b2f2c146c72d6032300687de51be37bf5f053ea7b908 +size 7176 diff --git a/ThirdParty/include/boost/interprocess/sync/named_condition_any.hpp b/ThirdParty/include/boost/interprocess/sync/named_condition_any.hpp new file mode 100644 index 00000000..1ef094b3 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_condition_any.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3595256123804bfa4d12a1d7001e92dbb1ba394b8df7842a1d3314120858e4e +size 6024 diff --git a/ThirdParty/include/boost/interprocess/sync/named_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/named_mutex.hpp new file mode 100644 index 00000000..4d001929 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7285e2a6d8e94381bc82bb20c5d5cd44783756ee72e1f0e55a4249848e5c12f +size 5991 diff --git a/ThirdParty/include/boost/interprocess/sync/named_recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/named_recursive_mutex.hpp new file mode 100644 index 00000000..15964449 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4a8473873e66fa2c11a3c7b73013f44ff4b3574df7acebfa7fde86ccd16616c +size 5992 diff --git a/ThirdParty/include/boost/interprocess/sync/named_semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/named_semaphore.hpp new file mode 100644 index 00000000..013f471c --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50323be968432aa6f8861a0036a92c928b688e6816ec53e4baa8f4915de5db51 +size 6586 diff --git a/ThirdParty/include/boost/interprocess/sync/named_sharable_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/named_sharable_mutex.hpp new file mode 100644 index 00000000..0d09c19b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_sharable_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e98c1a9ec98747e7e22faaa26f78b46ce2dc6c7aa003743dd75f4e2abd01de2 +size 9235 diff --git a/ThirdParty/include/boost/interprocess/sync/named_upgradable_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/named_upgradable_mutex.hpp new file mode 100644 index 00000000..ffa02bdd --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/named_upgradable_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfcb49c1f5e6fe073bbe9667ce4d99649eeff4058d8585896c57ae05c75449f3 +size 15994 diff --git a/ThirdParty/include/boost/interprocess/sync/null_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/null_mutex.hpp new file mode 100644 index 00000000..2c87a2d9 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/null_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b122919ffb5320afbb19de76249c1fdf8710b1d3cbdaa31036efa24f12b7e96e +size 4197 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/condition.hpp b/ThirdParty/include/boost/interprocess/sync/posix/condition.hpp new file mode 100644 index 00000000..50429fc6 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d69810b6acfac3cc81d85a6841b78ac45a1211469496a5bda4d6a0544fe17c5b +size 5664 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/mutex.hpp b/ThirdParty/include/boost/interprocess/sync/posix/mutex.hpp new file mode 100644 index 00000000..38bf48fb --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c9f0777017d504bb29441ade625c1743a5c1a0afe08ae76f5b7d9a722b8727f +size 3965 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/named_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/posix/named_mutex.hpp new file mode 100644 index 00000000..47151652 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/named_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70525db67bda5cdc6b143e04f4f789cf1f24f070c6bbc36b97c9af0ff016bad2 +size 3423 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/named_semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/posix/named_semaphore.hpp new file mode 100644 index 00000000..0ba25e17 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/named_semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9cc23ec534dc0762204d47f9ddc4cc0df68b76cbbf95a8fd58801eac090d74e +size 2622 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/pthread_helpers.hpp b/ThirdParty/include/boost/interprocess/sync/posix/pthread_helpers.hpp new file mode 100644 index 00000000..1da4a8ae --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/pthread_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da3a2d969f2360fb5fd9aadde9b0d924ddf9ded4abb4ced47a5b5eeafa959987 +size 5321 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/ptime_to_timespec.hpp b/ThirdParty/include/boost/interprocess/sync/posix/ptime_to_timespec.hpp new file mode 100644 index 00000000..7c3918dc --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/ptime_to_timespec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57bed057399b5b6d6ed5bf19e8aae11a584cd1cf641e8f4de9392a5b28b8132c +size 1482 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/posix/recursive_mutex.hpp new file mode 100644 index 00000000..c68be93b --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95e963cca4615b2a6ff7d6c9b2dc8c4cca0002bb4055e339bfece9fff28d94a1 +size 4044 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/posix/semaphore.hpp new file mode 100644 index 00000000..0f1264ec --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ac6ae356474d41c67ebef6bee3e13a666cdb51750f68d47abbfc77b48a5a08 +size 1762 diff --git a/ThirdParty/include/boost/interprocess/sync/posix/semaphore_wrapper.hpp b/ThirdParty/include/boost/interprocess/sync/posix/semaphore_wrapper.hpp new file mode 100644 index 00000000..bb60256a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/posix/semaphore_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80b4bc71e0eab668e7c7e19c44b8bbc8a74883ae69e4d89009a29a0595761461 +size 6821 diff --git a/ThirdParty/include/boost/interprocess/sync/scoped_lock.hpp b/ThirdParty/include/boost/interprocess/sync/scoped_lock.hpp new file mode 100644 index 00000000..31ec03c5 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/scoped_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc0f9ef2ad81d0dcbd92af0b2deb1c7c08400d43a781316e620b99c53b0d538 +size 16117 diff --git a/ThirdParty/include/boost/interprocess/sync/sharable_lock.hpp b/ThirdParty/include/boost/interprocess/sync/sharable_lock.hpp new file mode 100644 index 00000000..14a49364 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/sharable_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e3485a1ccd9f4c70a867d45ff6ace81b35e9b05134b588fbb718cf7ec1b1268 +size 12918 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_condition.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_condition.hpp new file mode 100644 index 00000000..32fb89cb --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:340b90048d69e7df02107bdf90ecafcff87759e2eebf60c5858a7c84562c082f +size 9058 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_condition_any.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_condition_any.hpp new file mode 100644 index 00000000..62fec45a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_condition_any.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8d514d71ecb764b61b99d6cb2e95d37c67be80ff6fc2b53907c7ff73648c2f0 +size 7685 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_creation_functor.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_creation_functor.hpp new file mode 100644 index 00000000..6fe8463f --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_creation_functor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b4f92a850ea872bcc71ac96c7279962771054bdddc1522ced63bd459acae827 +size 2306 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_mutex.hpp new file mode 100644 index 00000000..d33d1735 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ede349de5ada01b971847a1a2e122ee115c0b42897aa414aa4d3a80fd6ffa708 +size 6561 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_recursive_mutex.hpp new file mode 100644 index 00000000..21067596 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f4fed06a5f58c5404b8fb8d5e125661c6873cbb53d7e638aaba6f07733fd719 +size 6597 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_semaphore.hpp new file mode 100644 index 00000000..6f5031ac --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:894ccfb1f57a015493f7c1fb3b04e3d7dd292f1946503b9d73b3d359bbbe6a64 +size 4624 diff --git a/ThirdParty/include/boost/interprocess/sync/shm/named_upgradable_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/shm/named_upgradable_mutex.hpp new file mode 100644 index 00000000..b2d7d71a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/shm/named_upgradable_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69ac8e0306b2da71d3cc0d8b759c934186d7472fb83b70d1880204590a5de081 +size 15529 diff --git a/ThirdParty/include/boost/interprocess/sync/spin/condition.hpp b/ThirdParty/include/boost/interprocess/sync/spin/condition.hpp new file mode 100644 index 00000000..06753a3c --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/spin/condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:debad4e2223cdee0986c06267986d6cec3987aa4404d9491aaabe508589fc10c +size 9785 diff --git a/ThirdParty/include/boost/interprocess/sync/spin/interprocess_barrier.hpp b/ThirdParty/include/boost/interprocess/sync/spin/interprocess_barrier.hpp new file mode 100644 index 00000000..cb32d4fd --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/spin/interprocess_barrier.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7a40515d23ccace36c01248320ec11e02bc67d0253bf4df4329afb295639346 +size 1341 diff --git a/ThirdParty/include/boost/interprocess/sync/spin/mutex.hpp b/ThirdParty/include/boost/interprocess/sync/spin/mutex.hpp new file mode 100644 index 00000000..c5c2bfc8 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/spin/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74f841e69bb374c5ca0dbb5db9054087dec6b5a401de1199ccd1bce38931f78 +size 2380 diff --git a/ThirdParty/include/boost/interprocess/sync/spin/recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/spin/recursive_mutex.hpp new file mode 100644 index 00000000..f38161e5 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/spin/recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1f7414e263243cda67137811fc7fed12ce511afd51a40669fe04309b2f82255 +size 5992 diff --git a/ThirdParty/include/boost/interprocess/sync/spin/semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/spin/semaphore.hpp new file mode 100644 index 00000000..0486bf72 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/spin/semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:649243cf578a82cd1bb5f01ce2289b35af2c295f61ea728caf93f7333cf4f6b3 +size 2581 diff --git a/ThirdParty/include/boost/interprocess/sync/spin/wait.hpp b/ThirdParty/include/boost/interprocess/sync/spin/wait.hpp new file mode 100644 index 00000000..276f8413 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/spin/wait.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23a757f1204afe2bc629ff31e0c24a85cdb85bcd1b2bcae5accfebb60f36d601 +size 5037 diff --git a/ThirdParty/include/boost/interprocess/sync/upgradable_lock.hpp b/ThirdParty/include/boost/interprocess/sync/upgradable_lock.hpp new file mode 100644 index 00000000..ec31c7d1 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/upgradable_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aecd3488ba6ec22a7bb7b6d5c55183ad93decd80d4706feb718a0e4be9c75676 +size 13082 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/condition.hpp b/ThirdParty/include/boost/interprocess/sync/windows/condition.hpp new file mode 100644 index 00000000..c1a989fa --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d4ab541008f73cd6a0575f523703b468d4142c20c3cbd71402cd12e45c9772d +size 3713 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/mutex.hpp b/ThirdParty/include/boost/interprocess/sync/windows/mutex.hpp new file mode 100644 index 00000000..42079b96 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ce2365a4f5ca3a5fb1959e9dec6053f52ba7dd7bff4d2affa8eaa1b800242ec +size 3357 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/named_condition.hpp b/ThirdParty/include/boost/interprocess/sync/windows/named_condition.hpp new file mode 100644 index 00000000..2194a27f --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/named_condition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54a41d11f944f106de00ad1b580b838c3554ef554d53f01b9264f7b814315972 +size 1156 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/named_condition_any.hpp b/ThirdParty/include/boost/interprocess/sync/windows/named_condition_any.hpp new file mode 100644 index 00000000..0c832b54 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/named_condition_any.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e4a056394114eddad59a6cae971347caa41e1976df57bdfc8d0e8dd0a6e0b3b +size 7836 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/named_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/windows/named_mutex.hpp new file mode 100644 index 00000000..7cbc47dc --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/named_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de56cb8463bb8741be24ed7b1941e4f2a3eaad677108969cbe74c9035123c4bd +size 4975 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/named_recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/windows/named_recursive_mutex.hpp new file mode 100644 index 00000000..cc474ee1 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/named_recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c1e796f2dd88a35694c99125ad636b8be381923884fca89cf4e7ad8bf0ccf8d +size 2025 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/named_semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/windows/named_semaphore.hpp new file mode 100644 index 00000000..db828f82 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/named_semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07888e1b4a352d116226fc2dc298769ac8b8f007fab5f0b9adf3ebf5bd6a1bf0 +size 5386 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/named_sync.hpp b/ThirdParty/include/boost/interprocess/sync/windows/named_sync.hpp new file mode 100644 index 00000000..77c55e97 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/named_sync.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d589e8054fd3b1f5f4d012fbc2582ddebfcc2330f74780e11fe784d57954b82 +size 8317 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/recursive_mutex.hpp b/ThirdParty/include/boost/interprocess/sync/windows/recursive_mutex.hpp new file mode 100644 index 00000000..aff5ce4a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/recursive_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e19c0468e384882586cf3488204662381a87ca95036096bd46650853f296ba7 +size 1394 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/semaphore.hpp b/ThirdParty/include/boost/interprocess/sync/windows/semaphore.hpp new file mode 100644 index 00000000..160cf308 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22fc3918fd7018b041f60ce7ed81553ea6dccd0da075873eb49dac08f9524b2e +size 3571 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/sync_utils.hpp b/ThirdParty/include/boost/interprocess/sync/windows/sync_utils.hpp new file mode 100644 index 00000000..116271b2 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/sync_utils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b415bd45826f1ca10b740f33783d4d2e28f9a21d96f2610da25ac1fe3953e694 +size 7107 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp b/ThirdParty/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp new file mode 100644 index 00000000..6d69b731 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8087e7ccf759d20cd8571d1c21d2a65d56d410c9595b29fbdd86b564b231d203 +size 3717 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp b/ThirdParty/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp new file mode 100644 index 00000000..04d3585e --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcde9b9cb1bbd0173cc42717ca3489784e2d95982420c64a16aa7a282b7bf680 +size 4691 diff --git a/ThirdParty/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp b/ThirdParty/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp new file mode 100644 index 00000000..e30add60 --- /dev/null +++ b/ThirdParty/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a37d03dc6089a9e76db3e3790007c32189cfbbaec275caace2de408fc3e12ddb +size 3050 diff --git a/ThirdParty/include/boost/interprocess/windows_shared_memory.hpp b/ThirdParty/include/boost/interprocess/windows_shared_memory.hpp new file mode 100644 index 00000000..2ce186ca --- /dev/null +++ b/ThirdParty/include/boost/interprocess/windows_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d7c490bb83a44bf81d8b237c2c1c3aa523e08064579cf1b0680fffe9cac31d2 +size 8666 diff --git a/ThirdParty/include/boost/interprocess/xsi_key.hpp b/ThirdParty/include/boost/interprocess/xsi_key.hpp new file mode 100644 index 00000000..519e160c --- /dev/null +++ b/ThirdParty/include/boost/interprocess/xsi_key.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f7b27f303903d59fedf41c2d4ed7b7b421d8be31c647b71d6f2ac26aff1a64b +size 2918 diff --git a/ThirdParty/include/boost/interprocess/xsi_shared_memory.hpp b/ThirdParty/include/boost/interprocess/xsi_shared_memory.hpp new file mode 100644 index 00000000..bf19db4a --- /dev/null +++ b/ThirdParty/include/boost/interprocess/xsi_shared_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15a948da4bca6c0eaf04539ca04e428526d9a0d15d012e434312eb1255bcc1a2 +size 6978 diff --git a/ThirdParty/include/boost/intrusive/any_hook.hpp b/ThirdParty/include/boost/intrusive/any_hook.hpp new file mode 100644 index 00000000..f85096d0 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/any_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc36e41c9097f9af2dbca14c2efda598e8cb72d7eb3081411d7700e8bef92b8 +size 10506 diff --git a/ThirdParty/include/boost/intrusive/avl_set.hpp b/ThirdParty/include/boost/intrusive/avl_set.hpp new file mode 100644 index 00000000..3b60dea6 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/avl_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07eba1b780c6c0716da3652417f13ff20be4b6471a490abcc6a8e1811c388cb7 +size 44766 diff --git a/ThirdParty/include/boost/intrusive/avl_set_hook.hpp b/ThirdParty/include/boost/intrusive/avl_set_hook.hpp new file mode 100644 index 00000000..1cadac18 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/avl_set_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f978d14aa4a023f1fcde73519278ccf204b218657fb5815d46307c04d1bb0125 +size 10965 diff --git a/ThirdParty/include/boost/intrusive/avltree.hpp b/ThirdParty/include/boost/intrusive/avltree.hpp new file mode 100644 index 00000000..f37528ee --- /dev/null +++ b/ThirdParty/include/boost/intrusive/avltree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a5d97bb2a9dd13d028733e7ce9ea4d651b81238adb30691c89812de930410fb +size 23816 diff --git a/ThirdParty/include/boost/intrusive/avltree_algorithms.hpp b/ThirdParty/include/boost/intrusive/avltree_algorithms.hpp new file mode 100644 index 00000000..8bc60d5d --- /dev/null +++ b/ThirdParty/include/boost/intrusive/avltree_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8e8327a828167f12fcbd6c2b72d35c85cf287f80ce66066ac11b7b36924ec77 +size 28978 diff --git a/ThirdParty/include/boost/intrusive/bs_set.hpp b/ThirdParty/include/boost/intrusive/bs_set.hpp new file mode 100644 index 00000000..e5d86237 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/bs_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b843fabd099028800f32d4b2943ae9083ca6a501efb641406b9ff49063e26d5d +size 44282 diff --git a/ThirdParty/include/boost/intrusive/bs_set_hook.hpp b/ThirdParty/include/boost/intrusive/bs_set_hook.hpp new file mode 100644 index 00000000..90031e65 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/bs_set_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15795ff4cf9610544d8a21e18996889a7203767b8710343b1ed9656f3f239132 +size 10501 diff --git a/ThirdParty/include/boost/intrusive/bstree.hpp b/ThirdParty/include/boost/intrusive/bstree.hpp new file mode 100644 index 00000000..53ece5a0 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/bstree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aa186ac2e8968c07b631f72705b5fdfd889097de02eb4e4f6a108d05677b1d7 +size 94900 diff --git a/ThirdParty/include/boost/intrusive/bstree_algorithms.hpp b/ThirdParty/include/boost/intrusive/bstree_algorithms.hpp new file mode 100644 index 00000000..0d9d1d8b --- /dev/null +++ b/ThirdParty/include/boost/intrusive/bstree_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a07e1cdba29e7a8e1f3601c205a7caf26158568c7e76292ae707c94ca4b6005 +size 80073 diff --git a/ThirdParty/include/boost/intrusive/circular_list_algorithms.hpp b/ThirdParty/include/boost/intrusive/circular_list_algorithms.hpp new file mode 100644 index 00000000..5f497a47 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/circular_list_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e64210905d75e912d43a63bc5ec3cdcff8d906a952fd4498bae3d4a01b58704 +size 15376 diff --git a/ThirdParty/include/boost/intrusive/circular_slist_algorithms.hpp b/ThirdParty/include/boost/intrusive/circular_slist_algorithms.hpp new file mode 100644 index 00000000..2023a2c6 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/circular_slist_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17abe7d42c3e93077cbb0c1ebf6583d274542650a2c65f2ece8f50fd79c5b534 +size 15029 diff --git a/ThirdParty/include/boost/intrusive/derivation_value_traits.hpp b/ThirdParty/include/boost/intrusive/derivation_value_traits.hpp new file mode 100644 index 00000000..6e310067 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/derivation_value_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7392ce7e7e2e3808b1052243b6fd27b36bcd868f6c0add6feff1dc276e7253d1 +size 2749 diff --git a/ThirdParty/include/boost/intrusive/detail/algo_type.hpp b/ThirdParty/include/boost/intrusive/detail/algo_type.hpp new file mode 100644 index 00000000..2e74abf7 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/algo_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:924e724f70b9f4acfb09e0968ab5aca4c3b81d0582723ddf74feec4788b43a28 +size 1303 diff --git a/ThirdParty/include/boost/intrusive/detail/algorithm.hpp b/ThirdParty/include/boost/intrusive/detail/algorithm.hpp new file mode 100644 index 00000000..b50e775b --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f03d12fae23e4fb81982cc9482f3eb47f2730056dab4b13039a1fe92d4f837d +size 2880 diff --git a/ThirdParty/include/boost/intrusive/detail/any_node_and_algorithms.hpp b/ThirdParty/include/boost/intrusive/detail/any_node_and_algorithms.hpp new file mode 100644 index 00000000..e8708cdb --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/any_node_and_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfb4fc629a7cdffe75b60d0c2aedb8a76378a2d6b0d940e1f8c2f707acef10bc +size 9467 diff --git a/ThirdParty/include/boost/intrusive/detail/array_initializer.hpp b/ThirdParty/include/boost/intrusive/detail/array_initializer.hpp new file mode 100644 index 00000000..00c2c1ea --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/array_initializer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5c4745c1e01c6b1e70fc5d103651fac50b35bc27ba907f7551ebfac89b6dae6 +size 2235 diff --git a/ThirdParty/include/boost/intrusive/detail/assert.hpp b/ThirdParty/include/boost/intrusive/detail/assert.hpp new file mode 100644 index 00000000..f5a2aa82 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36311de238c3912eb630daa1ee1b18dbf5b5b7f867594258e28b5ae7383c4dff +size 1520 diff --git a/ThirdParty/include/boost/intrusive/detail/avltree_node.hpp b/ThirdParty/include/boost/intrusive/detail/avltree_node.hpp new file mode 100644 index 00000000..5e1925f3 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/avltree_node.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99f6d113429fb6d2c86c5530af083349c01467919f70e56c5fc4bd31aaec262b +size 6714 diff --git a/ThirdParty/include/boost/intrusive/detail/bstree_algorithms_base.hpp b/ThirdParty/include/boost/intrusive/detail/bstree_algorithms_base.hpp new file mode 100644 index 00000000..48a05888 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/bstree_algorithms_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7586cdaa5aaaa193ed794964d6b4770e0cfc70ea10a51036bfab4a1644d9db0 +size 5523 diff --git a/ThirdParty/include/boost/intrusive/detail/common_slist_algorithms.hpp b/ThirdParty/include/boost/intrusive/detail/common_slist_algorithms.hpp new file mode 100644 index 00000000..d876553c --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/common_slist_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42378ea1d7ecc2869115b13e9f1fabea72d81787c4a428ea08ce54e6814e0c4a +size 5974 diff --git a/ThirdParty/include/boost/intrusive/detail/config_begin.hpp b/ThirdParty/include/boost/intrusive/detail/config_begin.hpp new file mode 100644 index 00000000..817c83dc --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/config_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b1d9bf54b366a13c41a7af086a3e7db053d9d488eb7d5a1ba8c35f1c015a0ec +size 2456 diff --git a/ThirdParty/include/boost/intrusive/detail/config_end.hpp b/ThirdParty/include/boost/intrusive/detail/config_end.hpp new file mode 100644 index 00000000..51c77ce2 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/config_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d2e15bca78377c31db968ed473249f5de96193ef7a165f81ca339f1aa33223c +size 496 diff --git a/ThirdParty/include/boost/intrusive/detail/default_header_holder.hpp b/ThirdParty/include/boost/intrusive/detail/default_header_holder.hpp new file mode 100644 index 00000000..167f5daf --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/default_header_holder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76b5a2ceec55e63478d1ef9e0758aeb35e32a238c4ea75f5e0e7c0cba1cb0bd9 +size 2243 diff --git a/ThirdParty/include/boost/intrusive/detail/ebo_functor_holder.hpp b/ThirdParty/include/boost/intrusive/detail/ebo_functor_holder.hpp new file mode 100644 index 00000000..68faf0ab --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/ebo_functor_holder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:292fddb3a3cd5aa48bdc452e429a2ba0306bd70d3d07c02af6ddd9b41df463a1 +size 7965 diff --git a/ThirdParty/include/boost/intrusive/detail/empty_node_checker.hpp b/ThirdParty/include/boost/intrusive/detail/empty_node_checker.hpp new file mode 100644 index 00000000..ec8501f8 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/empty_node_checker.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6159152c8ec9f1ac8e9f7ce685479dbdf378203933b7ac95a9f52c14cbb7a714 +size 1243 diff --git a/ThirdParty/include/boost/intrusive/detail/equal_to_value.hpp b/ThirdParty/include/boost/intrusive/detail/equal_to_value.hpp new file mode 100644 index 00000000..f9511f0b --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/equal_to_value.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09c664b005622f03497cecb3d4141c0793a264334abf4cbdedb37be1e79001ad +size 1217 diff --git a/ThirdParty/include/boost/intrusive/detail/exception_disposer.hpp b/ThirdParty/include/boost/intrusive/detail/exception_disposer.hpp new file mode 100644 index 00000000..adf2dcf5 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/exception_disposer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7473a5ad93d18b8b663fafadc06ea32fa356b556572b440a41845c854dee112e +size 2132 diff --git a/ThirdParty/include/boost/intrusive/detail/function_detector.hpp b/ThirdParty/include/boost/intrusive/detail/function_detector.hpp new file mode 100644 index 00000000..45588ff2 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/function_detector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3c1f430d9e9612c22dc72346b24c969a3381c00b0e170bfa694c05a33eee261 +size 3456 diff --git a/ThirdParty/include/boost/intrusive/detail/generic_hook.hpp b/ThirdParty/include/boost/intrusive/detail/generic_hook.hpp new file mode 100644 index 00000000..15a310ca --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/generic_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:298f9e771414cf3e258fc074c8a49e2f25e09a4b6ac240e048a43c029d71d757 +size 6252 diff --git a/ThirdParty/include/boost/intrusive/detail/get_value_traits.hpp b/ThirdParty/include/boost/intrusive/detail/get_value_traits.hpp new file mode 100644 index 00000000..3539b9aa --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/get_value_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc9fc7bdf8edc9933c958cfdd46cbba8c3ddc57ba5991d26dc3f5649388c7545 +size 7098 diff --git a/ThirdParty/include/boost/intrusive/detail/has_member_function_callable_with.hpp b/ThirdParty/include/boost/intrusive/detail/has_member_function_callable_with.hpp new file mode 100644 index 00000000..17308e57 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/has_member_function_callable_with.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2aa3b5fb03cef2a43273f15724ee14ac78fef5cee7d3b7bea3eaac3b14222a8 +size 18438 diff --git a/ThirdParty/include/boost/intrusive/detail/hashtable_node.hpp b/ThirdParty/include/boost/intrusive/detail/hashtable_node.hpp new file mode 100644 index 00000000..d8bfc4e5 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/hashtable_node.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:514c0a7f0b0b2fe8828bcdd4eddc66f8bcca3774ac18b42a28b5e0fbb6fb4416 +size 9688 diff --git a/ThirdParty/include/boost/intrusive/detail/hook_traits.hpp b/ThirdParty/include/boost/intrusive/detail/hook_traits.hpp new file mode 100644 index 00000000..8a34f5fb --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/hook_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee060782ac3f919ffdf088e0aa6301d66b87252ff8f96a983057c8d087b68c43 +size 8240 diff --git a/ThirdParty/include/boost/intrusive/detail/iiterator.hpp b/ThirdParty/include/boost/intrusive/detail/iiterator.hpp new file mode 100644 index 00000000..1e28a332 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/iiterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9c7904782390eb038b7490a6bcdbc3e7d6a8bb49bee8f9fc3f020cae2f0fef1 +size 4446 diff --git a/ThirdParty/include/boost/intrusive/detail/is_stateful_value_traits.hpp b/ThirdParty/include/boost/intrusive/detail/is_stateful_value_traits.hpp new file mode 100644 index 00000000..a7e4d4f4 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/is_stateful_value_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20b930951a33734c9ab6bc1f270e363813a1900beaa612d6f659c4f0f0f7222b +size 2524 diff --git a/ThirdParty/include/boost/intrusive/detail/iterator.hpp b/ThirdParty/include/boost/intrusive/detail/iterator.hpp new file mode 100644 index 00000000..9dd53e43 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b6670b7ffcb494dca165e097d0a94a5c70c5542c377fec78e1557d5687f76a8 +size 7592 diff --git a/ThirdParty/include/boost/intrusive/detail/key_nodeptr_comp.hpp b/ThirdParty/include/boost/intrusive/detail/key_nodeptr_comp.hpp new file mode 100644 index 00000000..be7085b5 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/key_nodeptr_comp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b5af59071870021c0bdf9673121218877a00839911ac421247d24494cbaa7e0 +size 4854 diff --git a/ThirdParty/include/boost/intrusive/detail/list_iterator.hpp b/ThirdParty/include/boost/intrusive/detail/list_iterator.hpp new file mode 100644 index 00000000..5246a6c8 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/list_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3238f306f1f45dff2b096a78aeb4a28e04ecb03c180bc84a78562c5a59ac6103 +size 4751 diff --git a/ThirdParty/include/boost/intrusive/detail/list_node.hpp b/ThirdParty/include/boost/intrusive/detail/list_node.hpp new file mode 100644 index 00000000..e6d362b7 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/list_node.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f50360c6199419e05b60e8c50ec0c5fd8033d2c33e169ab6fe7143b9c3dd5796 +size 2152 diff --git a/ThirdParty/include/boost/intrusive/detail/math.hpp b/ThirdParty/include/boost/intrusive/detail/math.hpp new file mode 100644 index 00000000..331b30be --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/math.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f668c404cc3465c8e3ef0473e2a7a7846a1d7813928de85fea8d18a89e624b68 +size 8044 diff --git a/ThirdParty/include/boost/intrusive/detail/minimal_less_equal_header.hpp b/ThirdParty/include/boost/intrusive/detail/minimal_less_equal_header.hpp new file mode 100644 index 00000000..aa11a07c --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/minimal_less_equal_header.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852205cff09e518acdf2fb999db38c8a412109d015381e0cbd08a6eb77e9eb22 +size 932 diff --git a/ThirdParty/include/boost/intrusive/detail/minimal_pair_header.hpp b/ThirdParty/include/boost/intrusive/detail/minimal_pair_header.hpp new file mode 100644 index 00000000..fd9ba1b6 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/minimal_pair_header.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd1e38a2ddb283a47187ffbe2e0030d978d02610993ce0e23c7ed564481a6c2e +size 904 diff --git a/ThirdParty/include/boost/intrusive/detail/mpl.hpp b/ThirdParty/include/boost/intrusive/detail/mpl.hpp new file mode 100644 index 00000000..d28a8a29 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/mpl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02e3edeca56dc2654b1708b4149c53e457e10e6f40f46b59e429dd28454f0092 +size 8558 diff --git a/ThirdParty/include/boost/intrusive/detail/node_cloner_disposer.hpp b/ThirdParty/include/boost/intrusive/detail/node_cloner_disposer.hpp new file mode 100644 index 00000000..ceff8a94 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/node_cloner_disposer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:161d63bfba7b1ed25bce536adfa278f559ad951e440300ffd3cb5852dc8415fe +size 3973 diff --git a/ThirdParty/include/boost/intrusive/detail/node_holder.hpp b/ThirdParty/include/boost/intrusive/detail/node_holder.hpp new file mode 100644 index 00000000..1bda1c3a --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/node_holder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92fdff27b36a354da849f90ca39a903252c3d76e5fad283ca908cd3c7b2b41bd +size 883 diff --git a/ThirdParty/include/boost/intrusive/detail/node_to_value.hpp b/ThirdParty/include/boost/intrusive/detail/node_to_value.hpp new file mode 100644 index 00000000..70ce2514 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/node_to_value.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:697911c4d618b7a42f4804222bbbd2165edfd222f35413b0adc3c4b1e31ae2a9 +size 3994 diff --git a/ThirdParty/include/boost/intrusive/detail/parent_from_member.hpp b/ThirdParty/include/boost/intrusive/detail/parent_from_member.hpp new file mode 100644 index 00000000..a8b545dd --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/parent_from_member.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97714b7e3bc5315211a5027d1b021efe33cd04263ec4d6277c930ad3b9724532 +size 4191 diff --git a/ThirdParty/include/boost/intrusive/detail/rbtree_node.hpp b/ThirdParty/include/boost/intrusive/detail/rbtree_node.hpp new file mode 100644 index 00000000..49ec62d0 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/rbtree_node.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ab5cf4f565d36ed9d7a405565e9625b1964640e2a7336ec25ea3728c55bfc6d +size 6952 diff --git a/ThirdParty/include/boost/intrusive/detail/reverse_iterator.hpp b/ThirdParty/include/boost/intrusive/detail/reverse_iterator.hpp new file mode 100644 index 00000000..65676917 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/reverse_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae9a56cd8b06a1239bfaceb0ae46e94541df7e6c83f1aa5b91692bab9a88316b +size 4644 diff --git a/ThirdParty/include/boost/intrusive/detail/simple_disposers.hpp b/ThirdParty/include/boost/intrusive/detail/simple_disposers.hpp new file mode 100644 index 00000000..7e157b1f --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/simple_disposers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af034b446259ff7ef4b02f62d15dfd2878560a947311f80610e110736f0705ad +size 1177 diff --git a/ThirdParty/include/boost/intrusive/detail/size_holder.hpp b/ThirdParty/include/boost/intrusive/detail/size_holder.hpp new file mode 100644 index 00000000..5786223d --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/size_holder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d3965e4b48911f6871bbbe382dd2e7c7a327acd05398e05e7b456bfd0c9743a +size 2261 diff --git a/ThirdParty/include/boost/intrusive/detail/slist_iterator.hpp b/ThirdParty/include/boost/intrusive/detail/slist_iterator.hpp new file mode 100644 index 00000000..5be3b95c --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/slist_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcb9f226444337d5da1ea97ed2e7579db94d9d021ab48c05a96ef327cded8ab9 +size 4484 diff --git a/ThirdParty/include/boost/intrusive/detail/slist_node.hpp b/ThirdParty/include/boost/intrusive/detail/slist_node.hpp new file mode 100644 index 00000000..095cf427 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/slist_node.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18622a7d9c61c3c698f0e80d532f46e38f791e25c7a594348d1065de8feb312e +size 1907 diff --git a/ThirdParty/include/boost/intrusive/detail/std_fwd.hpp b/ThirdParty/include/boost/intrusive/detail/std_fwd.hpp new file mode 100644 index 00000000..c6e75464 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/std_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e70011af03350c4449d26ca6ad364ae6a845528ed6841cccb592cccc832e3d1 +size 1226 diff --git a/ThirdParty/include/boost/intrusive/detail/transform_iterator.hpp b/ThirdParty/include/boost/intrusive/detail/transform_iterator.hpp new file mode 100644 index 00000000..b4fff82e --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/transform_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e173ca4e8e20339430394ab0482b95431fc162993fb5209fa1c3a71dd724d0e0 +size 5789 diff --git a/ThirdParty/include/boost/intrusive/detail/tree_iterator.hpp b/ThirdParty/include/boost/intrusive/detail/tree_iterator.hpp new file mode 100644 index 00000000..e3770cc5 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/tree_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d22c9780581dd7ecc3545dddd0287cf05c0cbf75a2c1755721921be3aa102880 +size 6252 diff --git a/ThirdParty/include/boost/intrusive/detail/tree_node.hpp b/ThirdParty/include/boost/intrusive/detail/tree_node.hpp new file mode 100644 index 00000000..aa2b6d70 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/tree_node.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:839e8ab76440ce74507a3f5689fa31236bb72460fb287f61856c0a5152e71b2b +size 2307 diff --git a/ThirdParty/include/boost/intrusive/detail/tree_value_compare.hpp b/ThirdParty/include/boost/intrusive/detail/tree_value_compare.hpp new file mode 100644 index 00000000..be02f465 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/tree_value_compare.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5a486d57e73467c9ea52e729073a1cccee08c35db15fb7cda1bdef7ba2b4430 +size 7711 diff --git a/ThirdParty/include/boost/intrusive/detail/uncast.hpp b/ThirdParty/include/boost/intrusive/detail/uncast.hpp new file mode 100644 index 00000000..8be09b8f --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/uncast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9244c77f070bee587fed9195f532eb76ec1a6f653036f996f983efeb81e3e59c +size 1646 diff --git a/ThirdParty/include/boost/intrusive/detail/workaround.hpp b/ThirdParty/include/boost/intrusive/detail/workaround.hpp new file mode 100644 index 00000000..29a7ea6c --- /dev/null +++ b/ThirdParty/include/boost/intrusive/detail/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:146ae3897ca90195125d0b0300f70cc2bf3c07b760d88e9cd3a7b7deb1d17603 +size 1853 diff --git a/ThirdParty/include/boost/intrusive/hashtable.hpp b/ThirdParty/include/boost/intrusive/hashtable.hpp new file mode 100644 index 00000000..69d31bc1 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/hashtable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:919cb236a1a8513dc9b2be6bcece7cd9f4c5bcc758c92a5274b48b5aa77913f1 +size 156279 diff --git a/ThirdParty/include/boost/intrusive/intrusive_fwd.hpp b/ThirdParty/include/boost/intrusive/intrusive_fwd.hpp new file mode 100644 index 00000000..8a03e6ca --- /dev/null +++ b/ThirdParty/include/boost/intrusive/intrusive_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2d6074b46e83a12abd18ca9d2ab5ddfcfede0d6704fa145ce31b564367d0480 +size 16316 diff --git a/ThirdParty/include/boost/intrusive/linear_slist_algorithms.hpp b/ThirdParty/include/boost/intrusive/linear_slist_algorithms.hpp new file mode 100644 index 00000000..ea0f96e6 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/linear_slist_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd44a97a535f993f1108e2d99017f760b71b8218243151b6d22c28a2aeab4c97 +size 11968 diff --git a/ThirdParty/include/boost/intrusive/link_mode.hpp b/ThirdParty/include/boost/intrusive/link_mode.hpp new file mode 100644 index 00000000..ba164c92 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/link_mode.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae4c5846fb093abb4fd51778cbaa84b7ad576352483efe86f806ca477a60cb32 +size 2091 diff --git a/ThirdParty/include/boost/intrusive/list.hpp b/ThirdParty/include/boost/intrusive/list.hpp new file mode 100644 index 00000000..cd0d182a --- /dev/null +++ b/ThirdParty/include/boost/intrusive/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36855f5c1e68aefa239a3747442d7a1125288efe8136f879f6db6f466b1e4010 +size 57837 diff --git a/ThirdParty/include/boost/intrusive/list_hook.hpp b/ThirdParty/include/boost/intrusive/list_hook.hpp new file mode 100644 index 00000000..dfcce7c9 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/list_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a502925cbf414d777baf1d04a84ec6c30e009d78bb99c4462d1b3b72466d2eca +size 10171 diff --git a/ThirdParty/include/boost/intrusive/member_value_traits.hpp b/ThirdParty/include/boost/intrusive/member_value_traits.hpp new file mode 100644 index 00000000..ccbf82b8 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/member_value_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32aa658c44bb06757f69a1c80a684d5c588b849f04856b6cb1838145704db008 +size 3481 diff --git a/ThirdParty/include/boost/intrusive/options.hpp b/ThirdParty/include/boost/intrusive/options.hpp new file mode 100644 index 00000000..5096add5 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ce4aca6b72e56661cf88533bd18511e0da995822d9fd8babb13eafc60d002bc +size 10556 diff --git a/ThirdParty/include/boost/intrusive/pack_options.hpp b/ThirdParty/include/boost/intrusive/pack_options.hpp new file mode 100644 index 00000000..30dd1252 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/pack_options.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a04ca4824839ca7ba0417ac231a2174cf4320733a6f38c75fb74b7143aa0384c +size 10037 diff --git a/ThirdParty/include/boost/intrusive/parent_from_member.hpp b/ThirdParty/include/boost/intrusive/parent_from_member.hpp new file mode 100644 index 00000000..cb71e14d --- /dev/null +++ b/ThirdParty/include/boost/intrusive/parent_from_member.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e962a489355b7991ffb780b520272480f2be203cf9fe5fdc09d7f0fe2a4137ca +size 2005 diff --git a/ThirdParty/include/boost/intrusive/pointer_plus_bits.hpp b/ThirdParty/include/boost/intrusive/pointer_plus_bits.hpp new file mode 100644 index 00000000..dd80fca7 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/pointer_plus_bits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f1b537cc07eecccdd693deb435f7a44c77613aa2e9aa553b0ecc57b1947501 +size 3752 diff --git a/ThirdParty/include/boost/intrusive/pointer_rebind.hpp b/ThirdParty/include/boost/intrusive/pointer_rebind.hpp new file mode 100644 index 00000000..0c3ceca5 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/pointer_rebind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2475d55e53380d81ba28b534fb556a9735300511139388ee5481109a3f768e2e +size 6306 diff --git a/ThirdParty/include/boost/intrusive/pointer_traits.hpp b/ThirdParty/include/boost/intrusive/pointer_traits.hpp new file mode 100644 index 00000000..3d69a228 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/pointer_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3cf3c4db57e3ce32009983923add7195d4c1bb081fcf9f7f611c9716ec55af3 +size 13506 diff --git a/ThirdParty/include/boost/intrusive/priority_compare.hpp b/ThirdParty/include/boost/intrusive/priority_compare.hpp new file mode 100644 index 00000000..f75a2a78 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/priority_compare.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c0c8f35f72d37575344663ee7fd742e924b2abc49ce38a4061b9f39205592ec +size 1802 diff --git a/ThirdParty/include/boost/intrusive/rbtree.hpp b/ThirdParty/include/boost/intrusive/rbtree.hpp new file mode 100644 index 00000000..230eacee --- /dev/null +++ b/ThirdParty/include/boost/intrusive/rbtree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866732b530e823a779c9d981c062f8fd85c8b62308194586fc1740e60f236d06 +size 23937 diff --git a/ThirdParty/include/boost/intrusive/rbtree_algorithms.hpp b/ThirdParty/include/boost/intrusive/rbtree_algorithms.hpp new file mode 100644 index 00000000..03cacaca --- /dev/null +++ b/ThirdParty/include/boost/intrusive/rbtree_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95f4f149a2eb7666d0920f05a85377cfd7a423ee0e2a687a34e2dbeac1afad40 +size 25946 diff --git a/ThirdParty/include/boost/intrusive/set.hpp b/ThirdParty/include/boost/intrusive/set.hpp new file mode 100644 index 00000000..53a7afaf --- /dev/null +++ b/ThirdParty/include/boost/intrusive/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:425a19dc17aaaa18a6f03a214df273a5456f55dac5b19e275daa7f09cdc29ff7 +size 44135 diff --git a/ThirdParty/include/boost/intrusive/set_hook.hpp b/ThirdParty/include/boost/intrusive/set_hook.hpp new file mode 100644 index 00000000..8170cf6e --- /dev/null +++ b/ThirdParty/include/boost/intrusive/set_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a6e89429c5dcc45515ae279e15fbe37a23588f33a4082f48b1a9f465ffd3aec +size 10812 diff --git a/ThirdParty/include/boost/intrusive/sg_set.hpp b/ThirdParty/include/boost/intrusive/sg_set.hpp new file mode 100644 index 00000000..e070c1fe --- /dev/null +++ b/ThirdParty/include/boost/intrusive/sg_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af034d1a356c13b2f6cddf43c30326833e53d6f390a427c705b99b18973694ea +size 45113 diff --git a/ThirdParty/include/boost/intrusive/sgtree.hpp b/ThirdParty/include/boost/intrusive/sgtree.hpp new file mode 100644 index 00000000..2a6f7e17 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/sgtree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76811e66d7d0b9bdd60351d62ad3f199f0ccab89c9b3e62a7995c10855f0792f +size 41585 diff --git a/ThirdParty/include/boost/intrusive/sgtree_algorithms.hpp b/ThirdParty/include/boost/intrusive/sgtree_algorithms.hpp new file mode 100644 index 00000000..9d77d445 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/sgtree_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac417f95d3d2b62bf1bed41bc9b8c50150d2bd6417f05552e51399fa7c936953 +size 17515 diff --git a/ThirdParty/include/boost/intrusive/slist.hpp b/ThirdParty/include/boost/intrusive/slist.hpp new file mode 100644 index 00000000..00dc5de1 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/slist.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e638536983a62914ee055c501e841a4eacda85911d4d68712d51721f1f609c4 +size 88224 diff --git a/ThirdParty/include/boost/intrusive/slist_hook.hpp b/ThirdParty/include/boost/intrusive/slist_hook.hpp new file mode 100644 index 00000000..61a02bde --- /dev/null +++ b/ThirdParty/include/boost/intrusive/slist_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:553149869396df951058b837a48290553e169441c526ccf2a16af02ea626f49c +size 10868 diff --git a/ThirdParty/include/boost/intrusive/splay_set.hpp b/ThirdParty/include/boost/intrusive/splay_set.hpp new file mode 100644 index 00000000..7b1f85c4 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/splay_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c37fe5ced987b44b12a2cc63c592358fd7eb6d98228dad9bed3ed51c596f69a +size 46919 diff --git a/ThirdParty/include/boost/intrusive/splaytree.hpp b/ThirdParty/include/boost/intrusive/splaytree.hpp new file mode 100644 index 00000000..9df49eee --- /dev/null +++ b/ThirdParty/include/boost/intrusive/splaytree.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a1a5a62fa067ec86d574f692fc514a4065dada63a5f0930154feb66bbbbe55c +size 28017 diff --git a/ThirdParty/include/boost/intrusive/splaytree_algorithms.hpp b/ThirdParty/include/boost/intrusive/splaytree_algorithms.hpp new file mode 100644 index 00000000..be425106 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/splaytree_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0766ed3c3f8df28c5bbcab4d19d310ac0bd8bd0ea8e0d422276d69568ead6850 +size 29751 diff --git a/ThirdParty/include/boost/intrusive/treap.hpp b/ThirdParty/include/boost/intrusive/treap.hpp new file mode 100644 index 00000000..54b6d717 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/treap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f45a19a8f12c74643e3e0f6d3946a55ff5962e5008f164f5c2f26c0dc6f6006d +size 57269 diff --git a/ThirdParty/include/boost/intrusive/treap_algorithms.hpp b/ThirdParty/include/boost/intrusive/treap_algorithms.hpp new file mode 100644 index 00000000..2488c882 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/treap_algorithms.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db8fc49fdf5207ff14b03efdd60cdbe0c55711fee7699e548f41cbce5ddf639a +size 29213 diff --git a/ThirdParty/include/boost/intrusive/treap_set.hpp b/ThirdParty/include/boost/intrusive/treap_set.hpp new file mode 100644 index 00000000..2569a631 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/treap_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ea2f91a45e0c81759ebc2cef9b674c912e31493f76946c9094653adcadb5a0e +size 45953 diff --git a/ThirdParty/include/boost/intrusive/trivial_value_traits.hpp b/ThirdParty/include/boost/intrusive/trivial_value_traits.hpp new file mode 100644 index 00000000..96bd5f8c --- /dev/null +++ b/ThirdParty/include/boost/intrusive/trivial_value_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef3a843789481810294836555134af26fa7938345c34a3865d4fb99c39ce8c37 +size 2381 diff --git a/ThirdParty/include/boost/intrusive/unordered_set.hpp b/ThirdParty/include/boost/intrusive/unordered_set.hpp new file mode 100644 index 00000000..9652b8a2 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/unordered_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdbe9712239d47adf6272955e1ead3b26a83e53fff95f7321b55d63604edf238 +size 45070 diff --git a/ThirdParty/include/boost/intrusive/unordered_set_hook.hpp b/ThirdParty/include/boost/intrusive/unordered_set_hook.hpp new file mode 100644 index 00000000..b1af02f2 --- /dev/null +++ b/ThirdParty/include/boost/intrusive/unordered_set_hook.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80e3540b962fdfcdf633773b02d7f0b02e06fb9f810eda923f28a8d09601f7af +size 16518 diff --git a/ThirdParty/include/boost/is_placeholder.hpp b/ThirdParty/include/boost/is_placeholder.hpp new file mode 100644 index 00000000..d99aac24 --- /dev/null +++ b/ThirdParty/include/boost/is_placeholder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5732a33a6201c9377956813d6bb5826391a726c7093fe21991ac75c8977991d +size 634 diff --git a/ThirdParty/include/boost/limits.hpp b/ThirdParty/include/boost/limits.hpp new file mode 100644 index 00000000..118169cb --- /dev/null +++ b/ThirdParty/include/boost/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87ec55d61dcdc5d8cfd17820debce7928a88d3f62f99fce8aa456ba6f39b601 +size 6146 diff --git a/ThirdParty/include/boost/mem_fn.hpp b/ThirdParty/include/boost/mem_fn.hpp new file mode 100644 index 00000000..bbe58c6e --- /dev/null +++ b/ThirdParty/include/boost/mem_fn.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a534ea3dc1a654f1821cd494470f04f70d5d01e5f1f2e5c36cec8707e4ef15c +size 596 diff --git a/ThirdParty/include/boost/move/adl_move_swap.hpp b/ThirdParty/include/boost/move/adl_move_swap.hpp new file mode 100644 index 00000000..f7ac8435 --- /dev/null +++ b/ThirdParty/include/boost/move/adl_move_swap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf18c5da46ad1c7e632f10b96a7330b335623f36594cc067194d9dbd74815c2f +size 8061 diff --git a/ThirdParty/include/boost/move/algo/adaptive_merge.hpp b/ThirdParty/include/boost/move/algo/adaptive_merge.hpp new file mode 100644 index 00000000..0887aa60 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/adaptive_merge.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9cd47f940a724785b4cfa0034e4970c3de7ee040c61316eb7ab73a7a825705d +size 15696 diff --git a/ThirdParty/include/boost/move/algo/adaptive_sort.hpp b/ThirdParty/include/boost/move/algo/adaptive_sort.hpp new file mode 100644 index 00000000..c5eed0c6 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/adaptive_sort.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2446a6b5551a3204e2c404c88b589cc3a2721b7e09aaa0d1eef96b125fa79082 +size 28466 diff --git a/ThirdParty/include/boost/move/algo/detail/adaptive_sort_merge.hpp b/ThirdParty/include/boost/move/algo/detail/adaptive_sort_merge.hpp new file mode 100644 index 00000000..1e5e9c0d --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/adaptive_sort_merge.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e873dc080f04f4af218843acd1f8c4d7bd9972a674b43b003f4a1660b01e7147 +size 59949 diff --git a/ThirdParty/include/boost/move/algo/detail/basic_op.hpp b/ThirdParty/include/boost/move/algo/detail/basic_op.hpp new file mode 100644 index 00000000..bb184d19 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/basic_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e57c7987a84c4d37e9600e247af4f12f1819f01e8427c025176e91c6423cd21 +size 4637 diff --git a/ThirdParty/include/boost/move/algo/detail/heap_sort.hpp b/ThirdParty/include/boost/move/algo/detail/heap_sort.hpp new file mode 100644 index 00000000..80aebd64 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/heap_sort.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84e53dfa9f6df189ce4049cafa593160ef8ab0b65238c8939a172d2af18f8da9 +size 3655 diff --git a/ThirdParty/include/boost/move/algo/detail/insertion_sort.hpp b/ThirdParty/include/boost/move/algo/detail/insertion_sort.hpp new file mode 100644 index 00000000..5632dc83 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/insertion_sort.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd979653033477ad7c8095fb9e9a16074f246bae10aa9a16d54da9672a148196 +size 4387 diff --git a/ThirdParty/include/boost/move/algo/detail/is_sorted.hpp b/ThirdParty/include/boost/move/algo/detail/is_sorted.hpp new file mode 100644 index 00000000..2bc194a7 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/is_sorted.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4ffc671099e654236445f11715a63d365ce86c67d5b45f2793434dd7d7db315 +size 1383 diff --git a/ThirdParty/include/boost/move/algo/detail/merge.hpp b/ThirdParty/include/boost/move/algo/detail/merge.hpp new file mode 100644 index 00000000..0569724e --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/merge.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8444975136efa3142703349de778fc32d6399ba30c6bf4caf9e2379d405c791c +size 17190 diff --git a/ThirdParty/include/boost/move/algo/detail/merge_sort.hpp b/ThirdParty/include/boost/move/algo/detail/merge_sort.hpp new file mode 100644 index 00000000..0da20351 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/merge_sort.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5782eb631bfbeb214aacb718da7f360f68ddc25cdc7ae1cb7539d63f576630a +size 4601 diff --git a/ThirdParty/include/boost/move/algo/detail/pdqsort.hpp b/ThirdParty/include/boost/move/algo/detail/pdqsort.hpp new file mode 100644 index 00000000..acfae17c --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/pdqsort.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7426e68da19e942d3dd5aedf6e7d1b28a7d10d795daa72383e714a6883e2f18 +size 13910 diff --git a/ThirdParty/include/boost/move/algo/detail/set_difference.hpp b/ThirdParty/include/boost/move/algo/detail/set_difference.hpp new file mode 100644 index 00000000..61d03dfe --- /dev/null +++ b/ThirdParty/include/boost/move/algo/detail/set_difference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9828ebe795c9c7120a7602d73d1de42e5bc0f0ebceece86b0e484a0b601e4a +size 7316 diff --git a/ThirdParty/include/boost/move/algo/move.hpp b/ThirdParty/include/boost/move/algo/move.hpp new file mode 100644 index 00000000..1cd8ac76 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/move.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b71d3cd47bf285ee53c19754eaf7a4eff521be3b49b9a0d8a6b0f8176c496f48 +size 4725 diff --git a/ThirdParty/include/boost/move/algo/predicate.hpp b/ThirdParty/include/boost/move/algo/predicate.hpp new file mode 100644 index 00000000..17598fe9 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/predicate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a289368a42a0c2d7ff78b9576184a999252f4d700bd993658a5a13295b6fd6a +size 1722 diff --git a/ThirdParty/include/boost/move/algo/unique.hpp b/ThirdParty/include/boost/move/algo/unique.hpp new file mode 100644 index 00000000..4e8d3630 --- /dev/null +++ b/ThirdParty/include/boost/move/algo/unique.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:689a8d5cf485fbf0ea19e329f6c8a343d96dc895ac062a54abe52b18106f3616 +size 1896 diff --git a/ThirdParty/include/boost/move/algorithm.hpp b/ThirdParty/include/boost/move/algorithm.hpp new file mode 100644 index 00000000..605dcff2 --- /dev/null +++ b/ThirdParty/include/boost/move/algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:157d4907cd5e3131a0f4a7efaf51c766f4480819ee0c12226b22a7b5a2e8b4bf +size 4934 diff --git a/ThirdParty/include/boost/move/core.hpp b/ThirdParty/include/boost/move/core.hpp new file mode 100644 index 00000000..5981203b --- /dev/null +++ b/ThirdParty/include/boost/move/core.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f42d48959eb3d4caf80477509da4e4f9a9ff84bc4e2ad250cc6ce4d0479eef3 +size 15369 diff --git a/ThirdParty/include/boost/move/default_delete.hpp b/ThirdParty/include/boost/move/default_delete.hpp new file mode 100644 index 00000000..fa60df44 --- /dev/null +++ b/ThirdParty/include/boost/move/default_delete.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7554c40b6d48ea15b998cc256d278cd2a5fa634125dc2ee067fa4e3e96748ca8 +size 7544 diff --git a/ThirdParty/include/boost/move/detail/config_begin.hpp b/ThirdParty/include/boost/move/detail/config_begin.hpp new file mode 100644 index 00000000..5cb300a9 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/config_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5da2f6f1dee2a4d128bbb3d3189c1861b34a979071dfaf2ded679f95715b7a26 +size 1008 diff --git a/ThirdParty/include/boost/move/detail/config_end.hpp b/ThirdParty/include/boost/move/detail/config_end.hpp new file mode 100644 index 00000000..bec5b9a7 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/config_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:448a5c06871396d7bc0f2d8ac4d846c4139da36d944e90c7a99283e936d45f0f +size 473 diff --git a/ThirdParty/include/boost/move/detail/destruct_n.hpp b/ThirdParty/include/boost/move/detail/destruct_n.hpp new file mode 100644 index 00000000..7242a194 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/destruct_n.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8cd5d4e99d852780569df23397f0d830db2f91e6ea4f648efc05ec4ca3992fd +size 1233 diff --git a/ThirdParty/include/boost/move/detail/fwd_macros.hpp b/ThirdParty/include/boost/move/detail/fwd_macros.hpp new file mode 100644 index 00000000..0f2bc4d6 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/fwd_macros.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ed3578cbb31ba1cdf7cef76f6c3de1e37741abd50455c2c7b06b47054ee5c83 +size 42861 diff --git a/ThirdParty/include/boost/move/detail/iterator_to_raw_pointer.hpp b/ThirdParty/include/boost/move/detail/iterator_to_raw_pointer.hpp new file mode 100644 index 00000000..240fdc8b --- /dev/null +++ b/ThirdParty/include/boost/move/detail/iterator_to_raw_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3fa4d572c214ff41dee704e59f5b354a540939a2706e27170229308661b5103 +size 1758 diff --git a/ThirdParty/include/boost/move/detail/iterator_traits.hpp b/ThirdParty/include/boost/move/detail/iterator_traits.hpp new file mode 100644 index 00000000..c4cea1bc --- /dev/null +++ b/ThirdParty/include/boost/move/detail/iterator_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88e48c8642adda3342b4d470f41932d3269a9101e5625c78900bfa9275d99ba5 +size 2462 diff --git a/ThirdParty/include/boost/move/detail/meta_utils.hpp b/ThirdParty/include/boost/move/detail/meta_utils.hpp new file mode 100644 index 00000000..62982c42 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/meta_utils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4578950892ec71f18ba81f1b8ff451c91b9e628bf21b8603d8ca290bcf4b21fa +size 15530 diff --git a/ThirdParty/include/boost/move/detail/meta_utils_core.hpp b/ThirdParty/include/boost/move/detail/meta_utils_core.hpp new file mode 100644 index 00000000..efa9ba21 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/meta_utils_core.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e419c336b1b2d747601603064c1885b26bbddbddfb94bc8c284727b16fd7a63 +size 3225 diff --git a/ThirdParty/include/boost/move/detail/move_helpers.hpp b/ThirdParty/include/boost/move/detail/move_helpers.hpp new file mode 100644 index 00000000..77d2ab41 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/move_helpers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:870846ad2fb68a57168b80ea2d3e4d88689fe99710c069e2c0e68eecc1481771 +size 11990 diff --git a/ThirdParty/include/boost/move/detail/placement_new.hpp b/ThirdParty/include/boost/move/detail/placement_new.hpp new file mode 100644 index 00000000..9a6c39af --- /dev/null +++ b/ThirdParty/include/boost/move/detail/placement_new.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:711a959b81852bcf19a804bfed34f72ff2979442c05d558501c892c96799588a +size 884 diff --git a/ThirdParty/include/boost/move/detail/pointer_element.hpp b/ThirdParty/include/boost/move/detail/pointer_element.hpp new file mode 100644 index 00000000..bdcca7bc --- /dev/null +++ b/ThirdParty/include/boost/move/detail/pointer_element.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6049330bbae3883fab64d2fbf5286c5374328299be384edc3436afab3d8bfc1f +size 4948 diff --git a/ThirdParty/include/boost/move/detail/reverse_iterator.hpp b/ThirdParty/include/boost/move/detail/reverse_iterator.hpp new file mode 100644 index 00000000..9065577e --- /dev/null +++ b/ThirdParty/include/boost/move/detail/reverse_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b49aa3294554153c3f4379e05095750b11b617f1e7cd8fcade69c689bb46804 +size 4729 diff --git a/ThirdParty/include/boost/move/detail/std_ns_begin.hpp b/ThirdParty/include/boost/move/detail/std_ns_begin.hpp new file mode 100644 index 00000000..580aeb9c --- /dev/null +++ b/ThirdParty/include/boost/move/detail/std_ns_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1669ddc5d448ab22499fafffd471d1c64ad1744fe49f014e85fd841c176207d5 +size 1344 diff --git a/ThirdParty/include/boost/move/detail/std_ns_end.hpp b/ThirdParty/include/boost/move/detail/std_ns_end.hpp new file mode 100644 index 00000000..b5b1a26b --- /dev/null +++ b/ThirdParty/include/boost/move/detail/std_ns_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a663bf31551458a61b65c53631245373e940a0fc59f169a1003c8290428bcded +size 604 diff --git a/ThirdParty/include/boost/move/detail/to_raw_pointer.hpp b/ThirdParty/include/boost/move/detail/to_raw_pointer.hpp new file mode 100644 index 00000000..d1507a04 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/to_raw_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9ed24fe7bba6ee62b95de96869096573e0356ea229d55d4dfe58dce9d7b1e14 +size 1245 diff --git a/ThirdParty/include/boost/move/detail/type_traits.hpp b/ThirdParty/include/boost/move/detail/type_traits.hpp new file mode 100644 index 00000000..8c61364e --- /dev/null +++ b/ThirdParty/include/boost/move/detail/type_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852b1d10805a39f4ca889eec914827d04017482bd93026cff586ab4f824c6a14 +size 39897 diff --git a/ThirdParty/include/boost/move/detail/unique_ptr_meta_utils.hpp b/ThirdParty/include/boost/move/detail/unique_ptr_meta_utils.hpp new file mode 100644 index 00000000..eeea9c91 --- /dev/null +++ b/ThirdParty/include/boost/move/detail/unique_ptr_meta_utils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bf495a004563d10f67c7fef2eec2b69ffb3f3cbcb9525441d5a9e88d6990819 +size 13362 diff --git a/ThirdParty/include/boost/move/detail/workaround.hpp b/ThirdParty/include/boost/move/detail/workaround.hpp new file mode 100644 index 00000000..751b14fd --- /dev/null +++ b/ThirdParty/include/boost/move/detail/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae454f6b7851dc4c3e48811b8818493eab40fb7d68d3374ca3c7e52f0c4d7241 +size 2444 diff --git a/ThirdParty/include/boost/move/iterator.hpp b/ThirdParty/include/boost/move/iterator.hpp new file mode 100644 index 00000000..95aaadb3 --- /dev/null +++ b/ThirdParty/include/boost/move/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dc1aa088cf334f672e7d8a7af9503d5222c9ac84d46b6a9229a3616ace55e73 +size 10385 diff --git a/ThirdParty/include/boost/move/make_unique.hpp b/ThirdParty/include/boost/move/make_unique.hpp new file mode 100644 index 00000000..58be03dd --- /dev/null +++ b/ThirdParty/include/boost/move/make_unique.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e332bf53c04692d7652868c8867e28ea3578b53c26314e6ba5b5f9e76355a7e +size 8588 diff --git a/ThirdParty/include/boost/move/move.hpp b/ThirdParty/include/boost/move/move.hpp new file mode 100644 index 00000000..c7a73d5d --- /dev/null +++ b/ThirdParty/include/boost/move/move.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:905bbbded7462abe236685b7579a16f213476fb3a1b9d59456236ca971781a37 +size 1010 diff --git a/ThirdParty/include/boost/move/traits.hpp b/ThirdParty/include/boost/move/traits.hpp new file mode 100644 index 00000000..8ecc27d3 --- /dev/null +++ b/ThirdParty/include/boost/move/traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdb2cf2d368e6601d11c0a9e1b89406736442deb83b21318bfee84d7f734617c +size 2554 diff --git a/ThirdParty/include/boost/move/unique_ptr.hpp b/ThirdParty/include/boost/move/unique_ptr.hpp new file mode 100644 index 00000000..49f2b36d --- /dev/null +++ b/ThirdParty/include/boost/move/unique_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9f7243f666025866a566f007fb692a47aae07bb0c1c8352f790819742b6096 +size 39216 diff --git a/ThirdParty/include/boost/move/utility.hpp b/ThirdParty/include/boost/move/utility.hpp new file mode 100644 index 00000000..d2454966 --- /dev/null +++ b/ThirdParty/include/boost/move/utility.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af7d8e4a4fbbbea7a20ae0c65428d0e8850fc89d27cd7f81b21cf1e0eaadee8e +size 5406 diff --git a/ThirdParty/include/boost/move/utility_core.hpp b/ThirdParty/include/boost/move/utility_core.hpp new file mode 100644 index 00000000..14293b0a --- /dev/null +++ b/ThirdParty/include/boost/move/utility_core.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e49ed00398b570f264bea9f1b3c8b9b3a57362396c51a6c3ddc209a3b2daf54d +size 11145 diff --git a/ThirdParty/include/boost/mpl/O1_size.hpp b/ThirdParty/include/boost/mpl/O1_size.hpp new file mode 100644 index 00000000..70f15abd --- /dev/null +++ b/ThirdParty/include/boost/mpl/O1_size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a06d4f749e0c1404a2a59583dddbd24226ef93471c15b767c730ef71fc67d6 +size 1003 diff --git a/ThirdParty/include/boost/mpl/O1_size_fwd.hpp b/ThirdParty/include/boost/mpl/O1_size_fwd.hpp new file mode 100644 index 00000000..d1f47bfe --- /dev/null +++ b/ThirdParty/include/boost/mpl/O1_size_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d127e33b43b9f87605b4bc9c940681af8e4bf76a3616dbf27a8579f412fc4bc1 +size 559 diff --git a/ThirdParty/include/boost/mpl/accumulate.hpp b/ThirdParty/include/boost/mpl/accumulate.hpp new file mode 100644 index 00000000..8b3ed419 --- /dev/null +++ b/ThirdParty/include/boost/mpl/accumulate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80915142292fd93b330eed16505642c222b96014e40f590520fc13e8955b4d1e +size 946 diff --git a/ThirdParty/include/boost/mpl/advance.hpp b/ThirdParty/include/boost/mpl/advance.hpp new file mode 100644 index 00000000..8ae24f32 --- /dev/null +++ b/ThirdParty/include/boost/mpl/advance.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c466196f8ca4798a4c6354472e138f003bbe7ea6ae9237258fa1758b5fffc6c2 +size 1955 diff --git a/ThirdParty/include/boost/mpl/advance_fwd.hpp b/ThirdParty/include/boost/mpl/advance_fwd.hpp new file mode 100644 index 00000000..2d8ec71b --- /dev/null +++ b/ThirdParty/include/boost/mpl/advance_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d6acc3e465cbb29e8e45dc7ce490e3b9d0109939d2807d751bba194ca375bf1 +size 660 diff --git a/ThirdParty/include/boost/mpl/alias.hpp b/ThirdParty/include/boost/mpl/alias.hpp new file mode 100644 index 00000000..11f4a6a4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/alias.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdfa2ff02983cb0fb30c3f16a60493599769b853d702e83b17db028225b93966 +size 452 diff --git a/ThirdParty/include/boost/mpl/always.hpp b/ThirdParty/include/boost/mpl/always.hpp new file mode 100644 index 00000000..b2fed1bf --- /dev/null +++ b/ThirdParty/include/boost/mpl/always.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e18e07eedd427a41d8317dadd64d3658c063f494720b343d6a9c2782555737e +size 838 diff --git a/ThirdParty/include/boost/mpl/and.hpp b/ThirdParty/include/boost/mpl/and.hpp new file mode 100644 index 00000000..c82a0b93 --- /dev/null +++ b/ThirdParty/include/boost/mpl/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab93bff72198182b820ee2cc113bc44a2d0af39545d5a02c106d782a2cc00aa5 +size 1593 diff --git a/ThirdParty/include/boost/mpl/apply.hpp b/ThirdParty/include/boost/mpl/apply.hpp new file mode 100644 index 00000000..46e422f4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:587250723d6cea665a01bac6b28c0243b6a284fe02ec251298a4360675926e7b +size 6087 diff --git a/ThirdParty/include/boost/mpl/apply_fwd.hpp b/ThirdParty/include/boost/mpl/apply_fwd.hpp new file mode 100644 index 00000000..8a32e09d --- /dev/null +++ b/ThirdParty/include/boost/mpl/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5025b30bf1299fa05c599312c9d02c7b023c03bbe85edf305fe502bafbd71da +size 2663 diff --git a/ThirdParty/include/boost/mpl/apply_wrap.hpp b/ThirdParty/include/boost/mpl/apply_wrap.hpp new file mode 100644 index 00000000..1d445b1e --- /dev/null +++ b/ThirdParty/include/boost/mpl/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30375a817bb6ebf062cd2858a76ec568347b22c9b86f6071ededee1b79562d10 +size 6177 diff --git a/ThirdParty/include/boost/mpl/arg.hpp b/ThirdParty/include/boost/mpl/arg.hpp new file mode 100644 index 00000000..eb435aec --- /dev/null +++ b/ThirdParty/include/boost/mpl/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02335a98117d161983fb9a30b0f77b1e3178e927fb9ae3abc173c15192159d3c +size 3216 diff --git a/ThirdParty/include/boost/mpl/arg_fwd.hpp b/ThirdParty/include/boost/mpl/arg_fwd.hpp new file mode 100644 index 00000000..6a904fcc --- /dev/null +++ b/ThirdParty/include/boost/mpl/arg_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d4c5805d025a2e07b6bc03ebb520accdd31cfe41768cfca9829cbe1f4125d28 +size 711 diff --git a/ThirdParty/include/boost/mpl/arithmetic.hpp b/ThirdParty/include/boost/mpl/arithmetic.hpp new file mode 100644 index 00000000..9d74928b --- /dev/null +++ b/ThirdParty/include/boost/mpl/arithmetic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9aba8c2ea7ef201c0a022292ee264ccca2890c2903b91fc3ca7ceb83b8abb6c8 +size 665 diff --git a/ThirdParty/include/boost/mpl/as_sequence.hpp b/ThirdParty/include/boost/mpl/as_sequence.hpp new file mode 100644 index 00000000..02a16d36 --- /dev/null +++ b/ThirdParty/include/boost/mpl/as_sequence.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e3461aa59d26aa12bfc17edea7785740d451203207995d72e03d9d7e78f5a9c +size 879 diff --git a/ThirdParty/include/boost/mpl/assert.hpp b/ThirdParty/include/boost/mpl/assert.hpp new file mode 100644 index 00000000..21b51987 --- /dev/null +++ b/ThirdParty/include/boost/mpl/assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f1162bb402a06e235c56049606ac866362faa591f254bc53f69f4c4df8dc66a +size 14739 diff --git a/ThirdParty/include/boost/mpl/at.hpp b/ThirdParty/include/boost/mpl/at.hpp new file mode 100644 index 00000000..bb98ae86 --- /dev/null +++ b/ThirdParty/include/boost/mpl/at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8143c6adde38c7c0935ab4d15961877dd8b33174637b142228988d6b4938db4f +size 1201 diff --git a/ThirdParty/include/boost/mpl/at_fwd.hpp b/ThirdParty/include/boost/mpl/at_fwd.hpp new file mode 100644 index 00000000..29fa1748 --- /dev/null +++ b/ThirdParty/include/boost/mpl/at_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc32acd79480d78e0980cef4b4e54176035335c0b25cb1f4d5f2f5c1335484e2 +size 546 diff --git a/ThirdParty/include/boost/mpl/aux_/O1_size_impl.hpp b/ThirdParty/include/boost/mpl/aux_/O1_size_impl.hpp new file mode 100644 index 00000000..8e7bdb29 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/O1_size_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4be7ed0a8cc3176af832acb6659728754c56945a4f01ea8ff68282e628b9027e +size 2104 diff --git a/ThirdParty/include/boost/mpl/aux_/adl_barrier.hpp b/ThirdParty/include/boost/mpl/aux_/adl_barrier.hpp new file mode 100644 index 00000000..5a9b3c63 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/adl_barrier.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28814ccd677294dfb0fd2d9a89153206e40dead79a96319fdf9bf951d402bf9c +size 1559 diff --git a/ThirdParty/include/boost/mpl/aux_/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/advance_backward.hpp new file mode 100644 index 00000000..c927a8f5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ce63a6d5d78f88c3e0b5cbbd54a543fed89a92b63b97c784ef50e0e4c1c102 +size 3419 diff --git a/ThirdParty/include/boost/mpl/aux_/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/advance_forward.hpp new file mode 100644 index 00000000..e7d5727d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb3632ca65632df6b7a3c3a319ea3292552141701795acf3260ff54282f38e86 +size 3338 diff --git a/ThirdParty/include/boost/mpl/aux_/apply_1st.hpp b/ThirdParty/include/boost/mpl/aux_/apply_1st.hpp new file mode 100644 index 00000000..da0d4849 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/apply_1st.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a7d50a83dad8aa45f7331618fb198c86f6fe99483dccca9db6e759652b9696a +size 731 diff --git a/ThirdParty/include/boost/mpl/aux_/arg_typedef.hpp b/ThirdParty/include/boost/mpl/aux_/arg_typedef.hpp new file mode 100644 index 00000000..5b392e74 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/arg_typedef.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:271a886b775714e3fe472e36867eb8de511b844ef344677f0075d81d3e48bceb +size 776 diff --git a/ThirdParty/include/boost/mpl/aux_/arithmetic_op.hpp b/ThirdParty/include/boost/mpl/aux_/arithmetic_op.hpp new file mode 100644 index 00000000..6c3a6d79 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/arithmetic_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df3905c6777bc27bcd55c42a65ab05075ecaa28e4727f9e850adb6931c3d9e5f +size 2441 diff --git a/ThirdParty/include/boost/mpl/aux_/arity.hpp b/ThirdParty/include/boost/mpl/aux_/arity.hpp new file mode 100644 index 00000000..fa4ac0af --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:faa7d7ad0317c59096b66583e4e4f2dc5b03e41b452c6c4d55f887852e98b8ec +size 1095 diff --git a/ThirdParty/include/boost/mpl/aux_/arity_spec.hpp b/ThirdParty/include/boost/mpl/aux_/arity_spec.hpp new file mode 100644 index 00000000..9c354319 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/arity_spec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dcfb0143f18a92af5e7daf2900831f3470a31e40cb0727fb274dc86760aaa4c +size 1832 diff --git a/ThirdParty/include/boost/mpl/aux_/at_impl.hpp b/ThirdParty/include/boost/mpl/aux_/at_impl.hpp new file mode 100644 index 00000000..233f171d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/at_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bec2e9c3422ea9e10e23041931ef75b6d5dcf51c13389f661a86251c48c7f00 +size 1091 diff --git a/ThirdParty/include/boost/mpl/aux_/back_impl.hpp b/ThirdParty/include/boost/mpl/aux_/back_impl.hpp new file mode 100644 index 00000000..9e13abc1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/back_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3b1ff1036279d7865309b06cdc5603cc61f34bac896a760356fa1c936262ac9 +size 1121 diff --git a/ThirdParty/include/boost/mpl/aux_/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/basic_bind.hpp new file mode 100644 index 00000000..4159272a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2773857d56c28dfd791e45b6bcc41761ce8acf4e1aa425b56e6de41b6ffee9dd +size 550 diff --git a/ThirdParty/include/boost/mpl/aux_/begin_end_impl.hpp b/ThirdParty/include/boost/mpl/aux_/begin_end_impl.hpp new file mode 100644 index 00000000..85cc2cd5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/begin_end_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4822b6ae1e478f69fc2f1ce6d7b2eafa4e64b7ea573a998e6cf5c8a4e98996ba +size 2643 diff --git a/ThirdParty/include/boost/mpl/aux_/clear_impl.hpp b/ThirdParty/include/boost/mpl/aux_/clear_impl.hpp new file mode 100644 index 00000000..7fba9180 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/clear_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f43aa6c6786a806b2fb1400d2ad83e32e678f8c1a9bffbff9687d90606c87cf6 +size 827 diff --git a/ThirdParty/include/boost/mpl/aux_/common_name_wknd.hpp b/ThirdParty/include/boost/mpl/aux_/common_name_wknd.hpp new file mode 100644 index 00000000..55abe29f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/common_name_wknd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b065568c976ed60cb043806b8a53d0393bebb5ec68a4eb27834c14457450632 +size 873 diff --git a/ThirdParty/include/boost/mpl/aux_/comparison_op.hpp b/ThirdParty/include/boost/mpl/aux_/comparison_op.hpp new file mode 100644 index 00000000..b4d6f3f3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/comparison_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b34d2c80f52dded1b913a41a3d3eb9ffe6d9cd85e2084bc9a107e65376e23d9b +size 2153 diff --git a/ThirdParty/include/boost/mpl/aux_/config/adl.hpp b/ThirdParty/include/boost/mpl/aux_/config/adl.hpp new file mode 100644 index 00000000..230f71c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/adl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9925bac775bb4f047a9bffe62ad78cb3e758f96a36944154b5908878c807b08c +size 1416 diff --git a/ThirdParty/include/boost/mpl/aux_/config/arrays.hpp b/ThirdParty/include/boost/mpl/aux_/config/arrays.hpp new file mode 100644 index 00000000..8d1be7f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/arrays.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5606f2db867c019059c174a8fba732ebb380e3e03c35bf48eb1d2cf3f0366cb +size 829 diff --git a/ThirdParty/include/boost/mpl/aux_/config/bcc.hpp b/ThirdParty/include/boost/mpl/aux_/config/bcc.hpp new file mode 100644 index 00000000..341e4aa3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/bcc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41d9e982226decb468ee6f06ced5095065806fba76c70733740249118e5bb572 +size 801 diff --git a/ThirdParty/include/boost/mpl/aux_/config/bind.hpp b/ThirdParty/include/boost/mpl/aux_/config/bind.hpp new file mode 100644 index 00000000..4018aecf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fc50506b59ea546ec7d871b81716710476a1cfe5dddb2565faa541466dc7041 +size 898 diff --git a/ThirdParty/include/boost/mpl/aux_/config/compiler.hpp b/ThirdParty/include/boost/mpl/aux_/config/compiler.hpp new file mode 100644 index 00000000..fe08aae6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/compiler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8517de8c73498d197b6bcf0d00e5a38772b7bda20f32790451b70d1489832a8 +size 2134 diff --git a/ThirdParty/include/boost/mpl/aux_/config/ctps.hpp b/ThirdParty/include/boost/mpl/aux_/config/ctps.hpp new file mode 100644 index 00000000..5850ffb4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:647db56e21aebe52eff988315453aff1bdc55c441b27f94e183636bf7c7dbe96 +size 823 diff --git a/ThirdParty/include/boost/mpl/aux_/config/dependent_nttp.hpp b/ThirdParty/include/boost/mpl/aux_/config/dependent_nttp.hpp new file mode 100644 index 00000000..73235d1d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/dependent_nttp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74357aa79278eba14434db8003bf9a72b19ca798d193e4ebf20dc0b229fe7228 +size 1130 diff --git a/ThirdParty/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp new file mode 100644 index 00000000..481f72b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d977c60e0033701b04651a0c865ec27472db4ce9eb8b941d394ccb7c38b138bb +size 736 diff --git a/ThirdParty/include/boost/mpl/aux_/config/dtp.hpp b/ThirdParty/include/boost/mpl/aux_/config/dtp.hpp new file mode 100644 index 00000000..15b40c8a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/dtp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3726a59fd1c71d3ea36a3c87269724ab0eba128f35c7bbb061416f0491733f2e +size 1571 diff --git a/ThirdParty/include/boost/mpl/aux_/config/eti.hpp b/ThirdParty/include/boost/mpl/aux_/config/eti.hpp new file mode 100644 index 00000000..e5e295fb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/eti.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cc8dd5b9009cd8af39c18ef8ae8d2bb210d69197b39f9bbe66cbc7e94e82f87 +size 1235 diff --git a/ThirdParty/include/boost/mpl/aux_/config/forwarding.hpp b/ThirdParty/include/boost/mpl/aux_/config/forwarding.hpp new file mode 100644 index 00000000..937ef7bd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/forwarding.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:539163823886431eb657622930b4d0b93c3c5ac316e3823995fd0157e15c830c +size 721 diff --git a/ThirdParty/include/boost/mpl/aux_/config/gcc.hpp b/ThirdParty/include/boost/mpl/aux_/config/gcc.hpp new file mode 100644 index 00000000..a9e67789 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/gcc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78f78e3e42144452a092c06969eed8723b081a9faf0c1860013d774c63f83179 +size 591 diff --git a/ThirdParty/include/boost/mpl/aux_/config/gpu.hpp b/ThirdParty/include/boost/mpl/aux_/config/gpu.hpp new file mode 100644 index 00000000..c4ca9917 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/gpu.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5502f35db9b0ec14c1ed38caa7efc2b7baa123600b5533d8e5f91ef99de11bb2 +size 666 diff --git a/ThirdParty/include/boost/mpl/aux_/config/has_apply.hpp b/ThirdParty/include/boost/mpl/aux_/config/has_apply.hpp new file mode 100644 index 00000000..899560ba --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/has_apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57a0a58f43e03b4e7435db61ba0801dbcada1c522b8905da39b70edfa7df3299 +size 905 diff --git a/ThirdParty/include/boost/mpl/aux_/config/has_xxx.hpp b/ThirdParty/include/boost/mpl/aux_/config/has_xxx.hpp new file mode 100644 index 00000000..c04e90b7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/has_xxx.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19e2087e31f5302aca7c9930f01963c414504a1fa2f416b7d9aa1a65ca36aac6 +size 973 diff --git a/ThirdParty/include/boost/mpl/aux_/config/integral.hpp b/ThirdParty/include/boost/mpl/aux_/config/integral.hpp new file mode 100644 index 00000000..101d4b69 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/integral.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5490eafc60e0eca258a0767371fe76e85d4ee075261a55774653edbcc8fa80cc +size 1045 diff --git a/ThirdParty/include/boost/mpl/aux_/config/intel.hpp b/ThirdParty/include/boost/mpl/aux_/config/intel.hpp new file mode 100644 index 00000000..0af74511 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/intel.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ce4ace676be390de349b31f000af18d49c953e12ffc91c882ee632f1bb4cc2a +size 511 diff --git a/ThirdParty/include/boost/mpl/aux_/config/lambda.hpp b/ThirdParty/include/boost/mpl/aux_/config/lambda.hpp new file mode 100644 index 00000000..2c824446 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec9f4e943fb91987e5156a11ce26184d9fbaa426f79e5ad3b6aac148486a114e +size 910 diff --git a/ThirdParty/include/boost/mpl/aux_/config/msvc.hpp b/ThirdParty/include/boost/mpl/aux_/config/msvc.hpp new file mode 100644 index 00000000..3f22288e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/msvc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62eef1e28b4ce6ca35d07ece37b8bb455289f6ac4c774ef193a4e5741b0d06e5 +size 500 diff --git a/ThirdParty/include/boost/mpl/aux_/config/msvc_typename.hpp b/ThirdParty/include/boost/mpl/aux_/config/msvc_typename.hpp new file mode 100644 index 00000000..d0ab2bbb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/msvc_typename.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b5029e579609be6e766019d5d306e72bd1db06bcc616c3abc661f6bc8b737a5 +size 684 diff --git a/ThirdParty/include/boost/mpl/aux_/config/nttp.hpp b/ThirdParty/include/boost/mpl/aux_/config/nttp.hpp new file mode 100644 index 00000000..03e68ce2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/nttp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9073ecf730c3a0993cee681ad5a2cef4669cb13e0afd640de26861d38852715f +size 1009 diff --git a/ThirdParty/include/boost/mpl/aux_/config/operators.hpp b/ThirdParty/include/boost/mpl/aux_/config/operators.hpp new file mode 100644 index 00000000..44734522 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/operators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02874c1d4c566bf7fce46e554241b17c208528d40832741f2eeff799c41f4280 +size 1069 diff --git a/ThirdParty/include/boost/mpl/aux_/config/overload_resolution.hpp b/ThirdParty/include/boost/mpl/aux_/config/overload_resolution.hpp new file mode 100644 index 00000000..3f58a28c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/overload_resolution.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4494fcb883f35349c2fd58cc04feb2d6fd354ec8368b8a4d84e5449253f231f +size 818 diff --git a/ThirdParty/include/boost/mpl/aux_/config/pp_counter.hpp b/ThirdParty/include/boost/mpl/aux_/config/pp_counter.hpp new file mode 100644 index 00000000..4ffe2657 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/pp_counter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bd7e219c68e112ead0278404c1a9dc507e8710cb7fd23195d61165c95638ab1 +size 713 diff --git a/ThirdParty/include/boost/mpl/aux_/config/preprocessor.hpp b/ThirdParty/include/boost/mpl/aux_/config/preprocessor.hpp new file mode 100644 index 00000000..21b22435 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/preprocessor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8050169b5c3d262396d537c4462d0cb4a7071a98309f121efc9a63e5c16caa4a +size 1109 diff --git a/ThirdParty/include/boost/mpl/aux_/config/static_constant.hpp b/ThirdParty/include/boost/mpl/aux_/config/static_constant.hpp new file mode 100644 index 00000000..4fb82efd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/static_constant.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aca83823971e4b9e0db4deb81dd96e79b2851e00ded38e7a306bbf8f5d268ac2 +size 680 diff --git a/ThirdParty/include/boost/mpl/aux_/config/ttp.hpp b/ThirdParty/include/boost/mpl/aux_/config/ttp.hpp new file mode 100644 index 00000000..2ee283f7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/ttp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b023d0b51d1ae092e5b5226f6558211ffc5258b5f55954a88f3ff3263d90240 +size 1168 diff --git a/ThirdParty/include/boost/mpl/aux_/config/typeof.hpp b/ThirdParty/include/boost/mpl/aux_/config/typeof.hpp new file mode 100644 index 00000000..9a036fe5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/typeof.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bb385b553bc6481cc5fc4e5e2796e30db4358013f139d51ad1d3243409913fe +size 961 diff --git a/ThirdParty/include/boost/mpl/aux_/config/use_preprocessed.hpp b/ThirdParty/include/boost/mpl/aux_/config/use_preprocessed.hpp new file mode 100644 index 00000000..9e531891 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/use_preprocessed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ef95ff5065ffa6144d9c562d71f082ac8091b19ecf3670b7682b18fb9d921d6 +size 525 diff --git a/ThirdParty/include/boost/mpl/aux_/config/workaround.hpp b/ThirdParty/include/boost/mpl/aux_/config/workaround.hpp new file mode 100644 index 00000000..40f3a545 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/config/workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57b4a97e529b168efdeb908260c55002e2569c58c98ea23eff68448dca92a4fc +size 497 diff --git a/ThirdParty/include/boost/mpl/aux_/contains_impl.hpp b/ThirdParty/include/boost/mpl/aux_/contains_impl.hpp new file mode 100644 index 00000000..1a57c56e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/contains_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0273c6d51fcaa928bf01e7e157e03cff606a7bc9336402da8adf4e2ac5f72abf +size 1572 diff --git a/ThirdParty/include/boost/mpl/aux_/count_args.hpp b/ThirdParty/include/boost/mpl/aux_/count_args.hpp new file mode 100644 index 00000000..79bb75b7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/count_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9960bd368e3e6a4a58e63497a60d2ef3d93a404837521b4aaf1afa5cb90fd617 +size 2937 diff --git a/ThirdParty/include/boost/mpl/aux_/count_impl.hpp b/ThirdParty/include/boost/mpl/aux_/count_impl.hpp new file mode 100644 index 00000000..6b74545e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/count_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0063a15ea2b5074972ad8b5248488f7b721f3968551002c0c9e8b4e413966c0a +size 1173 diff --git a/ThirdParty/include/boost/mpl/aux_/empty_impl.hpp b/ThirdParty/include/boost/mpl/aux_/empty_impl.hpp new file mode 100644 index 00000000..a275284a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/empty_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ba30f4f6da6aee65c5e27eca847c13fddd988e1e03edfe11ce0f5bd81780eca +size 1059 diff --git a/ThirdParty/include/boost/mpl/aux_/erase_impl.hpp b/ThirdParty/include/boost/mpl/aux_/erase_impl.hpp new file mode 100644 index 00000000..e443445c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/erase_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b07906f60cfa1989444253d71253f5c559844bd4d8c1bc35398532a81445471e +size 1767 diff --git a/ThirdParty/include/boost/mpl/aux_/erase_key_impl.hpp b/ThirdParty/include/boost/mpl/aux_/erase_key_impl.hpp new file mode 100644 index 00000000..05e66838 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/erase_key_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d241a158e9a860ca593d88f470b409a18b90df6c8d613184f7031fced440db1 +size 749 diff --git a/ThirdParty/include/boost/mpl/aux_/filter_iter.hpp b/ThirdParty/include/boost/mpl/aux_/filter_iter.hpp new file mode 100644 index 00000000..c4ea5980 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/filter_iter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5464e770eaf8291cfc1ab18afc0fff51c05536f23d1951b97cc665dc14d54c5a +size 3017 diff --git a/ThirdParty/include/boost/mpl/aux_/find_if_pred.hpp b/ThirdParty/include/boost/mpl/aux_/find_if_pred.hpp new file mode 100644 index 00000000..da9a27a8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/find_if_pred.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:605af1ac25a01a935e6d2c9e979b1ba86ca1776da6baaf8f12189905ba862770 +size 756 diff --git a/ThirdParty/include/boost/mpl/aux_/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/fold_impl.hpp new file mode 100644 index 00000000..09ba669c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3769cbc4b6339d0c6c2c9864c2b7606770dfbc758ba093a58dfe9419735c20a +size 1271 diff --git a/ThirdParty/include/boost/mpl/aux_/fold_impl_body.hpp b/ThirdParty/include/boost/mpl/aux_/fold_impl_body.hpp new file mode 100644 index 00000000..b62d0fb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/fold_impl_body.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f66741413b2173ca02eaf6b7d03496fd69e1db4bdc9a1e54322e14f921b7ebe1 +size 8938 diff --git a/ThirdParty/include/boost/mpl/aux_/fold_op.hpp b/ThirdParty/include/boost/mpl/aux_/fold_op.hpp new file mode 100644 index 00000000..8921084b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/fold_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07440ffece526c64690a52e50fd47d5d101c54cb0dbb0c8e11d60d881c385c1a +size 822 diff --git a/ThirdParty/include/boost/mpl/aux_/fold_pred.hpp b/ThirdParty/include/boost/mpl/aux_/fold_pred.hpp new file mode 100644 index 00000000..8663da78 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/fold_pred.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee570a6d5f1b9777455d16b7cb677088a8ebdce6ab8f3c41d0dae648d7ebc3f3 +size 764 diff --git a/ThirdParty/include/boost/mpl/aux_/front_impl.hpp b/ThirdParty/include/boost/mpl/aux_/front_impl.hpp new file mode 100644 index 00000000..f07409df --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/front_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e979b5c38d8a720a0530dcbfaa14a1fea8f6e34d13f9c6a1dae8d2a9d8326f9 +size 1032 diff --git a/ThirdParty/include/boost/mpl/aux_/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/full_lambda.hpp new file mode 100644 index 00000000..3cf39dd4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc55ed5e16cc10217a6953b1cb90ac3c9fc254d82637122ba50089958f439651 +size 8796 diff --git a/ThirdParty/include/boost/mpl/aux_/has_apply.hpp b/ThirdParty/include/boost/mpl/aux_/has_apply.hpp new file mode 100644 index 00000000..8af4e755 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c63998ae37b2a7922f66845fb6fae1fd7aa9658ec0855a3a99aa3d68d67bb8e +size 767 diff --git a/ThirdParty/include/boost/mpl/aux_/has_begin.hpp b/ThirdParty/include/boost/mpl/aux_/has_begin.hpp new file mode 100644 index 00000000..a4cc0cbe --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df7faf3ad4060d3ff0685cbe0de686187adf57b24e8960f35900bf3969221fef +size 580 diff --git a/ThirdParty/include/boost/mpl/aux_/has_key_impl.hpp b/ThirdParty/include/boost/mpl/aux_/has_key_impl.hpp new file mode 100644 index 00000000..53f14fb0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_key_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a2fb65038033de53a0f3fdef0f2090c3b643052fcc3518056a95d142de036e2 +size 856 diff --git a/ThirdParty/include/boost/mpl/aux_/has_rebind.hpp b/ThirdParty/include/boost/mpl/aux_/has_rebind.hpp new file mode 100644 index 00000000..cbbf8a59 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_rebind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f35d586a5864947c5cf01241578969cc7005f899e4c3059c035ab0f3e527e9b5 +size 2563 diff --git a/ThirdParty/include/boost/mpl/aux_/has_size.hpp b/ThirdParty/include/boost/mpl/aux_/has_size.hpp new file mode 100644 index 00000000..fb61c53e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c2e82715f4adb91dd433a659dda944410f520036929252680e1274c706a5a93 +size 553 diff --git a/ThirdParty/include/boost/mpl/aux_/has_tag.hpp b/ThirdParty/include/boost/mpl/aux_/has_tag.hpp new file mode 100644 index 00000000..8a03e733 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bc2cf30e239b7cd12311273d61747e44f7c730058a40c955f36fd8685bdc5ba +size 571 diff --git a/ThirdParty/include/boost/mpl/aux_/has_type.hpp b/ThirdParty/include/boost/mpl/aux_/has_type.hpp new file mode 100644 index 00000000..548c7dcc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/has_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:851cccbd90893edcbf92f1834c8a2bcfe1896c8a4639b4c4ffc54261656eb002 +size 575 diff --git a/ThirdParty/include/boost/mpl/aux_/include_preprocessed.hpp b/ThirdParty/include/boost/mpl/aux_/include_preprocessed.hpp new file mode 100644 index 00000000..b55dcf2a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/include_preprocessed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:794b0971976e1b15dc6f55c236347d61e3eacf8f56334934797b184514767a86 +size 1333 diff --git a/ThirdParty/include/boost/mpl/aux_/insert_impl.hpp b/ThirdParty/include/boost/mpl/aux_/insert_impl.hpp new file mode 100644 index 00000000..ab3be227 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/insert_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f35bf597934768b2fd33bc0f28107e48479c8ffa7aa4571326c9f5c85750e8 +size 1714 diff --git a/ThirdParty/include/boost/mpl/aux_/insert_range_impl.hpp b/ThirdParty/include/boost/mpl/aux_/insert_range_impl.hpp new file mode 100644 index 00000000..b101971c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/insert_range_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1a434bbfc8a310cedd1666c891e53024041282df5e987ac0c0e34dba8adeecd +size 2225 diff --git a/ThirdParty/include/boost/mpl/aux_/inserter_algorithm.hpp b/ThirdParty/include/boost/mpl/aux_/inserter_algorithm.hpp new file mode 100644 index 00000000..db4149fa --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/inserter_algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f557102c3628d7c1afff2b39541855ce6034a617cb050bbc678527951c57039 +size 4816 diff --git a/ThirdParty/include/boost/mpl/aux_/integral_wrapper.hpp b/ThirdParty/include/boost/mpl/aux_/integral_wrapper.hpp new file mode 100644 index 00000000..df070f9d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/integral_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11a7707ca0672ba04948e3c16439cf0dad5cf68466790053a299f3e0f14dfdae +size 3519 diff --git a/ThirdParty/include/boost/mpl/aux_/is_msvc_eti_arg.hpp b/ThirdParty/include/boost/mpl/aux_/is_msvc_eti_arg.hpp new file mode 100644 index 00000000..f1b1082e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/is_msvc_eti_arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa6d5ff41d835623d1d6accdc5b43a0d367e4547a9a766eabf414d4319bcf49d +size 1318 diff --git a/ThirdParty/include/boost/mpl/aux_/iter_apply.hpp b/ThirdParty/include/boost/mpl/aux_/iter_apply.hpp new file mode 100644 index 00000000..bbb48f8c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/iter_apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3ab1f8ccfcd608a47e81b03d83dfa59ce7edd74ee9e014e0365e2de3c3f8bb +size 902 diff --git a/ThirdParty/include/boost/mpl/aux_/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/iter_fold_if_impl.hpp new file mode 100644 index 00000000..fc967e3a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:504cc50396ab3fb279125964afae98e737f77788b2019557833c8e5d7e46753c +size 5848 diff --git a/ThirdParty/include/boost/mpl/aux_/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/iter_fold_impl.hpp new file mode 100644 index 00000000..6b593d61 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb1e3d1f19fc2970d7f9cd1eb3d7c487e8d19ad5bbdfb95223ffb89eae7c7109 +size 1240 diff --git a/ThirdParty/include/boost/mpl/aux_/iter_push_front.hpp b/ThirdParty/include/boost/mpl/aux_/iter_push_front.hpp new file mode 100644 index 00000000..9c1e426f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/iter_push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fde88965168ff488013f9e09870a6c2d45830528fd265372e3066bd018db054a +size 771 diff --git a/ThirdParty/include/boost/mpl/aux_/joint_iter.hpp b/ThirdParty/include/boost/mpl/aux_/joint_iter.hpp new file mode 100644 index 00000000..6dd0e94f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/joint_iter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72af6017555d0bee6491ec4072cfe8a373dfb65539af85ff75ed2029829a0be3 +size 2877 diff --git a/ThirdParty/include/boost/mpl/aux_/lambda_arity_param.hpp b/ThirdParty/include/boost/mpl/aux_/lambda_arity_param.hpp new file mode 100644 index 00000000..c2f8008b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/lambda_arity_param.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82201ea0f099ce7e82f5d4c7927bfbde4622183ac2d0e464824ccbd10ffe83c5 +size 696 diff --git a/ThirdParty/include/boost/mpl/aux_/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/lambda_no_ctps.hpp new file mode 100644 index 00000000..1206f9f8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1e9d5db37494af834b2563056fffcdacd3adca41a8bb525a3d98b686b066df2 +size 4941 diff --git a/ThirdParty/include/boost/mpl/aux_/lambda_spec.hpp b/ThirdParty/include/boost/mpl/aux_/lambda_spec.hpp new file mode 100644 index 00000000..3e2722d6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/lambda_spec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942995a26c98a6bcde38c44e2c2963b4337e5cb2f4df63f0e83c17e63e7f1b3f +size 1214 diff --git a/ThirdParty/include/boost/mpl/aux_/lambda_support.hpp b/ThirdParty/include/boost/mpl/aux_/lambda_support.hpp new file mode 100644 index 00000000..6964c2c3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/lambda_support.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3344a92747cc59a328ea5540dda6b3c438463450699973156ebd0e01b209d78 +size 5360 diff --git a/ThirdParty/include/boost/mpl/aux_/largest_int.hpp b/ThirdParty/include/boost/mpl/aux_/largest_int.hpp new file mode 100644 index 00000000..f7f29a49 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/largest_int.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58937436c77e3ac4c8fd2e74adea3e5f63c964e8ae40f848e477dd897f745504 +size 1979 diff --git a/ThirdParty/include/boost/mpl/aux_/logical_op.hpp b/ThirdParty/include/boost/mpl/aux_/logical_op.hpp new file mode 100644 index 00000000..c26fe7bf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/logical_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56e299e3830a2c7b3a51c1c05136fc7ba631f4717d82656a97296d8d4463eaef +size 4535 diff --git a/ThirdParty/include/boost/mpl/aux_/msvc_dtw.hpp b/ThirdParty/include/boost/mpl/aux_/msvc_dtw.hpp new file mode 100644 index 00000000..34c3f091 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/msvc_dtw.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0608de0ab8b1c1427d5ac35c8f355f13f88c19011855b9bb1082477d0f127389 +size 1742 diff --git a/ThirdParty/include/boost/mpl/aux_/msvc_eti_base.hpp b/ThirdParty/include/boost/mpl/aux_/msvc_eti_base.hpp new file mode 100644 index 00000000..7bb7c5b0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/msvc_eti_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cae124f0900ed31baa4c4b101adfaaed0865826aefbcf15399e8a2aa75e74ca +size 1668 diff --git a/ThirdParty/include/boost/mpl/aux_/msvc_is_class.hpp b/ThirdParty/include/boost/mpl/aux_/msvc_is_class.hpp new file mode 100644 index 00000000..1e3bf364 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/msvc_is_class.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62906f70658a2695fcfa56026eb43288ff6cffc8cbfb3be336e269478649cecd +size 1485 diff --git a/ThirdParty/include/boost/mpl/aux_/msvc_never_true.hpp b/ThirdParty/include/boost/mpl/aux_/msvc_never_true.hpp new file mode 100644 index 00000000..69a43dd0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/msvc_never_true.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14d46cdb7de3df47a25462d2ae9174c2b029c74c4d3863099a834373672f54b3 +size 743 diff --git a/ThirdParty/include/boost/mpl/aux_/msvc_type.hpp b/ThirdParty/include/boost/mpl/aux_/msvc_type.hpp new file mode 100644 index 00000000..1dd06560 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/msvc_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb544779c6e481f1c184ffdb77ea798177e87ab344fd8635713efe5122f8b1a3 +size 1207 diff --git a/ThirdParty/include/boost/mpl/aux_/na.hpp b/ThirdParty/include/boost/mpl/aux_/na.hpp new file mode 100644 index 00000000..938d383f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/na.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a47d9e372cb112a19823d8ddf5c94ee8b10138d28aa868239ed869ac34c0bf9 +size 1645 diff --git a/ThirdParty/include/boost/mpl/aux_/na_assert.hpp b/ThirdParty/include/boost/mpl/aux_/na_assert.hpp new file mode 100644 index 00000000..4e4ed047 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/na_assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:459002c840d1c3a98bb7bf5d217d6da1295a2001742e9d515b63ffe054459bbc +size 958 diff --git a/ThirdParty/include/boost/mpl/aux_/na_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/na_fwd.hpp new file mode 100644 index 00000000..32929fc2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/na_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a632e53451b552d1abc6c9118f407a083f8f9ffdd093503de79024fd4b163a04 +size 673 diff --git a/ThirdParty/include/boost/mpl/aux_/na_spec.hpp b/ThirdParty/include/boost/mpl/aux_/na_spec.hpp new file mode 100644 index 00000000..9a615ed3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/na_spec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0d448d10de6efb7bad24e344ad386037eb667137c1eebf6c3f0b406cacde540 +size 4449 diff --git a/ThirdParty/include/boost/mpl/aux_/nested_type_wknd.hpp b/ThirdParty/include/boost/mpl/aux_/nested_type_wknd.hpp new file mode 100644 index 00000000..3fe32556 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/nested_type_wknd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91a2a88e5bbbe78da3a9f5447b31a9af46a07e9852d1ba8a722360d285f9422 +size 1264 diff --git a/ThirdParty/include/boost/mpl/aux_/nttp_decl.hpp b/ThirdParty/include/boost/mpl/aux_/nttp_decl.hpp new file mode 100644 index 00000000..fb0e4b44 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/nttp_decl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:809fb409f57a2a5f679758b8ceb5f31ab1c15789217c36c427a7e944cbf133e5 +size 844 diff --git a/ThirdParty/include/boost/mpl/aux_/numeric_cast_utils.hpp b/ThirdParty/include/boost/mpl/aux_/numeric_cast_utils.hpp new file mode 100644 index 00000000..ad285fc0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/numeric_cast_utils.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1098c0dde9eb148c63f2e5aef52fa4f643601ccf8f19908bf95dd56ef7732a4e +size 1763 diff --git a/ThirdParty/include/boost/mpl/aux_/numeric_op.hpp b/ThirdParty/include/boost/mpl/aux_/numeric_op.hpp new file mode 100644 index 00000000..e24c4b38 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/numeric_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41bb548b53aa7ca69201812481e19611081544cbacb56ffa9e660f8190fbbfe1 +size 8489 diff --git a/ThirdParty/include/boost/mpl/aux_/order_impl.hpp b/ThirdParty/include/boost/mpl/aux_/order_impl.hpp new file mode 100644 index 00000000..1a202e0b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/order_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b882f1f38e2db57d8a3a80d96584315285ad30cd119daefcafc06546ff6d6b79 +size 2044 diff --git a/ThirdParty/include/boost/mpl/aux_/overload_names.hpp b/ThirdParty/include/boost/mpl/aux_/overload_names.hpp new file mode 100644 index 00000000..e59d2004 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/overload_names.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e64052d9c9e2410d0492e557b30e48e51744cbb1a07d6daa3e6d767e325799c +size 2029 diff --git a/ThirdParty/include/boost/mpl/aux_/partition_op.hpp b/ThirdParty/include/boost/mpl/aux_/partition_op.hpp new file mode 100644 index 00000000..6e34d7b3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/partition_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:293a725b401c050d50fe4b7395e0f01cc7dd189eae781fbbe572f2ab9d835e27 +size 1390 diff --git a/ThirdParty/include/boost/mpl/aux_/pop_back_impl.hpp b/ThirdParty/include/boost/mpl/aux_/pop_back_impl.hpp new file mode 100644 index 00000000..b79dc08c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/pop_back_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23640eae7f45aa13fee846d583171a0a3c885226801b1ac5e913ff4ce5ab0681 +size 804 diff --git a/ThirdParty/include/boost/mpl/aux_/pop_front_impl.hpp b/ThirdParty/include/boost/mpl/aux_/pop_front_impl.hpp new file mode 100644 index 00000000..d2c768b9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/pop_front_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b302de66272875f92b1eea419dcce5ef52b94a8c6ac54c99f6599966bd5db00 +size 1078 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp new file mode 100644 index 00000000..2d0dcab3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1166597a0c2defd1765edb8eddb73642216deb0f6720825ca5670df037bd3d37 +size 2202 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp new file mode 100644 index 00000000..85680a3b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:071bca20bda9543f3b7b1016466fcea88d2eb4a29d6fba55aef6ee2509c6d3cf +size 2182 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/and.hpp new file mode 100644 index 00000000..aadb8192 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5556119a1511a8e280193107ca726435cfd290bd858201ed33ef883d2bd04b30 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp new file mode 100644 index 00000000..e536c24f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a371bdc8561c9236d6b303c7dba2613de6b28e8f9cb6093314dd70d5b43feabd +size 2745 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp new file mode 100644 index 00000000..fac51492 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a30be64abdd6ee27b3262e0221d33f2cb6ee2f70064eda2fe60aeebdf9cebd +size 973 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp new file mode 100644 index 00000000..60ff6449 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c251cb230ac4f4beb69c531dba039ff4ada9366874bec42b028966ad7570702c +size 7078 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp new file mode 100644 index 00000000..5fbf9892 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61a0bdff0b1c7dea9c06b1f39fe7d49356757fb05577565d988cbac828bbf6b6 +size 2690 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp new file mode 100644 index 00000000..27552244 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66e83b8a67d3a59c8a4a88bce2e7b5d5dac5e76a01ad7363853d3a75ad3ace5 +size 7118 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp new file mode 100644 index 00000000..0547b99a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf1f1740bd1ed7343d4d86099219c3732e272023db4e99927224dca2889c852 +size 10420 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp new file mode 100644 index 00000000..11a08843 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:629bae6e8eb9b55aee5f759d1a03ba9642e361da50a097e616097b25c8d9f1c0 +size 823 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp new file mode 100644 index 00000000..aa1cd2c8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feadd14f26318a5371db4da3e16f1a851e020175a8c5667cd2ff95d79fa29f5b +size 3209 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp new file mode 100644 index 00000000..ad8db907 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7ea8d47577361c3721a7e434e59c6b56a780ee50212043a4da3b9d1052338f5 +size 3179 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp new file mode 100644 index 00000000..a4a13627 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77c1e2c70776f51badbd56bb10ad5605e97d0f39fec748de90289757259a8639 +size 3209 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp new file mode 100644 index 00000000..cb74ef11 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcafec5930ca417afa6463e127f5ea5107f9be2e4a661929d5388936e78126dd +size 9724 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp new file mode 100644 index 00000000..56b317ec --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d54b58f0efdec9bf15adef8da236d73d5c86cbbd34de1f1d10f533a1b67b90cd +size 3192 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp new file mode 100644 index 00000000..bde352fe --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:438b625e58dac03bd60e4d6bf95c2d7f9cc14bc142638a46612af1bcceb22d34 +size 2098 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp new file mode 100644 index 00000000..41742ac9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c548fdaf9b108337c82c0755f118c38a034a56cdf1237735bf921c664710081 +size 4350 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp new file mode 100644 index 00000000..74be77ae --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07757c28215320f0330ed487d5a81fe8fac922107e5678b8eba13528cea1030e +size 11506 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp new file mode 100644 index 00000000..fab079e1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d6192340167d3f4deee06f1b9e726bc7f3c13cfa825412ad0a26a0c9b174fc +size 2081 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp new file mode 100644 index 00000000..db34154f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cbde03a953532a1a85cf85230d6fbec70a01d6b17640ef394ce391383efcf03 +size 2172 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp new file mode 100644 index 00000000..6609811b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c5ae60cc2e05bf0a1c4d2394bf5630113a70cf90fd407f061f10c5e9950e558 +size 2750 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp new file mode 100644 index 00000000..368bbbc8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11cd0305f5ffe0f40d03e75725673b1633158717b403b893655283a6e5a31773 +size 4270 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp new file mode 100644 index 00000000..2c1f3045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a104eeae82e6362a7179ff7e93e6310a3502da16d333f800d7411abd3ecb13b7 +size 4154 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp new file mode 100644 index 00000000..6334fca8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:483ec169cd5b1fa0ad58904197f94a6314556fb7a81e02f6c2778427c52684f9 +size 6473 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less.hpp new file mode 100644 index 00000000..a90b27ba --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8c659e3c8ff5fda4bad8d241266e6bbbd7e0508b9703926bedebdc13fbc46bf +size 2036 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp new file mode 100644 index 00000000..5c4e4e3c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb5d9c6093f5dd829a52fc4708edd33e6fbd4169355e8bc5a7e1818a1740a617 +size 2127 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list.hpp new file mode 100644 index 00000000..6d1fd74f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0019a35a151e4ca972999b4677b3c8b516e2b3eba4d877dbfdd1af857cabad8d +size 9617 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp new file mode 100644 index 00000000..5cfbdae9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb00b77a1c9e1703ffa7615acb145b0a1ece1a8d83186a073d384e4537c6761 +size 10718 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/map.hpp new file mode 100644 index 00000000..bddbcfb2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fe413b5a0125dd27ace1a1ff21db30d66967b6f6b9ca94ded4bec0737c0a2f8 +size 9552 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp new file mode 100644 index 00000000..a05335ad --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee365b2ca4ec003c3f052da32d6aa54835c459dbfd1ecba3609b1bd29f45a9d +size 3132 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp new file mode 100644 index 00000000..d79f28b2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:079a3aa5d1d496998faeb0eab8ffda31719d899c8d80ce329d0ad90069d977e1 +size 2294 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp new file mode 100644 index 00000000..b38cf777 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cbf3ee21aedbabf64b2891ee00c07c4cfbd28d928375a0810d1acd4602ffe5d +size 2157 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/or.hpp new file mode 100644 index 00000000..2a52cc05 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdfe83ee0b8ac57ece2fe81825462696df4c0e77c067940b3dca2d2146bcd675 +size 1259 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp new file mode 100644 index 00000000..f236edcd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961f77c7b2b7170fed2aa1d947a579f25b4b24d1676da0bf2f926543610ebda1 +size 2212 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp new file mode 100644 index 00000000..96edbf6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797978593b7742edbc86b23e875c05eb2df3eecbd66dfc6f1a040cd1032a5f29 +size 3102 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp new file mode 100644 index 00000000..617e39ce --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43d4cb8e98d11f4c8f6bdfb7111c2deec9e112cff813877e660b17cb8641a93e +size 2346 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp new file mode 100644 index 00000000..f2985f13 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:400b591c140160c1dc04e3dddc7b858c05176b7b2e35e270ca08843025cf0cf9 +size 8866 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..1aa09751 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d0d8aa3172efec1a20cdb6d0ba1c707c1819da79df7cb1d6ce4aac96e1bd558 +size 8246 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set.hpp new file mode 100644 index 00000000..6dcaef5c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64343393f717fa150253fb96f04246bd424d2d158b3c44ee89ef65ad6a098189 +size 9552 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp new file mode 100644 index 00000000..144e8cca --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96ed53cbd48bd217b40bac7e48d2a664a5b8335538638836159292d037c54251 +size 10653 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp new file mode 100644 index 00000000..7304e70f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21ebb2f86fe31d3a09907e197fe777a683d3ea48111846862041d74a64202147 +size 2253 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp new file mode 100644 index 00000000..16173530 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d45cb6a9703d6fa3a3e9d15759cdb2428e431f52a76fc27430bbe795b0753dd +size 2268 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp new file mode 100644 index 00000000..e9fef389 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f3bbe15c869d28bcd291c8965adf9e0d1dd4f616c54b631f264e8fc1cbfe4c0 +size 763 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/times.hpp new file mode 100644 index 00000000..cae42e9b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b95f3b35b2cd3f09b91d073297172cf5579d19eb5bdbee52ba2e4ed0c7c85a4 +size 3132 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp new file mode 100644 index 00000000..795b92ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb386ff1d89fff88f38aafe045a0091e78518459eecf365af6df32c4f5ea5ce7 +size 1986 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp new file mode 100644 index 00000000..63984077 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:192cb1570ea17a5f871b550a9311010d4e615d5e1876718c4ebde2ce42917640 +size 9747 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp new file mode 100644 index 00000000..f143b3be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8071ea880d61813a0b4baf926ee675fcf31a3042f4e88c551664c746dda11e8a +size 12238 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp new file mode 100644 index 00000000..ea10ec73 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f7e389aa4c3af94cf7a3fa8bb021335cf7c4c45f33251c5dce7b6d100fe1c4 +size 1257 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp new file mode 100644 index 00000000..f7797045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dacbfb2158468c189ee73d0cb03664f0109008e6933976bf09a94852cae4f6 +size 2744 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp new file mode 100644 index 00000000..a9455bfb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5bd2d53e79be26d178acc39a2629864f6fb00a6641b60d811df49d0abe9e79 +size 972 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp new file mode 100644 index 00000000..12c66089 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ab2c4e5056a15108f72c4c0fc86495baa9b35fd8d51e6d572eb314667ccd4de +size 6956 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp new file mode 100644 index 00000000..e819ac14 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82b529c11b3613997941aa301719081bbb2c337f3eaf5598ebd3a56c72a754ed +size 7326 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp new file mode 100644 index 00000000..03a11577 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5822be58ef4695b5f876df9c7ed5ffb29cf5eeac7f1e095100f2c0e74574a4f9 +size 10623 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp new file mode 100644 index 00000000..c3c2a2b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e922cd7f3aa2dd146d2ee7c4a06205b02fefadbf27cbbb51c60b893e453d24ea +size 822 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp new file mode 100644 index 00000000..754ad866 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04361fb0c214fe0baea75dee7988b6f3a8390cbf1e0af2adceb4cf7831e6f8f4 +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp new file mode 100644 index 00000000..d5b8a747 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e331fc1e6f2feadd2799d3104d78e4aac09bf189a3785cff1cb2d858122c0535 +size 3178 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp new file mode 100644 index 00000000..d6c25161 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d64fe515d7ab31f32469ca0c6bb3b1d5d801b048c2e9f592f1de596015dff4ac +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp new file mode 100644 index 00000000..1cd3ad37 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52440eb38f109bbd3bb99542042d25575ce8c9c6e301c4a404e88d57ae3c8de9 +size 9723 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp new file mode 100644 index 00000000..16a2d9fd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8447006b0a3db43b6790fd4afccf07a0f1130db248807563096f1c86cd301444 +size 3191 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp new file mode 100644 index 00000000..74458688 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02ce64be459ad25c1c36bd0839a3fef6fc405f7a7744f12ac0dc6ebd74e13b19 +size 2097 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp new file mode 100644 index 00000000..88fb1496 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74d7a7520ecc7324a6fe40fae8bf9de3fc881bc6ced30ac1ec3389d2bc9581d +size 4354 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp new file mode 100644 index 00000000..756e946a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eb8574dfb61185ce0bea8993ac31dccf12923593665c434584f7b72e5b5d0a8 +size 11510 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp new file mode 100644 index 00000000..38840c33 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:045aa5d6bd8a3d800d4e88b3f059a31830583c77f1842638a4ac16e9be020502 +size 2080 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp new file mode 100644 index 00000000..5bab0298 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10790da3ecc6537acf7907af6a0271e3109e350b7929c2da1cf3f3cad177c5e1 +size 2171 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp new file mode 100644 index 00000000..9567f1d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67eec86cd760d5d50464a5b916c6f0fcb70389b6afdf4b1dc1a01c3f29c67ccd +size 2832 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp new file mode 100644 index 00000000..cca419a7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56eee865128b7608c098510ad708a849907a80c9f9f8314e5c6cf416992079e5 +size 4158 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp new file mode 100644 index 00000000..15bcc1f1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ec24946d87d5a75ab09d7933c37918bf8a5486ad1954102e3e240def7e18585 +size 2035 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp new file mode 100644 index 00000000..3304449c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d569aca0ec9bf6fd37393a9143f3c7e7dffea5d02ddaee311d69df027aee32 +size 2126 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp new file mode 100644 index 00000000..763186d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73c15b7e2fb9c62158af870a854a335fec2490a0f74100a706baad058a4d158 +size 9616 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp new file mode 100644 index 00000000..20326869 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee008389f1cca2faf27ed1da73c939ce2ff78296416feb06958c2466bb93345 +size 10717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp new file mode 100644 index 00000000..4625f589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a002cc4fbd7bf1a8fc5e286ae3b19d9708c0036dc2832babbca4d1a872adb183 +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp new file mode 100644 index 00000000..adf3979c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e298cb9e3132ce14a2ec5ffda044ace342053395ffdb0fdc210671f25946992 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp new file mode 100644 index 00000000..14ea63c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942f0e6c8b73652c912f11456bc9eacd7f8c0f778e4e2bab8ec10763c9e1cb69 +size 2293 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp new file mode 100644 index 00000000..eb85dfcf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fb0d2825097e4f8e452514b29d77ac13c9da3ef1860d5dbec1c915b61aaae9 +size 2156 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp new file mode 100644 index 00000000..61413b74 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:112ec4d3cb8cc4a9ee79b88a8e585065e67e8c4d86935262516eb7a7943f3820 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp new file mode 100644 index 00000000..e9704d51 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b612a0a8f0eeb3414644e5c028a242911ffa119a6460d9acc71497c8701372 +size 3101 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp new file mode 100644 index 00000000..ef000cb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7881345c5b69527ec6fc972071155341def05719cae294c4ea8b56892032eb3 +size 292 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp new file mode 100644 index 00000000..1ee6d3cc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35ab02a3f9c90712bb99fceecc74f34b675bbea2751aa00d735935bc790af20 +size 8870 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..a4d0254b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159bc9d2c3b48d007b76dfe2f08274377c7a8a8b7e0b003f174eaaeecfa59c97 +size 8250 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp new file mode 100644 index 00000000..3eb75d2e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7071dad95512f5828c2ac50f842f169d093297cdb2ba903085d0691af03cd +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp new file mode 100644 index 00000000..5f8a1ddf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:608eb89b22961ab2a5b1ba5cdfc115bc58be754a108d1038bf498de563e1eefc +size 10652 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp new file mode 100644 index 00000000..d546fb94 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91279f3a368dccec4a42dd1ee4b76925dc09a6e5a20ab04a5116fd048e2cf11 +size 2252 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp new file mode 100644 index 00000000..cd9d0bb0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3552891d80d206bcad21c2c1b191ee3e0c63096448939e878ad74955c529c384 +size 2267 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp new file mode 100644 index 00000000..09be163e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c008c25aa90b8dc31d8d524dc31eac50e775f0c2955358d90a035beba74ca366 +size 767 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp new file mode 100644 index 00000000..21433885 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f79649346ec889d18117680a67ac8f28082fe51abe91ac62eaa3c505fbb5065 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp new file mode 100644 index 00000000..c5047c02 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e151fc458a1fed3cf5bb6dfe4740d55638af7b381c88675f58362d28bf722cf3 +size 1985 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp new file mode 100644 index 00000000..96bdf706 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e22c161ecfd115c7f9154b25cf8e6835e2e30a6d49dbeddf4d98b012fd018c7 +size 9746 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp new file mode 100644 index 00000000..01100ce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630a3139e05016e8afd31fbedd1190ec07f6d31c8ddb5a2ce4399e551f07ac64 +size 12237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp new file mode 100644 index 00000000..2d0dcab3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1166597a0c2defd1765edb8eddb73642216deb0f6720825ca5670df037bd3d37 +size 2202 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp new file mode 100644 index 00000000..85680a3b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:071bca20bda9543f3b7b1016466fcea88d2eb4a29d6fba55aef6ee2509c6d3cf +size 2182 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp new file mode 100644 index 00000000..aadb8192 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5556119a1511a8e280193107ca726435cfd290bd858201ed33ef883d2bd04b30 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp new file mode 100644 index 00000000..e536c24f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a371bdc8561c9236d6b303c7dba2613de6b28e8f9cb6093314dd70d5b43feabd +size 2745 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp new file mode 100644 index 00000000..fac51492 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a30be64abdd6ee27b3262e0221d33f2cb6ee2f70064eda2fe60aeebdf9cebd +size 973 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp new file mode 100644 index 00000000..3e7cf911 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64f625fca0a23b587d22acb3cf02c7bfacd5296eb61e124c5eb6525e51d60808 +size 6957 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp new file mode 100644 index 00000000..5fbf9892 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61a0bdff0b1c7dea9c06b1f39fe7d49356757fb05577565d988cbac828bbf6b6 +size 2690 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp new file mode 100644 index 00000000..27552244 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66e83b8a67d3a59c8a4a88bce2e7b5d5dac5e76a01ad7363853d3a75ad3ace5 +size 7118 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp new file mode 100644 index 00000000..0547b99a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf1f1740bd1ed7343d4d86099219c3732e272023db4e99927224dca2889c852 +size 10420 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp new file mode 100644 index 00000000..11a08843 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:629bae6e8eb9b55aee5f759d1a03ba9642e361da50a097e616097b25c8d9f1c0 +size 823 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp new file mode 100644 index 00000000..aa1cd2c8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feadd14f26318a5371db4da3e16f1a851e020175a8c5667cd2ff95d79fa29f5b +size 3209 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp new file mode 100644 index 00000000..ad8db907 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7ea8d47577361c3721a7e434e59c6b56a780ee50212043a4da3b9d1052338f5 +size 3179 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp new file mode 100644 index 00000000..a4a13627 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77c1e2c70776f51badbd56bb10ad5605e97d0f39fec748de90289757259a8639 +size 3209 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp new file mode 100644 index 00000000..cb74ef11 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcafec5930ca417afa6463e127f5ea5107f9be2e4a661929d5388936e78126dd +size 9724 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp new file mode 100644 index 00000000..56b317ec --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d54b58f0efdec9bf15adef8da236d73d5c86cbbd34de1f1d10f533a1b67b90cd +size 3192 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp new file mode 100644 index 00000000..bde352fe --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:438b625e58dac03bd60e4d6bf95c2d7f9cc14bc142638a46612af1bcceb22d34 +size 2098 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp new file mode 100644 index 00000000..41742ac9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c548fdaf9b108337c82c0755f118c38a034a56cdf1237735bf921c664710081 +size 4350 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp new file mode 100644 index 00000000..74be77ae --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07757c28215320f0330ed487d5a81fe8fac922107e5678b8eba13528cea1030e +size 11506 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp new file mode 100644 index 00000000..fab079e1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d6192340167d3f4deee06f1b9e726bc7f3c13cfa825412ad0a26a0c9b174fc +size 2081 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp new file mode 100644 index 00000000..db34154f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cbde03a953532a1a85cf85230d6fbec70a01d6b17640ef394ce391383efcf03 +size 2172 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp new file mode 100644 index 00000000..6609811b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c5ae60cc2e05bf0a1c4d2394bf5630113a70cf90fd407f061f10c5e9950e558 +size 2750 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp new file mode 100644 index 00000000..368bbbc8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11cd0305f5ffe0f40d03e75725673b1633158717b403b893655283a6e5a31773 +size 4270 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp new file mode 100644 index 00000000..2c1f3045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a104eeae82e6362a7179ff7e93e6310a3502da16d333f800d7411abd3ecb13b7 +size 4154 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp new file mode 100644 index 00000000..6334fca8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:483ec169cd5b1fa0ad58904197f94a6314556fb7a81e02f6c2778427c52684f9 +size 6473 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp new file mode 100644 index 00000000..a90b27ba --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8c659e3c8ff5fda4bad8d241266e6bbbd7e0508b9703926bedebdc13fbc46bf +size 2036 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp new file mode 100644 index 00000000..5c4e4e3c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb5d9c6093f5dd829a52fc4708edd33e6fbd4169355e8bc5a7e1818a1740a617 +size 2127 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp new file mode 100644 index 00000000..6d1fd74f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0019a35a151e4ca972999b4677b3c8b516e2b3eba4d877dbfdd1af857cabad8d +size 9617 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp new file mode 100644 index 00000000..5cfbdae9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb00b77a1c9e1703ffa7615acb145b0a1ece1a8d83186a073d384e4537c6761 +size 10718 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp new file mode 100644 index 00000000..bddbcfb2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fe413b5a0125dd27ace1a1ff21db30d66967b6f6b9ca94ded4bec0737c0a2f8 +size 9552 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp new file mode 100644 index 00000000..a05335ad --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee365b2ca4ec003c3f052da32d6aa54835c459dbfd1ecba3609b1bd29f45a9d +size 3132 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp new file mode 100644 index 00000000..d79f28b2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:079a3aa5d1d496998faeb0eab8ffda31719d899c8d80ce329d0ad90069d977e1 +size 2294 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp new file mode 100644 index 00000000..b38cf777 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cbf3ee21aedbabf64b2891ee00c07c4cfbd28d928375a0810d1acd4602ffe5d +size 2157 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp new file mode 100644 index 00000000..2a52cc05 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdfe83ee0b8ac57ece2fe81825462696df4c0e77c067940b3dca2d2146bcd675 +size 1259 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp new file mode 100644 index 00000000..f236edcd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961f77c7b2b7170fed2aa1d947a579f25b4b24d1676da0bf2f926543610ebda1 +size 2212 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp new file mode 100644 index 00000000..96edbf6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797978593b7742edbc86b23e875c05eb2df3eecbd66dfc6f1a040cd1032a5f29 +size 3102 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp new file mode 100644 index 00000000..5db91022 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce4724d8b80c5b10086c4f07e370191d6cae56bea2906e668913e3c2a7eb8bdb +size 293 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp new file mode 100644 index 00000000..f2985f13 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:400b591c140160c1dc04e3dddc7b858c05176b7b2e35e270ca08843025cf0cf9 +size 8866 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..1aa09751 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d0d8aa3172efec1a20cdb6d0ba1c707c1819da79df7cb1d6ce4aac96e1bd558 +size 8246 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp new file mode 100644 index 00000000..6dcaef5c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64343393f717fa150253fb96f04246bd424d2d158b3c44ee89ef65ad6a098189 +size 9552 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp new file mode 100644 index 00000000..144e8cca --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96ed53cbd48bd217b40bac7e48d2a664a5b8335538638836159292d037c54251 +size 10653 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp new file mode 100644 index 00000000..7304e70f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21ebb2f86fe31d3a09907e197fe777a683d3ea48111846862041d74a64202147 +size 2253 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp new file mode 100644 index 00000000..16173530 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d45cb6a9703d6fa3a3e9d15759cdb2428e431f52a76fc27430bbe795b0753dd +size 2268 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp new file mode 100644 index 00000000..e9fef389 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f3bbe15c869d28bcd291c8965adf9e0d1dd4f616c54b631f264e8fc1cbfe4c0 +size 763 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp new file mode 100644 index 00000000..cae42e9b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b95f3b35b2cd3f09b91d073297172cf5579d19eb5bdbee52ba2e4ed0c7c85a4 +size 3132 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp new file mode 100644 index 00000000..795b92ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb386ff1d89fff88f38aafe045a0091e78518459eecf365af6df32c4f5ea5ce7 +size 1986 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp new file mode 100644 index 00000000..63984077 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:192cb1570ea17a5f871b550a9311010d4e615d5e1876718c4ebde2ce42917640 +size 9747 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp new file mode 100644 index 00000000..f143b3be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8071ea880d61813a0b4baf926ee675fcf31a3042f4e88c551664c746dda11e8a +size 12238 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/and.hpp new file mode 100644 index 00000000..ea10ec73 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f7e389aa4c3af94cf7a3fa8bb021335cf7c4c45f33251c5dce7b6d100fe1c4 +size 1257 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp new file mode 100644 index 00000000..f7797045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dacbfb2158468c189ee73d0cb03664f0109008e6933976bf09a94852cae4f6 +size 2744 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp new file mode 100644 index 00000000..a9455bfb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5bd2d53e79be26d178acc39a2629864f6fb00a6641b60d811df49d0abe9e79 +size 972 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp new file mode 100644 index 00000000..9ab4d997 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af7a500dc1f73b2175dd31d748c42ee2044fe95fe2e3a7e875c2f494aa68219 +size 1238 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp new file mode 100644 index 00000000..dd4d46f7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3460f34d3f4ac8da72b7df2f0e889c7258c77ec790536ee8eec9fd10042fa53b +size 9530 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp new file mode 100644 index 00000000..67e85c1a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb0e7549ad3bb27733c8c2f0b08435ab6f2c0108064676bd28394d445d1856fd +size 13253 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp new file mode 100644 index 00000000..0509d792 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b59863423d85fa3b93b81788bd19dfc46944287fcd3321819a78710c578dc1f5 +size 1081 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp new file mode 100644 index 00000000..754ad866 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04361fb0c214fe0baea75dee7988b6f3a8390cbf1e0af2adceb4cf7831e6f8f4 +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp new file mode 100644 index 00000000..d5b8a747 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e331fc1e6f2feadd2799d3104d78e4aac09bf189a3785cff1cb2d858122c0535 +size 3178 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp new file mode 100644 index 00000000..d6c25161 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d64fe515d7ab31f32469ca0c6bb3b1d5d801b048c2e9f592f1de596015dff4ac +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp new file mode 100644 index 00000000..1cd3ad37 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52440eb38f109bbd3bb99542042d25575ce8c9c6e301c4a404e88d57ae3c8de9 +size 9723 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp new file mode 100644 index 00000000..16a2d9fd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8447006b0a3db43b6790fd4afccf07a0f1130db248807563096f1c86cd301444 +size 3191 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp new file mode 100644 index 00000000..74458688 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02ce64be459ad25c1c36bd0839a3fef6fc405f7a7744f12ac0dc6ebd74e13b19 +size 2097 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp new file mode 100644 index 00000000..88fb1496 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74d7a7520ecc7324a6fe40fae8bf9de3fc881bc6ced30ac1ec3389d2bc9581d +size 4354 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp new file mode 100644 index 00000000..90a57684 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4edbd14474c1d7eccbf047a58e012c6efc89af3094cac518f074090cce1dfb47 +size 10728 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp new file mode 100644 index 00000000..38840c33 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:045aa5d6bd8a3d800d4e88b3f059a31830583c77f1842638a4ac16e9be020502 +size 2080 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp new file mode 100644 index 00000000..5bab0298 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10790da3ecc6537acf7907af6a0271e3109e350b7929c2da1cf3f3cad177c5e1 +size 2171 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp new file mode 100644 index 00000000..9567f1d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67eec86cd760d5d50464a5b916c6f0fcb70389b6afdf4b1dc1a01c3f29c67ccd +size 2832 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp new file mode 100644 index 00000000..cca419a7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56eee865128b7608c098510ad708a849907a80c9f9f8314e5c6cf416992079e5 +size 4158 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less.hpp new file mode 100644 index 00000000..15bcc1f1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ec24946d87d5a75ab09d7933c37918bf8a5486ad1954102e3e240def7e18585 +size 2035 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp new file mode 100644 index 00000000..3304449c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d569aca0ec9bf6fd37393a9143f3c7e7dffea5d02ddaee311d69df027aee32 +size 2126 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list.hpp new file mode 100644 index 00000000..763186d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73c15b7e2fb9c62158af870a854a335fec2490a0f74100a706baad058a4d158 +size 9616 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp new file mode 100644 index 00000000..20326869 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee008389f1cca2faf27ed1da73c939ce2ff78296416feb06958c2466bb93345 +size 10717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/map.hpp new file mode 100644 index 00000000..4625f589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a002cc4fbd7bf1a8fc5e286ae3b19d9708c0036dc2832babbca4d1a872adb183 +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp new file mode 100644 index 00000000..adf3979c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e298cb9e3132ce14a2ec5ffda044ace342053395ffdb0fdc210671f25946992 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp new file mode 100644 index 00000000..14ea63c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942f0e6c8b73652c912f11456bc9eacd7f8c0f778e4e2bab8ec10763c9e1cb69 +size 2293 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp new file mode 100644 index 00000000..eb85dfcf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fb0d2825097e4f8e452514b29d77ac13c9da3ef1860d5dbec1c915b61aaae9 +size 2156 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/or.hpp new file mode 100644 index 00000000..61413b74 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:112ec4d3cb8cc4a9ee79b88a8e585065e67e8c4d86935262516eb7a7943f3820 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp new file mode 100644 index 00000000..e9704d51 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b612a0a8f0eeb3414644e5c028a242911ffa119a6460d9acc71497c8701372 +size 3101 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp new file mode 100644 index 00000000..af5c6652 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cf2f4f8b21bb706886b2adb76fa1c1eca3ea06c9fd43e1889b0e5dcf4825bc3 +size 2187 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp new file mode 100644 index 00000000..8bd77447 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16293df37c25ff8a277b36af2a1184d3883d5aa73faae01768c027ba8c88802f +size 7372 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..223d946c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3bcf3f96dbae8d9cc54d8df52417c2df1346aeb6c3a3d3f4ddf0d5aa874847 +size 6717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set.hpp new file mode 100644 index 00000000..3eb75d2e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7071dad95512f5828c2ac50f842f169d093297cdb2ba903085d0691af03cd +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp new file mode 100644 index 00000000..5f8a1ddf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:608eb89b22961ab2a5b1ba5cdfc115bc58be754a108d1038bf498de563e1eefc +size 10652 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp new file mode 100644 index 00000000..d546fb94 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91279f3a368dccec4a42dd1ee4b76925dc09a6e5a20ab04a5116fd048e2cf11 +size 2252 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp new file mode 100644 index 00000000..cd9d0bb0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3552891d80d206bcad21c2c1b191ee3e0c63096448939e878ad74955c529c384 +size 2267 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp new file mode 100644 index 00000000..e29c8bfc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7f7f402db7af2a929cd4eea606d870506e73ab076f073cd5b0d08322cb718d9 +size 306 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/times.hpp new file mode 100644 index 00000000..21433885 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f79649346ec889d18117680a67ac8f28082fe51abe91ac62eaa3c505fbb5065 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp new file mode 100644 index 00000000..3d93ce25 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d1e3057b2731938c0e74eede0338fbe7f2c7d578d1d888bcbc8d3a50bde152 +size 1906 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp new file mode 100644 index 00000000..96bdf706 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e22c161ecfd115c7f9154b25cf8e6835e2e30a6d49dbeddf4d98b012fd018c7 +size 9746 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp new file mode 100644 index 00000000..01100ce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630a3139e05016e8afd31fbedd1190ec07f6d31c8ddb5a2ce4399e551f07ac64 +size 12237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/and.hpp new file mode 100644 index 00000000..ea10ec73 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f7e389aa4c3af94cf7a3fa8bb021335cf7c4c45f33251c5dce7b6d100fe1c4 +size 1257 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp new file mode 100644 index 00000000..f7797045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dacbfb2158468c189ee73d0cb03664f0109008e6933976bf09a94852cae4f6 +size 2744 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp new file mode 100644 index 00000000..a9455bfb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5bd2d53e79be26d178acc39a2629864f6fb00a6641b60d811df49d0abe9e79 +size 972 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp new file mode 100644 index 00000000..9ab4d997 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af7a500dc1f73b2175dd31d748c42ee2044fe95fe2e3a7e875c2f494aa68219 +size 1238 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp new file mode 100644 index 00000000..9bc5fc27 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f0c1779e43d8f709ce7e9d08888c621c23fe724cc63b7ee9edf5f4e4ed7324f +size 10260 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp new file mode 100644 index 00000000..66d4be92 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c17e1a8b7279f7db31cdf284a82788ba473eb36e02b607beecc2ba369b28d3 +size 14409 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp new file mode 100644 index 00000000..1a9018e0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f020aaafed9bcbdc23b541798663f5609176b9b1b0a6611b8ed48a8cecffe0 +size 964 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp new file mode 100644 index 00000000..754ad866 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04361fb0c214fe0baea75dee7988b6f3a8390cbf1e0af2adceb4cf7831e6f8f4 +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp new file mode 100644 index 00000000..d5b8a747 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e331fc1e6f2feadd2799d3104d78e4aac09bf189a3785cff1cb2d858122c0535 +size 3178 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp new file mode 100644 index 00000000..d6c25161 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d64fe515d7ab31f32469ca0c6bb3b1d5d801b048c2e9f592f1de596015dff4ac +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp new file mode 100644 index 00000000..1cd3ad37 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52440eb38f109bbd3bb99542042d25575ce8c9c6e301c4a404e88d57ae3c8de9 +size 9723 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp new file mode 100644 index 00000000..16a2d9fd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8447006b0a3db43b6790fd4afccf07a0f1130db248807563096f1c86cd301444 +size 3191 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp new file mode 100644 index 00000000..74458688 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02ce64be459ad25c1c36bd0839a3fef6fc405f7a7744f12ac0dc6ebd74e13b19 +size 2097 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp new file mode 100644 index 00000000..88fb1496 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74d7a7520ecc7324a6fe40fae8bf9de3fc881bc6ced30ac1ec3389d2bc9581d +size 4354 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp new file mode 100644 index 00000000..756e946a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eb8574dfb61185ce0bea8993ac31dccf12923593665c434584f7b72e5b5d0a8 +size 11510 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp new file mode 100644 index 00000000..38840c33 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:045aa5d6bd8a3d800d4e88b3f059a31830583c77f1842638a4ac16e9be020502 +size 2080 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp new file mode 100644 index 00000000..5bab0298 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10790da3ecc6537acf7907af6a0271e3109e350b7929c2da1cf3f3cad177c5e1 +size 2171 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp new file mode 100644 index 00000000..9567f1d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67eec86cd760d5d50464a5b916c6f0fcb70389b6afdf4b1dc1a01c3f29c67ccd +size 2832 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp new file mode 100644 index 00000000..cca419a7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56eee865128b7608c098510ad708a849907a80c9f9f8314e5c6cf416992079e5 +size 4158 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less.hpp new file mode 100644 index 00000000..15bcc1f1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ec24946d87d5a75ab09d7933c37918bf8a5486ad1954102e3e240def7e18585 +size 2035 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp new file mode 100644 index 00000000..3304449c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d569aca0ec9bf6fd37393a9143f3c7e7dffea5d02ddaee311d69df027aee32 +size 2126 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list.hpp new file mode 100644 index 00000000..763186d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73c15b7e2fb9c62158af870a854a335fec2490a0f74100a706baad058a4d158 +size 9616 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp new file mode 100644 index 00000000..20326869 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee008389f1cca2faf27ed1da73c939ce2ff78296416feb06958c2466bb93345 +size 10717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/map.hpp new file mode 100644 index 00000000..4625f589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a002cc4fbd7bf1a8fc5e286ae3b19d9708c0036dc2832babbca4d1a872adb183 +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp new file mode 100644 index 00000000..adf3979c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e298cb9e3132ce14a2ec5ffda044ace342053395ffdb0fdc210671f25946992 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp new file mode 100644 index 00000000..14ea63c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942f0e6c8b73652c912f11456bc9eacd7f8c0f778e4e2bab8ec10763c9e1cb69 +size 2293 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp new file mode 100644 index 00000000..eb85dfcf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fb0d2825097e4f8e452514b29d77ac13c9da3ef1860d5dbec1c915b61aaae9 +size 2156 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/or.hpp new file mode 100644 index 00000000..61413b74 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:112ec4d3cb8cc4a9ee79b88a8e585065e67e8c4d86935262516eb7a7943f3820 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp new file mode 100644 index 00000000..e9704d51 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b612a0a8f0eeb3414644e5c028a242911ffa119a6460d9acc71497c8701372 +size 3101 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp new file mode 100644 index 00000000..2961fee3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebb0610e131486e432f922aff55d17b0ceceb410becbc4a1f7de7c688a3299ca +size 2214 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp new file mode 100644 index 00000000..8bd77447 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16293df37c25ff8a277b36af2a1184d3883d5aa73faae01768c027ba8c88802f +size 7372 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..223d946c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3bcf3f96dbae8d9cc54d8df52417c2df1346aeb6c3a3d3f4ddf0d5aa874847 +size 6717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set.hpp new file mode 100644 index 00000000..3eb75d2e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7071dad95512f5828c2ac50f842f169d093297cdb2ba903085d0691af03cd +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp new file mode 100644 index 00000000..5f8a1ddf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:608eb89b22961ab2a5b1ba5cdfc115bc58be754a108d1038bf498de563e1eefc +size 10652 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp new file mode 100644 index 00000000..d546fb94 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91279f3a368dccec4a42dd1ee4b76925dc09a6e5a20ab04a5116fd048e2cf11 +size 2252 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp new file mode 100644 index 00000000..cd9d0bb0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3552891d80d206bcad21c2c1b191ee3e0c63096448939e878ad74955c529c384 +size 2267 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp new file mode 100644 index 00000000..52e786ce --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe95d6339096ac5d92c216124164dfe12c925108140a36f3d1aad96d3997c754 +size 2740 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/times.hpp new file mode 100644 index 00000000..21433885 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f79649346ec889d18117680a67ac8f28082fe51abe91ac62eaa3c505fbb5065 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp new file mode 100644 index 00000000..3d93ce25 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d1e3057b2731938c0e74eede0338fbe7f2c7d578d1d888bcbc8d3a50bde152 +size 1906 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp new file mode 100644 index 00000000..96bdf706 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e22c161ecfd115c7f9154b25cf8e6835e2e30a6d49dbeddf4d98b012fd018c7 +size 9746 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp new file mode 100644 index 00000000..01100ce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630a3139e05016e8afd31fbedd1190ec07f6d31c8ddb5a2ce4399e551f07ac64 +size 12237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp new file mode 100644 index 00000000..0ee553ee --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74006bfb438fe0f91ba1be44e28b62896d25af4aefbf7409c3dfd0215646221e +size 2691 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp new file mode 100644 index 00000000..65528aef --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07ff033d768dac7a47c16f1365768f7766266479486aca3f8a92f3f2387356cd +size 2671 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp new file mode 100644 index 00000000..e0038e2a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626bc53a4ac1b8b27a6c3dba518a7572a36329dc6aa708c8314f854e1d97bde6 +size 1383 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp new file mode 100644 index 00000000..3a3f5078 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74392fc7d8c4b99e54b13f5a2ba9a43934a3b27ffcd5d9d1d2ec01bdab0b62b3 +size 2683 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp new file mode 100644 index 00000000..2708f56d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c560cb1faf80770bab1a5716c61566a3863d242ecf71e585d2b017d9c8cbf86 +size 829 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp new file mode 100644 index 00000000..12fa4c2b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e9637ca2c1b9882ff818e310f1e6e38e16ad1febf209918165c7d5dbfaa029 +size 4692 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp new file mode 100644 index 00000000..7b163dad --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e4028082921f5bed438e7feafcb743a9376aa3f54d789538fb844aa784f9e00 +size 7357 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp new file mode 100644 index 00000000..e4c2e61e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:add03e5ab486db0b3c75dfc725f0d033964aeab87678154d5580309152143045 +size 10869 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp new file mode 100644 index 00000000..c3c2a2b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e922cd7f3aa2dd146d2ee7c4a06205b02fefadbf27cbbb51c60b893e453d24ea +size 822 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp new file mode 100644 index 00000000..c100e6a8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d44542dd87974cad9317cd0705bd545d7bbaee46e6e0c8ae29bd1ea652dad0 +size 3119 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp new file mode 100644 index 00000000..a1d72f72 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6b0019a4010d987e409ad9ec88a245e192e8cbb2d7447fedf1dfd971594a44f +size 3096 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp new file mode 100644 index 00000000..6686cc50 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df878de2984f1b365cbe5eccb4bcea9da443a93f561d4180924b2d812df84862 +size 3119 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp new file mode 100644 index 00000000..bf2cb6ed --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afe19d5ffbbd006c2451b60340782751d7c3dd9cc750234d3bbced631c32e696 +size 14714 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp new file mode 100644 index 00000000..257e1f8d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98a0f4ff55f237aab4deaefe9c89cdc22c61113e600102e7250edd41bc79636d +size 3104 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp new file mode 100644 index 00000000..9caf7933 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02a6fb4811e0d71f2df531c791c6d4d67d7e86081da3e27c97ba69c930ab39c9 +size 2350 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp new file mode 100644 index 00000000..3d74b35e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:982fd5495e28a7f8e73fdaec1288a03745179ac2c065f1e626eb1844c39c6fad +size 6622 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp new file mode 100644 index 00000000..8eddd50b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8ad8fb76d22414f34292b139533c89db4c70270f84e40db13884239e6c3d60 +size 11215 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp new file mode 100644 index 00000000..20931d5f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e192e3ba7ec2b132208a5686e49ce509e6fefa57e774839b969d18d52079cbf1 +size 2334 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp new file mode 100644 index 00000000..7454b210 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3188b71fab56a945412696409ed0d25f15bc13fc3b8ffc424ab4b92b951509e4 +size 2425 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp new file mode 100644 index 00000000..7666a0af --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80903ee2104e741d24b3c693698a5f8a33bd7a35714dd5468c9d12ed2bbe7f2a +size 3265 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp new file mode 100644 index 00000000..f8074e89 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:330d54d9d42ca7c62c5ca6f961a2d81765907456485482d4928725a7c3461284 +size 6461 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp new file mode 100644 index 00000000..5b831766 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:358f543967dbe4af676cf3bed19b80ffe5e90bdbeed3a7079ea20d9b1b2e95c8 +size 2289 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp new file mode 100644 index 00000000..bda02bea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05280a36353a5cfaa5b8e83915e4993e382ca496da997cba9a8ccdb517178cf4 +size 2380 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp new file mode 100644 index 00000000..1384cffd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00a452e40b988a1a25e004e4e49248704f2750fd7010810f8bff49ad56afe7b2 +size 14620 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp new file mode 100644 index 00000000..1d308005 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2beb061c6a2630d4bcfd38d186608537ff7e1e32932ff0e4c91e3777657e15aa +size 13129 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp new file mode 100644 index 00000000..317d8adb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:193080ade16f2bfa0b096b6d67191bf7bfed3da2db0651ef3c043d3f0444610d +size 14547 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp new file mode 100644 index 00000000..0d0595d6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bb1c0d7b87dc733cd219689a7aa814b6d9e08ede884a331210e6ffb92f2a457 +size 3058 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp new file mode 100644 index 00000000..3f522a63 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4666eeae7e9ac1def8b320bfebe971cf96bfccf337c959d5c111b2173a18fd8 +size 2552 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp new file mode 100644 index 00000000..469ec8c7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5fb115dcd98f925238be387148b0506073e6d9d7f076ec2313a47523823e4cc +size 2410 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp new file mode 100644 index 00000000..74e98694 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bdb93ca20a0836db578101deef4eff29f57337ba38a1c449f695d3ef638a0 +size 1384 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp new file mode 100644 index 00000000..fe63bbb9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:503788f5d2d053f93c04e135d6a568fac773383d9413375f7e61585f2e818725 +size 3035 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp new file mode 100644 index 00000000..ef000cb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7881345c5b69527ec6fc972071155341def05719cae294c4ea8b56892032eb3 +size 292 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp new file mode 100644 index 00000000..44a81008 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79505de6fd04df160b8177c82b8f8caed195387bf48f8adb307b7ffb68d6024a +size 9758 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..3d855031 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2a6266fdb4b7c12812dd9dca576eb2506d1177b8eccc66f1d89c6a048149c1c +size 9138 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp new file mode 100644 index 00000000..a6abcdca --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d18a2f67529ace4533087c2966eabf00444d75fcd0ecda9ebdd8672307d02c0 +size 14547 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp new file mode 100644 index 00000000..4ca2ccdb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:311d65179abf1db1872e4cfe5cbf9df0cd11259cb11a36888cd81104f4663257 +size 13056 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp new file mode 100644 index 00000000..2a69b0f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25d214690d87cc5ac5ee15173fa933ab570293dff245be8df33a606a43b5f2e +size 2570 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp new file mode 100644 index 00000000..f3ac67b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0539c283227179578848857ed9416cd6cd7a4d57e9accb89e42e35c1c75b37ae +size 2587 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp new file mode 100644 index 00000000..1d25e198 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cbcb3b2451ac6a6c643e2ffa2538d8e2262ea4de7fc29a5503184989f4bc1c9 +size 833 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp new file mode 100644 index 00000000..9ad3274e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d02a737bc43005cc7dbc5c2d0e9311791534780a67d2a61a1bc22af368c1d7d6 +size 3058 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp new file mode 100644 index 00000000..aa9deb28 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:280ab64981ecb9acf9bb4f17ea8c803a7e79ded65e30ead506a0104a76e7ad4b +size 2296 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp new file mode 100644 index 00000000..3a5b8a04 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e85b42966bd78b28f0c863cb0bb0acf7adeca1c70ed0e576a0da18d89acd48cf +size 14766 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp new file mode 100644 index 00000000..1f8fcfb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb75141c5083226384a062d286ed589226545f1f9bb140f81c1f7ae6ef716d7 +size 13905 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp new file mode 100644 index 00000000..914b945c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e022a01294d586476190960b4155f0e0bf45f3832d1539190e3c01c77f6973c +size 1374 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp new file mode 100644 index 00000000..ae24bb9e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5937ad19ebba092c24ef64e7d004972de9d08435b47a497511138eebb9358bde +size 2515 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp new file mode 100644 index 00000000..2708f56d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c560cb1faf80770bab1a5716c61566a3863d242ecf71e585d2b017d9c8cbf86 +size 829 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp new file mode 100644 index 00000000..68613671 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fbcc4a587492c3474c60d2e9564e24a16a78776afdcecb6960d24df0e17b851 +size 2055 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp new file mode 100644 index 00000000..7b163dad --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e4028082921f5bed438e7feafcb743a9376aa3f54d789538fb844aa784f9e00 +size 7357 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp new file mode 100644 index 00000000..e4c2e61e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:add03e5ab486db0b3c75dfc725f0d033964aeab87678154d5580309152143045 +size 10869 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp new file mode 100644 index 00000000..c3c2a2b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e922cd7f3aa2dd146d2ee7c4a06205b02fefadbf27cbbb51c60b893e453d24ea +size 822 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp new file mode 100644 index 00000000..939ac733 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a9110766ed9ba7e3781f18b883536e8783f459b669f704d42610fef0e4760a5 +size 3139 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp new file mode 100644 index 00000000..270f8d10 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d1e31648147c74a1839eb63e808fcd77b0692680cf4cc029457159dabb99433 +size 3116 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp new file mode 100644 index 00000000..910f8286 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75da53ae095275e503dff1b5258eb91453711c8ce6279ba06240ab9ba68e6e7 +size 3139 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp new file mode 100644 index 00000000..bf2cb6ed --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afe19d5ffbbd006c2451b60340782751d7c3dd9cc750234d3bbced631c32e696 +size 14714 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp new file mode 100644 index 00000000..0b7c04db --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17bbe20780afd4e6b08e688d1433a93d410c42558fee8b4b7921b084a8dbf26f +size 3124 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp new file mode 100644 index 00000000..ee244fc5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d8feabfebf9bb500296ae6fd98acc3437f69576c62c6bfb62e7b79d461fe9fe +size 2334 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp new file mode 100644 index 00000000..c6bc795a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06860ea1510a11a9c9a9e95208dbde1ec2dedccd5cb2d82a8de93a3c307cb35f +size 5758 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp new file mode 100644 index 00000000..8eddd50b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8ad8fb76d22414f34292b139533c89db4c70270f84e40db13884239e6c3d60 +size 11215 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp new file mode 100644 index 00000000..eb1c36f9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a552a40a32e158d9774dae4ce9cec3545c1b9794034f2e395783171d7147064 +size 2318 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp new file mode 100644 index 00000000..c4dbb6a4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18c750d86dd4ea13d6b97e0fc07186fd6fc664edb2d8243fbe85cd41b095fc40 +size 2409 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp new file mode 100644 index 00000000..7666a0af --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80903ee2104e741d24b3c693698a5f8a33bd7a35714dd5468c9d12ed2bbe7f2a +size 3265 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp new file mode 100644 index 00000000..5e0e8ab1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6899060d4c524736d22aef1f81fb222007058a5001e6549c8bcce1432973b9ea +size 5597 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp new file mode 100644 index 00000000..df821f63 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdd023290a901c5b2e4eaad0650c6666a85af8a0b153d32fd3c561aef2c935be +size 2273 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp new file mode 100644 index 00000000..49a97b89 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85155e73522f906f0ea2c8d228c5915c00dd81fc8ba3c961aca7fe671252af06 +size 2364 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp new file mode 100644 index 00000000..1384cffd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00a452e40b988a1a25e004e4e49248704f2750fd7010810f8bff49ad56afe7b2 +size 14620 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp new file mode 100644 index 00000000..1d308005 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2beb061c6a2630d4bcfd38d186608537ff7e1e32932ff0e4c91e3777657e15aa +size 13129 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp new file mode 100644 index 00000000..317d8adb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:193080ade16f2bfa0b096b6d67191bf7bfed3da2db0651ef3c043d3f0444610d +size 14547 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp new file mode 100644 index 00000000..9471cbec --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb24a03e18e5684a86cb5c6f0bfd40d1f7da8067047d78cf2b9d140e441fe962 +size 3078 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp new file mode 100644 index 00000000..533cb774 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fef96edfc8fb060733a024d56108e0e56c4ccc86bf00dce3232c36b80c0620d7 +size 2536 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp new file mode 100644 index 00000000..7f7fb0b0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51b66db91e7a6b901f2a4c92cd41a0537f9e1a49b8a56af7faf63b141fca4fa0 +size 2394 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp new file mode 100644 index 00000000..84a33cf1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89486f95fda0b7d0fcd29f6d0b441adf602e3fc3156e18d5992a5debf8682e3e +size 1375 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp new file mode 100644 index 00000000..6c1e2a01 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b1a74da0f1608f664c97b6d718463c7898f70d0510af40a1abef47767ed6186 +size 3055 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp new file mode 100644 index 00000000..fe5e7a7f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9bb597547c1fc8fd076c12dd5f34e4047b90e984544029396990b1bdb9e6fdb +size 2236 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp new file mode 100644 index 00000000..1ee6d3cc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35ab02a3f9c90712bb99fceecc74f34b675bbea2751aa00d735935bc790af20 +size 8870 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..a4d0254b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159bc9d2c3b48d007b76dfe2f08274377c7a8a8b7e0b003f174eaaeecfa59c97 +size 8250 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp new file mode 100644 index 00000000..a6abcdca --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d18a2f67529ace4533087c2966eabf00444d75fcd0ecda9ebdd8672307d02c0 +size 14547 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp new file mode 100644 index 00000000..4ca2ccdb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:311d65179abf1db1872e4cfe5cbf9df0cd11259cb11a36888cd81104f4663257 +size 13056 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp new file mode 100644 index 00000000..7abd556b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fafe9168d432e15459680ed280091c3156fcd5b03fe49c51952db075b3ea5a8 +size 2554 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp new file mode 100644 index 00000000..5994fa84 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2334be3ff1f8ad40d04cf8fd5ddd664bad1b9ddecd86da2736c2b9034a9b674d +size 2571 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp new file mode 100644 index 00000000..1d25e198 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cbcb3b2451ac6a6c643e2ffa2538d8e2262ea4de7fc29a5503184989f4bc1c9 +size 833 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp new file mode 100644 index 00000000..ae0e3cdf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fda2098cd33f86052ef1880498169b1def4e672399e5cf422a8135459a18b303 +size 3078 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp new file mode 100644 index 00000000..aa9deb28 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:280ab64981ecb9acf9bb4f17ea8c803a7e79ded65e30ead506a0104a76e7ad4b +size 2296 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp new file mode 100644 index 00000000..3a5b8a04 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e85b42966bd78b28f0c863cb0bb0acf7adeca1c70ed0e576a0da18d89acd48cf +size 14766 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp new file mode 100644 index 00000000..1f8fcfb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb75141c5083226384a062d286ed589226545f1f9bb140f81c1f7ae6ef716d7 +size 13905 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp new file mode 100644 index 00000000..ea10ec73 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f7e389aa4c3af94cf7a3fa8bb021335cf7c4c45f33251c5dce7b6d100fe1c4 +size 1257 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp new file mode 100644 index 00000000..f7797045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dacbfb2158468c189ee73d0cb03664f0109008e6933976bf09a94852cae4f6 +size 2744 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp new file mode 100644 index 00000000..a9455bfb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5bd2d53e79be26d178acc39a2629864f6fb00a6641b60d811df49d0abe9e79 +size 972 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp new file mode 100644 index 00000000..12c66089 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ab2c4e5056a15108f72c4c0fc86495baa9b35fd8d51e6d572eb314667ccd4de +size 6956 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp new file mode 100644 index 00000000..9bc5fc27 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f0c1779e43d8f709ce7e9d08888c621c23fe724cc63b7ee9edf5f4e4ed7324f +size 10260 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp new file mode 100644 index 00000000..66d4be92 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c17e1a8b7279f7db31cdf284a82788ba473eb36e02b607beecc2ba369b28d3 +size 14409 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp new file mode 100644 index 00000000..1a9018e0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f020aaafed9bcbdc23b541798663f5609176b9b1b0a6611b8ed48a8cecffe0 +size 964 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp new file mode 100644 index 00000000..754ad866 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04361fb0c214fe0baea75dee7988b6f3a8390cbf1e0af2adceb4cf7831e6f8f4 +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp new file mode 100644 index 00000000..d5b8a747 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e331fc1e6f2feadd2799d3104d78e4aac09bf189a3785cff1cb2d858122c0535 +size 3178 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp new file mode 100644 index 00000000..d6c25161 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d64fe515d7ab31f32469ca0c6bb3b1d5d801b048c2e9f592f1de596015dff4ac +size 3208 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp new file mode 100644 index 00000000..1cd3ad37 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52440eb38f109bbd3bb99542042d25575ce8c9c6e301c4a404e88d57ae3c8de9 +size 9723 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp new file mode 100644 index 00000000..16a2d9fd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8447006b0a3db43b6790fd4afccf07a0f1130db248807563096f1c86cd301444 +size 3191 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp new file mode 100644 index 00000000..74458688 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02ce64be459ad25c1c36bd0839a3fef6fc405f7a7744f12ac0dc6ebd74e13b19 +size 2097 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp new file mode 100644 index 00000000..88fb1496 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74d7a7520ecc7324a6fe40fae8bf9de3fc881bc6ced30ac1ec3389d2bc9581d +size 4354 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp new file mode 100644 index 00000000..8eddd50b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8ad8fb76d22414f34292b139533c89db4c70270f84e40db13884239e6c3d60 +size 11215 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp new file mode 100644 index 00000000..38840c33 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:045aa5d6bd8a3d800d4e88b3f059a31830583c77f1842638a4ac16e9be020502 +size 2080 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp new file mode 100644 index 00000000..5bab0298 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10790da3ecc6537acf7907af6a0271e3109e350b7929c2da1cf3f3cad177c5e1 +size 2171 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp new file mode 100644 index 00000000..9567f1d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67eec86cd760d5d50464a5b916c6f0fcb70389b6afdf4b1dc1a01c3f29c67ccd +size 2832 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp new file mode 100644 index 00000000..cca419a7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56eee865128b7608c098510ad708a849907a80c9f9f8314e5c6cf416992079e5 +size 4158 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp new file mode 100644 index 00000000..15bcc1f1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ec24946d87d5a75ab09d7933c37918bf8a5486ad1954102e3e240def7e18585 +size 2035 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp new file mode 100644 index 00000000..3304449c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d569aca0ec9bf6fd37393a9143f3c7e7dffea5d02ddaee311d69df027aee32 +size 2126 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp new file mode 100644 index 00000000..763186d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73c15b7e2fb9c62158af870a854a335fec2490a0f74100a706baad058a4d158 +size 9616 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp new file mode 100644 index 00000000..20326869 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee008389f1cca2faf27ed1da73c939ce2ff78296416feb06958c2466bb93345 +size 10717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp new file mode 100644 index 00000000..4625f589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a002cc4fbd7bf1a8fc5e286ae3b19d9708c0036dc2832babbca4d1a872adb183 +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp new file mode 100644 index 00000000..adf3979c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e298cb9e3132ce14a2ec5ffda044ace342053395ffdb0fdc210671f25946992 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp new file mode 100644 index 00000000..14ea63c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942f0e6c8b73652c912f11456bc9eacd7f8c0f778e4e2bab8ec10763c9e1cb69 +size 2293 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp new file mode 100644 index 00000000..eb85dfcf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fb0d2825097e4f8e452514b29d77ac13c9da3ef1860d5dbec1c915b61aaae9 +size 2156 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp new file mode 100644 index 00000000..61413b74 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:112ec4d3cb8cc4a9ee79b88a8e585065e67e8c4d86935262516eb7a7943f3820 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp new file mode 100644 index 00000000..e9704d51 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b612a0a8f0eeb3414644e5c028a242911ffa119a6460d9acc71497c8701372 +size 3101 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp new file mode 100644 index 00000000..af5c6652 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cf2f4f8b21bb706886b2adb76fa1c1eca3ea06c9fd43e1889b0e5dcf4825bc3 +size 2187 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp new file mode 100644 index 00000000..8bd77447 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16293df37c25ff8a277b36af2a1184d3883d5aa73faae01768c027ba8c88802f +size 7372 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..223d946c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3bcf3f96dbae8d9cc54d8df52417c2df1346aeb6c3a3d3f4ddf0d5aa874847 +size 6717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp new file mode 100644 index 00000000..3eb75d2e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7071dad95512f5828c2ac50f842f169d093297cdb2ba903085d0691af03cd +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp new file mode 100644 index 00000000..5f8a1ddf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:608eb89b22961ab2a5b1ba5cdfc115bc58be754a108d1038bf498de563e1eefc +size 10652 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp new file mode 100644 index 00000000..d546fb94 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91279f3a368dccec4a42dd1ee4b76925dc09a6e5a20ab04a5116fd048e2cf11 +size 2252 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp new file mode 100644 index 00000000..cd9d0bb0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3552891d80d206bcad21c2c1b191ee3e0c63096448939e878ad74955c529c384 +size 2267 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp new file mode 100644 index 00000000..e29c8bfc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7f7f402db7af2a929cd4eea606d870506e73ab076f073cd5b0d08322cb718d9 +size 306 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp new file mode 100644 index 00000000..21433885 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f79649346ec889d18117680a67ac8f28082fe51abe91ac62eaa3c505fbb5065 +size 3131 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp new file mode 100644 index 00000000..3d93ce25 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d1e3057b2731938c0e74eede0338fbe7f2c7d578d1d888bcbc8d3a50bde152 +size 1906 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp new file mode 100644 index 00000000..96bdf706 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e22c161ecfd115c7f9154b25cf8e6835e2e30a6d49dbeddf4d98b012fd018c7 +size 9746 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp new file mode 100644 index 00000000..01100ce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630a3139e05016e8afd31fbedd1190ec07f6d31c8ddb5a2ce4399e551f07ac64 +size 12237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp new file mode 100644 index 00000000..e0038e2a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626bc53a4ac1b8b27a6c3dba518a7572a36329dc6aa708c8314f854e1d97bde6 +size 1383 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp new file mode 100644 index 00000000..414d4441 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17875a0c7163cdf64a3c138338c4e4dba5c1bc5b56360a814b15dc052722b15c +size 4474 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp new file mode 100644 index 00000000..10b67e9d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9370ae2f082ee75482ad769ab861250d5e7e565fe2d4f823111ec61d99281629 +size 915 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp new file mode 100644 index 00000000..605b3ec3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b27736f5cc1b340b64d7317faca4ee84c424e708b64c01290bf87a8897caf83 +size 1164 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp new file mode 100644 index 00000000..24fe2402 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d58e38670650cb718b4ca909f1d78b9b50bc2633e0ed6b75079c8fbb2a1064f5 +size 10017 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp new file mode 100644 index 00000000..ab265987 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92ca444c7bcb6893399a7908c7b9b660ef25d4dff786457f4bf000dc3eb68ef7 +size 13529 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp new file mode 100644 index 00000000..1a9018e0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f020aaafed9bcbdc23b541798663f5609176b9b1b0a6611b8ed48a8cecffe0 +size 964 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp new file mode 100644 index 00000000..09119311 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e552044a1929bbe5574bed8d13c4596da7a068a4e3a25a6735d26b64a958e67a +size 2855 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp new file mode 100644 index 00000000..b00e5286 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ba6d20374c28253126c365336c059fffbeaf842ffe09c4f100b13db9199047a +size 2834 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp new file mode 100644 index 00000000..8b073b6a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e635fc547ee9adb1aa176ce25e94bc941332f25478809ff62ce5eab6a4881876 +size 2855 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp new file mode 100644 index 00000000..bf2cb6ed --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afe19d5ffbbd006c2451b60340782751d7c3dd9cc750234d3bbced631c32e696 +size 14714 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp new file mode 100644 index 00000000..e9eff7b3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:934e537bd3615db7b8dd02df5757997b82f31d4232446e02d2edf54d2cab4ebe +size 2838 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp new file mode 100644 index 00000000..7beddf8a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:285931eb5709f16bb9e6622d1de8a24de0ad4a2330ca053a1cfe0e1982c26f67 +size 2091 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp new file mode 100644 index 00000000..c6bc795a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06860ea1510a11a9c9a9e95208dbde1ec2dedccd5cb2d82a8de93a3c307cb35f +size 5758 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp new file mode 100644 index 00000000..8eddd50b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8ad8fb76d22414f34292b139533c89db4c70270f84e40db13884239e6c3d60 +size 11215 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp new file mode 100644 index 00000000..e137a2f5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a131e96e06838378abb55eda8f3a197903bce070b4ce3f82cb028e835760bdc4 +size 2074 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp new file mode 100644 index 00000000..9b46ae08 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b73fa5e056f4268b830d99be86c5a1961c9bc30293ed08d0e5e931117f2b09 +size 2165 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp new file mode 100644 index 00000000..7666a0af --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80903ee2104e741d24b3c693698a5f8a33bd7a35714dd5468c9d12ed2bbe7f2a +size 3265 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp new file mode 100644 index 00000000..5e0e8ab1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6899060d4c524736d22aef1f81fb222007058a5001e6549c8bcce1432973b9ea +size 5597 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp new file mode 100644 index 00000000..eebb92a0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1961ca877009444fa02a629ffe81b4de3090ec5520e0341e3706fa5dc9f90baf +size 2029 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp new file mode 100644 index 00000000..20a3388c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2d57256bc06b20648028cfd8205c4b1bb4a830d272b0bb2d4719c53478a4448 +size 2120 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp new file mode 100644 index 00000000..1384cffd --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00a452e40b988a1a25e004e4e49248704f2750fd7010810f8bff49ad56afe7b2 +size 14620 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp new file mode 100644 index 00000000..1d308005 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2beb061c6a2630d4bcfd38d186608537ff7e1e32932ff0e4c91e3777657e15aa +size 13129 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp new file mode 100644 index 00000000..317d8adb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:193080ade16f2bfa0b096b6d67191bf7bfed3da2db0651ef3c043d3f0444610d +size 14547 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp new file mode 100644 index 00000000..5d4132e6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47bcb8ddf66f16b01026ac8f7ffddf6938110af91868492147990a09e49fc05d +size 2796 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp new file mode 100644 index 00000000..c72923f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a13855e3190a8eb4d79ee67dd791f8d36fd13102af425af6b65f0bf88fe81e9c +size 2287 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp new file mode 100644 index 00000000..35ad47e5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29af8019eeae5b3513f4bc8824714dec3c0106d6851fce6e0edef0b83c3b1614 +size 2150 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp new file mode 100644 index 00000000..74e98694 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bdb93ca20a0836db578101deef4eff29f57337ba38a1c449f695d3ef638a0 +size 1384 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp new file mode 100644 index 00000000..c0b9de44 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92736597f3a65aedc540e859099c6d8682de595278b11c47cd919e9d635cba40 +size 2775 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp new file mode 100644 index 00000000..fe5e7a7f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9bb597547c1fc8fd076c12dd5f34e4047b90e984544029396990b1bdb9e6fdb +size 2236 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp new file mode 100644 index 00000000..1ee6d3cc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35ab02a3f9c90712bb99fceecc74f34b675bbea2751aa00d735935bc790af20 +size 8870 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..a4d0254b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159bc9d2c3b48d007b76dfe2f08274377c7a8a8b7e0b003f174eaaeecfa59c97 +size 8250 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp new file mode 100644 index 00000000..a6abcdca --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d18a2f67529ace4533087c2966eabf00444d75fcd0ecda9ebdd8672307d02c0 +size 14547 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp new file mode 100644 index 00000000..4ca2ccdb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:311d65179abf1db1872e4cfe5cbf9df0cd11259cb11a36888cd81104f4663257 +size 13056 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp new file mode 100644 index 00000000..9f3b4857 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f66c9222adb66c3082c95168b27670ae2b4fd3e73e50d0bf1a3c14d00d0e0ea +size 2246 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp new file mode 100644 index 00000000..5473b0da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec42899eafaf37a26eb0472c13f6e43e2b187fdb347bb342f9789ba100499fb4 +size 2261 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp new file mode 100644 index 00000000..09be163e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c008c25aa90b8dc31d8d524dc31eac50e775f0c2955358d90a035beba74ca366 +size 767 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp new file mode 100644 index 00000000..17060fd3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1f42cae699ee9220fad203abbd028e0faa263da736be643ce56421ceb7d453b +size 2796 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp new file mode 100644 index 00000000..aa9deb28 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:280ab64981ecb9acf9bb4f17ea8c803a7e79ded65e30ead506a0104a76e7ad4b +size 2296 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp new file mode 100644 index 00000000..3a5b8a04 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e85b42966bd78b28f0c863cb0bb0acf7adeca1c70ed0e576a0da18d89acd48cf +size 14766 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp new file mode 100644 index 00000000..1f8fcfb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb75141c5083226384a062d286ed589226545f1f9bb140f81c1f7ae6ef716d7 +size 13905 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp new file mode 100644 index 00000000..ea10ec73 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f7e389aa4c3af94cf7a3fa8bb021335cf7c4c45f33251c5dce7b6d100fe1c4 +size 1257 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp new file mode 100644 index 00000000..f7797045 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dacbfb2158468c189ee73d0cb03664f0109008e6933976bf09a94852cae4f6 +size 2744 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp new file mode 100644 index 00000000..a9455bfb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5bd2d53e79be26d178acc39a2629864f6fb00a6641b60d811df49d0abe9e79 +size 972 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp new file mode 100644 index 00000000..9ab4d997 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af7a500dc1f73b2175dd31d748c42ee2044fe95fe2e3a7e875c2f494aa68219 +size 1238 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp new file mode 100644 index 00000000..8a0f66f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:250c73542ddbef5a838fb96b1aa9f9a89a87ddab4e89e7c3b94dcba523c46014 +size 8482 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp new file mode 100644 index 00000000..bd2e3713 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d3884aa5d62ca2f07a8c136a50ba24b6593143dd79dc52d4641fe8f21de84c1 +size 11779 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp new file mode 100644 index 00000000..1a9018e0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f020aaafed9bcbdc23b541798663f5609176b9b1b0a6611b8ed48a8cecffe0 +size 964 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp new file mode 100644 index 00000000..6547ec00 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55f47c165028941ba60213f71d9c1c8260cd852f5aa9037be09c18b219e82d8a +size 3312 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp new file mode 100644 index 00000000..ace61697 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:365d440a60565f083fb57ac488f7f9d12a4592b2bf2f1eb43a9caa4ba9c20bea +size 3280 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp new file mode 100644 index 00000000..a6467e52 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7bd18e679129947faf674791612902486e51455e8af81dd96c24a824de3660b +size 3312 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp new file mode 100644 index 00000000..1cd3ad37 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52440eb38f109bbd3bb99542042d25575ce8c9c6e301c4a404e88d57ae3c8de9 +size 9723 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp new file mode 100644 index 00000000..a1bf2a21 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:841806855f1ecb1d5364ee7a5832c1895266dbcf389960c3209a3fa164779cb1 +size 3297 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp new file mode 100644 index 00000000..56a4b981 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f7aab4fae511295fbed6aa13fc82efd7cd3c909a23d59e1f98187f644b9ff1 +size 2197 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp new file mode 100644 index 00000000..88fb1496 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74d7a7520ecc7324a6fe40fae8bf9de3fc881bc6ced30ac1ec3389d2bc9581d +size 4354 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp new file mode 100644 index 00000000..8eddd50b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8ad8fb76d22414f34292b139533c89db4c70270f84e40db13884239e6c3d60 +size 11215 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp new file mode 100644 index 00000000..e96a3980 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4e6594b8a654f07df3b8a2248f49dcecc75456c85077dd4966c79c4889d86b1 +size 2181 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp new file mode 100644 index 00000000..1dceb704 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b26d3b382ff6b7b5fb2a3b69ccb2e70c4847ee7550cbd22a644e9d16015d492 +size 2272 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp new file mode 100644 index 00000000..9567f1d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67eec86cd760d5d50464a5b916c6f0fcb70389b6afdf4b1dc1a01c3f29c67ccd +size 2832 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp new file mode 100644 index 00000000..cca419a7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56eee865128b7608c098510ad708a849907a80c9f9f8314e5c6cf416992079e5 +size 4158 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp new file mode 100644 index 00000000..e1b521be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3387b7806a1e6c0a6109cc323509d8dd10e15b7f8c2cff882013c07168231433 +size 6477 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp new file mode 100644 index 00000000..f15cec27 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca34a61e735f290760d041d9dd7f5d37b6a22a9a95d809c7191ce5c0b3c9a8b8 +size 2136 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp new file mode 100644 index 00000000..94ad4b81 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:752d75a57b6adb2c93121f6f92ec78035488cddc7919cb21ca2bfe61de893b95 +size 2227 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp new file mode 100644 index 00000000..763186d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73c15b7e2fb9c62158af870a854a335fec2490a0f74100a706baad058a4d158 +size 9616 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp new file mode 100644 index 00000000..20326869 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee008389f1cca2faf27ed1da73c939ce2ff78296416feb06958c2466bb93345 +size 10717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp new file mode 100644 index 00000000..4625f589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a002cc4fbd7bf1a8fc5e286ae3b19d9708c0036dc2832babbca4d1a872adb183 +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp new file mode 100644 index 00000000..abb48fce --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e23455510e76a32fcbd57c788e49350eb28a23dd6491eb4b006a0de540ebf44 +size 3233 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp new file mode 100644 index 00000000..f50c1d6f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6618b3af1a69d94e8fb0db3779cc59afe79643742b08be80d83acdeff71aa083 +size 2399 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp new file mode 100644 index 00000000..dae38af1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c6c600bedf8ca42ac86fab32f32dddd1b103e79519742f15a8d28db1a12e48f +size 2257 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp new file mode 100644 index 00000000..61413b74 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:112ec4d3cb8cc4a9ee79b88a8e585065e67e8c4d86935262516eb7a7943f3820 +size 1258 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp new file mode 100644 index 00000000..e6dcc133 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fb69be800763cc55b387b54f763621a8f9b1f817838f2515f50251552fbc0ae +size 3201 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp new file mode 100644 index 00000000..ef000cb3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7881345c5b69527ec6fc972071155341def05719cae294c4ea8b56892032eb3 +size 292 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp new file mode 100644 index 00000000..8bd77447 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16293df37c25ff8a277b36af2a1184d3883d5aa73faae01768c027ba8c88802f +size 7372 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..223d946c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3bcf3f96dbae8d9cc54d8df52417c2df1346aeb6c3a3d3f4ddf0d5aa874847 +size 6717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp new file mode 100644 index 00000000..3eb75d2e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7071dad95512f5828c2ac50f842f169d093297cdb2ba903085d0691af03cd +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp new file mode 100644 index 00000000..5f8a1ddf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:608eb89b22961ab2a5b1ba5cdfc115bc58be754a108d1038bf498de563e1eefc +size 10652 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp new file mode 100644 index 00000000..af79738d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7f16a43266d7ae88913f5a4b560216f63d83ba000ab8eb8301f5b1aeabf1afe +size 2417 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp new file mode 100644 index 00000000..9cdf6aa5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a2992c613a563f0a0380775411a5249e468c9745780232c615ca0365728792 +size 2434 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp new file mode 100644 index 00000000..09be163e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c008c25aa90b8dc31d8d524dc31eac50e775f0c2955358d90a035beba74ca366 +size 767 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp new file mode 100644 index 00000000..8f10dbdc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7706a9885b40de50fdade2fa440f90b99b770f665d74834f25d149fdd4035e7d +size 3233 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp new file mode 100644 index 00000000..3d93ce25 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d1e3057b2731938c0e74eede0338fbe7f2c7d578d1d888bcbc8d3a50bde152 +size 1906 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp new file mode 100644 index 00000000..96bdf706 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e22c161ecfd115c7f9154b25cf8e6835e2e30a6d49dbeddf4d98b012fd018c7 +size 9746 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp new file mode 100644 index 00000000..01100ce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630a3139e05016e8afd31fbedd1190ec07f6d31c8ddb5a2ce4399e551f07ac64 +size 12237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp new file mode 100644 index 00000000..7c8960ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c03c83e9e3950e42ee825cb10d94c3e54af988a8bf5517a44265e8e56b4be3 +size 2206 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp new file mode 100644 index 00000000..913b5b6c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d41920b3f3d73804897c16f790f269609c2684db7bb21f6bb94fd461a5aa78 +size 2186 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/and.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/and.hpp new file mode 100644 index 00000000..5eaac44c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad7d1282dcc8e799fac2d1b01c52bfb0d5dcdcfc4086496326f251138e28ff7a +size 1154 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply.hpp new file mode 100644 index 00000000..d934f86f --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c539730f88cb1c341d31397ea10a36df45e8af3026535adacfea259ca0f36b +size 2161 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp new file mode 100644 index 00000000..a9455bfb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5bd2d53e79be26d178acc39a2629864f6fb00a6641b60d811df49d0abe9e79 +size 972 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp new file mode 100644 index 00000000..9ab4d997 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af7a500dc1f73b2175dd31d748c42ee2044fe95fe2e3a7e875c2f494aa68219 +size 1238 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/arg.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/arg.hpp new file mode 100644 index 00000000..2cc570da --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/arg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd55033624e38bf06e1c3c2a808b2c052b47403968a151ed349dd66928ad251 +size 2893 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp new file mode 100644 index 00000000..9bc5fc27 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f0c1779e43d8f709ce7e9d08888c621c23fe724cc63b7ee9edf5f4e4ed7324f +size 10260 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind.hpp new file mode 100644 index 00000000..66d4be92 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c17e1a8b7279f7db31cdf284a82788ba473eb36e02b607beecc2ba369b28d3 +size 14409 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp new file mode 100644 index 00000000..1a9018e0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f020aaafed9bcbdc23b541798663f5609176b9b1b0a6611b8ed48a8cecffe0 +size 964 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp new file mode 100644 index 00000000..bd00b2f4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4bd9d5d090a6671970c39b3d4e4fc9ad1faadb0d01b9e7fa6b959a435bfa508 +size 3101 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp new file mode 100644 index 00000000..88e6b43b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9fa235711dc5c34be22b688b9c776989b5dd8bca09bd1957ef2c8b45eb040b2 +size 3072 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp new file mode 100644 index 00000000..f1dfdb55 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f8d30e7c197645d7187ff700b607c8de7418dda70b98eec57ad7fa936b4256 +size 3101 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/deque.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/deque.hpp new file mode 100644 index 00000000..1cd3ad37 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52440eb38f109bbd3bb99542042d25575ce8c9c6e301c4a404e88d57ae3c8de9 +size 9723 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/divides.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/divides.hpp new file mode 100644 index 00000000..081d69c0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80020a6f74086bcb21f9f078404d7ae229183e8d2eb5124e0c1bb4a710b37ed2 +size 3084 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp new file mode 100644 index 00000000..a928a329 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:622f2aff9d41cf1d36d29cef2a6ab7b6d807afa135cbd3181c83353176fa756f +size 2040 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp new file mode 100644 index 00000000..88fb1496 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74d7a7520ecc7324a6fe40fae8bf9de3fc881bc6ced30ac1ec3389d2bc9581d +size 4354 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp new file mode 100644 index 00000000..8eddd50b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8ad8fb76d22414f34292b139533c89db4c70270f84e40db13884239e6c3d60 +size 11215 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater.hpp new file mode 100644 index 00000000..c1fd22fc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:594ea57b6dda4888da5a4a113a59f950ca11d024d2039025ae9704613a288301 +size 2024 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp new file mode 100644 index 00000000..c7e73597 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8923f7199187d645b83e671197915317071b5f46a19a8e7dadfb8b2eb55f5afe +size 2109 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp new file mode 100644 index 00000000..70be0448 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4f16f5181481038c98e1d14bdae1a8dab3acd1f0952499a969fe3093d61813d +size 2467 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp new file mode 100644 index 00000000..c1acc01b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc097fe7a8a705d537a17859f2f6ff2f7ce7e687261e1f4235f794fdb4688f8 +size 4274 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp new file mode 100644 index 00000000..cca419a7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56eee865128b7608c098510ad708a849907a80c9f9f8314e5c6cf416992079e5 +size 4158 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp new file mode 100644 index 00000000..d6e1fb8b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7687e5715126913c0f29f61ba86eef94d7fdaa705c47d08587285adc1b9e790f +size 6414 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less.hpp new file mode 100644 index 00000000..4df5dae8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67641601043e466b350f94941c1d3e02a18d8b0ff68281458f9956ee951f1b08 +size 1982 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp new file mode 100644 index 00000000..d6899300 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07ae54b1fb81d7afa70f08367d9c0cef03b26b9af8fcf21b83ec15b63874962b +size 2067 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list.hpp new file mode 100644 index 00000000..763186d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73c15b7e2fb9c62158af870a854a335fec2490a0f74100a706baad058a4d158 +size 9616 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp new file mode 100644 index 00000000..20326869 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee008389f1cca2faf27ed1da73c939ce2ff78296416feb06958c2466bb93345 +size 10717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/map.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/map.hpp new file mode 100644 index 00000000..4625f589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a002cc4fbd7bf1a8fc5e286ae3b19d9708c0036dc2832babbca4d1a872adb183 +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/minus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/minus.hpp new file mode 100644 index 00000000..aa59930d --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c7e258a04b367a488facbb089266c416dd221826513b39988d10d004231d6b2 +size 3026 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp new file mode 100644 index 00000000..d09343a2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6d4e1fd64c52dbdbd40c976218d98aeb3e9974f03937d8c7b9de6223f199e51 +size 2237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp new file mode 100644 index 00000000..dbbfba70 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e891eb2effc6feb6890ba54bc66b8417a402b8bad6b4fc18860e8ce7a70b876 +size 2095 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/or.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/or.hpp new file mode 100644 index 00000000..3273c783 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7645364581e874da099ebbfbb4fe0ad416f23276474c698814e26ec9644bec14 +size 1156 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp new file mode 100644 index 00000000..b8ef78d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d080d1d6bdd3d373c1fa5f19cad988430dfc29a626f7ed5f1e7abaa4381fa8 +size 2211 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/plus.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/plus.hpp new file mode 100644 index 00000000..e8423b40 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43498ca5ededf2531ce0b4cae79c82d57082b779ab90371842f93d5b5415f70a +size 2997 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/quote.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/quote.hpp new file mode 100644 index 00000000..af5c6652 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cf2f4f8b21bb706886b2adb76fa1c1eca3ea06c9fd43e1889b0e5dcf4825bc3 +size 2187 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp new file mode 100644 index 00000000..8bd77447 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16293df37c25ff8a277b36af2a1184d3883d5aa73faae01768c027ba8c88802f +size 7372 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..223d946c --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3bcf3f96dbae8d9cc54d8df52417c2df1346aeb6c3a3d3f4ddf0d5aa874847 +size 6717 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set.hpp new file mode 100644 index 00000000..3eb75d2e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7071dad95512f5828c2ac50f842f169d093297cdb2ba903085d0691af03cd +size 9551 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp new file mode 100644 index 00000000..5f8a1ddf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:608eb89b22961ab2a5b1ba5cdfc115bc58be754a108d1038bf498de563e1eefc +size 10652 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp new file mode 100644 index 00000000..f63bc1bf --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb4861e3e4721b71e4dc519af02e9fad59b8175c28fe490a8031111fca17b28a +size 2193 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp new file mode 100644 index 00000000..c6b3ff8e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f59b49a8785292bbaa9f9d078974e674eb43862436be2f74b21bb488f26a9f9 +size 2207 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp new file mode 100644 index 00000000..e29c8bfc --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7f7f402db7af2a929cd4eea606d870506e73ab076f073cd5b0d08322cb718d9 +size 306 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/times.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/times.hpp new file mode 100644 index 00000000..34d12329 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cce2da1dc586e84d510cec378a45b3232bf74f3580751c05e91d1d07a432b89 +size 3026 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp new file mode 100644 index 00000000..3d93ce25 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d1e3057b2731938c0e74eede0338fbe7f2c7d578d1d888bcbc8d3a50bde152 +size 1906 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector.hpp new file mode 100644 index 00000000..96bdf706 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e22c161ecfd115c7f9154b25cf8e6835e2e30a6d49dbeddf4d98b012fd018c7 +size 9746 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp new file mode 100644 index 00000000..01100ce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630a3139e05016e8afd31fbedd1190ec07f6d31c8ddb5a2ce4399e551f07ac64 +size 12237 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/add.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/add.hpp new file mode 100644 index 00000000..c2e26e5b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/add.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:142dcf0b8b8d30b72d92c932b4353b15ad7b8c487837464721644f0e28c27da0 +size 1854 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp new file mode 100644 index 00000000..16ba7331 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54274b3bb920f4a7199ce344151990668a74f0a8e73483f8034910e1280d728e +size 4473 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/default_params.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/default_params.hpp new file mode 100644 index 00000000..427628b5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/default_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6af730994a52590c6cf07779d2b6e2bd7ceff1856823b7e094fbd5aa0fd047b +size 2395 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/enum.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/enum.hpp new file mode 100644 index 00000000..1288483b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc3581adf5d053d47ad28b8cb6257853a89dffc56269b498fd614fdd70be41f5 +size 1656 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/ext_params.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/ext_params.hpp new file mode 100644 index 00000000..22f236be --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/ext_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834dd20dc86e338f0a382ef24cf13abcfa1f6aab52e53e45066c1610843d64ff +size 2917 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/filter_params.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/filter_params.hpp new file mode 100644 index 00000000..51ae764a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/filter_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b217235df47e7251345b416b4977fa31f2c91bde1083aae1b966d1dedff389fe +size 1271 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/is_seq.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/is_seq.hpp new file mode 100644 index 00000000..db29b9f8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/is_seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd4796e1d3b0e24a369a58ff74c43f76b5fb32414a82c36e903414773201d014 +size 2074 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/params.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/params.hpp new file mode 100644 index 00000000..a0dbdaff --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ad39c4d3b81363d8c01cdf9a90e299a830a76c6a9c0f915e867591d770efd7 +size 1926 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp new file mode 100644 index 00000000..e22d9ec9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f480c010f1b3f5573c3bc8dc292669fa9ddc2fe10e566e5d561b2295287976 +size 1005 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/range.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/range.hpp new file mode 100644 index 00000000..a6081d5a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/range.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e467746e05ba33e260af651f80840ed4f74ad3560425f84a428fce525e595b +size 843 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/repeat.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/repeat.hpp new file mode 100644 index 00000000..2991f92a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/repeat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a1e44e66f09002829ae8656c1d898473f0c2d7b0f806d889218ff7a1ebd2f4d +size 1846 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/sub.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/sub.hpp new file mode 100644 index 00000000..b37d7748 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/sub.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7ba4fbf672be58570346fc9e41516470f8aab3aa850ad28c75223329e310f4e +size 1843 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/token_equal.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/token_equal.hpp new file mode 100644 index 00000000..f9bbffb4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/token_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc7de69970a4409546857a2cb661a95f62228b75cdb0d71c40a4a8e69adff718 +size 1897 diff --git a/ThirdParty/include/boost/mpl/aux_/preprocessor/tuple.hpp b/ThirdParty/include/boost/mpl/aux_/preprocessor/tuple.hpp new file mode 100644 index 00000000..17a19a88 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/preprocessor/tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9a81a1c9c68ad22f9deb17f40deab930deaf1f18814a68c77d4980f738cf227 +size 1288 diff --git a/ThirdParty/include/boost/mpl/aux_/ptr_to_ref.hpp b/ThirdParty/include/boost/mpl/aux_/ptr_to_ref.hpp new file mode 100644 index 00000000..6dbc46e2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/ptr_to_ref.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4edf9744de591f5319c47307abc8777688b12c52ada8648ad279d897d0b36d5 +size 1095 diff --git a/ThirdParty/include/boost/mpl/aux_/push_back_impl.hpp b/ThirdParty/include/boost/mpl/aux_/push_back_impl.hpp new file mode 100644 index 00000000..b6ab9364 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/push_back_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d2270ad96a22228249079313c63074adf226b798c124d99cc2fcbc3abb1de17 +size 2071 diff --git a/ThirdParty/include/boost/mpl/aux_/push_front_impl.hpp b/ThirdParty/include/boost/mpl/aux_/push_front_impl.hpp new file mode 100644 index 00000000..26c69fda --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/push_front_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6122b367c417b0cd2af9a8d5bfe264557233e5f6160e964a3fc0d915a65d1ce5 +size 2092 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/O1_size.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/O1_size.hpp new file mode 100644 index 00000000..9f5759ad --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/O1_size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76940057dcee7a4e9b9c7bf444fb6bbf15d2cc38417d7d21937391ad84a61553 +size 722 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/back.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/back.hpp new file mode 100644 index 00000000..cfa9f390 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bd0cebc1aed4310a5f87a44d1a296a5c6d9ff94d1a9d8e727835820b8910b0d +size 777 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/empty.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/empty.hpp new file mode 100644 index 00000000..674bd85b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a25cbded637e4beada32c8d22ed614670e8afee8021ddde3f599854301d3782 +size 823 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/front.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/front.hpp new file mode 100644 index 00000000..112dc678 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91421373f13aa522643121f631a5fe18806aa9e11e93f4ab80b6d63f12e196e3 +size 726 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/iterator.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/iterator.hpp new file mode 100644 index 00000000..7c32738a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cf861e7c684fc52c0e69fbd07f56c249632668fc9eda0fdb896e4944f0ab07d +size 2654 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/size.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/size.hpp new file mode 100644 index 00000000..d66aeaff --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:080d7314afec38fd92f7728f51875cd282c4a8c2976cb9a9cf67eb036924006b +size 812 diff --git a/ThirdParty/include/boost/mpl/aux_/range_c/tag.hpp b/ThirdParty/include/boost/mpl/aux_/range_c/tag.hpp new file mode 100644 index 00000000..e9ed7a55 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/range_c/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3e6d3e3d9608cce1fadac4d5766823a266150d5c72fc2c53981acceef371b08 +size 543 diff --git a/ThirdParty/include/boost/mpl/aux_/reverse_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/reverse_fold_impl.hpp new file mode 100644 index 00000000..8a1fa1b7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/reverse_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76d4c331e35e62e72f0f5663c269da3e1c20746b79eafb8e8c75ed7736195edb +size 1384 diff --git a/ThirdParty/include/boost/mpl/aux_/reverse_fold_impl_body.hpp b/ThirdParty/include/boost/mpl/aux_/reverse_fold_impl_body.hpp new file mode 100644 index 00000000..e94d8c5b --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/reverse_fold_impl_body.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad84e878c93d0342abcdb5f116c293faee45c4d3949b044db373b49de9c5317a +size 10599 diff --git a/ThirdParty/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp b/ThirdParty/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp new file mode 100644 index 00000000..d697cad8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bcaf337993e4b037a064fad1ac43124793b19ef1505d3e338055e6ab5946ce8 +size 1356 diff --git a/ThirdParty/include/boost/mpl/aux_/sequence_wrapper.hpp b/ThirdParty/include/boost/mpl/aux_/sequence_wrapper.hpp new file mode 100644 index 00000000..7d36fdbe --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/sequence_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72b191fa3ac6c8828ab8c7f849e10eac56df238fe24691df214ad9568ccdfddd +size 8170 diff --git a/ThirdParty/include/boost/mpl/aux_/shift_op.hpp b/ThirdParty/include/boost/mpl/aux_/shift_op.hpp new file mode 100644 index 00000000..b9d8bd12 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/shift_op.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9fe3aa6464e97d023bfa82efcf00656e061db51290baaac6545d1164b3e05d4 +size 2246 diff --git a/ThirdParty/include/boost/mpl/aux_/single_element_iter.hpp b/ThirdParty/include/boost/mpl/aux_/single_element_iter.hpp new file mode 100644 index 00000000..015e88c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/single_element_iter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8dccbdedf3f411ddfd9f59e3b217f2bd00d188e6747f5134a5b1aab0e2eff21 +size 2789 diff --git a/ThirdParty/include/boost/mpl/aux_/size_impl.hpp b/ThirdParty/include/boost/mpl/aux_/size_impl.hpp new file mode 100644 index 00000000..5c60cd2a --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/size_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b79342c64ba805e79214b4ed053a546aef4698950579ff97967bf49b0667b37 +size 1322 diff --git a/ThirdParty/include/boost/mpl/aux_/sort_impl.hpp b/ThirdParty/include/boost/mpl/aux_/sort_impl.hpp new file mode 100644 index 00000000..922f2046 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/sort_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30305b44d22c3ff7c78779f667416e00d590fb5a01bd3e0dff8edbc243a8a086 +size 2877 diff --git a/ThirdParty/include/boost/mpl/aux_/static_cast.hpp b/ThirdParty/include/boost/mpl/aux_/static_cast.hpp new file mode 100644 index 00000000..21bbaca4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/static_cast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c47fb69b45b1ab486e2921caeb899019f874764df12c1937119741c2c590072 +size 768 diff --git a/ThirdParty/include/boost/mpl/aux_/template_arity.hpp b/ThirdParty/include/boost/mpl/aux_/template_arity.hpp new file mode 100644 index 00000000..c70793c4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/template_arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5f7fa518eff15dccd658f4d73bae3faa96765513e25dde4d1d38eaec73763fc +size 4735 diff --git a/ThirdParty/include/boost/mpl/aux_/template_arity_fwd.hpp b/ThirdParty/include/boost/mpl/aux_/template_arity_fwd.hpp new file mode 100644 index 00000000..9bad335e --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/template_arity_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf95228a7010cfaf32d7c214b20000e09c26afdf4739d698d29238098147c80f +size 563 diff --git a/ThirdParty/include/boost/mpl/aux_/test.hpp b/ThirdParty/include/boost/mpl/aux_/test.hpp new file mode 100644 index 00000000..e55fbc45 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/test.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ed164d512a109de82fcaab4ff243a47377c345f11ea006e98f58861bb1e6e09 +size 729 diff --git a/ThirdParty/include/boost/mpl/aux_/test/assert.hpp b/ThirdParty/include/boost/mpl/aux_/test/assert.hpp new file mode 100644 index 00000000..cadbf8d3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/test/assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e40bdc56cae244c1ed927d54e62ce551d9d67136feb53a01b9e58c19386e7475 +size 910 diff --git a/ThirdParty/include/boost/mpl/aux_/test/data.hpp b/ThirdParty/include/boost/mpl/aux_/test/data.hpp new file mode 100644 index 00000000..8749c1b3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/test/data.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25112c8e566a345f4154da6bc8eb3040f70ec4ae3f0fbd021435d0571e92eb92 +size 596 diff --git a/ThirdParty/include/boost/mpl/aux_/test/test_case.hpp b/ThirdParty/include/boost/mpl/aux_/test/test_case.hpp new file mode 100644 index 00000000..d06a26c9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/test/test_case.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0669b85dd2a392dae20d0118adadd10f6761415e224fddd297b3e68db4ee699e +size 547 diff --git a/ThirdParty/include/boost/mpl/aux_/traits_lambda_spec.hpp b/ThirdParty/include/boost/mpl/aux_/traits_lambda_spec.hpp new file mode 100644 index 00000000..7fe49102 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/traits_lambda_spec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cccf5d2089695f55d733209245b6614ec5740d061b306174bc808cda424ce0c8 +size 1569 diff --git a/ThirdParty/include/boost/mpl/aux_/transform_iter.hpp b/ThirdParty/include/boost/mpl/aux_/transform_iter.hpp new file mode 100644 index 00000000..d975e2eb --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/transform_iter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:352348f0dc9262fa7f0da40665cf82769b5d36ede84bf4184d0d54108fbb0af5 +size 2636 diff --git a/ThirdParty/include/boost/mpl/aux_/type_wrapper.hpp b/ThirdParty/include/boost/mpl/aux_/type_wrapper.hpp new file mode 100644 index 00000000..26294717 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/type_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5699ac051ca130e263ed8889deea522e9e7ca167a8c1f99f4c01cc4da210c15d +size 1181 diff --git a/ThirdParty/include/boost/mpl/aux_/unwrap.hpp b/ThirdParty/include/boost/mpl/aux_/unwrap.hpp new file mode 100644 index 00000000..36a98b03 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/unwrap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9494178ee595a0ff3e16197fb15d13c6d50fc1979ff954120d193c43b0c613c5 +size 929 diff --git a/ThirdParty/include/boost/mpl/aux_/value_wknd.hpp b/ThirdParty/include/boost/mpl/aux_/value_wknd.hpp new file mode 100644 index 00000000..1341a907 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/value_wknd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c84c8e72c3bef461dae2b4f1f905f546bbe05fbec3109193eaa259fbee6efa6 +size 2029 diff --git a/ThirdParty/include/boost/mpl/aux_/yes_no.hpp b/ThirdParty/include/boost/mpl/aux_/yes_no.hpp new file mode 100644 index 00000000..d0eeed67 --- /dev/null +++ b/ThirdParty/include/boost/mpl/aux_/yes_no.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:980dbf5b1bd243891caeeaec32a63b7819c18cdac6db0b0413a813bad36ac873 +size 1180 diff --git a/ThirdParty/include/boost/mpl/back.hpp b/ThirdParty/include/boost/mpl/back.hpp new file mode 100644 index 00000000..2851148b --- /dev/null +++ b/ThirdParty/include/boost/mpl/back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5532e15090e00f74d8d2f568c107db66cb7afc126eca6f54e98f1b6318f5e648 +size 901 diff --git a/ThirdParty/include/boost/mpl/back_fwd.hpp b/ThirdParty/include/boost/mpl/back_fwd.hpp new file mode 100644 index 00000000..61512fe2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/back_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41fad83b18de9aee4ecb2737d8217bb6edb98658a94e98167fe199515ffc8fd6 +size 544 diff --git a/ThirdParty/include/boost/mpl/back_inserter.hpp b/ThirdParty/include/boost/mpl/back_inserter.hpp new file mode 100644 index 00000000..7bd3f6bf --- /dev/null +++ b/ThirdParty/include/boost/mpl/back_inserter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6a008191c12e8d94a39e57648785e704093aa11ac4b7545910b1bb287152d28 +size 686 diff --git a/ThirdParty/include/boost/mpl/base.hpp b/ThirdParty/include/boost/mpl/base.hpp new file mode 100644 index 00000000..ad5f8fd7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65d8c570aee85912038ad328879377fa606128103919d69944fbd1b9b48707ae +size 716 diff --git a/ThirdParty/include/boost/mpl/begin.hpp b/ThirdParty/include/boost/mpl/begin.hpp new file mode 100644 index 00000000..b3f41dd8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a375f18358f453b319fab748d1e12ec7e1cb85a0c9434b2253a69cfea13713e5 +size 440 diff --git a/ThirdParty/include/boost/mpl/begin_end.hpp b/ThirdParty/include/boost/mpl/begin_end.hpp new file mode 100644 index 00000000..02b5b339 --- /dev/null +++ b/ThirdParty/include/boost/mpl/begin_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bb43a74752087b6298c9b54cf719c045f256c635e65d98248dfa122b011d167 +size 1444 diff --git a/ThirdParty/include/boost/mpl/begin_end_fwd.hpp b/ThirdParty/include/boost/mpl/begin_end_fwd.hpp new file mode 100644 index 00000000..d2f79988 --- /dev/null +++ b/ThirdParty/include/boost/mpl/begin_end_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c386498474bd3bdbb291f1fe95e9ec99324f4cc75f3894664e58b4cf34b7196d +size 646 diff --git a/ThirdParty/include/boost/mpl/bind.hpp b/ThirdParty/include/boost/mpl/bind.hpp new file mode 100644 index 00000000..2e4fe5f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e171638f418e5d0e8b53186b6068830d74c44c5a901ad5c13887edad27c7d018 +size 14951 diff --git a/ThirdParty/include/boost/mpl/bind_fwd.hpp b/ThirdParty/include/boost/mpl/bind_fwd.hpp new file mode 100644 index 00000000..7d849ec0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/bind_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d88766b0b16801785b270bdf1b80c5c4b4aad0c0836e74b649e71bdbd7ad2eb8 +size 2493 diff --git a/ThirdParty/include/boost/mpl/bitand.hpp b/ThirdParty/include/boost/mpl/bitand.hpp new file mode 100644 index 00000000..a03b58c8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0cc372da1c89e7f7155eda2e50d5ce3f15b2e73319aaef7f1bb4183628e5f9c +size 1146 diff --git a/ThirdParty/include/boost/mpl/bitor.hpp b/ThirdParty/include/boost/mpl/bitor.hpp new file mode 100644 index 00000000..28aaede8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f280c8661254f6e99cf5112466049459a3e5b3131d060e9d81623accc1a7462 +size 1133 diff --git a/ThirdParty/include/boost/mpl/bitwise.hpp b/ThirdParty/include/boost/mpl/bitwise.hpp new file mode 100644 index 00000000..0384029e --- /dev/null +++ b/ThirdParty/include/boost/mpl/bitwise.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:185e6479c9c0262c992fc687bd375e050e2f14a184c7f019d12aef76542c63af +size 613 diff --git a/ThirdParty/include/boost/mpl/bitxor.hpp b/ThirdParty/include/boost/mpl/bitxor.hpp new file mode 100644 index 00000000..59733c0a --- /dev/null +++ b/ThirdParty/include/boost/mpl/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf3903eae8b1155f617d7b56b5759c49f13fec9c44e1ea68d03dcae7100a589c +size 587 diff --git a/ThirdParty/include/boost/mpl/bool.hpp b/ThirdParty/include/boost/mpl/bool.hpp new file mode 100644 index 00000000..a1a7cb71 --- /dev/null +++ b/ThirdParty/include/boost/mpl/bool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc2dbc31841313aab6fe3468199c6b15ce12eea0a8bb4b073f8caf10b2a6389b +size 964 diff --git a/ThirdParty/include/boost/mpl/bool_fwd.hpp b/ThirdParty/include/boost/mpl/bool_fwd.hpp new file mode 100644 index 00000000..b76e23b3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/bool_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2bda031dcee52f1bea6015e5ad2af309e0a0ecce882de63b4d39c9f2c04ed4f +size 766 diff --git a/ThirdParty/include/boost/mpl/char.hpp b/ThirdParty/include/boost/mpl/char.hpp new file mode 100644 index 00000000..c46ffb85 --- /dev/null +++ b/ThirdParty/include/boost/mpl/char.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0045205642a23207558ec3809456d066fab7ea7b82f0b1db20509da2978c0b61 +size 575 diff --git a/ThirdParty/include/boost/mpl/char_fwd.hpp b/ThirdParty/include/boost/mpl/char_fwd.hpp new file mode 100644 index 00000000..06900ee2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/char_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2e04164606e82597ec3662dc59f3bb1c1c536b5e58a656498ba64e75739a2c5 +size 734 diff --git a/ThirdParty/include/boost/mpl/clear.hpp b/ThirdParty/include/boost/mpl/clear.hpp new file mode 100644 index 00000000..d71e33fc --- /dev/null +++ b/ThirdParty/include/boost/mpl/clear.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a67b46819809b86bdb7fa26c2488561ee6bcc9c8ab70d85ad8e3d9a4bd9a75b5 +size 910 diff --git a/ThirdParty/include/boost/mpl/clear_fwd.hpp b/ThirdParty/include/boost/mpl/clear_fwd.hpp new file mode 100644 index 00000000..3a359ab9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/clear_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a298da13e96589319d5a75065f623d93afaf4d345a4a0e5879bc8299153c235 +size 549 diff --git a/ThirdParty/include/boost/mpl/comparison.hpp b/ThirdParty/include/boost/mpl/comparison.hpp new file mode 100644 index 00000000..98f97c76 --- /dev/null +++ b/ThirdParty/include/boost/mpl/comparison.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e061241bb23f20d48e3cd91021f9299d2516d6a439aa8e46e499848f00322f0e +size 635 diff --git a/ThirdParty/include/boost/mpl/contains.hpp b/ThirdParty/include/boost/mpl/contains.hpp new file mode 100644 index 00000000..cd36ada8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/contains.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e87122453394ce0538bf97f75ed496fced290276ae284c3c6cd26d47454ade2 +size 1009 diff --git a/ThirdParty/include/boost/mpl/contains_fwd.hpp b/ThirdParty/include/boost/mpl/contains_fwd.hpp new file mode 100644 index 00000000..9e08285a --- /dev/null +++ b/ThirdParty/include/boost/mpl/contains_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f86e6a8c6fbde1e29dcf1d66c5c6495f1ec59709677452d80ce5afe59ef31dea +size 603 diff --git a/ThirdParty/include/boost/mpl/copy.hpp b/ThirdParty/include/boost/mpl/copy.hpp new file mode 100644 index 00000000..ed1c6584 --- /dev/null +++ b/ThirdParty/include/boost/mpl/copy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1553ebcf2e8163096c0a9c5bed99031fdb9aa9e5689094c0ebe6cc0958fd97b +size 1106 diff --git a/ThirdParty/include/boost/mpl/copy_if.hpp b/ThirdParty/include/boost/mpl/copy_if.hpp new file mode 100644 index 00000000..1a9121a2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/copy_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88a8602a03dd109826835a55e2c96634c7631ae82c7a66216e29ed75486f723 +size 2085 diff --git a/ThirdParty/include/boost/mpl/count.hpp b/ThirdParty/include/boost/mpl/count.hpp new file mode 100644 index 00000000..593f6909 --- /dev/null +++ b/ThirdParty/include/boost/mpl/count.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4350b4ce8f1aa0a7ce8bd21a4ba62f9c8c723069e1f01deff20add937b518936 +size 953 diff --git a/ThirdParty/include/boost/mpl/count_fwd.hpp b/ThirdParty/include/boost/mpl/count_fwd.hpp new file mode 100644 index 00000000..4292f98e --- /dev/null +++ b/ThirdParty/include/boost/mpl/count_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57f3454d3c28e3bef957b87bdc7d942c985b0c1d0317f25263e5a91be2c4b548 +size 561 diff --git a/ThirdParty/include/boost/mpl/count_if.hpp b/ThirdParty/include/boost/mpl/count_if.hpp new file mode 100644 index 00000000..bb8aaad8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/count_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aace25ca89c47b36dc424ea97aa03771e9e185c4cfa06ebbb54c84b90b66f3cf +size 1766 diff --git a/ThirdParty/include/boost/mpl/deque.hpp b/ThirdParty/include/boost/mpl/deque.hpp new file mode 100644 index 00000000..3e750cd9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/deque.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c1176b5c2d49c7d837d4539d86b288589b41a468f3ff7f6417b04e41b0ac937 +size 1682 diff --git a/ThirdParty/include/boost/mpl/deref.hpp b/ThirdParty/include/boost/mpl/deref.hpp new file mode 100644 index 00000000..900e7057 --- /dev/null +++ b/ThirdParty/include/boost/mpl/deref.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d8706088282dad91168203a105c4670ef03275f8716f91735fe957954ece7a +size 939 diff --git a/ThirdParty/include/boost/mpl/distance.hpp b/ThirdParty/include/boost/mpl/distance.hpp new file mode 100644 index 00000000..21ad6d15 --- /dev/null +++ b/ThirdParty/include/boost/mpl/distance.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de2db4eb792b7645c8bf8ff8edbbfd69988db7cd29852e017802f2e50b442e5f +size 2028 diff --git a/ThirdParty/include/boost/mpl/distance_fwd.hpp b/ThirdParty/include/boost/mpl/distance_fwd.hpp new file mode 100644 index 00000000..0ff85d89 --- /dev/null +++ b/ThirdParty/include/boost/mpl/distance_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9aacedd79495484e7ae28a5a108d6618ce6ba7e3850ad55524fc9cd68ab0c9cb +size 666 diff --git a/ThirdParty/include/boost/mpl/divides.hpp b/ThirdParty/include/boost/mpl/divides.hpp new file mode 100644 index 00000000..5d8438b4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53ca3251d266947d51f8d365e15dacfbb5ffe7f5ab866526d7c34c9201bde248 +size 523 diff --git a/ThirdParty/include/boost/mpl/empty.hpp b/ThirdParty/include/boost/mpl/empty.hpp new file mode 100644 index 00000000..5106f9b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f5df664afc9c845a624cffc9ec4ef01e6f8624079cc458f192e879a2b47e54e +size 910 diff --git a/ThirdParty/include/boost/mpl/empty_base.hpp b/ThirdParty/include/boost/mpl/empty_base.hpp new file mode 100644 index 00000000..44326afa --- /dev/null +++ b/ThirdParty/include/boost/mpl/empty_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb8b82192f91af9b13d00197d5568c52fe64df3478ffd4b750222ca89a934097 +size 1399 diff --git a/ThirdParty/include/boost/mpl/empty_fwd.hpp b/ThirdParty/include/boost/mpl/empty_fwd.hpp new file mode 100644 index 00000000..974265c1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/empty_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aec2468473451a7833a6502ddbd0d53a7b2e34d8b283ca7da6b954e7504a28a6 +size 549 diff --git a/ThirdParty/include/boost/mpl/empty_sequence.hpp b/ThirdParty/include/boost/mpl/empty_sequence.hpp new file mode 100644 index 00000000..50410a0c --- /dev/null +++ b/ThirdParty/include/boost/mpl/empty_sequence.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5862e01fcde3cd58ce1c7af33052f7d7b8a7813347774134d20877089020a62d +size 921 diff --git a/ThirdParty/include/boost/mpl/end.hpp b/ThirdParty/include/boost/mpl/end.hpp new file mode 100644 index 00000000..6654c385 --- /dev/null +++ b/ThirdParty/include/boost/mpl/end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91fed9a32d03ad8235e8152c88c2ec0743f2ebc747d69a875c9b89cf6eb798cd +size 434 diff --git a/ThirdParty/include/boost/mpl/equal.hpp b/ThirdParty/include/boost/mpl/equal.hpp new file mode 100644 index 00000000..f235b900 --- /dev/null +++ b/ThirdParty/include/boost/mpl/equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d3e08d0f19d70e875137251952514bf39cab9482c7ec9627df95409b56ea179 +size 2668 diff --git a/ThirdParty/include/boost/mpl/equal_to.hpp b/ThirdParty/include/boost/mpl/equal_to.hpp new file mode 100644 index 00000000..d6a0afd8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:989a43e4ffd1b27c34be6a81c1a0dbae02f5748816d8090ed8f0e226f17c6a2e +size 528 diff --git a/ThirdParty/include/boost/mpl/erase.hpp b/ThirdParty/include/boost/mpl/erase.hpp new file mode 100644 index 00000000..e09f153a --- /dev/null +++ b/ThirdParty/include/boost/mpl/erase.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05e261c5691e133f47ee480d82bbc2ad508a48dadfbf9c54103848b5c05da1e7 +size 1071 diff --git a/ThirdParty/include/boost/mpl/erase_fwd.hpp b/ThirdParty/include/boost/mpl/erase_fwd.hpp new file mode 100644 index 00000000..ce976627 --- /dev/null +++ b/ThirdParty/include/boost/mpl/erase_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae81e26230bffbe114595f4ff5601fe5034f949ec2da488d7bbe0be14d764609 +size 580 diff --git a/ThirdParty/include/boost/mpl/erase_key.hpp b/ThirdParty/include/boost/mpl/erase_key.hpp new file mode 100644 index 00000000..d2f497b0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/erase_key.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27005e79cdd2edf4b41b152f17e3f838b541f2095f4482b75da7a25924044af1 +size 1047 diff --git a/ThirdParty/include/boost/mpl/erase_key_fwd.hpp b/ThirdParty/include/boost/mpl/erase_key_fwd.hpp new file mode 100644 index 00000000..3f691b06 --- /dev/null +++ b/ThirdParty/include/boost/mpl/erase_key_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cb83ad674bd0a0710656b3cfe62b41cade9ec4571b4f2ecfdfbc34bd9b46520 +size 583 diff --git a/ThirdParty/include/boost/mpl/eval_if.hpp b/ThirdParty/include/boost/mpl/eval_if.hpp new file mode 100644 index 00000000..ea2d6e45 --- /dev/null +++ b/ThirdParty/include/boost/mpl/eval_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdfad47fe1e2b98d4ffc3cf9c61da48e7aa274713e33233ea01379f8ec13717b +size 1754 diff --git a/ThirdParty/include/boost/mpl/filter_view.hpp b/ThirdParty/include/boost/mpl/filter_view.hpp new file mode 100644 index 00000000..46bb3396 --- /dev/null +++ b/ThirdParty/include/boost/mpl/filter_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c07330e83bb964552c9566e515a7560dae6538c57e2b5a7cdf21511caa45a5e +size 1145 diff --git a/ThirdParty/include/boost/mpl/find.hpp b/ThirdParty/include/boost/mpl/find.hpp new file mode 100644 index 00000000..8d20b336 --- /dev/null +++ b/ThirdParty/include/boost/mpl/find.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26078484a57dce1c6cac3c7cc86c520a1db295763f2049fcf95125eb1beec0dd +size 841 diff --git a/ThirdParty/include/boost/mpl/find_if.hpp b/ThirdParty/include/boost/mpl/find_if.hpp new file mode 100644 index 00000000..6d6e690a --- /dev/null +++ b/ThirdParty/include/boost/mpl/find_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc185d56a4044c14e230782c3f44bd9d8decac52e90016964f8cc1b0bcfaf981 +size 1196 diff --git a/ThirdParty/include/boost/mpl/fold.hpp b/ThirdParty/include/boost/mpl/fold.hpp new file mode 100644 index 00000000..f2f9867f --- /dev/null +++ b/ThirdParty/include/boost/mpl/fold.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b9962b1844b7cf7f9277a1db9241ee5525364d9ae80bb1ff06a4712b5600de5 +size 1177 diff --git a/ThirdParty/include/boost/mpl/for_each.hpp b/ThirdParty/include/boost/mpl/for_each.hpp new file mode 100644 index 00000000..d63358d5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/for_each.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:146ccd64155dc2f715fbdc10f7b932fce2ef1abbdd7d57bc8e27b933dd6cb708 +size 3077 diff --git a/ThirdParty/include/boost/mpl/front.hpp b/ThirdParty/include/boost/mpl/front.hpp new file mode 100644 index 00000000..34145644 --- /dev/null +++ b/ThirdParty/include/boost/mpl/front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00aa047e2529ed40ccc16a1e4e870a42eec70bc9c2869d40c5a8d0f5e5b622f4 +size 910 diff --git a/ThirdParty/include/boost/mpl/front_fwd.hpp b/ThirdParty/include/boost/mpl/front_fwd.hpp new file mode 100644 index 00000000..e5a0a7dd --- /dev/null +++ b/ThirdParty/include/boost/mpl/front_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c716fa5a6a6c845b4f0f2660f5cb725f484d7a2565aa2dc01e3b0d574beb8ba5 +size 549 diff --git a/ThirdParty/include/boost/mpl/front_inserter.hpp b/ThirdParty/include/boost/mpl/front_inserter.hpp new file mode 100644 index 00000000..b4ee1d31 --- /dev/null +++ b/ThirdParty/include/boost/mpl/front_inserter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:135ac08604b23b3f3db0a80b778ec662e24d9d400e3063a81d4d84bdfceac9a0 +size 692 diff --git a/ThirdParty/include/boost/mpl/get_tag.hpp b/ThirdParty/include/boost/mpl/get_tag.hpp new file mode 100644 index 00000000..b98866bc --- /dev/null +++ b/ThirdParty/include/boost/mpl/get_tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68f397ef0a3fcce76b4d80df7b8c6f85311bca57da9c0fc7bc25690e1e2869db +size 576 diff --git a/ThirdParty/include/boost/mpl/greater.hpp b/ThirdParty/include/boost/mpl/greater.hpp new file mode 100644 index 00000000..c9ba31c9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52a3c9828fc06efd64eb1bb9ecdb360bfcf7e6ef81b3efbf210a61e537748bd1 +size 523 diff --git a/ThirdParty/include/boost/mpl/greater_equal.hpp b/ThirdParty/include/boost/mpl/greater_equal.hpp new file mode 100644 index 00000000..a3537be9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c2135302525c67960bd64f9eb8694998a0650c5639e39732c8bb9dd6a635236 +size 548 diff --git a/ThirdParty/include/boost/mpl/has_key.hpp b/ThirdParty/include/boost/mpl/has_key.hpp new file mode 100644 index 00000000..04875e9a --- /dev/null +++ b/ThirdParty/include/boost/mpl/has_key.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8772ea6c3ca40b56ec319ee52dad216c644700ecb174a19665b363ed0088ada8 +size 1059 diff --git a/ThirdParty/include/boost/mpl/has_key_fwd.hpp b/ThirdParty/include/boost/mpl/has_key_fwd.hpp new file mode 100644 index 00000000..22ae8f06 --- /dev/null +++ b/ThirdParty/include/boost/mpl/has_key_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ecf39c063d1f9d813fbe7062e72699ac67252653cb99342aab54f28394bc98 +size 622 diff --git a/ThirdParty/include/boost/mpl/has_xxx.hpp b/ThirdParty/include/boost/mpl/has_xxx.hpp new file mode 100644 index 00000000..530f7ef7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/has_xxx.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6f2cbd32bf95c1fdaf10943f1c0c13cd03f06de75002b9d02a029ece6392d3f +size 22052 diff --git a/ThirdParty/include/boost/mpl/identity.hpp b/ThirdParty/include/boost/mpl/identity.hpp new file mode 100644 index 00000000..5cb6d139 --- /dev/null +++ b/ThirdParty/include/boost/mpl/identity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7758b3b5b174259e1044abe427fba646c06a151807a0c77c0581eab7cf83ec8b +size 951 diff --git a/ThirdParty/include/boost/mpl/if.hpp b/ThirdParty/include/boost/mpl/if.hpp new file mode 100644 index 00000000..09d72f47 --- /dev/null +++ b/ThirdParty/include/boost/mpl/if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06dd08c2df80b8b7c99f6a544b1e9fd82d6848e90e64574d0ac49577dae2a49d +size 2912 diff --git a/ThirdParty/include/boost/mpl/index_if.hpp b/ThirdParty/include/boost/mpl/index_if.hpp new file mode 100644 index 00000000..d20c5f57 --- /dev/null +++ b/ThirdParty/include/boost/mpl/index_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9079eebf0f9540be8fe4aa27d37b670dd22a0e92b3193e75bf9a9ec3c965812 +size 1508 diff --git a/ThirdParty/include/boost/mpl/index_of.hpp b/ThirdParty/include/boost/mpl/index_of.hpp new file mode 100644 index 00000000..c051eec5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/index_of.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57fb062e1ef612afa759545196e68f12a5d30252fe576a45ed2da57cfb109924 +size 899 diff --git a/ThirdParty/include/boost/mpl/inherit.hpp b/ThirdParty/include/boost/mpl/inherit.hpp new file mode 100644 index 00000000..5e410b2a --- /dev/null +++ b/ThirdParty/include/boost/mpl/inherit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:328aaef7ed46f7b0253e4963c7b0665e382c0589af6583d7f7d8b1c317aaaa3c +size 5670 diff --git a/ThirdParty/include/boost/mpl/inherit_linearly.hpp b/ThirdParty/include/boost/mpl/inherit_linearly.hpp new file mode 100644 index 00000000..85425a9c --- /dev/null +++ b/ThirdParty/include/boost/mpl/inherit_linearly.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b51a792cb111856a8d9f6fa91e84bc6da8fe087e4fa9b06376bbc29d8a304ad +size 966 diff --git a/ThirdParty/include/boost/mpl/insert.hpp b/ThirdParty/include/boost/mpl/insert.hpp new file mode 100644 index 00000000..5cf06b45 --- /dev/null +++ b/ThirdParty/include/boost/mpl/insert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d808a47d516f5aa72963791f1cd12534085a3d03987e9caf0907a59d6b567bc +size 1030 diff --git a/ThirdParty/include/boost/mpl/insert_fwd.hpp b/ThirdParty/include/boost/mpl/insert_fwd.hpp new file mode 100644 index 00000000..48184dd9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/insert_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:169199ad6dd38b7fd75b4dc3325955c7997492ae40a9b20a3106dcdf46ea85c5 +size 585 diff --git a/ThirdParty/include/boost/mpl/insert_range.hpp b/ThirdParty/include/boost/mpl/insert_range.hpp new file mode 100644 index 00000000..7ff72ac7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/insert_range.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef2dfd67e47765809ceb6550522013a4ec104a807e39bcce1439640381abced5 +size 1081 diff --git a/ThirdParty/include/boost/mpl/insert_range_fwd.hpp b/ThirdParty/include/boost/mpl/insert_range_fwd.hpp new file mode 100644 index 00000000..2e23d4fb --- /dev/null +++ b/ThirdParty/include/boost/mpl/insert_range_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b88a84dac9280fa968bae345a29dc0b3dabd0e29079f4c04263d0805984107cc +size 614 diff --git a/ThirdParty/include/boost/mpl/inserter.hpp b/ThirdParty/include/boost/mpl/inserter.hpp new file mode 100644 index 00000000..76fef274 --- /dev/null +++ b/ThirdParty/include/boost/mpl/inserter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e13043d9c474bdba2595ceb54b0fe7a3c0e6a9ee6b2c8ae176edb1fd723681 +size 648 diff --git a/ThirdParty/include/boost/mpl/int.hpp b/ThirdParty/include/boost/mpl/int.hpp new file mode 100644 index 00000000..53edd37d --- /dev/null +++ b/ThirdParty/include/boost/mpl/int.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688205b1725a34a4df16cceef3509db8a786731f3b45d6fa1f908ff550654292 +size 520 diff --git a/ThirdParty/include/boost/mpl/int_fwd.hpp b/ThirdParty/include/boost/mpl/int_fwd.hpp new file mode 100644 index 00000000..28108c84 --- /dev/null +++ b/ThirdParty/include/boost/mpl/int_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a609ceed046808f5d3b26893d45d2f55eb5ce6d15243ea770837e4ebfa4c31e +size 678 diff --git a/ThirdParty/include/boost/mpl/integral_c.hpp b/ThirdParty/include/boost/mpl/integral_c.hpp new file mode 100644 index 00000000..9adb6ed5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/integral_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d60b28ac065c4ac0ed4cf4c0ee5366de6c273a22602830980068de7e4f1ca1cb +size 1507 diff --git a/ThirdParty/include/boost/mpl/integral_c_fwd.hpp b/ThirdParty/include/boost/mpl/integral_c_fwd.hpp new file mode 100644 index 00000000..490b523b --- /dev/null +++ b/ThirdParty/include/boost/mpl/integral_c_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5e1a0e49eeb4e6b3f0d6f026981cf89408093dd52000a39340213da85cb5177 +size 887 diff --git a/ThirdParty/include/boost/mpl/integral_c_tag.hpp b/ThirdParty/include/boost/mpl/integral_c_tag.hpp new file mode 100644 index 00000000..576d1176 --- /dev/null +++ b/ThirdParty/include/boost/mpl/integral_c_tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6fb4fbb74c0630652c670677c672c577a0a6e1b6902cc45181c9e00b51b3145 +size 725 diff --git a/ThirdParty/include/boost/mpl/is_placeholder.hpp b/ThirdParty/include/boost/mpl/is_placeholder.hpp new file mode 100644 index 00000000..aba0a7cf --- /dev/null +++ b/ThirdParty/include/boost/mpl/is_placeholder.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77117902ce08acd1a594f5d5376cd4abd958f5a9bb7c53dc39904fb906e17352 +size 1483 diff --git a/ThirdParty/include/boost/mpl/is_sequence.hpp b/ThirdParty/include/boost/mpl/is_sequence.hpp new file mode 100644 index 00000000..5041f854 --- /dev/null +++ b/ThirdParty/include/boost/mpl/is_sequence.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbf467b9a203145eb042c784be7ba5b79c77e74d8255cc73d508660cf8125f3f +size 2644 diff --git a/ThirdParty/include/boost/mpl/iter_fold.hpp b/ThirdParty/include/boost/mpl/iter_fold.hpp new file mode 100644 index 00000000..354d07fe --- /dev/null +++ b/ThirdParty/include/boost/mpl/iter_fold.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:651891801347e54c6e826eab4fc3a7fd09a209eccf60d3906e0bec4dbaf54031 +size 1272 diff --git a/ThirdParty/include/boost/mpl/iter_fold_if.hpp b/ThirdParty/include/boost/mpl/iter_fold_if.hpp new file mode 100644 index 00000000..cff1f93a --- /dev/null +++ b/ThirdParty/include/boost/mpl/iter_fold_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24d7596ac1506624a9449a6a701970d434ea7345b000681da69e5a7a5394fac8 +size 3072 diff --git a/ThirdParty/include/boost/mpl/iterator_category.hpp b/ThirdParty/include/boost/mpl/iterator_category.hpp new file mode 100644 index 00000000..506d997a --- /dev/null +++ b/ThirdParty/include/boost/mpl/iterator_category.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad3ffccb3737453fac4dc2c71202658064550c4d6737e0af52d50ace57debcbf +size 820 diff --git a/ThirdParty/include/boost/mpl/iterator_range.hpp b/ThirdParty/include/boost/mpl/iterator_range.hpp new file mode 100644 index 00000000..47a04f20 --- /dev/null +++ b/ThirdParty/include/boost/mpl/iterator_range.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cec11dbb36cdb016674d63570d071b066d9c5b6a3ba310eee900dd97f96032a +size 943 diff --git a/ThirdParty/include/boost/mpl/iterator_tags.hpp b/ThirdParty/include/boost/mpl/iterator_tags.hpp new file mode 100644 index 00000000..a2c538ab --- /dev/null +++ b/ThirdParty/include/boost/mpl/iterator_tags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a3ef7e27c16c38ea5600a18cfa65cd8ede360a9e78ba879ec2be85cc23ccda0 +size 764 diff --git a/ThirdParty/include/boost/mpl/joint_view.hpp b/ThirdParty/include/boost/mpl/joint_view.hpp new file mode 100644 index 00000000..5d3cf372 --- /dev/null +++ b/ThirdParty/include/boost/mpl/joint_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfc4207894fc486c0117297e733849825dc46d33cc5e77cdbe8ef457635be4e3 +size 1656 diff --git a/ThirdParty/include/boost/mpl/key_type.hpp b/ThirdParty/include/boost/mpl/key_type.hpp new file mode 100644 index 00000000..65b7f750 --- /dev/null +++ b/ThirdParty/include/boost/mpl/key_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe092b18be26253571cf8f7cc676349badb08dc65cac9fd4e429fefb77ff759a +size 1064 diff --git a/ThirdParty/include/boost/mpl/key_type_fwd.hpp b/ThirdParty/include/boost/mpl/key_type_fwd.hpp new file mode 100644 index 00000000..431a51ac --- /dev/null +++ b/ThirdParty/include/boost/mpl/key_type_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04793c0a03a5747fd3eef842fe9560689f7999a018be63c86a77604ab1feebbe +size 625 diff --git a/ThirdParty/include/boost/mpl/lambda.hpp b/ThirdParty/include/boost/mpl/lambda.hpp new file mode 100644 index 00000000..8d36abbc --- /dev/null +++ b/ThirdParty/include/boost/mpl/lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d18e65e60be7085e5c1c680e9b6e507142807cda534db6bdb3fa9fd1034c395b +size 780 diff --git a/ThirdParty/include/boost/mpl/lambda_fwd.hpp b/ThirdParty/include/boost/mpl/lambda_fwd.hpp new file mode 100644 index 00000000..1607b574 --- /dev/null +++ b/ThirdParty/include/boost/mpl/lambda_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fbe349690d24ee254e27c87829efbd01234708fae5bca2d016445d2f1a340e +size 1201 diff --git a/ThirdParty/include/boost/mpl/less.hpp b/ThirdParty/include/boost/mpl/less.hpp new file mode 100644 index 00000000..d7114c64 --- /dev/null +++ b/ThirdParty/include/boost/mpl/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:766fd3ef7a1f934d525025577ea9649af1b53cc2401add2062982b1176c12a12 +size 511 diff --git a/ThirdParty/include/boost/mpl/less_equal.hpp b/ThirdParty/include/boost/mpl/less_equal.hpp new file mode 100644 index 00000000..df6f0979 --- /dev/null +++ b/ThirdParty/include/boost/mpl/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:829c9d8a1a3d8e0295f0a06272b1c1e0c8fcfdc5afc49e3e2d775accbe7757bf +size 536 diff --git a/ThirdParty/include/boost/mpl/limits/arity.hpp b/ThirdParty/include/boost/mpl/limits/arity.hpp new file mode 100644 index 00000000..c042b9ce --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/arity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5c11b556382551c904c7e6d1542bb30afc976097bc5350959bffc1cc5bcebf3 +size 535 diff --git a/ThirdParty/include/boost/mpl/limits/list.hpp b/ThirdParty/include/boost/mpl/limits/list.hpp new file mode 100644 index 00000000..0fcbb2d5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c4f6563e9a64f7f76c6f1dd9269cd53898634887b5906b96988ee101712b0ed +size 515 diff --git a/ThirdParty/include/boost/mpl/limits/map.hpp b/ThirdParty/include/boost/mpl/limits/map.hpp new file mode 100644 index 00000000..8da612a3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b2ff8304f328cd2b42dd5c0e9e59029ed011c69d776989d49e9eac2bf710328 +size 510 diff --git a/ThirdParty/include/boost/mpl/limits/set.hpp b/ThirdParty/include/boost/mpl/limits/set.hpp new file mode 100644 index 00000000..bf3c8a8b --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3772c2e36e5c9ee6ecd6990d936b470f372a30bd46dc46037134a9a5e16f8de +size 510 diff --git a/ThirdParty/include/boost/mpl/limits/string.hpp b/ThirdParty/include/boost/mpl/limits/string.hpp new file mode 100644 index 00000000..9b235bd6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/string.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef312ddd22dc9e90d9cbf974e572ec96533d36801d42cf5d27276345821dae48 +size 623 diff --git a/ThirdParty/include/boost/mpl/limits/unrolling.hpp b/ThirdParty/include/boost/mpl/limits/unrolling.hpp new file mode 100644 index 00000000..b5d98698 --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/unrolling.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e3e89cc65efd3675b344b9e6b225e0feb8268d0a2309bdaa0735c14d81e4236 +size 529 diff --git a/ThirdParty/include/boost/mpl/limits/vector.hpp b/ThirdParty/include/boost/mpl/limits/vector.hpp new file mode 100644 index 00000000..ab872ebe --- /dev/null +++ b/ThirdParty/include/boost/mpl/limits/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86064edf12142ce5aa7e21c3a978ffdea88c5dfecb00f34e12d5d9fb99688873 +size 525 diff --git a/ThirdParty/include/boost/mpl/list.hpp b/ThirdParty/include/boost/mpl/list.hpp new file mode 100644 index 00000000..83c36bc1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb66f497c04a95a3ae1460dbd62bcdcac4ab6a4ad42256d47bad148f75a4a4b +size 1608 diff --git a/ThirdParty/include/boost/mpl/list/aux_/O1_size.hpp b/ThirdParty/include/boost/mpl/list/aux_/O1_size.hpp new file mode 100644 index 00000000..ddffefc7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/O1_size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56a4438c61d5ff928f22120fb6c0e705f3226fabac309b1639ebe6f4bbb7cc8b +size 689 diff --git a/ThirdParty/include/boost/mpl/list/aux_/begin_end.hpp b/ThirdParty/include/boost/mpl/list/aux_/begin_end.hpp new file mode 100644 index 00000000..bf710a4a --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/begin_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3978fbebb460737c00bd567e9d4f9d2a5f45136354d8f7b0f6e736152aa5f59c +size 945 diff --git a/ThirdParty/include/boost/mpl/list/aux_/clear.hpp b/ThirdParty/include/boost/mpl/list/aux_/clear.hpp new file mode 100644 index 00000000..8bbda1a3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/clear.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6c61c02b5ce42af3072b82e3099b901fa25679ceb61c30cd9866e58ca05079c +size 726 diff --git a/ThirdParty/include/boost/mpl/list/aux_/empty.hpp b/ThirdParty/include/boost/mpl/list/aux_/empty.hpp new file mode 100644 index 00000000..6dc1d9df --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce6e6b3a9be51a4acb82c6f4a73298f3d5cde9234fbe562e9c893283787ede03 +size 723 diff --git a/ThirdParty/include/boost/mpl/list/aux_/front.hpp b/ThirdParty/include/boost/mpl/list/aux_/front.hpp new file mode 100644 index 00000000..4696f1f8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfab90462a9ff855e4811b21afe20b40c3baa4508adc117c41d4c21d98466a06 +size 700 diff --git a/ThirdParty/include/boost/mpl/list/aux_/include_preprocessed.hpp b/ThirdParty/include/boost/mpl/list/aux_/include_preprocessed.hpp new file mode 100644 index 00000000..cac41e91 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/include_preprocessed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e101776e1c68bef67983764e1a0c319a972fa7038ceba8c4ee2bd7f505dc8be +size 951 diff --git a/ThirdParty/include/boost/mpl/list/aux_/item.hpp b/ThirdParty/include/boost/mpl/list/aux_/item.hpp new file mode 100644 index 00000000..e4c4a34f --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/item.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4414c22c494e22563f6fa4cb1db10fbb9ffe74865e34314d8718d5ad86e02af6 +size 1172 diff --git a/ThirdParty/include/boost/mpl/list/aux_/iterator.hpp b/ThirdParty/include/boost/mpl/list/aux_/iterator.hpp new file mode 100644 index 00000000..2a9d3936 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c357d127ac45d8856444a163954f817bea08ab97859f998be188129eb798360c +size 1684 diff --git a/ThirdParty/include/boost/mpl/list/aux_/numbered.hpp b/ThirdParty/include/boost/mpl/list/aux_/numbered.hpp new file mode 100644 index 00000000..54de4f34 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/numbered.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5ea09c8b3d70113610f2aabb2630e222ebbc5dcd49621364df2aef78f8ed0e2 +size 1307 diff --git a/ThirdParty/include/boost/mpl/list/aux_/numbered_c.hpp b/ThirdParty/include/boost/mpl/list/aux_/numbered_c.hpp new file mode 100644 index 00000000..89ff686a --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/numbered_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:926e5cef3901ba3f707a9d856cfcf9352a359b3a76cbbd9d8cadf870321b29e4 +size 1435 diff --git a/ThirdParty/include/boost/mpl/list/aux_/pop_front.hpp b/ThirdParty/include/boost/mpl/list/aux_/pop_front.hpp new file mode 100644 index 00000000..020c667e --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/pop_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c2c6f6b18228f8bfb9fcb4cbacb570256962efa4d42d571ba2141c92d7a6e7d +size 767 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp new file mode 100644 index 00000000..1573738a --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14a28891a3ef987bafdc7c13ceae19c683fd7802d5782ec9632ca6aa6f9bbb6d +size 2599 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp new file mode 100644 index 00000000..b283620a --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4baf44e972808978597359f8f17853f3fc1a1ca2e435ec633b3ae7da0110006 +size 2859 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp new file mode 100644 index 00000000..06f3caf9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4426b2e12cf4bb37529706f3889d3ab5766df6fa65c3382309e39be024f90a77 +size 4451 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp new file mode 100644 index 00000000..650415af --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7e5d3b8ba5011e02d06eabacf98541e84f24208f1dae34903c232c0ff4ab22c +size 3958 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp new file mode 100644 index 00000000..2eac718c --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:963201f09919c81f15d9036b796f57749f3131be25168515735d351472f24b85 +size 6351 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp new file mode 100644 index 00000000..a29dc3a3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99b5dd7d89834f00a60e71dd36219ce6237d906fb814779557483b4a027c2f15 +size 5108 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp new file mode 100644 index 00000000..8aff911d --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3335cbbff592a32ac0f6f9ced50dbff88811674505b472201c764f8c9d45b27e +size 8251 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp new file mode 100644 index 00000000..a5a3d172 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b527e643550486766029f51cd33a2745a5d1d73efd2b178009b10bd64774c3a3 +size 6258 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp new file mode 100644 index 00000000..0698e205 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feccaf83d9c636e6a0b53a3c71db6c34c234aa08297f8e4e074cc7a770817ebe +size 10151 diff --git a/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp new file mode 100644 index 00000000..64e55b41 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17789610fd2365d94c39018181c0b5c2d10ea0e8711ee1b9f6dab1f16eca0065 +size 7408 diff --git a/ThirdParty/include/boost/mpl/list/aux_/push_back.hpp b/ThirdParty/include/boost/mpl/list/aux_/push_back.hpp new file mode 100644 index 00000000..6ae06f4d --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/push_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:971b31e07b5a1a739c0dae95ef94a6649e7b17cbd8a691c4827149eececc132a +size 781 diff --git a/ThirdParty/include/boost/mpl/list/aux_/push_front.hpp b/ThirdParty/include/boost/mpl/list/aux_/push_front.hpp new file mode 100644 index 00000000..b2e9c7d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1eef3c5de7cff42f5ba477e627bcfad8e3d73e7f0a3a4cab690d094f03a1069d +size 914 diff --git a/ThirdParty/include/boost/mpl/list/aux_/size.hpp b/ThirdParty/include/boost/mpl/list/aux_/size.hpp new file mode 100644 index 00000000..97f2325c --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e565a60bcaf9f145a5c08889b85b8e10cd4fa4dd972251e55d36c05cec086ab +size 674 diff --git a/ThirdParty/include/boost/mpl/list/aux_/tag.hpp b/ThirdParty/include/boost/mpl/list/aux_/tag.hpp new file mode 100644 index 00000000..f1e05f68 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/aux_/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcfca2428cdd25043e655dc923e4c13bb7dc686f17c45679c5ee0cb888efc1f4 +size 523 diff --git a/ThirdParty/include/boost/mpl/list/list0.hpp b/ThirdParty/include/boost/mpl/list/list0.hpp new file mode 100644 index 00000000..50189486 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff3a2f2d19273a1f35d57a12a48734eb5cba4b9c260bcc42e0999cfb1efbcf5f +size 1071 diff --git a/ThirdParty/include/boost/mpl/list/list0_c.hpp b/ThirdParty/include/boost/mpl/list/list0_c.hpp new file mode 100644 index 00000000..951d9c06 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list0_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:584bf909871f217891b78b881b6c6d5410c88e2a810c1b715eaf975f49f2998f +size 648 diff --git a/ThirdParty/include/boost/mpl/list/list10.hpp b/ThirdParty/include/boost/mpl/list/list10.hpp new file mode 100644 index 00000000..44dc3af3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27486c18a436f5f7bf2f48ce5f783d3e8f0ba6b8d7b435ce42e38ed560bf2908 +size 1051 diff --git a/ThirdParty/include/boost/mpl/list/list10_c.hpp b/ThirdParty/include/boost/mpl/list/list10_c.hpp new file mode 100644 index 00000000..d5f201c8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeca00503b02932f417e8bac940d673b3de1c7caad0a63b6008b6f95d53a80d7 +size 1060 diff --git a/ThirdParty/include/boost/mpl/list/list20.hpp b/ThirdParty/include/boost/mpl/list/list20.hpp new file mode 100644 index 00000000..630cce46 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a7c55ad977b59782f3c2a9cc7ef77af8c048b41c623f63f622bc80fe45b6037 +size 1050 diff --git a/ThirdParty/include/boost/mpl/list/list20_c.hpp b/ThirdParty/include/boost/mpl/list/list20_c.hpp new file mode 100644 index 00000000..24276106 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d625e9b9f14365a217b1fccd30d598abc3e2573207ed237473414816d258c14 +size 1062 diff --git a/ThirdParty/include/boost/mpl/list/list30.hpp b/ThirdParty/include/boost/mpl/list/list30.hpp new file mode 100644 index 00000000..5af49595 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dc0b3d2e74c9ecfef658925c56e21e2c86f9746168d41ed893cf2c4bda1ebaa +size 1050 diff --git a/ThirdParty/include/boost/mpl/list/list30_c.hpp b/ThirdParty/include/boost/mpl/list/list30_c.hpp new file mode 100644 index 00000000..b3bf99a6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67b7fc0109e7bee291524e6c3b83f95f5b8405fb30470b3c48d2bef9457f8322 +size 1062 diff --git a/ThirdParty/include/boost/mpl/list/list40.hpp b/ThirdParty/include/boost/mpl/list/list40.hpp new file mode 100644 index 00000000..47098c09 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d707698615d0b044b60cfb54da15796abcf8292b7dd54bdf51899958bde41612 +size 1050 diff --git a/ThirdParty/include/boost/mpl/list/list40_c.hpp b/ThirdParty/include/boost/mpl/list/list40_c.hpp new file mode 100644 index 00000000..a3087554 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4778dd036a6e035cd901499c48a1c06fe6be8669f94d4fa610c7b981bf2a75a +size 1062 diff --git a/ThirdParty/include/boost/mpl/list/list50.hpp b/ThirdParty/include/boost/mpl/list/list50.hpp new file mode 100644 index 00000000..a7fa709a --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:532fb1535b8435f8029358491d1dbbc1befd0cd80c74ca0cdc0e5fdd5f325bf0 +size 1050 diff --git a/ThirdParty/include/boost/mpl/list/list50_c.hpp b/ThirdParty/include/boost/mpl/list/list50_c.hpp new file mode 100644 index 00000000..0ec7d719 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list/list50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff4a688df4122beb40a157a8e648e5838469bfa7efdb888291f3789db5052913 +size 1062 diff --git a/ThirdParty/include/boost/mpl/list_c.hpp b/ThirdParty/include/boost/mpl/list_c.hpp new file mode 100644 index 00000000..64ed5f10 --- /dev/null +++ b/ThirdParty/include/boost/mpl/list_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68648b7dbe516176d4f310a21061021f1781fe82f6e4dcd09b6006c7d8d40f66 +size 1814 diff --git a/ThirdParty/include/boost/mpl/logical.hpp b/ThirdParty/include/boost/mpl/logical.hpp new file mode 100644 index 00000000..7b2ba03b --- /dev/null +++ b/ThirdParty/include/boost/mpl/logical.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07b1c3926dc70fe644ff150099eaa167f4dafbb383dd763682fa7118632c860a +size 502 diff --git a/ThirdParty/include/boost/mpl/long.hpp b/ThirdParty/include/boost/mpl/long.hpp new file mode 100644 index 00000000..3776f5e4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/long.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84c92ce736ec42f067dd102b92fd6ef71676906f534c4f37cadd1511280e17a1 +size 525 diff --git a/ThirdParty/include/boost/mpl/long_fwd.hpp b/ThirdParty/include/boost/mpl/long_fwd.hpp new file mode 100644 index 00000000..55a2d765 --- /dev/null +++ b/ThirdParty/include/boost/mpl/long_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e3e6dfbaffd41bdbd5183c91d6e878dda858b936175fa639eb7f02802ce6717 +size 684 diff --git a/ThirdParty/include/boost/mpl/lower_bound.hpp b/ThirdParty/include/boost/mpl/lower_bound.hpp new file mode 100644 index 00000000..31960660 --- /dev/null +++ b/ThirdParty/include/boost/mpl/lower_bound.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b50410a890c297aad96008a5f448a68717fefb1bdaa7a1ad7b65ce29fe9b5044 +size 3603 diff --git a/ThirdParty/include/boost/mpl/map.hpp b/ThirdParty/include/boost/mpl/map.hpp new file mode 100644 index 00000000..1d131337 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6670fdac98a15d3845f2336140126726f15278ea9f9401d6e49ab0b54965ea03 +size 1593 diff --git a/ThirdParty/include/boost/mpl/map/aux_/at_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/at_impl.hpp new file mode 100644 index 00000000..b5dc1a46 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/at_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1ab571911e2be8c55fa2341669a76d58342b26d3c9761b43161a032c673f2f1 +size 3391 diff --git a/ThirdParty/include/boost/mpl/map/aux_/begin_end_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/begin_end_impl.hpp new file mode 100644 index 00000000..4ca83922 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/begin_end_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42338399cf4cf21156304437fadfbe038cd227507b36ed13bd45cbc481e225da +size 1231 diff --git a/ThirdParty/include/boost/mpl/map/aux_/clear_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/clear_impl.hpp new file mode 100644 index 00000000..abd8f865 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/clear_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c50a685f00d73cf55f65401c0bc782c9d95a0e68272594d0e92a3c65407f32d8 +size 773 diff --git a/ThirdParty/include/boost/mpl/map/aux_/contains_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/contains_impl.hpp new file mode 100644 index 00000000..14c988b0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/contains_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:843a7b6274588cf91a597518d6289b85f9e5f1287312c85b5e12844efeb87d7f +size 1017 diff --git a/ThirdParty/include/boost/mpl/map/aux_/empty_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/empty_impl.hpp new file mode 100644 index 00000000..0f9be00d --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/empty_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1f954c743cb83a3f041b54582e15d333b6195983ff51dfda3851c7e28d7ed61 +size 733 diff --git a/ThirdParty/include/boost/mpl/map/aux_/erase_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/erase_impl.hpp new file mode 100644 index 00000000..3c19bae5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/erase_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a21c43126086bdec46dd7bf5b3038b9749c564f3ec470d750f3f29fdd1c9f31 +size 918 diff --git a/ThirdParty/include/boost/mpl/map/aux_/erase_key_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/erase_key_impl.hpp new file mode 100644 index 00000000..2ca65e3f --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/erase_key_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1c5244c83ab34e6b64f2752c5b3365e0bc97db5aec3712665078ab2580d2de6 +size 1285 diff --git a/ThirdParty/include/boost/mpl/map/aux_/has_key_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/has_key_impl.hpp new file mode 100644 index 00000000..3f97c82d --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/has_key_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecd0045fd2e278695ef37f86ff900a416e2a0af5d6dddd6b5a1b030931ff92d6 +size 1087 diff --git a/ThirdParty/include/boost/mpl/map/aux_/include_preprocessed.hpp b/ThirdParty/include/boost/mpl/map/aux_/include_preprocessed.hpp new file mode 100644 index 00000000..5b8b3062 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/include_preprocessed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77bf82ce516230b1cd029402c6719b1be3ca0710487ffe0764bb00333c4222f +size 1586 diff --git a/ThirdParty/include/boost/mpl/map/aux_/insert_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/insert_impl.hpp new file mode 100644 index 00000000..c8344041 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/insert_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:684bfc7aa5c45de46b89442fb8a3f5f5db9f2bbaf578c5aed2572c3403829503 +size 1622 diff --git a/ThirdParty/include/boost/mpl/map/aux_/insert_range_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/insert_range_impl.hpp new file mode 100644 index 00000000..ffbdf50a --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/insert_range_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18d58f2fca25995d426179792c9227f6bce6bbc0d8fad6be5431d75a7cae4d4f +size 920 diff --git a/ThirdParty/include/boost/mpl/map/aux_/item.hpp b/ThirdParty/include/boost/mpl/map/aux_/item.hpp new file mode 100644 index 00000000..045e2d28 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/item.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db0fdf7d2d0f2773f2d5048b9558a385b4cf077879181a399c32861db22e7577 +size 3932 diff --git a/ThirdParty/include/boost/mpl/map/aux_/iterator.hpp b/ThirdParty/include/boost/mpl/map/aux_/iterator.hpp new file mode 100644 index 00000000..1b316932 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f00c8445202f46c413a146cce4b6dc0b43c865dd97e3a0cb332b6bbb5bfd357 +size 3604 diff --git a/ThirdParty/include/boost/mpl/map/aux_/key_type_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/key_type_impl.hpp new file mode 100644 index 00000000..d8dd16ac --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/key_type_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fb210fdda75b871770d4096764134281f96d6cd6c85fccf49bec8852f9b9248 +size 781 diff --git a/ThirdParty/include/boost/mpl/map/aux_/map0.hpp b/ThirdParty/include/boost/mpl/map/aux_/map0.hpp new file mode 100644 index 00000000..1e1513e2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/map0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ae44da83a268b682c2acfeb75e6ab6ac8fe5893f29b2ddb6e55c6bfdfc1bcf4 +size 2155 diff --git a/ThirdParty/include/boost/mpl/map/aux_/numbered.hpp b/ThirdParty/include/boost/mpl/map/aux_/numbered.hpp new file mode 100644 index 00000000..2a28a057 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/numbered.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:269ebc4da6d8b3ec917b84cc2e091e222368e285761244201d7eddd34104f767 +size 2458 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp new file mode 100644 index 00000000..0d06bce9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c09518875afc70ad46614ae506d7217b9d3f8dd75e9ec90cea4e1bdf70a2e5 +size 6280 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp new file mode 100644 index 00000000..3ad213f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da1955d698aa8f8ddbd2aa7d0ee06eb638749fce7ee1329fd6b9a5d3fcabe189 +size 8177 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp new file mode 100644 index 00000000..00513e73 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fede46aa3f7a7958e565de653844c3125357116e14bc042718e731cf41f68f45 +size 10077 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp new file mode 100644 index 00000000..bce4976c --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa82ee830ea25996227d8cf6d3ee241be7658650f1c3afd76d3e5d220e19b431 +size 11977 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp new file mode 100644 index 00000000..39e566ad --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a496040019cde20adc9229101441005272fca173e65bade661a9258dded8ac26 +size 13877 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp new file mode 100644 index 00000000..b838113d --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eda4a71d4a25493a296c98267186077b8894c09f23eee5062b8c9fc1f43074a4 +size 5380 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp new file mode 100644 index 00000000..42be91ab --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ae85510f49e84398e11e5a21238049103d4f355e42d4339694a682cbf9de3b2 +size 7277 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp new file mode 100644 index 00000000..d48d68f6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ec1946f659702d2660d50e8dd03643bed759dec9b0a347b08d5c177459c410f +size 9177 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp new file mode 100644 index 00000000..a9ae4e1a --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5df8cd987dae577ebdf2c658464c11311a25a725e4f15f911cf0243a838ea22 +size 11077 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp new file mode 100644 index 00000000..3977237d --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7e26d6b2614e1a968be215168793b8b3b8334962181c656588f48c5099e6521 +size 12977 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp new file mode 100644 index 00000000..ed9a4924 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab83819e5fa1c4de954fa27b3b37d694ed07ffd5dafb9b152d8d061d7fd7640d +size 2878 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp new file mode 100644 index 00000000..68467d10 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22f920ea1cbad2bee0f4efe66faf582198b3daa652bf13d13d5204a9d287ad08 +size 4727 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp new file mode 100644 index 00000000..0fd29280 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d449a5f740c5bf906a0f4db2fb3edad96945b36c68e0a8f70eaf2d51528fcd69 +size 6627 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp new file mode 100644 index 00000000..181c39de --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5389fe52c7d3c8256f8d6bf18834ffb09f7174f9a95c757bc4b690ee3cd785c3 +size 8527 diff --git a/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp new file mode 100644 index 00000000..fdeeb337 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a43f696f4fb23f8a1a4138ffbff050cf78e21d4f0c2cc92a81b1007a5a1396c6 +size 10427 diff --git a/ThirdParty/include/boost/mpl/map/aux_/size_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/size_impl.hpp new file mode 100644 index 00000000..a86b5cbc --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/size_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72bf75ca440247125980c318b388f775a80c1d601a6f1d44bd199aa9626b6cd3 +size 682 diff --git a/ThirdParty/include/boost/mpl/map/aux_/tag.hpp b/ThirdParty/include/boost/mpl/map/aux_/tag.hpp new file mode 100644 index 00000000..e670190f --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b206c88079890e437f3413b2c196b8b38a00f2c1b71b53c2a5f7000307dae5b +size 538 diff --git a/ThirdParty/include/boost/mpl/map/aux_/value_type_impl.hpp b/ThirdParty/include/boost/mpl/map/aux_/value_type_impl.hpp new file mode 100644 index 00000000..8e1296ca --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/aux_/value_type_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e351ac43e30e6c5491948b6131f992ae7a7b34938e5c9b931832e12f1691e29a +size 792 diff --git a/ThirdParty/include/boost/mpl/map/map0.hpp b/ThirdParty/include/boost/mpl/map/map0.hpp new file mode 100644 index 00000000..94038ef0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/map0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1b97891dd14845ea5217a61f6081ee5ea2d6e4f73b6bf0ea22c0d51d2d5cd22 +size 1270 diff --git a/ThirdParty/include/boost/mpl/map/map10.hpp b/ThirdParty/include/boost/mpl/map/map10.hpp new file mode 100644 index 00000000..c24a5b6d --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/map10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f913af4b7e5b46c19742b1fc9bb8fd9c4360ccdc50a8c131b852c317aa5df235 +size 1078 diff --git a/ThirdParty/include/boost/mpl/map/map20.hpp b/ThirdParty/include/boost/mpl/map/map20.hpp new file mode 100644 index 00000000..9984b2d5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/map20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb5150b89abf7fc56dba45fad750eaac9f4b723f28bd69ad4502924492697bfb +size 1080 diff --git a/ThirdParty/include/boost/mpl/map/map30.hpp b/ThirdParty/include/boost/mpl/map/map30.hpp new file mode 100644 index 00000000..2f1bc9ab --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/map30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f71b98da90ed14dc20bc5708c268d1096d002e6233ea36f81314e830eaaeff6 +size 1080 diff --git a/ThirdParty/include/boost/mpl/map/map40.hpp b/ThirdParty/include/boost/mpl/map/map40.hpp new file mode 100644 index 00000000..88ec7180 --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/map40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:991cf0561b9c895113e332ae435b69dd76d1678d7fdd0a27e56cb7de7dadfe4f +size 1080 diff --git a/ThirdParty/include/boost/mpl/map/map50.hpp b/ThirdParty/include/boost/mpl/map/map50.hpp new file mode 100644 index 00000000..b1afb13b --- /dev/null +++ b/ThirdParty/include/boost/mpl/map/map50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:396f2c6c95c07a8891e3a75045e4820f0bbccf5ba8d25fb50996ceacb07a4de2 +size 1080 diff --git a/ThirdParty/include/boost/mpl/math/fixed_c.hpp b/ThirdParty/include/boost/mpl/math/fixed_c.hpp new file mode 100644 index 00000000..89d3e52d --- /dev/null +++ b/ThirdParty/include/boost/mpl/math/fixed_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99782fd719c1f532426de346f125dc69cfb0d99e6088c060dd1850a5df80a6ae +size 809 diff --git a/ThirdParty/include/boost/mpl/math/is_even.hpp b/ThirdParty/include/boost/mpl/math/is_even.hpp new file mode 100644 index 00000000..baa48c09 --- /dev/null +++ b/ThirdParty/include/boost/mpl/math/is_even.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50a4faafb414525104192fc32a4628e7804a091fcbd8ab35c503826cabbd12e7 +size 1152 diff --git a/ThirdParty/include/boost/mpl/math/rational_c.hpp b/ThirdParty/include/boost/mpl/math/rational_c.hpp new file mode 100644 index 00000000..e1ca72b4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/math/rational_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:024b47ff9bc5cd5fd9684e5ffecf2dbd7a837d61f0b4bd07fb49e5e734fed1c5 +size 811 diff --git a/ThirdParty/include/boost/mpl/max.hpp b/ThirdParty/include/boost/mpl/max.hpp new file mode 100644 index 00000000..bcbe289a --- /dev/null +++ b/ThirdParty/include/boost/mpl/max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24620432eeb8b13db89295020a346e139da9c9897967bf9b9444084b2f3076b4 +size 432 diff --git a/ThirdParty/include/boost/mpl/max_element.hpp b/ThirdParty/include/boost/mpl/max_element.hpp new file mode 100644 index 00000000..83c06ea1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/max_element.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942acb7cb0e248f8c98ecffcd685e62c5bb234a8483d7e283460998f042cc36a +size 1580 diff --git a/ThirdParty/include/boost/mpl/min.hpp b/ThirdParty/include/boost/mpl/min.hpp new file mode 100644 index 00000000..440645af --- /dev/null +++ b/ThirdParty/include/boost/mpl/min.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb43bac84231624f42a4e70796526b67d3af45523451dc17e54be899e6dd1dbd +size 432 diff --git a/ThirdParty/include/boost/mpl/min_element.hpp b/ThirdParty/include/boost/mpl/min_element.hpp new file mode 100644 index 00000000..949f738c --- /dev/null +++ b/ThirdParty/include/boost/mpl/min_element.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cde3926059d73b7f3cc0b67411fbc2f4f4918b64c6e6fe8c796a580822271fbd +size 815 diff --git a/ThirdParty/include/boost/mpl/min_max.hpp b/ThirdParty/include/boost/mpl/min_max.hpp new file mode 100644 index 00000000..220bd60d --- /dev/null +++ b/ThirdParty/include/boost/mpl/min_max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae1dadaf6ceed37b7a1c1baa6f6d6a15c0667bb3f7e271ba6dc538e01efacbf +size 908 diff --git a/ThirdParty/include/boost/mpl/minus.hpp b/ThirdParty/include/boost/mpl/minus.hpp new file mode 100644 index 00000000..38bfd7b2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:366b618998c4b90750a22717311c8dcb93d0b95130498c7c1f9941cf5a122a1c +size 515 diff --git a/ThirdParty/include/boost/mpl/modulus.hpp b/ThirdParty/include/boost/mpl/modulus.hpp new file mode 100644 index 00000000..dc14ae3a --- /dev/null +++ b/ThirdParty/include/boost/mpl/modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb8b5daa599dfc39fe08800d330e1c504bcbe000d7534eaaa2818aa93abaaf59 +size 552 diff --git a/ThirdParty/include/boost/mpl/multiplies.hpp b/ThirdParty/include/boost/mpl/multiplies.hpp new file mode 100644 index 00000000..c8c79732 --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiplies.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e285d96bd07939cff098d2299c54efef2e16754b21fb12c6b96496f7007f17da +size 1341 diff --git a/ThirdParty/include/boost/mpl/multiset/aux_/count_impl.hpp b/ThirdParty/include/boost/mpl/multiset/aux_/count_impl.hpp new file mode 100644 index 00000000..c7705336 --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiset/aux_/count_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcc282e5e0300985e156d80be50a8243fc21317e2ae7e71762170d52b56fd133 +size 2121 diff --git a/ThirdParty/include/boost/mpl/multiset/aux_/insert_impl.hpp b/ThirdParty/include/boost/mpl/multiset/aux_/insert_impl.hpp new file mode 100644 index 00000000..2678a98f --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiset/aux_/insert_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f13fdec966e119bd274da60dc479e3d4bd968a0a919b78d33444beba4e25b7a +size 812 diff --git a/ThirdParty/include/boost/mpl/multiset/aux_/item.hpp b/ThirdParty/include/boost/mpl/multiset/aux_/item.hpp new file mode 100644 index 00000000..a3a829da --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiset/aux_/item.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8f13dacb96f2782e04bc4b565e7ef28ee4c40fab257a1e1ea2250ad5b1925e7 +size 3553 diff --git a/ThirdParty/include/boost/mpl/multiset/aux_/multiset0.hpp b/ThirdParty/include/boost/mpl/multiset/aux_/multiset0.hpp new file mode 100644 index 00000000..65785329 --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiset/aux_/multiset0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cd41684f0a34e1501e2614accd1af8b028c14d8e535d3eb8590cb13f266f7d2 +size 794 diff --git a/ThirdParty/include/boost/mpl/multiset/aux_/tag.hpp b/ThirdParty/include/boost/mpl/multiset/aux_/tag.hpp new file mode 100644 index 00000000..c901d24d --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiset/aux_/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f75aa46e3f8b3e860f3cf22ad4e21b2c95782d11351c81d0a2436f6029fd168 +size 520 diff --git a/ThirdParty/include/boost/mpl/multiset/multiset0.hpp b/ThirdParty/include/boost/mpl/multiset/multiset0.hpp new file mode 100644 index 00000000..3ed8bb04 --- /dev/null +++ b/ThirdParty/include/boost/mpl/multiset/multiset0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b974e85cf527f6bf6acc8914bc0a824ee35ae08422827e092f54c83db8b09b84 +size 1322 diff --git a/ThirdParty/include/boost/mpl/negate.hpp b/ThirdParty/include/boost/mpl/negate.hpp new file mode 100644 index 00000000..ec30eda8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/negate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb1f155c4639c1dfc2603c7552a5397949c826a9b5d2382e7af94c79ced4f2ba +size 1879 diff --git a/ThirdParty/include/boost/mpl/next.hpp b/ThirdParty/include/boost/mpl/next.hpp new file mode 100644 index 00000000..d4dbcbc4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/next.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db8c72758017419b5012abc162cf632cbb4bc608e7c9444e8e7b955bb2a21096 +size 438 diff --git a/ThirdParty/include/boost/mpl/next_prior.hpp b/ThirdParty/include/boost/mpl/next_prior.hpp new file mode 100644 index 00000000..85fbfbbd --- /dev/null +++ b/ThirdParty/include/boost/mpl/next_prior.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9215bab0c43bd36129b706c7750c5a38bba4dd29ab8e75bfb126e2068ec3e982 +size 1047 diff --git a/ThirdParty/include/boost/mpl/not.hpp b/ThirdParty/include/boost/mpl/not.hpp new file mode 100644 index 00000000..8990b495 --- /dev/null +++ b/ThirdParty/include/boost/mpl/not.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:554499a67dc788704abef318787f0ba26045186cc1f9b8620fa8fa84a570a3a5 +size 1029 diff --git a/ThirdParty/include/boost/mpl/not_equal_to.hpp b/ThirdParty/include/boost/mpl/not_equal_to.hpp new file mode 100644 index 00000000..f7a300d8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3feb028d5ef946121cb9176d927ea5e52e24238f123de13b755a4af481fa1ad +size 544 diff --git a/ThirdParty/include/boost/mpl/numeric_cast.hpp b/ThirdParty/include/boost/mpl/numeric_cast.hpp new file mode 100644 index 00000000..052e0efd --- /dev/null +++ b/ThirdParty/include/boost/mpl/numeric_cast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efae0441fe1ccd0a1e27160d2155706a4c02b3be92ad83b7221e18a8ecf927a7 +size 1219 diff --git a/ThirdParty/include/boost/mpl/or.hpp b/ThirdParty/include/boost/mpl/or.hpp new file mode 100644 index 00000000..4615fb0f --- /dev/null +++ b/ThirdParty/include/boost/mpl/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8be6b8cfb713cd176685caf65f3cbf39856bb50a6295670fbf276d4574c3fb8c +size 1623 diff --git a/ThirdParty/include/boost/mpl/order.hpp b/ThirdParty/include/boost/mpl/order.hpp new file mode 100644 index 00000000..afeaec3b --- /dev/null +++ b/ThirdParty/include/boost/mpl/order.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:655aadb57445b5d2d04ccd23313405da0bf1d87918525b562e627ea0288f6535 +size 1041 diff --git a/ThirdParty/include/boost/mpl/order_fwd.hpp b/ThirdParty/include/boost/mpl/order_fwd.hpp new file mode 100644 index 00000000..422e0032 --- /dev/null +++ b/ThirdParty/include/boost/mpl/order_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16f3dd96014c91b6eb8c83a9eea365fe79a71aeae3fe5b3166bf37c5a0ff461a +size 612 diff --git a/ThirdParty/include/boost/mpl/pair.hpp b/ThirdParty/include/boost/mpl/pair.hpp new file mode 100644 index 00000000..090e5404 --- /dev/null +++ b/ThirdParty/include/boost/mpl/pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90a4e3bae007707a422084b2bdc3dad34bb6ccf62ac950a45ac890636864e98e +size 1501 diff --git a/ThirdParty/include/boost/mpl/pair_view.hpp b/ThirdParty/include/boost/mpl/pair_view.hpp new file mode 100644 index 00000000..876d4400 --- /dev/null +++ b/ThirdParty/include/boost/mpl/pair_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10fb1f4cb19825c5996f9a520a7cdc18a5c7e23371e1fbcdfa43ea9233ecf86f +size 4355 diff --git a/ThirdParty/include/boost/mpl/partition.hpp b/ThirdParty/include/boost/mpl/partition.hpp new file mode 100644 index 00000000..3b182813 --- /dev/null +++ b/ThirdParty/include/boost/mpl/partition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41cd5ff4b21ed558e17e3e45977652fb2b3ca4c72e6365359f21476824238f85 +size 1046 diff --git a/ThirdParty/include/boost/mpl/placeholders.hpp b/ThirdParty/include/boost/mpl/placeholders.hpp new file mode 100644 index 00000000..f6c39f4a --- /dev/null +++ b/ThirdParty/include/boost/mpl/placeholders.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a72651ec976974622a93731a1c6d6675af0d5365a24d8573752e40a288c6679 +size 2450 diff --git a/ThirdParty/include/boost/mpl/plus.hpp b/ThirdParty/include/boost/mpl/plus.hpp new file mode 100644 index 00000000..2c3cbf7f --- /dev/null +++ b/ThirdParty/include/boost/mpl/plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:420d03c24bafc45f41d42ce2cb029fa5b58fcde9fb196a8fa0d8fb9778ba3b34 +size 511 diff --git a/ThirdParty/include/boost/mpl/pop_back.hpp b/ThirdParty/include/boost/mpl/pop_back.hpp new file mode 100644 index 00000000..b011c51f --- /dev/null +++ b/ThirdParty/include/boost/mpl/pop_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62b1f6b1db2dd952394dd94bfc59aec685e471e8ea258151dfcbb6552204efa0 +size 937 diff --git a/ThirdParty/include/boost/mpl/pop_back_fwd.hpp b/ThirdParty/include/boost/mpl/pop_back_fwd.hpp new file mode 100644 index 00000000..56d896fc --- /dev/null +++ b/ThirdParty/include/boost/mpl/pop_back_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42767b6ddbf4d78b11eb57067ba3a1d20453927ffe65ccc95a6bdc52bba2a80b +size 564 diff --git a/ThirdParty/include/boost/mpl/pop_front.hpp b/ThirdParty/include/boost/mpl/pop_front.hpp new file mode 100644 index 00000000..91732399 --- /dev/null +++ b/ThirdParty/include/boost/mpl/pop_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48acc68382549fd28cd6eab8654f0b1fd6138e1f77a8eee5b97dd8f89ec8521c +size 946 diff --git a/ThirdParty/include/boost/mpl/pop_front_fwd.hpp b/ThirdParty/include/boost/mpl/pop_front_fwd.hpp new file mode 100644 index 00000000..39357b61 --- /dev/null +++ b/ThirdParty/include/boost/mpl/pop_front_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b0d41d826b3bbad6978b52018c5f682c5d12ebadf1538ecfcc81a4b13cf44aa +size 569 diff --git a/ThirdParty/include/boost/mpl/print.hpp b/ThirdParty/include/boost/mpl/print.hpp new file mode 100644 index 00000000..a1db3e24 --- /dev/null +++ b/ThirdParty/include/boost/mpl/print.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1937474674cd3071a410575d8387b694cd19b58cd6d494e50cfe97575ccf5e9c +size 1669 diff --git a/ThirdParty/include/boost/mpl/prior.hpp b/ThirdParty/include/boost/mpl/prior.hpp new file mode 100644 index 00000000..9ed689ec --- /dev/null +++ b/ThirdParty/include/boost/mpl/prior.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d8bb4bc5d56f15f1829338925dc233d36af3da7ae958e7074b095353f87665c +size 441 diff --git a/ThirdParty/include/boost/mpl/protect.hpp b/ThirdParty/include/boost/mpl/protect.hpp new file mode 100644 index 00000000..39d62b83 --- /dev/null +++ b/ThirdParty/include/boost/mpl/protect.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0f08cc513a245a7498017755dfe74dadc591be2820fd9ac3449c8faa5a73886 +size 1237 diff --git a/ThirdParty/include/boost/mpl/push_back.hpp b/ThirdParty/include/boost/mpl/push_back.hpp new file mode 100644 index 00000000..babadf06 --- /dev/null +++ b/ThirdParty/include/boost/mpl/push_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:709c800058488d9b32f9798aae12ccaf8e10bf6ae1d1b74da6b6da297c068620 +size 1289 diff --git a/ThirdParty/include/boost/mpl/push_back_fwd.hpp b/ThirdParty/include/boost/mpl/push_back_fwd.hpp new file mode 100644 index 00000000..55c9c68e --- /dev/null +++ b/ThirdParty/include/boost/mpl/push_back_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18a3af3de643c04c01efc2db3ee6c11931578638bb151cf3d006cf120cfacadb +size 581 diff --git a/ThirdParty/include/boost/mpl/push_front.hpp b/ThirdParty/include/boost/mpl/push_front.hpp new file mode 100644 index 00000000..84cfd1d3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31c3ef744324bfa29201e82e78ff402be0529b8543e5ca82edbf698dc248fd2c +size 1301 diff --git a/ThirdParty/include/boost/mpl/push_front_fwd.hpp b/ThirdParty/include/boost/mpl/push_front_fwd.hpp new file mode 100644 index 00000000..157aa97c --- /dev/null +++ b/ThirdParty/include/boost/mpl/push_front_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f05de27ad94821fee096f90f9977b25248c5aaf2f02974cb339418818b8b68bf +size 586 diff --git a/ThirdParty/include/boost/mpl/quote.hpp b/ThirdParty/include/boost/mpl/quote.hpp new file mode 100644 index 00000000..f3fe4547 --- /dev/null +++ b/ThirdParty/include/boost/mpl/quote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcb0df9da8d23be7d25db56d5479060a77f585f3a885cdc39a71fa128e4abe28 +size 3634 diff --git a/ThirdParty/include/boost/mpl/range_c.hpp b/ThirdParty/include/boost/mpl/range_c.hpp new file mode 100644 index 00000000..413dffad --- /dev/null +++ b/ThirdParty/include/boost/mpl/range_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:560ada46c52188c45ceee98c5092d5f55a5ba1151c5e149f7edbd5d631e1584f +size 1124 diff --git a/ThirdParty/include/boost/mpl/remove.hpp b/ThirdParty/include/boost/mpl/remove.hpp new file mode 100644 index 00000000..04f7294b --- /dev/null +++ b/ThirdParty/include/boost/mpl/remove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ae59e3d4656c20d0669ba396f13112e81be2b4121d3649c7f1227958136d24a +size 1033 diff --git a/ThirdParty/include/boost/mpl/remove_if.hpp b/ThirdParty/include/boost/mpl/remove_if.hpp new file mode 100644 index 00000000..d6223cf2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/remove_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3824f44dd6c175186d35ad5b50b4e7ff200edb9b5898af9c0b6df30a29d64daf +size 1892 diff --git a/ThirdParty/include/boost/mpl/replace.hpp b/ThirdParty/include/boost/mpl/replace.hpp new file mode 100644 index 00000000..aca227bf --- /dev/null +++ b/ThirdParty/include/boost/mpl/replace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33dde266a07c35f01e166671e4a06e1ced9f0401413a24f79d5f644d4df25a8e +size 1169 diff --git a/ThirdParty/include/boost/mpl/replace_if.hpp b/ThirdParty/include/boost/mpl/replace_if.hpp new file mode 100644 index 00000000..cfec3e59 --- /dev/null +++ b/ThirdParty/include/boost/mpl/replace_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81132146d317e3ee26dcebee4c6e9319d1a13e3dc122e5a15af1296ef73e515b +size 1795 diff --git a/ThirdParty/include/boost/mpl/reverse.hpp b/ThirdParty/include/boost/mpl/reverse.hpp new file mode 100644 index 00000000..71fbc7c0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/reverse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ade13f15a7584236d4201e39dcc4d1ba9d009e0b8562fd8ed8b331f0c39e2519 +size 759 diff --git a/ThirdParty/include/boost/mpl/reverse_fold.hpp b/ThirdParty/include/boost/mpl/reverse_fold.hpp new file mode 100644 index 00000000..0cd913b4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/reverse_fold.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46ba1d4bed094f24051acb4a51709b33c3610b5cb37464a39b1e90ad49c87b7c +size 1282 diff --git a/ThirdParty/include/boost/mpl/reverse_iter_fold.hpp b/ThirdParty/include/boost/mpl/reverse_iter_fold.hpp new file mode 100644 index 00000000..69018813 --- /dev/null +++ b/ThirdParty/include/boost/mpl/reverse_iter_fold.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40b9efab4a923f5729f7c21e70c699df7e55f9799f493a75a69d8e1a6ca06dab +size 1497 diff --git a/ThirdParty/include/boost/mpl/same_as.hpp b/ThirdParty/include/boost/mpl/same_as.hpp new file mode 100644 index 00000000..cc55e053 --- /dev/null +++ b/ThirdParty/include/boost/mpl/same_as.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0be317738941c6ddee3822051c0f78ab9abf4a8c17b032b4563981f462c6641d +size 1124 diff --git a/ThirdParty/include/boost/mpl/sequence_tag.hpp b/ThirdParty/include/boost/mpl/sequence_tag.hpp new file mode 100644 index 00000000..345e5709 --- /dev/null +++ b/ThirdParty/include/boost/mpl/sequence_tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eba6c10ea3345b75379f2209e8c1b8aa0e52c1bc2e3714866a95cb57113631b7 +size 2989 diff --git a/ThirdParty/include/boost/mpl/sequence_tag_fwd.hpp b/ThirdParty/include/boost/mpl/sequence_tag_fwd.hpp new file mode 100644 index 00000000..cd34aed0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/sequence_tag_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:026ad6db1cbefeaead66b087de30406949be26887b27d2822b79d5cc03d74a63 +size 588 diff --git a/ThirdParty/include/boost/mpl/set.hpp b/ThirdParty/include/boost/mpl/set.hpp new file mode 100644 index 00000000..61ed25a0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6cd87ee79bf484523e15710cf646dc102698f8031a67042cb6b44d18a4cd0f7 +size 1593 diff --git a/ThirdParty/include/boost/mpl/set/aux_/at_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/at_impl.hpp new file mode 100644 index 00000000..37405106 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/at_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3edba3c1566dd5390589b0927a6a79c3cc388c185e0a2f7a6cb20bd1aff196a7 +size 929 diff --git a/ThirdParty/include/boost/mpl/set/aux_/begin_end_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/begin_end_impl.hpp new file mode 100644 index 00000000..04e5356e --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/begin_end_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c6901e76dd9685b7d4a7f6c7a4b8e6723a52d49989c58120151c0d316e20046 +size 919 diff --git a/ThirdParty/include/boost/mpl/set/aux_/clear_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/clear_impl.hpp new file mode 100644 index 00000000..235839a5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/clear_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfc736d7f598de06f4e7d1e84ffa27641de046cb7d9b77c17d6944b92abdd5f3 +size 773 diff --git a/ThirdParty/include/boost/mpl/set/aux_/empty_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/empty_impl.hpp new file mode 100644 index 00000000..7d8ca8cd --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/empty_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4323938a994fb1f8cae9bf05d6b272e4449f6bd8e0ca5af1d20e584a3bcef820 +size 733 diff --git a/ThirdParty/include/boost/mpl/set/aux_/erase_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/erase_impl.hpp new file mode 100644 index 00000000..2b9e27af --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/erase_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c519269342048c0b58534b5567f975b241ae47a45b110da29a8f134a5fa99432 +size 911 diff --git a/ThirdParty/include/boost/mpl/set/aux_/erase_key_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/erase_key_impl.hpp new file mode 100644 index 00000000..b83d8bfc --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/erase_key_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1ea17a4e372834edbebfae720e9d66a4184217fd8600c369a047e8e28fa6244 +size 1299 diff --git a/ThirdParty/include/boost/mpl/set/aux_/has_key_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/has_key_impl.hpp new file mode 100644 index 00000000..c61153e8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/has_key_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7034e62fcf5a7409a4d9303ae3ed83690c38ddb77d65fbd4fb854c4cd04b2ced +size 1705 diff --git a/ThirdParty/include/boost/mpl/set/aux_/include_preprocessed.hpp b/ThirdParty/include/boost/mpl/set/aux_/include_preprocessed.hpp new file mode 100644 index 00000000..e7e45589 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/include_preprocessed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d014fe3aeb77d984dbcdb21c769c2d8c9c4f8ffc3265b98dac482537fda280f9 +size 1189 diff --git a/ThirdParty/include/boost/mpl/set/aux_/insert_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/insert_impl.hpp new file mode 100644 index 00000000..60ee513c --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/insert_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c44f47d7cbdca0a677497b6acf9d1dd75ac09091019dd5b2be50dfc4addec678 +size 1519 diff --git a/ThirdParty/include/boost/mpl/set/aux_/insert_range_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/insert_range_impl.hpp new file mode 100644 index 00000000..a7e44392 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/insert_range_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44801d3f066f3973982fb9cb582c48945fd21b7cb4105d69199a7329eedd307a +size 920 diff --git a/ThirdParty/include/boost/mpl/set/aux_/item.hpp b/ThirdParty/include/boost/mpl/set/aux_/item.hpp new file mode 100644 index 00000000..683b3708 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/item.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f574bc12a4d504c71d389496cc95265d7e645d5ed5c44dfdc5ae08c6760e37a7 +size 2307 diff --git a/ThirdParty/include/boost/mpl/set/aux_/iterator.hpp b/ThirdParty/include/boost/mpl/set/aux_/iterator.hpp new file mode 100644 index 00000000..faa4840a --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7749400368cf8b13e50190de52a76b4816dbbb19c2ab31abbab855e4cebba0c +size 2283 diff --git a/ThirdParty/include/boost/mpl/set/aux_/key_type_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/key_type_impl.hpp new file mode 100644 index 00000000..ec00312d --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/key_type_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5df9fc023b598c42597d37214a7746bd63441f43526eb8c594f1c66039fc3099 +size 756 diff --git a/ThirdParty/include/boost/mpl/set/aux_/numbered.hpp b/ThirdParty/include/boost/mpl/set/aux_/numbered.hpp new file mode 100644 index 00000000..be3a5c25 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/numbered.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ef3805fcafcf81c65bc70547d2d95816929c07fe6d138679f35ae126963307f +size 1082 diff --git a/ThirdParty/include/boost/mpl/set/aux_/numbered_c.hpp b/ThirdParty/include/boost/mpl/set/aux_/numbered_c.hpp new file mode 100644 index 00000000..47d72301 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/numbered_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:807dbcaab3532215d85c52ee2658143a84205a85fa7b00ef340cc0029c670994 +size 1198 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp new file mode 100644 index 00000000..7a6afdff --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:485ad0f84e4c7c349e544627c25529c6e23f1f0e44f0eeff40d4e8464b4df50e +size 2578 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp new file mode 100644 index 00000000..b5cfd237 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e2399e6f08805aedf911dc61170e2cb5fb44a527be0930ba580ec69298fe5d +size 2419 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp new file mode 100644 index 00000000..7b84cbe6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19100a5f4c2e8aa6e350b8261b067fdf3f82cda3d2ca17a9c1c2b8d1e0b5920a +size 4605 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp new file mode 100644 index 00000000..8dc11075 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73e90577c0adfe33aa195ababb5f99e4f9b363e41aaa2d49b234b2d13ce4814f +size 3504 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp new file mode 100644 index 00000000..26f5d365 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f413b74a85ff42447e85c3c0e243c393ce712d23356b3841d085748d6d693873 +size 6687 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp new file mode 100644 index 00000000..a388590d --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23ff55b7f8b5023fbd7044b9b51efa427878fe8be288a4162310da67a8a6ce0f +size 4654 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp new file mode 100644 index 00000000..5fad1645 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bd0db04bdfd155b2eb50429ae5053a92b8614f97094f9f7014ed8d9a7803cc9 +size 8741 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp new file mode 100644 index 00000000..401c4f29 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d811058c6b819956c7f28ff4194fb02190ef7fbd70b9dbf22522622354f7bccf +size 5804 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp new file mode 100644 index 00000000..4700a006 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07546a94004ea03927ff6ba62e017a510387edc3290cd0980b11ff4dfd73b91e +size 10822 diff --git a/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp new file mode 100644 index 00000000..856b230d --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62695a5c50f01863ba3e09f0d9e2945c049c1d4e30c1da6ad96612193cc4ffe1 +size 6954 diff --git a/ThirdParty/include/boost/mpl/set/aux_/set0.hpp b/ThirdParty/include/boost/mpl/set/aux_/set0.hpp new file mode 100644 index 00000000..68707337 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/set0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ce31738d43f0bef61b755d7450b7279ebce7ff6dc99e70aeb01b9c397f26af +size 1883 diff --git a/ThirdParty/include/boost/mpl/set/aux_/size_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/size_impl.hpp new file mode 100644 index 00000000..9776cef5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/size_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a64e0306018c7ed3b57feccd46961cca23658642756318579c696f6338f64205 +size 682 diff --git a/ThirdParty/include/boost/mpl/set/aux_/tag.hpp b/ThirdParty/include/boost/mpl/set/aux_/tag.hpp new file mode 100644 index 00000000..188f8003 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e3c989975075c81d4ade29300a03a4cc8f00386f2b0b925349413f0157a0dcd +size 538 diff --git a/ThirdParty/include/boost/mpl/set/aux_/value_type_impl.hpp b/ThirdParty/include/boost/mpl/set/aux_/value_type_impl.hpp new file mode 100644 index 00000000..9aab32b4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/aux_/value_type_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1914fec4073c1445c1e2d17df2dc7eb2b4701b4a5bc2deee5b49c0f78b047a3 +size 766 diff --git a/ThirdParty/include/boost/mpl/set/set0.hpp b/ThirdParty/include/boost/mpl/set/set0.hpp new file mode 100644 index 00000000..364e68f2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0a536a9d828c06f5c3e4eb9b479a53129bf8bfdd119e0895e904b6507875b83 +size 1222 diff --git a/ThirdParty/include/boost/mpl/set/set0_c.hpp b/ThirdParty/include/boost/mpl/set/set0_c.hpp new file mode 100644 index 00000000..10051e00 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set0_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59af2c05abc85d41c921e03b87159db8bc298a55731e2955f9b7eb83f4d24858 +size 679 diff --git a/ThirdParty/include/boost/mpl/set/set10.hpp b/ThirdParty/include/boost/mpl/set/set10.hpp new file mode 100644 index 00000000..a318b141 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e461c72f42c6be55c7ae9bfa0118bb7aa734ef2e1a78599805c958cdcd4a5d24 +size 1078 diff --git a/ThirdParty/include/boost/mpl/set/set10_c.hpp b/ThirdParty/include/boost/mpl/set/set10_c.hpp new file mode 100644 index 00000000..724f18c7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63bb3e7e383eed38ccc994681744e0f8534c7f7ee5ab80c5deb600c195721446 +size 1128 diff --git a/ThirdParty/include/boost/mpl/set/set20.hpp b/ThirdParty/include/boost/mpl/set/set20.hpp new file mode 100644 index 00000000..fc9e0b36 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90444b276895f087dbae9135afcbc12a41621364777c237be0f5caa781b90ce7 +size 1080 diff --git a/ThirdParty/include/boost/mpl/set/set20_c.hpp b/ThirdParty/include/boost/mpl/set/set20_c.hpp new file mode 100644 index 00000000..723d412e --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b995ddcb4a05ede5a215792f28e503d063f40a7f9af8554f2f91e799fa82400 +size 1130 diff --git a/ThirdParty/include/boost/mpl/set/set30.hpp b/ThirdParty/include/boost/mpl/set/set30.hpp new file mode 100644 index 00000000..0f804a5b --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ecfe873957dbb12c188af1c5f58d43f98926a1887fb908a38d5bd3d583f4773 +size 1080 diff --git a/ThirdParty/include/boost/mpl/set/set30_c.hpp b/ThirdParty/include/boost/mpl/set/set30_c.hpp new file mode 100644 index 00000000..fb84b442 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0a352cf15dec2700a557569b662620b57c5466497f5d7fdb4b6d0b936db30bd +size 1130 diff --git a/ThirdParty/include/boost/mpl/set/set40.hpp b/ThirdParty/include/boost/mpl/set/set40.hpp new file mode 100644 index 00000000..5a2d5d05 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6b3402c332aed1ff55694706b98bc16644f6eac758ade12504c69973ce362ed +size 1080 diff --git a/ThirdParty/include/boost/mpl/set/set40_c.hpp b/ThirdParty/include/boost/mpl/set/set40_c.hpp new file mode 100644 index 00000000..838f55b8 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71ebf8831df9e442aa799633dc839835a4b9ca07ebeba11efead76c68185b53f +size 1130 diff --git a/ThirdParty/include/boost/mpl/set/set50.hpp b/ThirdParty/include/boost/mpl/set/set50.hpp new file mode 100644 index 00000000..35bbe2a1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4149cf253269e2faef224d7e90242bb49d8c4af0e47a4bb163b676dd84dc8420 +size 1080 diff --git a/ThirdParty/include/boost/mpl/set/set50_c.hpp b/ThirdParty/include/boost/mpl/set/set50_c.hpp new file mode 100644 index 00000000..f7822af5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/set/set50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9b6dc1cc9202e309ec6c26b1885ff0e8e78fa7e95f86eb701bac1392c72315 +size 1130 diff --git a/ThirdParty/include/boost/mpl/set_c.hpp b/ThirdParty/include/boost/mpl/set_c.hpp new file mode 100644 index 00000000..b8ea27ea --- /dev/null +++ b/ThirdParty/include/boost/mpl/set_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1f7a13391b30c7d03c96d35193bc0ce852015d2dce0f960800a7f3ffb149725 +size 1796 diff --git a/ThirdParty/include/boost/mpl/shift_left.hpp b/ThirdParty/include/boost/mpl/shift_left.hpp new file mode 100644 index 00000000..19ea92dc --- /dev/null +++ b/ThirdParty/include/boost/mpl/shift_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a761d93bcf06405010c07b34ac992dc0b511f850d2140b72c604db13dfe63074 +size 560 diff --git a/ThirdParty/include/boost/mpl/shift_right.hpp b/ThirdParty/include/boost/mpl/shift_right.hpp new file mode 100644 index 00000000..c6903cc2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/shift_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9549bb564bce2e560764737d42b004f7dca8cf3fca9f21d30986207418cb595 +size 564 diff --git a/ThirdParty/include/boost/mpl/single_view.hpp b/ThirdParty/include/boost/mpl/single_view.hpp new file mode 100644 index 00000000..dd90f72a --- /dev/null +++ b/ThirdParty/include/boost/mpl/single_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cc224ae9c616fa3d32bed6f3006115dec694f7255a8b10bbb6925e15c96d74a +size 813 diff --git a/ThirdParty/include/boost/mpl/size.hpp b/ThirdParty/include/boost/mpl/size.hpp new file mode 100644 index 00000000..5e7d1f70 --- /dev/null +++ b/ThirdParty/include/boost/mpl/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f27eb12ecc2987f26cd3504062066845e7ecc650bb35d51f75f9bc29d3e6ea6f +size 1008 diff --git a/ThirdParty/include/boost/mpl/size_fwd.hpp b/ThirdParty/include/boost/mpl/size_fwd.hpp new file mode 100644 index 00000000..605b8adf --- /dev/null +++ b/ThirdParty/include/boost/mpl/size_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaecb60cbac1ae0b847278d697cecc439b5b87487ddb955513e5145fcbe6ccab +size 544 diff --git a/ThirdParty/include/boost/mpl/size_t.hpp b/ThirdParty/include/boost/mpl/size_t.hpp new file mode 100644 index 00000000..80689fe1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/size_t.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:503e0adb9abb737bc4eba77b4640c9f30a5798806ed74e07eb24e3df2be04f85 +size 617 diff --git a/ThirdParty/include/boost/mpl/size_t_fwd.hpp b/ThirdParty/include/boost/mpl/size_t_fwd.hpp new file mode 100644 index 00000000..9b823e5e --- /dev/null +++ b/ThirdParty/include/boost/mpl/size_t_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1efc71182d8d2f981a3b5be7f4b1640e7b49fe9d352924d110a329065822e934 +size 723 diff --git a/ThirdParty/include/boost/mpl/sizeof.hpp b/ThirdParty/include/boost/mpl/sizeof.hpp new file mode 100644 index 00000000..7c710746 --- /dev/null +++ b/ThirdParty/include/boost/mpl/sizeof.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59469f31b1e1d18a50dc14a4f0745002544ddd947c9dfc6e2c4aa1dced59cf0e +size 766 diff --git a/ThirdParty/include/boost/mpl/sort.hpp b/ThirdParty/include/boost/mpl/sort.hpp new file mode 100644 index 00000000..ea7ee948 --- /dev/null +++ b/ThirdParty/include/boost/mpl/sort.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bd1fc8d57f403a901fc6ae2f528e8fe7dd9bf5211e4a192e6046918e934f420 +size 614 diff --git a/ThirdParty/include/boost/mpl/stable_partition.hpp b/ThirdParty/include/boost/mpl/stable_partition.hpp new file mode 100644 index 00000000..bf0a8427 --- /dev/null +++ b/ThirdParty/include/boost/mpl/stable_partition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d913e790b1fb6b61c3429ddc89efe1bcf23d7db564634804d3d127b9d7d8dc +size 1709 diff --git a/ThirdParty/include/boost/mpl/string.hpp b/ThirdParty/include/boost/mpl/string.hpp new file mode 100644 index 00000000..ca4db45e --- /dev/null +++ b/ThirdParty/include/boost/mpl/string.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:618d06f7a43df8a769b9c3537d4610164fa4470a12d895d412b5f27134b07a2e +size 24547 diff --git a/ThirdParty/include/boost/mpl/switch.hpp b/ThirdParty/include/boost/mpl/switch.hpp new file mode 100644 index 00000000..5cfb8e18 --- /dev/null +++ b/ThirdParty/include/boost/mpl/switch.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:851491536fa7f63c9231df1d780d43a56bf59149a778b330b39ed0b4d05bca60 +size 1187 diff --git a/ThirdParty/include/boost/mpl/tag.hpp b/ThirdParty/include/boost/mpl/tag.hpp new file mode 100644 index 00000000..5a9905b3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bccc8d2911980cc041905c37134bb0250084f923c79be57f86b760fdbb4c3a1 +size 1023 diff --git a/ThirdParty/include/boost/mpl/times.hpp b/ThirdParty/include/boost/mpl/times.hpp new file mode 100644 index 00000000..e2af64a5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c65e9af530d8e6ecd1bd8ae35ee254f9c3fba4aeae92d67f51458c61286178f +size 515 diff --git a/ThirdParty/include/boost/mpl/transform.hpp b/ThirdParty/include/boost/mpl/transform.hpp new file mode 100644 index 00000000..778073bb --- /dev/null +++ b/ThirdParty/include/boost/mpl/transform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e377b86fcb965a371ed3c4307b4569b08d446ffbfeb92ac8a26cdd518daddf1 +size 4202 diff --git a/ThirdParty/include/boost/mpl/transform_view.hpp b/ThirdParty/include/boost/mpl/transform_view.hpp new file mode 100644 index 00000000..293a9b98 --- /dev/null +++ b/ThirdParty/include/boost/mpl/transform_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8260dfe9e02299e5821c1fab055acb34e31b3b0a2cffa2e1388f3412ca046cf7 +size 1124 diff --git a/ThirdParty/include/boost/mpl/unique.hpp b/ThirdParty/include/boost/mpl/unique.hpp new file mode 100644 index 00000000..b9cedb35 --- /dev/null +++ b/ThirdParty/include/boost/mpl/unique.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5257adc16cde0aeb438f6b47513a144442e516841950ce596cb9d2efa73446fd +size 2053 diff --git a/ThirdParty/include/boost/mpl/unpack_args.hpp b/ThirdParty/include/boost/mpl/unpack_args.hpp new file mode 100644 index 00000000..9d5fe3fd --- /dev/null +++ b/ThirdParty/include/boost/mpl/unpack_args.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71db6700d6423d29c0d9b2bbf01b21f144d7b1ff7be40b8f7aa6e209be099631 +size 3563 diff --git a/ThirdParty/include/boost/mpl/upper_bound.hpp b/ThirdParty/include/boost/mpl/upper_bound.hpp new file mode 100644 index 00000000..aec8a811 --- /dev/null +++ b/ThirdParty/include/boost/mpl/upper_bound.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ceb115a5f8bc42f1279f7b8502ee9c9f9180bdc703e6c004370216d5060902d +size 3555 diff --git a/ThirdParty/include/boost/mpl/value_type.hpp b/ThirdParty/include/boost/mpl/value_type.hpp new file mode 100644 index 00000000..0cd61999 --- /dev/null +++ b/ThirdParty/include/boost/mpl/value_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f3322e6c6b9dd4d4cd7b9412cdc52fbf8a7bf106db23d37cf37a0a3af167896 +size 1084 diff --git a/ThirdParty/include/boost/mpl/value_type_fwd.hpp b/ThirdParty/include/boost/mpl/value_type_fwd.hpp new file mode 100644 index 00000000..1524e040 --- /dev/null +++ b/ThirdParty/include/boost/mpl/value_type_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e3570e56dec00343b3344b583342cf3cfa3039879889d8f6659d534c35f329 +size 635 diff --git a/ThirdParty/include/boost/mpl/vector.hpp b/ThirdParty/include/boost/mpl/vector.hpp new file mode 100644 index 00000000..a58f2cc0 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:492a438cb7dbf6ccf0e99bc3d2d21073215dd0a479920c2b19acbe95b4af616b +size 1644 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/O1_size.hpp b/ThirdParty/include/boost/mpl/vector/aux_/O1_size.hpp new file mode 100644 index 00000000..6ef76236 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/O1_size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2818d1c241921e40fec8c34efe4f5e272ba5ff32a5fa45133aede6935e4c182a +size 1213 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/at.hpp b/ThirdParty/include/boost/mpl/vector/aux_/at.hpp new file mode 100644 index 00000000..407d9a41 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fd29b495501993893963019b0961aa3e694ba5bb29a937f38eda6f4216822a9 +size 2562 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/back.hpp b/ThirdParty/include/boost/mpl/vector/aux_/back.hpp new file mode 100644 index 00000000..fea6f5cb --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7f33db9354d152d9098d8f42bccc52ead40259904dbf1fd4f84e6a38a2b97fb +size 1316 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/begin_end.hpp b/ThirdParty/include/boost/mpl/vector/aux_/begin_end.hpp new file mode 100644 index 00000000..b1b98973 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/begin_end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef88e130f13748e6f8b911bb508eec455ac12a5027c4bb1cf6adc7c4524c0388 +size 1091 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/clear.hpp b/ThirdParty/include/boost/mpl/vector/aux_/clear.hpp new file mode 100644 index 00000000..21e03cdb --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/clear.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb98480c71a8d886a11321b1b2fb3c366ed1cac41b5cf8c2323f6a91fc40f27f +size 1202 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/empty.hpp b/ThirdParty/include/boost/mpl/vector/aux_/empty.hpp new file mode 100644 index 00000000..2bcc8ee7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baca7576cf24909017514c4378c16a0be6b01c15dc15369f1bf4669301581002 +size 1433 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/front.hpp b/ThirdParty/include/boost/mpl/vector/aux_/front.hpp new file mode 100644 index 00000000..46b22b60 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4ebd866106aa63f0d7e22688b8afaf2c878206aea9c899cc7953b3f70ceeaa6 +size 1271 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/include_preprocessed.hpp b/ThirdParty/include/boost/mpl/vector/aux_/include_preprocessed.hpp new file mode 100644 index 00000000..ccdf343b --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/include_preprocessed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:415bf6fcfb50be230221941452a31a7f6600d03151f99869bc68c055f1a72158 +size 1656 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/item.hpp b/ThirdParty/include/boost/mpl/vector/aux_/item.hpp new file mode 100644 index 00000000..40bd5548 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/item.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa83fd1c5fc4753e6f6a7274d3d097fed05dd87534166a9843faa29cd09f468e +size 2461 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/iterator.hpp b/ThirdParty/include/boost/mpl/vector/aux_/iterator.hpp new file mode 100644 index 00000000..3da73960 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d991a753c7b5c08eb9fcd800fde47cc7571a74776e35f1b5d5f8861ecae831db +size 2971 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/numbered.hpp b/ThirdParty/include/boost/mpl/vector/aux_/numbered.hpp new file mode 100644 index 00000000..f86bd841 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/numbered.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2115913baa885d11d43f62b957b39149624ba6938ef475fc52bb48767a386ef7 +size 4783 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/numbered_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/numbered_c.hpp new file mode 100644 index 00000000..2b155da3 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/numbered_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b066fc11ca054a76a138cc6359c8501579fd7556936db8b577c87e3e6daf48 +size 1941 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/pop_back.hpp b/ThirdParty/include/boost/mpl/vector/aux_/pop_back.hpp new file mode 100644 index 00000000..e6f34ccb --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/pop_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dda2404b2aabf0e3134becc85e55204eba19e157922c91e658661adaf359e4a9 +size 916 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/pop_front.hpp b/ThirdParty/include/boost/mpl/vector/aux_/pop_front.hpp new file mode 100644 index 00000000..70508298 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/pop_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6f83df45e3fc70afcc834e8962b3d0c997d287b5653aa5f0152774feefd7038 +size 921 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp new file mode 100644 index 00000000..5c3308d1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:301524038d1803b0e323d2dc89954c30a58ee4ace4c13f1fb8d770be4ed03037 +size 30637 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp new file mode 100644 index 00000000..7c0748f6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1118ac1b08b12fec4ad418363009729d486857d21867e5562b5fed5c1556021 +size 3266 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp new file mode 100644 index 00000000..afdc5a68 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d625aa8f69dad229c3da35b908ae3a98b9b7c89497eb3fff967e556d65c239cc +size 46245 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp new file mode 100644 index 00000000..9efec5e9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20fd755d3948a42ed503eccc7e37a0d3b903a79c3b41b4f2ee1ff26845f12c77 +size 6361 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp new file mode 100644 index 00000000..e3948f20 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ddaa4db42616f482be030ed96ac9a09937f1fce7cef28b59cee66d53bd82a30 +size 62745 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp new file mode 100644 index 00000000..a37e2ad1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75f0c7ed66f2483c874a30641d8fd58f3941d729f1afa6d5b739e1106e08c7dc +size 9509 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp new file mode 100644 index 00000000..c2c2be4d --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a127c0a3857d57d0358ae69685edd7cc59c963d5a959cdfdadf38eb501a43ef +size 79245 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp new file mode 100644 index 00000000..c6691520 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:530e0881d8a755eee8366addc1ce7578fb704423fdd1e1b8bbd76c1291aa0552 +size 12656 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp new file mode 100644 index 00000000..46318b9c --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a786a9e3e572ce73a12fe96bccbe1f1aa6f7d4d6cc66f20abc3a6148edfcb06 +size 95745 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp new file mode 100644 index 00000000..a00ea791 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f376f4aa912511bfa07255ff65565f2080556a8a724e0910441f8c4c5fbd43c7 +size 15811 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp new file mode 100644 index 00000000..09d564ab --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc256186db7f55cc4ecd457ae4e922656bdd410987b805a490c62072c63ef484 +size 18549 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp new file mode 100644 index 00000000..7c0748f6 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1118ac1b08b12fec4ad418363009729d486857d21867e5562b5fed5c1556021 +size 3266 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp new file mode 100644 index 00000000..23648396 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7da8c86354867cbeffe891564f29c8965b0822812ed5ec3c403f27168602517 +size 34765 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp new file mode 100644 index 00000000..9efec5e9 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20fd755d3948a42ed503eccc7e37a0d3b903a79c3b41b4f2ee1ff26845f12c77 +size 6361 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp new file mode 100644 index 00000000..6393c465 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb9695c5cd2cae7351fe61579790fcb16d4e97f08e43010d3667ecaf9832afec +size 51265 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp new file mode 100644 index 00000000..a37e2ad1 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75f0c7ed66f2483c874a30641d8fd58f3941d729f1afa6d5b739e1106e08c7dc +size 9509 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp new file mode 100644 index 00000000..62a74ce2 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92682f3df98a666338be4e46d79f2c606b948902ed87aaca100c9a69088a1c90 +size 67765 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp new file mode 100644 index 00000000..c6691520 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:530e0881d8a755eee8366addc1ce7578fb704423fdd1e1b8bbd76c1291aa0552 +size 12656 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp new file mode 100644 index 00000000..a79a772a --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05d5a35ca5ca2bc36b39dedfb5c001f06b115c2b482aa871c21b8bbd0015bde8 +size 84265 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp new file mode 100644 index 00000000..a00ea791 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f376f4aa912511bfa07255ff65565f2080556a8a724e0910441f8c4c5fbd43c7 +size 15811 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp new file mode 100644 index 00000000..e566b178 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac63f7a70a9f120b97012712f857b5c09b4f41b59257f80cdd367f8b4f839acf +size 2476 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp new file mode 100644 index 00000000..6c2d4557 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df2e89fc565e98b7b82fd343f56bee93b27ecbcb6ea01c1da7f3193ff0f01e46 +size 2737 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp new file mode 100644 index 00000000..6f87a8cf --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29510ab2e86dbeecb75b5c7a0f8f109155ff529323f8036b265fd40f89e93cf2 +size 4315 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp new file mode 100644 index 00000000..344a51c5 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4281fde9a38fc8e366fc0893979c33333e9abbcca91ea79e96412ce198c88ebd +size 3822 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp new file mode 100644 index 00000000..90fd9e2a --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a3916d7f9aa26ddd7666f364bcdda239cda37a3f13a283ebe79aab87297b86b +size 6215 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp new file mode 100644 index 00000000..513f0bda --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7a1fadf98e30c6f64a7bbb607fbc1f913be2d1113475f5a30f3e4d547a0506a +size 4972 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp new file mode 100644 index 00000000..cbf465cc --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb931c2ffeed3ceec0dfada4672500d9f8fc9c7da8dcfb46a53b4f1ebe0097e +size 8115 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp new file mode 100644 index 00000000..a2d89f21 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:597d5922bf50915225590ac7132104ac6930e88307b78e04d6d2f105a07c7f12 +size 6122 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp new file mode 100644 index 00000000..942df95f --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2bdccac69a954f464db7e1bf99e6a879353f84291e05b67c35375f71e6db083 +size 10015 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp new file mode 100644 index 00000000..44d26328 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d50a6bdc1e2bc1648f5f59a7f3b212a6055a235f4183230bb6a2e089e1b933b +size 7272 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/push_back.hpp b/ThirdParty/include/boost/mpl/vector/aux_/push_back.hpp new file mode 100644 index 00000000..2f52cf83 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/push_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f8d65ac9177ccff2aad11b02158ac6259372a869058e808fd45c9f331ed1ef +size 896 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/push_front.hpp b/ThirdParty/include/boost/mpl/vector/aux_/push_front.hpp new file mode 100644 index 00000000..3700d5d4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ba9ac3cdf8f36705b81311ed35d16a9d10adee4674518eff6a7f558c805b29b +size 940 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/size.hpp b/ThirdParty/include/boost/mpl/vector/aux_/size.hpp new file mode 100644 index 00000000..6e7bcd15 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af0d511f58dc5d3826ab90ba5e58bcefc838f8a15c8d70ba7628b2ad4683a80 +size 1095 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/tag.hpp b/ThirdParty/include/boost/mpl/vector/aux_/tag.hpp new file mode 100644 index 00000000..b564dc47 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/tag.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ebd03cdbdfc9463387b2e6d38fcc0471cfd60de1669253919f1251aaaceb69 +size 744 diff --git a/ThirdParty/include/boost/mpl/vector/aux_/vector0.hpp b/ThirdParty/include/boost/mpl/vector/aux_/vector0.hpp new file mode 100644 index 00000000..ff731435 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/aux_/vector0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c3466c054ed61f3c3f64c38390e91d69dc345fbfa939c69afe3302c9baa61cc +size 1306 diff --git a/ThirdParty/include/boost/mpl/vector/vector0.hpp b/ThirdParty/include/boost/mpl/vector/vector0.hpp new file mode 100644 index 00000000..84ad52e4 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector0.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eff694d029130071b6808b1abe67cf388c77232e30264a92f612986b36ef1a87 +size 1144 diff --git a/ThirdParty/include/boost/mpl/vector/vector0_c.hpp b/ThirdParty/include/boost/mpl/vector/vector0_c.hpp new file mode 100644 index 00000000..6d7a5c64 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector0_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5a5e058e35bca75e27ec97eca8df945af4288e9ff548b895f57f7611030d477 +size 674 diff --git a/ThirdParty/include/boost/mpl/vector/vector10.hpp b/ThirdParty/include/boost/mpl/vector/vector10.hpp new file mode 100644 index 00000000..97d62f50 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector10.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c0cab768e99f212e758c2f96c1093deb4f18423e3ab79bd2421f18142402f21 +size 1165 diff --git a/ThirdParty/include/boost/mpl/vector/vector10_c.hpp b/ThirdParty/include/boost/mpl/vector/vector10_c.hpp new file mode 100644 index 00000000..c3945b58 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector10_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beb53988c6d9c60c73eae7383f19d54eb4a5a9fa7cfef63a964f8c1598715b7b +size 1221 diff --git a/ThirdParty/include/boost/mpl/vector/vector20.hpp b/ThirdParty/include/boost/mpl/vector/vector20.hpp new file mode 100644 index 00000000..050067ba --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector20.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17e18fccec56759e169770830b7c27b43589eab76c9010de665b3d78e2de4e5d +size 1167 diff --git a/ThirdParty/include/boost/mpl/vector/vector20_c.hpp b/ThirdParty/include/boost/mpl/vector/vector20_c.hpp new file mode 100644 index 00000000..0b876129 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector20_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83031e55aa622cb678cbbf904aee0c7f2a446cf206e39b9424ace0f9713a71d4 +size 1223 diff --git a/ThirdParty/include/boost/mpl/vector/vector30.hpp b/ThirdParty/include/boost/mpl/vector/vector30.hpp new file mode 100644 index 00000000..ee54024d --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector30.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87290167e3a658ff1d1a77b75892890b32d33f3c522c4f5f64c337e9f759525 +size 1167 diff --git a/ThirdParty/include/boost/mpl/vector/vector30_c.hpp b/ThirdParty/include/boost/mpl/vector/vector30_c.hpp new file mode 100644 index 00000000..7f0aacab --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector30_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe753c5f860c6f1216e398d5abbd8fc2a94b27ebb8f0ee3e38b4777e26cded78 +size 1252 diff --git a/ThirdParty/include/boost/mpl/vector/vector40.hpp b/ThirdParty/include/boost/mpl/vector/vector40.hpp new file mode 100644 index 00000000..0e646b0d --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector40.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e569c3a2d66bc893c9a4bf1e70f3ee410a37232ded9faf339fa55f0321c7867 +size 1167 diff --git a/ThirdParty/include/boost/mpl/vector/vector40_c.hpp b/ThirdParty/include/boost/mpl/vector/vector40_c.hpp new file mode 100644 index 00000000..ff0daad7 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector40_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:036abeaa5eea7c4d9e475d4bce2db2805d16c39f77eb30bc9a9c9b02ce9ff0c4 +size 1223 diff --git a/ThirdParty/include/boost/mpl/vector/vector50.hpp b/ThirdParty/include/boost/mpl/vector/vector50.hpp new file mode 100644 index 00000000..36805b15 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector50.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bffb050a36ba6b432914678935e9101541f1b177fbe399a01de7711f002fb27f +size 1167 diff --git a/ThirdParty/include/boost/mpl/vector/vector50_c.hpp b/ThirdParty/include/boost/mpl/vector/vector50_c.hpp new file mode 100644 index 00000000..7c5b2254 --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector/vector50_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961a7d037fbe92b85d43c8f54eb3eddc2e268fd9735ea78fc787fc05450a5070 +size 1220 diff --git a/ThirdParty/include/boost/mpl/vector_c.hpp b/ThirdParty/include/boost/mpl/vector_c.hpp new file mode 100644 index 00000000..3688220e --- /dev/null +++ b/ThirdParty/include/boost/mpl/vector_c.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a3d51e25c5d76f757aa5aee132efc57cb8f7a006e9ea252d2c57ab6814a2ea6 +size 1932 diff --git a/ThirdParty/include/boost/mpl/void.hpp b/ThirdParty/include/boost/mpl/void.hpp new file mode 100644 index 00000000..c3f72b9f --- /dev/null +++ b/ThirdParty/include/boost/mpl/void.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6968500000ec19d3ebdd17670e434fa70cb2ff36ae93e55dd0d5f94e9dc1d52 +size 1608 diff --git a/ThirdParty/include/boost/mpl/void_fwd.hpp b/ThirdParty/include/boost/mpl/void_fwd.hpp new file mode 100644 index 00000000..dc365497 --- /dev/null +++ b/ThirdParty/include/boost/mpl/void_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed43f10ad35cda66de81db316ea0f9ffe12efc791d206dae028c8e2f8a3b1166 +size 599 diff --git a/ThirdParty/include/boost/mpl/zip_view.hpp b/ThirdParty/include/boost/mpl/zip_view.hpp new file mode 100644 index 00000000..f42f75fd --- /dev/null +++ b/ThirdParty/include/boost/mpl/zip_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1bf762684810986247792ee1ed12818aadcffb14a2734d176ecfde68c32e9c0 +size 1542 diff --git a/ThirdParty/include/boost/numeric/conversion/bounds.hpp b/ThirdParty/include/boost/numeric/conversion/bounds.hpp new file mode 100644 index 00000000..80166a1d --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/bounds.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a7684a73c46bca05f75db21b7456aa07bf174c439e05494ab64d145bc8644b3 +size 706 diff --git a/ThirdParty/include/boost/numeric/conversion/cast.hpp b/ThirdParty/include/boost/numeric/conversion/cast.hpp new file mode 100644 index 00000000..28a3b0d6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/cast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71664136d5a92bb5669da8d20dcec1eb4ab4f4bcdc067ad32652524602565a65 +size 2123 diff --git a/ThirdParty/include/boost/numeric/conversion/conversion_traits.hpp b/ThirdParty/include/boost/numeric/conversion/conversion_traits.hpp new file mode 100644 index 00000000..a3f999a9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/conversion_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d76a813b2688b11d8e6668b021811343df8aae28b0d35adf64949e64ea7cc3d +size 954 diff --git a/ThirdParty/include/boost/numeric/conversion/converter.hpp b/ThirdParty/include/boost/numeric/conversion/converter.hpp new file mode 100644 index 00000000..c5e071c6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/converter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d33001875f224c1d5d78f6dafc9a648b7156543050711332a81491c6c4ca66cf +size 2239 diff --git a/ThirdParty/include/boost/numeric/conversion/converter_policies.hpp b/ThirdParty/include/boost/numeric/conversion/converter_policies.hpp new file mode 100644 index 00000000..03b49a6d --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/converter_policies.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:878c62e52beaea335ce720f5c1b02c82ffbb0caeeadefbdb218459016edf3f64 +size 4470 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/bounds.hpp b/ThirdParty/include/boost/numeric/conversion/detail/bounds.hpp new file mode 100644 index 00000000..3d92c09f --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/bounds.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0ef0270bfc67f6b687bcd02a9c2e85a46f619203a0c4194b812a9f427bb9603 +size 1820 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/conversion_traits.hpp b/ThirdParty/include/boost/numeric/conversion/detail/conversion_traits.hpp new file mode 100644 index 00000000..d78bea9d --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/conversion_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8efba8a46cc4e6cc4ebfb8ebfa7c9df43dd47a8b5ea44182a21ff253e9d47b9a +size 3587 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/converter.hpp b/ThirdParty/include/boost/numeric/conversion/detail/converter.hpp new file mode 100644 index 00000000..ba6f208e --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/converter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef702fee32ba76c59ce6e336e046380fe2fecc476ac276b2f0172037119800e0 +size 19234 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/int_float_mixture.hpp b/ThirdParty/include/boost/numeric/conversion/detail/int_float_mixture.hpp new file mode 100644 index 00000000..5024b1ac --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/int_float_mixture.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27c3475c909925114434dd06a9dce8228a433899314ba7b80b2c717e9305c838 +size 2600 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/is_subranged.hpp b/ThirdParty/include/boost/numeric/conversion/detail/is_subranged.hpp new file mode 100644 index 00000000..37bb1137 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/is_subranged.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0876b25143bc1fdfec3581a4179a369fc250c34db3c8420d95149d721d8bd072 +size 7686 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/meta.hpp b/ThirdParty/include/boost/numeric/conversion/detail/meta.hpp new file mode 100644 index 00000000..41ab5438 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/meta.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69f7785a568178241abfa69a720a31f1fbe620f6f5ff1911872653edbfc78d69 +size 3662 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp b/ThirdParty/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp new file mode 100644 index 00000000..0487a941 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c42ad3f4cf741e7f1505bba5b88578028e0c92d06b7f266415ac046e7d2461f3 +size 5523 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/old_numeric_cast.hpp b/ThirdParty/include/boost/numeric/conversion/detail/old_numeric_cast.hpp new file mode 100644 index 00000000..83f87f19 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/old_numeric_cast.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1292474b1fcb18d3dd85908c15b83bc260a183cc49d3bd65a024f1c9ea06dac +size 10969 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp b/ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp new file mode 100644 index 00000000..0dfaa568 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d3e512e768360a5a267ea6f57a234cc664c2a3f439aeb8d42396ec23af9b8ae +size 42776 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp b/ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp new file mode 100644 index 00000000..c9cfb64c --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18fe29720b858d4ec3db9e44828f340020d797dbc16bef8906fd7677a95ef5b0 +size 9311 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/sign_mixture.hpp b/ThirdParty/include/boost/numeric/conversion/detail/sign_mixture.hpp new file mode 100644 index 00000000..9804f8b4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/sign_mixture.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51f43c2007a1ab463260103b25e9bd830419371cb137598d94964d5a59deb6d3 +size 2547 diff --git a/ThirdParty/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp b/ThirdParty/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp new file mode 100644 index 00000000..78e1d5fe --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dffa1ad10dd7bc7a78afddab0325e8cecf951e94fb2820c7ecc2fc7dd2d9d62 +size 2480 diff --git a/ThirdParty/include/boost/numeric/conversion/int_float_mixture.hpp b/ThirdParty/include/boost/numeric/conversion/int_float_mixture.hpp new file mode 100644 index 00000000..28fa1d7f --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/int_float_mixture.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bddb30968cb676f38087970c18384b9a9f528080446ac470f18d9d411c49a30b +size 1042 diff --git a/ThirdParty/include/boost/numeric/conversion/int_float_mixture_enum.hpp b/ThirdParty/include/boost/numeric/conversion/int_float_mixture_enum.hpp new file mode 100644 index 00000000..5431e687 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/int_float_mixture_enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e184b040c8bb3390deb8ec866d87c2492a244b7262b2fd0990bdecfacd2093b3 +size 851 diff --git a/ThirdParty/include/boost/numeric/conversion/is_subranged.hpp b/ThirdParty/include/boost/numeric/conversion/is_subranged.hpp new file mode 100644 index 00000000..1e2b639e --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/is_subranged.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc2c362607ef6c8c0faabaec3f9f9c124377e43a606fb4d91bb7ec7cf2dc42c6 +size 908 diff --git a/ThirdParty/include/boost/numeric/conversion/numeric_cast_traits.hpp b/ThirdParty/include/boost/numeric/conversion/numeric_cast_traits.hpp new file mode 100644 index 00000000..6b4fd0f6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/numeric_cast_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbb4008d98809f04efc7cc8c9bfe6d8d6223bd10cda0cd649fbf1e635e515290 +size 983 diff --git a/ThirdParty/include/boost/numeric/conversion/sign_mixture.hpp b/ThirdParty/include/boost/numeric/conversion/sign_mixture.hpp new file mode 100644 index 00000000..8921f98c --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/sign_mixture.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df9aec74af40872ac97ff2d25c5bec3c0b2e692e1b28f1b23f93fc8595acc3da +size 1007 diff --git a/ThirdParty/include/boost/numeric/conversion/sign_mixture_enum.hpp b/ThirdParty/include/boost/numeric/conversion/sign_mixture_enum.hpp new file mode 100644 index 00000000..3dc97ec2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/sign_mixture_enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfffad1a0069323e40377ddd58a6adc4b3ab213af8c32ad25f7ab898199044ec +size 840 diff --git a/ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture.hpp b/ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture.hpp new file mode 100644 index 00000000..cb3e460c --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deb5f526e976c97b678009bf5a4e115c0acd83457958382e25f55cd61bae18e9 +size 957 diff --git a/ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp b/ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp new file mode 100644 index 00000000..ab3c60cb --- /dev/null +++ b/ThirdParty/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61025c6776952f21f945cacf15b075736d9aa2dbab100b68918e27b43e6eb392 +size 745 diff --git a/ThirdParty/include/boost/numeric/interval.hpp b/ThirdParty/include/boost/numeric/interval.hpp new file mode 100644 index 00000000..58576916 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21cdd49e4134be186a487ac54971b8130045e3e9dda2e760bf93297cf4c7c55b +size 1058 diff --git a/ThirdParty/include/boost/numeric/interval/arith.hpp b/ThirdParty/include/boost/numeric/interval/arith.hpp new file mode 100644 index 00000000..15ee1559 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/arith.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea57deeffdf91d1f76204ae60d26471a07c0fd66c5e7e1b03809e7790458fc9e +size 10353 diff --git a/ThirdParty/include/boost/numeric/interval/arith2.hpp b/ThirdParty/include/boost/numeric/interval/arith2.hpp new file mode 100644 index 00000000..970c6ab0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/arith2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab582ec819f98b783314537c902a6091f6bc4ca74b0669be29b1675705a5aa65 +size 10092 diff --git a/ThirdParty/include/boost/numeric/interval/arith3.hpp b/ThirdParty/include/boost/numeric/interval/arith3.hpp new file mode 100644 index 00000000..dd46fb15 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/arith3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34d0efe491af741200c236fc57966c0fb1d8d45b35aa2e3bc01297acb2bb5766 +size 2150 diff --git a/ThirdParty/include/boost/numeric/interval/checking.hpp b/ThirdParty/include/boost/numeric/interval/checking.hpp new file mode 100644 index 00000000..d86909a9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/checking.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53edae05995aad20924085dd924149bb70953cfb2b3fc17eb5119175e502a995 +size 2824 diff --git a/ThirdParty/include/boost/numeric/interval/compare.hpp b/ThirdParty/include/boost/numeric/interval/compare.hpp new file mode 100644 index 00000000..8838c343 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2558a9b8c31fd4a81e1e08968b47b852c6b8d0135c99004bc52678f9052cca7 +size 705 diff --git a/ThirdParty/include/boost/numeric/interval/compare/certain.hpp b/ThirdParty/include/boost/numeric/interval/compare/certain.hpp new file mode 100644 index 00000000..e98c42d4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare/certain.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92129d4e23a890b1ce344b51dbe3d8f97267565250c5dba8310caf7ccf01834d +size 3405 diff --git a/ThirdParty/include/boost/numeric/interval/compare/explicit.hpp b/ThirdParty/include/boost/numeric/interval/compare/explicit.hpp new file mode 100644 index 00000000..e0a13eac --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare/explicit.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:282bf9c15a1aa8f998d12b325d05298b9f23b107a299ebade897c92e2a83e2c7 +size 6110 diff --git a/ThirdParty/include/boost/numeric/interval/compare/lexicographic.hpp b/ThirdParty/include/boost/numeric/interval/compare/lexicographic.hpp new file mode 100644 index 00000000..9caa6ed4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare/lexicographic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcdaa133a8e5ac3170f6e33fe4e5a03c22b3d068a08746f31aa67bfb40bac1d0 +size 3865 diff --git a/ThirdParty/include/boost/numeric/interval/compare/possible.hpp b/ThirdParty/include/boost/numeric/interval/compare/possible.hpp new file mode 100644 index 00000000..be3af836 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare/possible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b64967f7a2c1f346a07df3c6ab6efcac2965714ba1b02a714cd5d7da674add3f +size 3415 diff --git a/ThirdParty/include/boost/numeric/interval/compare/set.hpp b/ThirdParty/include/boost/numeric/interval/compare/set.hpp new file mode 100644 index 00000000..4a7bb193 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a832364c5b82871495f3d898278aff417eb905107f80a582cd327b5c2363e6c +size 2614 diff --git a/ThirdParty/include/boost/numeric/interval/compare/tribool.hpp b/ThirdParty/include/boost/numeric/interval/compare/tribool.hpp new file mode 100644 index 00000000..0e31f883 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/compare/tribool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:485db04e62b467fb15789cfb714de12c233ae0cd9494b961859a120fc29d5d46 +size 4617 diff --git a/ThirdParty/include/boost/numeric/interval/constants.hpp b/ThirdParty/include/boost/numeric/interval/constants.hpp new file mode 100644 index 00000000..df114293 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/constants.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3351252d53e82130a0793fc2874cca3df1ddb8a3f0152290eb47ba39ebf6544 +size 3177 diff --git a/ThirdParty/include/boost/numeric/interval/detail/alpha_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/alpha_rounding_control.hpp new file mode 100644 index 00000000..6682a978 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/alpha_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60d2d8801276039382aab5ad5d27782d0526f5f41d53cc7ded002f955c3fea67 +size 3607 diff --git a/ThirdParty/include/boost/numeric/interval/detail/bcc_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/bcc_rounding_control.hpp new file mode 100644 index 00000000..99b2be17 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/bcc_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e1590cf9fada31a27bde23b31b18f7311dd87dececb13ee3adbd4838f08071b +size 1580 diff --git a/ThirdParty/include/boost/numeric/interval/detail/bugs.hpp b/ThirdParty/include/boost/numeric/interval/detail/bugs.hpp new file mode 100644 index 00000000..271ddb66 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/bugs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:807df20dabe8565ab4f9db768cd3d86ec0cab128c4bcc6c8341ada536e917e15 +size 1513 diff --git a/ThirdParty/include/boost/numeric/interval/detail/c99_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/c99_rounding_control.hpp new file mode 100644 index 00000000..e6291408 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/c99_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94fa1324ea8f8b68fe8079aca30627475ca667442196cbbb1749cd204a210770 +size 1292 diff --git a/ThirdParty/include/boost/numeric/interval/detail/c99sub_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/c99sub_rounding_control.hpp new file mode 100644 index 00000000..93a536db --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/c99sub_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32f9adf4e35ee338cf527459b3871ed6fb9dd4a96c418e463e5343135876c8ab +size 1368 diff --git a/ThirdParty/include/boost/numeric/interval/detail/division.hpp b/ThirdParty/include/boost/numeric/interval/detail/division.hpp new file mode 100644 index 00000000..8809a90d --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/division.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59ecfca9ac4532a71de23f5edc8eb1711b39a65327ebf1873ed23655af9c3d8a +size 7499 diff --git a/ThirdParty/include/boost/numeric/interval/detail/ia64_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/ia64_rounding_control.hpp new file mode 100644 index 00000000..6894440d --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/ia64_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94666d2917dc1f2fcdd7363d621171d757a2f7c071b30e118ed43414a01029ce +size 2149 diff --git a/ThirdParty/include/boost/numeric/interval/detail/interval_prototype.hpp b/ThirdParty/include/boost/numeric/interval/detail/interval_prototype.hpp new file mode 100644 index 00000000..6d7805c0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/interval_prototype.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc0fef93ad3ed8e5c4fe9e5986266fd8cc57747fd991a0ccc31442867a0ea245 +size 1035 diff --git a/ThirdParty/include/boost/numeric/interval/detail/msvc_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/msvc_rounding_control.hpp new file mode 100644 index 00000000..d1674745 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/msvc_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52cf1515eef844c904003a8a8b93aae6855660d2b5c216bae1e2d1c37f55d08b +size 3415 diff --git a/ThirdParty/include/boost/numeric/interval/detail/ppc_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/ppc_rounding_control.hpp new file mode 100644 index 00000000..d204aeb9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/ppc_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f334590f7d334d2cc9dad5c864e8a7684c04637a58701483f3523b34734ddc1 +size 2955 diff --git a/ThirdParty/include/boost/numeric/interval/detail/sparc_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/sparc_rounding_control.hpp new file mode 100644 index 00000000..9f603a85 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/sparc_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af98d88590189e7035a28b69b011a87f4894140ca271e9bfe4a0c081ffbf97b +size 3062 diff --git a/ThirdParty/include/boost/numeric/interval/detail/test_input.hpp b/ThirdParty/include/boost/numeric/interval/detail/test_input.hpp new file mode 100644 index 00000000..4b1201a4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/test_input.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cded3d6edc15e78e463e4b006c4f93b507fa985778a1f227c5003a23db57e9a +size 2326 diff --git a/ThirdParty/include/boost/numeric/interval/detail/x86_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/x86_rounding_control.hpp new file mode 100644 index 00000000..6cbcccab --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/x86_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4dad88a5482a3f8937ff686d5a7d5b21189a15f1194f29fc595e580c39ee2d6 +size 3143 diff --git a/ThirdParty/include/boost/numeric/interval/detail/x86gcc_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/detail/x86gcc_rounding_control.hpp new file mode 100644 index 00000000..d4152575 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/detail/x86gcc_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9cb53039e2e63299c7a9a73492877fe247941e6e7444ae026ecc4726216b766 +size 1262 diff --git a/ThirdParty/include/boost/numeric/interval/ext/integer.hpp b/ThirdParty/include/boost/numeric/interval/ext/integer.hpp new file mode 100644 index 00000000..6725749a --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/ext/integer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:989a1aefec1537c55d065f79ea3e53db0ab8502db971dfec66214d5d88f6196e +size 1817 diff --git a/ThirdParty/include/boost/numeric/interval/ext/x86_fast_rounding_control.hpp b/ThirdParty/include/boost/numeric/interval/ext/x86_fast_rounding_control.hpp new file mode 100644 index 00000000..1fbdc92f --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/ext/x86_fast_rounding_control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a1da8081d2c34524b6c1e6e8b8c6de2dfac95ee2f5d911fc61bbb201aa4c7fa +size 2774 diff --git a/ThirdParty/include/boost/numeric/interval/hw_rounding.hpp b/ThirdParty/include/boost/numeric/interval/hw_rounding.hpp new file mode 100644 index 00000000..396e3de5 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/hw_rounding.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09f0dd3d3a045442f87d9be78b8acc16888e91b2739fd6a73c8c80ce13296caf +size 2418 diff --git a/ThirdParty/include/boost/numeric/interval/interval.hpp b/ThirdParty/include/boost/numeric/interval/interval.hpp new file mode 100644 index 00000000..73eb0fbf --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/interval.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0957b4a01a699abc36ba75be6b8875dd9d4a5968cff65d86844f4b8cc75694c +size 12198 diff --git a/ThirdParty/include/boost/numeric/interval/io.hpp b/ThirdParty/include/boost/numeric/interval/io.hpp new file mode 100644 index 00000000..d2ae37b0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49a9372d6a49b7cf4b1c6e198399afcd84f34b8b221dac5a8ca85ce0e457cd20 +size 1174 diff --git a/ThirdParty/include/boost/numeric/interval/limits.hpp b/ThirdParty/include/boost/numeric/interval/limits.hpp new file mode 100644 index 00000000..75a0cb6f --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95bb47275f57b2cdf043622bd39c9aa7e4f844bd3e2c5639191ecb5f4c7bd9ae +size 1621 diff --git a/ThirdParty/include/boost/numeric/interval/policies.hpp b/ThirdParty/include/boost/numeric/interval/policies.hpp new file mode 100644 index 00000000..3bdc1e0c --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/policies.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fcb15e2f95aae7d7887b39786a149b17ee378cda26d2ae58f72197bd177c7b6 +size 1771 diff --git a/ThirdParty/include/boost/numeric/interval/rounded_arith.hpp b/ThirdParty/include/boost/numeric/interval/rounded_arith.hpp new file mode 100644 index 00000000..f96baf25 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/rounded_arith.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b9caaa0b161bd08bec2aae02ff61e23a90f7cadb38af5f97f67b7c7883e0f9a +size 4783 diff --git a/ThirdParty/include/boost/numeric/interval/rounded_transc.hpp b/ThirdParty/include/boost/numeric/interval/rounded_transc.hpp new file mode 100644 index 00000000..6b3aee84 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/rounded_transc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24ba451e23ce34f44cba0137e8f7bd0c3e91c4487a7201dbc33f89620cfa64f7 +size 5269 diff --git a/ThirdParty/include/boost/numeric/interval/rounding.hpp b/ThirdParty/include/boost/numeric/interval/rounding.hpp new file mode 100644 index 00000000..fb5eaaf2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/rounding.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ab1de326d62de18d63fe003cf228e95d04b3b67b7bd07a07215a40b6cad9fb +size 2595 diff --git a/ThirdParty/include/boost/numeric/interval/transc.hpp b/ThirdParty/include/boost/numeric/interval/transc.hpp new file mode 100644 index 00000000..6ba20aad --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/transc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98eb54fa0e66e71c804f9302ff454e946ffc2b408f02fa37b991f23b304f6726 +size 7917 diff --git a/ThirdParty/include/boost/numeric/interval/utility.hpp b/ThirdParty/include/boost/numeric/interval/utility.hpp new file mode 100644 index 00000000..b1c29333 --- /dev/null +++ b/ThirdParty/include/boost/numeric/interval/utility.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01edd94c492513df8a42c66d57c48bfa79136d619c2771fe88045390466401c6 +size 10783 diff --git a/ThirdParty/include/boost/numeric/odeint.hpp b/ThirdParty/include/boost/numeric/odeint.hpp new file mode 100644 index 00000000..04089852 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6586bd36b98d23bd201446ad08e6994280e69b610e05c8b42344580a470987a8 +size 3241 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/algebra_dispatcher.hpp new file mode 100644 index 00000000..52f95d98 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:322f0a5d5c0bd09aacf8de601a2cd01a7eeacfe4bed9121b0418a221bbbd27e6 +size 2549 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/array_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/array_algebra.hpp new file mode 100644 index 00000000..c378d3eb --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/array_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cca3bfd8c7cb1316615f8c2e9027f6c54387598e325e7b8d5f837d2c9b3beceb +size 10846 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/default_operations.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/default_operations.hpp new file mode 100644 index 00000000..6f09c333 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/default_operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f63927d03e13bbaff606c5d7777512b8323187b6b914d29445bece39045ac511 +size 23794 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/detail/extract_value_type.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/detail/extract_value_type.hpp new file mode 100644 index 00000000..1ac97f9d --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/detail/extract_value_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4db3054286aff5e69a0551f550bd4048d44640760cd0c015052a7195663edf56 +size 1358 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/detail/for_each.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/detail/for_each.hpp new file mode 100644 index 00000000..d0bc36dd --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/detail/for_each.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b52d1d145f7f1ed89aea838d5f93ce6643940424a893b377909fe81e6b7ccefb +size 9551 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/detail/macros.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/detail/macros.hpp new file mode 100644 index 00000000..58778f55 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/detail/macros.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5756cec9bdec5d6311e95e6653f0fd88cdd90576c6a289206d1ddd9acb7843a9 +size 1134 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/detail/norm_inf.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/detail/norm_inf.hpp new file mode 100644 index 00000000..18e617b4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/detail/norm_inf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d7a78a114e14d55b26fef28aa8a69318a4441f3e81f704cb841530374dd5ac +size 969 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra.hpp new file mode 100644 index 00000000..eeed5120 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13297d5b0ddaff3b83b3eeb846c7925b472d65c5ef797f9319ca998f94127fd7 +size 11422 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp new file mode 100644 index 00000000..7cf5f416 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29716b5d3bd5b85ec09696fa554a8d0437e6d59b518ff403a9b88f5253a8f546 +size 1258 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/multi_array_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/multi_array_algebra.hpp new file mode 100644 index 00000000..06d10de4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/multi_array_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f66b4814b1c83d9b6485d8446b8c39b6ff61b3a0d9553ff815a2963545a036f4 +size 7380 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/norm_result_type.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/norm_result_type.hpp new file mode 100644 index 00000000..591f2413 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/norm_result_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b816676676eda7d7ce8e034ec78dd76b444a9bd21a2578cbe79e4126e9a2c1ef +size 821 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/operations_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/operations_dispatcher.hpp new file mode 100644 index 00000000..c1669704 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/operations_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19b6130cf366cd721e51ac340fe2a1270835673640046bb0a73f44374d6b0c2c +size 976 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/range_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/range_algebra.hpp new file mode 100644 index 00000000..0d12deb9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/range_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23d1e0d895fe1856bcc4230fc092e66ca603e6f156751d7c871c8ca27552f393 +size 8358 diff --git a/ThirdParty/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp new file mode 100644 index 00000000..d0c42a39 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4fc367d97d4203888093c9e45e5e8d90e1e2b8a402106275d0f6a373869212c +size 6363 diff --git a/ThirdParty/include/boost/numeric/odeint/config.hpp b/ThirdParty/include/boost/numeric/odeint/config.hpp new file mode 100644 index 00000000..669ee46d --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5ce900769fd5177fc8d90410a796afc2127ce6657ae7cbc52cbee2240b20879 +size 1201 diff --git a/ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp new file mode 100644 index 00000000..b997bd6f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b00ebd810c19d3b1e42b286f2cc35ba43f09560ebaa1874289551c0b1ca9b5a +size 1155 diff --git a/ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_resize.hpp new file mode 100644 index 00000000..7fb605e1 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/blaze/blaze_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07640c21ae2484a2ae648a7d1b74e9d3056db5c2c91d5e17219a03bee7e824be +size 1708 diff --git a/ThirdParty/include/boost/numeric/odeint/external/compute/compute.hpp b/ThirdParty/include/boost/numeric/odeint/external/compute/compute.hpp new file mode 100644 index 00000000..81cb9a6f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/compute/compute.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb95dab58d3788f7dd8e7d0ff6be3565fc38782e5355a3a34937ee3a891fdfd +size 993 diff --git a/ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra.hpp new file mode 100644 index 00000000..44ee3f87 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebaa344db28265e7bcc3c0e4a78b627113e94e6ffc81444bbf69282efd5676ae +size 2026 diff --git a/ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp new file mode 100644 index 00000000..591894a7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ea05959177d31887dc9a1bd7af488b952734d10d2aec37827419bc30b23fbb8 +size 1169 diff --git a/ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations.hpp b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations.hpp new file mode 100644 index 00000000..1351be11 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1721db3511a941f42d177f6f686414b25502e6e85be1e8b1998718b23b4c1791 +size 8749 diff --git a/ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp new file mode 100644 index 00000000..4a6421ee --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2d294d552050c5b2be51e722e1608b6c407bc6899e4561bf79b4b2312674863 +size 1202 diff --git a/ThirdParty/include/boost/numeric/odeint/external/compute/compute_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_resize.hpp new file mode 100644 index 00000000..5ce1fd9f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/compute/compute_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff67c00a0e78504990229066fb0b20539cdb5996c95228bcdfc4859146ce4b06 +size 2487 diff --git a/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen.hpp b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen.hpp new file mode 100644 index 00000000..c030bc99 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcdc2789840e4cd0df1d650289b9bd89a32281e18120ce30bb0a0123f31dd663 +size 754 diff --git a/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra.hpp new file mode 100644 index 00000000..4a2bee1e --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1adde9dae18d7a61f150afd4f4ca593ae9395ee98f4e1af6ebff86a7079bb43 +size 3081 diff --git a/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp new file mode 100644 index 00000000..fa83335d --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ec9437669e345ae3210fad068755709904decb2a0a8a14bf370075c8c4efc1 +size 1270 diff --git a/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_resize.hpp new file mode 100644 index 00000000..ced204c7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/eigen/eigen_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e60c70cb81574ab1e0f5b5947d71be34bb0900fd575f6119c6c9d6ba165372ec +size 3119 diff --git a/ThirdParty/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp b/ThirdParty/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp new file mode 100644 index 00000000..56dc0972 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8aeeb88dc576be5e43f51c3f9ee6b37244566795996ab04f3ffd13814e7ff74d +size 5248 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp b/ThirdParty/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp new file mode 100644 index 00000000..ec369d90 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15aeb6a454e28f1bec900f5308b55419935c72aa41b7f6116499cb06e141444f +size 6731 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi.hpp b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi.hpp new file mode 100644 index 00000000..94694550 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19a2ba3b5e4b52ccdfd56691f6f4795e522e9e7008ee64d40565fc23ec5140a5 +size 637 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp new file mode 100644 index 00000000..5f8c52ff --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:926c2859a1751b11b41abcaa0ddaddb7d58266aa7808785b5557f0b7e8938cab +size 1628 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_state.hpp b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_state.hpp new file mode 100644 index 00000000..9dc7aba8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_state.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a471c657f99c4d0d7a6a3df71d1fb5d8eb623d13034a1256bd94b09e128e4eb5 +size 2962 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp new file mode 100644 index 00000000..5deacf1c --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c809b1667a8fa74241a7e09971d4b108d13192faf27b23d50849213434a4743c +size 2990 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp b/ThirdParty/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp new file mode 100644 index 00000000..0cc80eab --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ebeec2a7f60381d3c1be3db892cc5fa4d1ae2c2ea20bbf09234e01dede80f53 +size 4642 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4.hpp b/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4.hpp new file mode 100644 index 00000000..9018e4a0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a85f77fb44e394bfd70ff9a2c947b3c2064aefff05170a002fd7dc68b3321e6 +size 704 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp new file mode 100644 index 00000000..98517008 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ec70844b116d5343c429a80c5f6bd4215e5d4fe062d70e098c10db57bf1c0b5 +size 2746 diff --git a/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp new file mode 100644 index 00000000..d5411f78 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f31567de1793f579e363b9e08676f0b5e9df165dd32034d45933f83abaf24d5 +size 4112 diff --git a/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp new file mode 100644 index 00000000..2e82890a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4b2e175816439e7e87632dc9e29df8565f9023f60869fa4a32d68c3a140d075 +size 1024 diff --git a/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_copy.hpp b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_copy.hpp new file mode 100644 index 00000000..2f3acb8f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_copy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b307f9cb468498359c23f0e1bc25b100dea9bb825219091bc37431ce0eaa916e +size 1150 diff --git a/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp new file mode 100644 index 00000000..95a90c1a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0326aec6dff5dbad01b4a1bb9fe567122cad494e076e158059a90567eab3a4dc +size 1148 diff --git a/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_resize.hpp new file mode 100644 index 00000000..9d1be186 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/nt2/nt2_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8516c627ae5cd1c325a5a6255f3905c1aae8c8a592ea86aaa76383b6fb8af09e +size 1638 diff --git a/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp.hpp b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp.hpp new file mode 100644 index 00000000..48637591 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ca71cf42e1b3bd10a3a2e31516f66781a4052723af26df0491d7b668fbc881d +size 900 diff --git a/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp new file mode 100644 index 00000000..e5d448d9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:279827a5f2e8359cc5d6e044924770a0436f966f8925578ad534dafd1b8d51e8 +size 18879 diff --git a/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp new file mode 100644 index 00000000..6be85a3e --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87bd3f729c0ff1f8326bbf5b54fb54695043c1e347a3200a76db343c060ce3f1 +size 18082 diff --git a/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_state.hpp b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_state.hpp new file mode 100644 index 00000000..68ada5f5 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/openmp/openmp_state.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd2f19077d3f9195f0a3b2dfe4f6abcfeb13c6297d8b9fd43e8339c69d0a8164 +size 5204 diff --git a/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust.hpp b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust.hpp new file mode 100644 index 00000000..3e40f14f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30f340555a79c91d64f27c0f5a684712bf6c6aed0850a8fd5d06687ca50f82ed +size 937 diff --git a/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp new file mode 100644 index 00000000..2bec98cd --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:715a6aeda5e34e33aa5808ff0fa002d85cfd5eda8b2f96b7a0a3fc8319646e8c +size 8129 diff --git a/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp new file mode 100644 index 00000000..5b173cd6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39af530b2e705c6083b993daaafdd4451f9cf801fff766bf63d7e95d618fd1f0 +size 2857 diff --git a/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp new file mode 100644 index 00000000..38faf4d1 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8101d99b174476160455f7f6dab4fedb0672fa8bab628aabec29cc8a63c44e72 +size 7441 diff --git a/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp new file mode 100644 index 00000000..055ac926 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4686123710ebf9342e3b8265becd8cffc2bc73f5ef7801694dfe37b8341d35c +size 2934 diff --git a/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp new file mode 100644 index 00000000..64d62cb6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a862846c1539a6d8cdc337d111d213e1007bfde15edd35fcded296de2b5ee8e +size 8486 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl.hpp new file mode 100644 index 00000000..fc529c75 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4ada58e89f35ae05fe9ac329fbebd2a0cc21e2756ebae6172345079414ba56a +size 985 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp new file mode 100644 index 00000000..9f9841eb --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfadd4df9e5769503f3425a5899cc47f39b9edf90cf9dd85eed213f03ebd4fe7 +size 1575 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp new file mode 100644 index 00000000..0a11cfc2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28e2496837a790b3dd179e51ac6fb3dbffcd51c582c99a7cc81a0e4c1376a976 +size 1305 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp new file mode 100644 index 00000000..3bf55231 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ece95ffc9eda31bf679a7f2ab1f2817146820d1b063d4b5f7a72ec640c8fe8d0 +size 1269 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp new file mode 100644 index 00000000..21047d65 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54d0fb5da18581c96e12dea143dc49553cc520e4f6b0710641bae60c1ac6d347 +size 1749 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp new file mode 100644 index 00000000..3f6f3894 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b7292e98ecea62aa3165df8ea0b2609d768239fa9fb7158e08d594f9a5a0596 +size 2274 diff --git a/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp new file mode 100644 index 00000000..efb00c78 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57de932e29462a55c540d505ac4f091b5441313d8eb5ae7f4b434707a2424986 +size 1562 diff --git a/ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp b/ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp new file mode 100644 index 00000000..c818209c --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da35cb1f01a1adf9d7fac8a2020b700d04ac11b1dcb9848b2a5630963ae471bd +size 7774 diff --git a/ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp b/ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp new file mode 100644 index 00000000..17d81c1f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c6e88b6234fef0beaa9ab9bc7da05769a006161719ba96825585ce80952975a +size 1586 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/check_adapter.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/check_adapter.hpp new file mode 100644 index 00000000..cad75532 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/check_adapter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:771fba6f1e79cd5bddcce801e528f7f99210190b9edb54274264c0878ed14eab +size 5875 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/detail/functors.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/detail/functors.hpp new file mode 100644 index 00000000..ae22848a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/detail/functors.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3aac0e729941fbc47bc897858236eabbed0429545698626b86ab79451ee43614 +size 1712 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp new file mode 100644 index 00000000..c345ae21 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6304c96e87dbbcf9046a5200f7516fb776b46689841a72299ded690a4c9cd316 +size 5355 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp new file mode 100644 index 00000000..235eeae5 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38aa0fbc0aa952e9860fc0c7466662f9ea07642df19ee3a475c0590fcf607849 +size 5880 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp new file mode 100644 index 00000000..a3c8c4c2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8069d0965b5720f58b487d6c682571392730b244feab71bdd666f94c28101fb +size 5817 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp new file mode 100644 index 00000000..9b7fb0ac --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05cc5285b1a0d5dc8d0ce45d0580d7e484cc692b703f709d6fb3995be803eff2 +size 5923 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/integrate.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/integrate.hpp new file mode 100644 index 00000000..d8c35f2c --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/integrate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15c3811c5fac8fa64d7b9fbde02c648351ebe5098def1c72c73906cf383e4bd3 +size 4991 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp new file mode 100644 index 00000000..3989808f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74107928f15882fee2cc9a73ff6fa600f8f8d0ed682ce5c4fccefd9cd0dd709d +size 4574 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/integrate_const.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_const.hpp new file mode 100644 index 00000000..26d5f287 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db76262aa4a99358f681af7fd76aa82669f89b139b7c5b373268e73ceba2983e +size 7908 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp new file mode 100644 index 00000000..031ddea2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3031c1ba9ceddbf1b90717c49c2103cdbe515db707af7346fe691c8efb89744d +size 7235 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/integrate_times.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_times.hpp new file mode 100644 index 00000000..e8bb2c53 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/integrate_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:502234c8fc52e5786c767255a0bf7b77b69e8065878c21f7654fbd459b22d862 +size 9077 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/max_step_checker.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/max_step_checker.hpp new file mode 100644 index 00000000..fa703cf0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/max_step_checker.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:027caeb3c65b416d19c98f6ce4709dfc74fc9766b257f121a688278f247926c9 +size 2853 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/null_observer.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/null_observer.hpp new file mode 100644 index 00000000..33f372ea --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/null_observer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e532ae740b97809d77ac7eda46d62d0554fa7cbd0ff458205a1162b05df442a8 +size 829 diff --git a/ThirdParty/include/boost/numeric/odeint/integrate/observer_collection.hpp b/ThirdParty/include/boost/numeric/odeint/integrate/observer_collection.hpp new file mode 100644 index 00000000..97d9bb22 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/integrate/observer_collection.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce00dcf23b03417f7cdc7a8bcab17e383cba6158df3aa13ae9c2d65753b4b924 +size 1375 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/adaptive_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/adaptive_iterator.hpp new file mode 100644 index 00000000..0bc4f089 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/adaptive_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a69fd969cad0b229536f9fbd4b97d9d1fb7f4117e83c96402d6748fb02f0a3c +size 6873 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp new file mode 100644 index 00000000..ead1c221 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2eaa871c0400a8e5b3809a7890969db7a9f2f4cd53575a70efeb5f82caf0ccd +size 7177 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/const_step_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/const_step_iterator.hpp new file mode 100644 index 00000000..6505f690 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/const_step_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abfb88a3d9f1a0cb31a7ce8f2e78decd10edbfe16090971dcc1aea748827fed2 +size 7202 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/const_step_time_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/const_step_time_iterator.hpp new file mode 100644 index 00000000..2f3792d2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/const_step_time_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44e7ae7b7645523baef039b25c2dc3b76cca06a9b6db40c99c7cb4012d2edaa4 +size 7268 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp new file mode 100644 index 00000000..d8b379ec --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0ae7c84d13781bde1353aa87d6e69fd7b32921b90d618c60dad862e65234f45 +size 5976 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp new file mode 100644 index 00000000..da3c2fa6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41e306b4c28aba5066a1907a2c33398343413349a76b58d75208caf1d996db2c +size 10029 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp new file mode 100644 index 00000000..a98a866c --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58e444f436d966618b8de76a453fb9614e62de1baac4c4b11d9e754f9dd29e16 +size 8877 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp new file mode 100644 index 00000000..5169eddd --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67fa3c9dfb890058e6da151d4f0e222e23d7ba1a140491975c502afe405fde82 +size 9059 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp new file mode 100644 index 00000000..2d289a61 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b01b199d15ed6211c7e66d27c01a79f9944bfceda2e4d13655ef589b62b17be +size 14488 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/functors.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/functors.hpp new file mode 100644 index 00000000..ae22848a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/functors.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3aac0e729941fbc47bc897858236eabbed0429545698626b86ab79451ee43614 +size 1712 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp new file mode 100644 index 00000000..5b0d1e63 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:595cc519b5699aac21560d88f2a0f612037432fed1a85652222ff33aab4fe1f4 +size 3950 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp new file mode 100644 index 00000000..5f14fa40 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc849ef642a40a8feb0cbc4ee1bdb06ffec82ef6d77f6c02f3a99ab930e6f894 +size 3815 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp new file mode 100644 index 00000000..2896426e --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb2ce6626773d9ec85d04249a4be602ec9b1a54924d7ed9bc22a7a89b1fd733b +size 3892 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp new file mode 100644 index 00000000..8d6c39a6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e600964c3f24515602d612f94095daf53ecb843fbefd31b03b3387351a1b9730 +size 2018 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate.hpp new file mode 100644 index 00000000..4169a1f7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc118e53be6e3c4a7d29eea5b6cd4ed149ec5269491b547d0533bcfeb7e05403 +size 3934 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp new file mode 100644 index 00000000..b4a1b53a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2496b38fe422c3580c0e3b0ab79f76e1cef2008e961766472607ace695334fba +size 4592 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_const.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_const.hpp new file mode 100644 index 00000000..68699254 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:218a461697110af8c53f848d72ca8feda06da97d8d8f13528e720e78bdd3b064 +size 5438 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp new file mode 100644 index 00000000..55cbd9ef --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcc1d75efa8574012834fea6bbc1e64d97dd31cb1b9ad856f12efdb4327e7c7a +size 4688 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_times.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_times.hpp new file mode 100644 index 00000000..91bd04f4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/integrate_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6f7533cf4ec39d37f64b41e633f092cc0e917087fa4c746bba9b026b1daaf81 +size 4926 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/null_observer.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/null_observer.hpp new file mode 100644 index 00000000..46861272 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/null_observer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85dcf174a498291542a5cba57d7b3cf177882bb6d7d69d7618928168cd9521d6 +size 829 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/integrate/observer_collection.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/observer_collection.hpp new file mode 100644 index 00000000..5b0c80c5 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/integrate/observer_collection.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6579fee0fbfcc9c705c080deb3712ecf0e362985ef302be3342708189af66473 +size 1375 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/n_step_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/n_step_iterator.hpp new file mode 100644 index 00000000..9a06a4f7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/n_step_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a506af6e1bf32baffaa768fd0524eac1e96ca32d0763c97423a5f6dd81ee0b +size 6747 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/n_step_time_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/n_step_time_iterator.hpp new file mode 100644 index 00000000..6b227562 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/n_step_time_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57bacd367bccecf1ecce17c4b47bc5daf693ac8e11250249eb91b72b81477015 +size 6901 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/times_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/times_iterator.hpp new file mode 100644 index 00000000..17a621dc --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/times_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:400a93597920a00e6d681895d0a385f030cc5351fffe968fa7182d3a31f1030a +size 7762 diff --git a/ThirdParty/include/boost/numeric/odeint/iterator/times_time_iterator.hpp b/ThirdParty/include/boost/numeric/odeint/iterator/times_time_iterator.hpp new file mode 100644 index 00000000..2cb2b891 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/iterator/times_time_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f487f4a99bbcc479da2ace9f186d1fb0185aa197dfbb2c30b97c2a8e21a0960 +size 7963 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth.hpp new file mode 100644 index 00000000..a36741ce --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef8993fa2ac1b1f1cf63b54affa37e6172ff1c11a3d36a5799bff35606cb6b79 +size 15264 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp new file mode 100644 index 00000000..0f6e2a3d --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:362d3e456d849256a0593cb1bb63d75a63af4074b87a5df49bf21e7e0607efd4 +size 12015 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/adams_moulton.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/adams_moulton.hpp new file mode 100644 index 00000000..ecaf08b3 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/adams_moulton.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26a5b5e65056c134daf1e54016a81160725cb74351d2c2ab2ea471cbeea7759c +size 6112 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp new file mode 100644 index 00000000..d553b8fd --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b34ed52220e87e00d76259de73ab82bad2f4ad9ad54af41f75198e190da354 +size 2518 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp new file mode 100644 index 00000000..35ed1a55 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bc7b056749e32cdd7fea59676ba3cf865739f7d224bcd29d9ca475730075c72 +size 25420 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp new file mode 100644 index 00000000..bdb91330 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50ae3bb3ba3bb6dca84a29268dbb65cabee321b0ff877c2d651207d7f733c740 +size 29224 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp new file mode 100644 index 00000000..e3c6a7a9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca599775fe213ceeb87c09fde6b1e37fe8608eca76ccd3139848adf9a60d29e0 +size 16425 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp new file mode 100644 index 00000000..e2e0f92a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:496fd86ffb265e5d73cd9ef06e4aea03cdcc8d80870935ee348f8af62ddd7475 +size 19778 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer.hpp new file mode 100644 index 00000000..8b1f55e2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a13093404515b2a56e6ad23491ec12ac3e3c183548625ba779d4d8701c9bebd +size 26189 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp new file mode 100644 index 00000000..1787c01a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd0d478dad6f54ea97bfb4e6bd046b87194fedf828c33af7dcf01a97b058b97d +size 33846 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp new file mode 100644 index 00000000..5e2bae97 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c418dbee15b16d6ffc365031beccde6c0300a041c943711bdbb8ec24aabe4e1 +size 38000 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/controlled_step_result.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/controlled_step_result.hpp new file mode 100644 index 00000000..118f12ce --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/controlled_step_result.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe94953d9fb2aeb1876209597c5ab20af64cda5951e7fe0a59fcd632fa0dfb6 +size 1092 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp new file mode 100644 index 00000000..cbb73ae5 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc0352f0c8ee158daee4f035bad8824a4539955736376a68f924554411d5001 +size 14591 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp new file mode 100644 index 00000000..a0589d8b --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27e9993d88a3b0f660cef0274b15c4d2bb954733469e79ae5ca467e69e19e18f +size 6920 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp new file mode 100644 index 00000000..94fb6048 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fa13aa6cc20b37394bc6c9ffd4e6614b7d8ba553087ed437dfb7a5959d2eb1c +size 5537 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp new file mode 100644 index 00000000..f8dbca37 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9681316a0c2a592ce774eedb3211277ca7e009d5ab2b9abe39534749ef76c437 +size 6984 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp new file mode 100644 index 00000000..93559312 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:733343a75ca10f65eb8e2f3ac96c427810083e5a23371a86091bca6e2be60b48 +size 5441 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp new file mode 100644 index 00000000..5278f625 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9391a270930dc2c2394bb8a325d603dede93260919ecc007ab849e0488d379fa +size 8266 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp new file mode 100644 index 00000000..c42d3cbd --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d9f6065bc2959d21cb09f393ee9c5dfd2cc33679957e52a27b043c806ae26e8 +size 10521 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp new file mode 100644 index 00000000..774ee20e --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa84ddfc909e06a60e8d1a44a1c289022e0781f10000b9dc2c6c24b92b4f14e0 +size 9799 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp new file mode 100644 index 00000000..41088acc --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70313a6cdceccddde2317e3cd109e83a06d70748cb11157c9c201b09eaf74196 +size 1534 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/euler.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/euler.hpp new file mode 100644 index 00000000..046b1630 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/euler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76c4bce7e28ac05d3f4874edc41c3f277ba360108442a0075635a7d2a8eb7e37 +size 6587 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp new file mode 100644 index 00000000..d8ed1abe --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a84a0f68073022f76a5e83e827b06448c2a4800f9c39d4b15bf8f06fee34fa9 +size 10708 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp new file mode 100644 index 00000000..3df34d12 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe1ea8f3f96d104c860a4334ee60883f406d466c1562764fbac2675cab86e23a +size 8491 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/extrapolation_stepper.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/extrapolation_stepper.hpp new file mode 100644 index 00000000..3fe7c51a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/extrapolation_stepper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4105036f103879dbfeefc2abba436485c69eaa9695b3272fbcf8a09d093dd11b +size 11155 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation.hpp new file mode 100644 index 00000000..21d6ff7c --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9a24f7f38057ec04f0927fbf949b5de709a0b1069116304b760b41155bbc931 +size 1376 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp new file mode 100644 index 00000000..184858d8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c45704bbe69713d451f8fd8aec96f648a371b3d77c0d32a56788783821fe0756 +size 2088 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp new file mode 100644 index 00000000..3c8da9c8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06c5e3dfdcca82a21bbe9dd56ada2f17b690ae0b5ab2a917c7a2728c6928cb69 +size 2360 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp new file mode 100644 index 00000000..a11a6883 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b1de04cdf8bccf42f8979b3dd8f8734e866f6793c62c29a590ddcd346f15ed0 +size 2570 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp new file mode 100644 index 00000000..da3f48d3 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58bdaae7ce317c9a8e9b500c7cadfbbf7ef4a452cdc567ecec24cff4ed9d49f0 +size 1523 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp new file mode 100644 index 00000000..cafba8dc --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f21478d6759463a12d4920ffb87c4f0e549cbfb56e9acba7ebe5ca946b1ad2b +size 1614 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp new file mode 100644 index 00000000..42e93d7c --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee65612b21fbc3bfd322d2d3d5ab11ee34db9be1432635bb66ac986721fd4bff +size 2056 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp new file mode 100644 index 00000000..ae19104a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e70ba81d35c459e797f924be4ffab0f006055935d95669aee250c82a67d5063 +size 1468 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp new file mode 100644 index 00000000..f0c8f4f7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c93a85a046ce93d21a93ab330ee53925bc136823d16a1abe78fbec1efacc3beb +size 2791 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp new file mode 100644 index 00000000..28da2270 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c95666d453cd810baf5ac99a242399179e217935d13e259f21b3869d2befceeb +size 2838 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/implicit_euler.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/implicit_euler.hpp new file mode 100644 index 00000000..a178262e --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/implicit_euler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b705728420ab54b339708c6fe0e3aaea0e92c04bbd0d63525bb3582423053878 +size 5236 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/modified_midpoint.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/modified_midpoint.hpp new file mode 100644 index 00000000..bc5e5ab8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/modified_midpoint.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b07268dbe099da1d91420b29df6fb2b00844ccca002b5da11ed0218a800e71db +size 10566 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4.hpp new file mode 100644 index 00000000..03c014d9 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db74ad85477f90c69791b3aa31488dde537c4c3e4318bbe30eae47f98d51fa91 +size 14602 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp new file mode 100644 index 00000000..129436e8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e80f5e56131ab26eede27e63ebbab23396efbceffb97d2528a84e0be5328be72 +size 7288 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp new file mode 100644 index 00000000..5863b7f6 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3b8bf70b8f363796e515dd1a4ae56e864b8c49035f5555e1e3ea4faf9977b7a +size 5232 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4.hpp new file mode 100644 index 00000000..d9ca84af --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f253ca3b2a5df5e6cd295a562d3836ee4a2e6ad0a15df894d6187ec3f2306bc2 +size 5860 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp new file mode 100644 index 00000000..b5ed2e01 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2507761eb14fa20651e6ca5715463d23198b4a14864d0998b4fdac03e10d2dcc +size 9255 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp new file mode 100644 index 00000000..86f9edce --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dc95951a6472269f20a652ef6e25d4e25af4cb4f05e2a058ed8c0ffb41ead06 +size 8676 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp new file mode 100644 index 00000000..c24b73a5 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4dabc98f804d1d46e9563cf2ccd7bb78cdf5b9d31a8501b72ff7df09f57bd5a +size 14318 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp new file mode 100644 index 00000000..d3d44fae --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5934e015c0ee4ff8d8a52418bd04b314e077d0ab2e30a1aa93a4ee0f5c8579d7 +size 21484 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp new file mode 100644 index 00000000..ca4a9220 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27025f7427fb55c7f013bb7cbffa59c1cbfa229351e400b87866a5742c8ae170 +size 15005 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/stepper_categories.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/stepper_categories.hpp new file mode 100644 index 00000000..080ff90b --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/stepper_categories.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:232abf2a2325b5c85b6fb33ca84ae510db5e186b85cce99d05425282881a4b08 +size 2162 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_euler.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_euler.hpp new file mode 100644 index 00000000..32b4927f --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_euler.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f19c32b2ab33f082b0ee099e45ad3b27e207ba5a9f6346629921e938f48e8c2 +size 3937 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp new file mode 100644 index 00000000..8d6bbc36 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d4015a3e9b3e5499c0821308fecf04211f91e39b6db152972d0d9c16e13adf1 +size 5120 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp new file mode 100644 index 00000000..e83611a7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88f816c4626f44937cd67ee9da83fb50adad769e55621b6f3c3436fa14fa8efb +size 5389 diff --git a/ThirdParty/include/boost/numeric/odeint/stepper/velocity_verlet.hpp b/ThirdParty/include/boost/numeric/odeint/stepper/velocity_verlet.hpp new file mode 100644 index 00000000..fa9df314 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/stepper/velocity_verlet.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fddeaf351960a0cdaa69f5f2b90e48520ea5dd4924360509e42b64d5e8cf56de +size 13544 diff --git a/ThirdParty/include/boost/numeric/odeint/util/bind.hpp b/ThirdParty/include/boost/numeric/odeint/util/bind.hpp new file mode 100644 index 00000000..9b9e52ba --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/bind.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61a537e10a0833e6b0dda3eae8ae2d2ff680c389d71e4b889cea2b6f1876780f +size 1710 diff --git a/ThirdParty/include/boost/numeric/odeint/util/copy.hpp b/ThirdParty/include/boost/numeric/odeint/util/copy.hpp new file mode 100644 index 00000000..ca5c15a8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/copy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a68525bb5c10982d4bad446c065bf46fc4558fc5fe61062f3806426bc1513b9 +size 2158 diff --git a/ThirdParty/include/boost/numeric/odeint/util/detail/is_range.hpp b/ThirdParty/include/boost/numeric/odeint/util/detail/is_range.hpp new file mode 100644 index 00000000..2795a243 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/detail/is_range.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95429194536b13e52cf4842b6c4a5dee6c2df12e18d6d0c32545bfcc739fc387 +size 2712 diff --git a/ThirdParty/include/boost/numeric/odeint/util/detail/less_with_sign.hpp b/ThirdParty/include/boost/numeric/odeint/util/detail/less_with_sign.hpp new file mode 100644 index 00000000..1ae7e3da --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/detail/less_with_sign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b49006f4fa414c223d6274d9650d6b7715e1807af181369e07c459023d645a16 +size 1951 diff --git a/ThirdParty/include/boost/numeric/odeint/util/is_pair.hpp b/ThirdParty/include/boost/numeric/odeint/util/is_pair.hpp new file mode 100644 index 00000000..47ce0404 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/is_pair.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6c2ab5661990eb19e0355a3f1e486a6109a04ed8967291a5aeaa0f4bafc650f +size 895 diff --git a/ThirdParty/include/boost/numeric/odeint/util/is_resizeable.hpp b/ThirdParty/include/boost/numeric/odeint/util/is_resizeable.hpp new file mode 100644 index 00000000..254069b1 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/is_resizeable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f6290d8142a8539be292bbaf5c04fd4cc102d9c61bc3d182560750a834c18bb +size 2102 diff --git a/ThirdParty/include/boost/numeric/odeint/util/multi_array_adaption.hpp b/ThirdParty/include/boost/numeric/odeint/util/multi_array_adaption.hpp new file mode 100644 index 00000000..9bbb4c54 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/multi_array_adaption.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1d643566db5a8a6dc10317498e16b4671014e327fc7b1a1f4bec151352772e8 +size 3493 diff --git a/ThirdParty/include/boost/numeric/odeint/util/n_ary_helper.hpp b/ThirdParty/include/boost/numeric/odeint/util/n_ary_helper.hpp new file mode 100644 index 00000000..fbf07f84 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/n_ary_helper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb012a399bb91dabf748afe9c7a629e533bb7e3131339f300a28a1cc1736fc0e +size 4077 diff --git a/ThirdParty/include/boost/numeric/odeint/util/odeint_error.hpp b/ThirdParty/include/boost/numeric/odeint/util/odeint_error.hpp new file mode 100644 index 00000000..2f5840e2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/odeint_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a57608c3d1cea7d18ab8a77d23efa5e94b2bf4f759c2826f7df541ae11576dc +size 1536 diff --git a/ThirdParty/include/boost/numeric/odeint/util/resize.hpp b/ThirdParty/include/boost/numeric/odeint/util/resize.hpp new file mode 100644 index 00000000..72d3d39d --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/resize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c305504620ee05d770cf783d27c614bec3f9f6392d4c183996a72a24fcb7c52 +size 3079 diff --git a/ThirdParty/include/boost/numeric/odeint/util/resizer.hpp b/ThirdParty/include/boost/numeric/odeint/util/resizer.hpp new file mode 100644 index 00000000..cca2f829 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/resizer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e07c6c8576bd8d763fe00c1b5605514aa21678a4c49accdc526f123be53e911e +size 1941 diff --git a/ThirdParty/include/boost/numeric/odeint/util/same_instance.hpp b/ThirdParty/include/boost/numeric/odeint/util/same_instance.hpp new file mode 100644 index 00000000..fef55ec4 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/same_instance.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:277c3223704b4c6de8c8c783b4963d2b02c3d3020f401f020a0b4eb2cba12037 +size 1172 diff --git a/ThirdParty/include/boost/numeric/odeint/util/same_size.hpp b/ThirdParty/include/boost/numeric/odeint/util/same_size.hpp new file mode 100644 index 00000000..e22d1894 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/same_size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11ba4af7d6487e0fc02fade96e5922e7dfba56b37e73ac29057e572053b29165 +size 3066 diff --git a/ThirdParty/include/boost/numeric/odeint/util/split.hpp b/ThirdParty/include/boost/numeric/odeint/util/split.hpp new file mode 100644 index 00000000..cd830ebb --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/split.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46004fec22a7fd08618b3c773a04f5956bf8200c6b0dfe353f152b29237baa1c +size 1473 diff --git a/ThirdParty/include/boost/numeric/odeint/util/split_adaptor.hpp b/ThirdParty/include/boost/numeric/odeint/util/split_adaptor.hpp new file mode 100644 index 00000000..5bf02a67 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/split_adaptor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74d72bf92701c88b2cc7a994a4cc89cb00d867c4d1cfe77d74463daf8f251d6 +size 3101 diff --git a/ThirdParty/include/boost/numeric/odeint/util/state_wrapper.hpp b/ThirdParty/include/boost/numeric/odeint/util/state_wrapper.hpp new file mode 100644 index 00000000..4ebd75a2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/state_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df39023a505afdd600a2658abc64cb03c7d6ec392f03c1760eb67374c64964a8 +size 1098 diff --git a/ThirdParty/include/boost/numeric/odeint/util/stepper_traits.hpp b/ThirdParty/include/boost/numeric/odeint/util/stepper_traits.hpp new file mode 100644 index 00000000..1b36b09a --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/stepper_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c916ee872df5e09e06e76801cdac38af3b4a49d07a1e80d2865beb092babe3e +size 1546 diff --git a/ThirdParty/include/boost/numeric/odeint/util/ublas_matrix_expression.patch b/ThirdParty/include/boost/numeric/odeint/util/ublas_matrix_expression.patch new file mode 100644 index 00000000..8feb1a07 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/ublas_matrix_expression.patch @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:823024f8c468778fd57d7e6bc7a462779988ddf42057f3a50b7c31560f060c67 +size 388 diff --git a/ThirdParty/include/boost/numeric/odeint/util/ublas_wrapper.hpp b/ThirdParty/include/boost/numeric/odeint/util/ublas_wrapper.hpp new file mode 100644 index 00000000..5fe29c35 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/ublas_wrapper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2605950e1cb4f8eb57b594dc7b52afaf8d45550d4aafce5800faff722d60bd14 +size 9889 diff --git a/ThirdParty/include/boost/numeric/odeint/util/unit_helper.hpp b/ThirdParty/include/boost/numeric/odeint/util/unit_helper.hpp new file mode 100644 index 00000000..37dee682 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/unit_helper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:796ecc239916033c50bc478fbc5cea246cceaf680ef8d4e6bfb371b68613f314 +size 3209 diff --git a/ThirdParty/include/boost/numeric/odeint/util/unwrap_reference.hpp b/ThirdParty/include/boost/numeric/odeint/util/unwrap_reference.hpp new file mode 100644 index 00000000..7891be03 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/util/unwrap_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5535569a2df82bb794bed607dd44d0b547b698bd721ee6c80a05cd5f06282089 +size 2442 diff --git a/ThirdParty/include/boost/numeric/odeint/version.hpp b/ThirdParty/include/boost/numeric/odeint/version.hpp new file mode 100644 index 00000000..518edc08 --- /dev/null +++ b/ThirdParty/include/boost/numeric/odeint/version.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dc9e5476c6ac92a08230443da2da513550c3562cce4600f152493e3d8a32bd4 +size 1207 diff --git a/ThirdParty/include/boost/numeric/ublas/assignment.hpp b/ThirdParty/include/boost/numeric/ublas/assignment.hpp new file mode 100644 index 00000000..fd545210 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/assignment.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dbc7d57cf2baa18ca724b71cf9cba735b4f2bce919ea0d94d22b4c4cbe54847 +size 35347 diff --git a/ThirdParty/include/boost/numeric/ublas/banded.hpp b/ThirdParty/include/boost/numeric/ublas/banded.hpp new file mode 100644 index 00000000..e9074b81 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/banded.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa35be788799f9f4a94159f67c15f2aa1d0169883e66f1ac1d4a01c5f80dd8e1 +size 86847 diff --git a/ThirdParty/include/boost/numeric/ublas/blas.hpp b/ThirdParty/include/boost/numeric/ublas/blas.hpp new file mode 100644 index 00000000..ba6309ef --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/blas.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6228c85db99c8a40ccbc7ce0504c4ba315185db2f8f35c3b7f4a587dfd21d698 +size 18132 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/concepts.hpp b/ThirdParty/include/boost/numeric/ublas/detail/concepts.hpp new file mode 100644 index 00000000..970c5036 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/concepts.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b047e204e080cc46e73b4353129b34cb3c4108dd471ff5b64ed1941e2fbbad99 +size 73824 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/config.hpp b/ThirdParty/include/boost/numeric/ublas/detail/config.hpp new file mode 100644 index 00000000..1a7bc090 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd31c3427ed9dc1a4558aee939c39bfd75f3875b3778510a505f3845e04cacc +size 8016 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/definitions.hpp b/ThirdParty/include/boost/numeric/ublas/detail/definitions.hpp new file mode 100644 index 00000000..1ce1e539 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/definitions.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a7ee1ac2751dcdeef0e03ecd7d034409ae073ddc717821d7af18c37c2805f99 +size 6508 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/documentation.hpp b/ThirdParty/include/boost/numeric/ublas/detail/documentation.hpp new file mode 100644 index 00000000..7a50515e --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/documentation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05673f4a0c57d79d577dc52b01ed1a2a74c13222cd912a95fa1cb253f59b6c66 +size 883 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/duff.hpp b/ThirdParty/include/boost/numeric/ublas/detail/duff.hpp new file mode 100644 index 00000000..3f8616f2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/duff.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97fe2ec666aef1c1c8bbd12f8db338a9ba881a42ba16ba2c88d68ed1707c0c0b +size 1378 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/iterator.hpp b/ThirdParty/include/boost/numeric/ublas/detail/iterator.hpp new file mode 100644 index 00000000..a1fa075d --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f52e176fd0cb4d0aa9f028cb2466bfaf27e3a73887c3fd39833d15ac45a56e6 +size 50340 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/matrix_assign.hpp b/ThirdParty/include/boost/numeric/ublas/detail/matrix_assign.hpp new file mode 100644 index 00000000..2f8d5e27 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/matrix_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:036c0bce7895847f0bf97c17a8cfc252d877e7d89aaa6138e6ef296543d6f0b3 +size 78675 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/raw.hpp b/ThirdParty/include/boost/numeric/ublas/detail/raw.hpp new file mode 100644 index 00000000..0b04a431 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/raw.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73d411a7bf7c62bef0d64b8d0d90fb49789e0ae23b25ced284aa1d39a917a2e0 +size 30299 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/returntype_deduction.hpp b/ThirdParty/include/boost/numeric/ublas/detail/returntype_deduction.hpp new file mode 100644 index 00000000..6ceb45b3 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/returntype_deduction.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c499eb56bd60c8f3b6ac3e75ba6870c0c698793a51d4f8061fc80bd504921f24 +size 4776 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/temporary.hpp b/ThirdParty/include/boost/numeric/ublas/detail/temporary.hpp new file mode 100644 index 00000000..0e82ddce --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/temporary.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f19f730633e4b61d9baca58e5d26557121eec6e9963d1a67312fc648a22cdd1 +size 829 diff --git a/ThirdParty/include/boost/numeric/ublas/detail/vector_assign.hpp b/ThirdParty/include/boost/numeric/ublas/detail/vector_assign.hpp new file mode 100644 index 00000000..d3818b77 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/detail/vector_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:386fcbcf23d67375659cb6ea81224f1be6d1872029bfef2e20b6bc4be520aa49 +size 23992 diff --git a/ThirdParty/include/boost/numeric/ublas/doxydoc.hpp b/ThirdParty/include/boost/numeric/ublas/doxydoc.hpp new file mode 100644 index 00000000..7038d06d --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/doxydoc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdddd5957fa9fc1ff82ef826819263d65abe8d1f3eb299a946d6d0e56f271656 +size 4087 diff --git a/ThirdParty/include/boost/numeric/ublas/exception.hpp b/ThirdParty/include/boost/numeric/ublas/exception.hpp new file mode 100644 index 00000000..3fb3353e --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4be5c03d7bf8a97ad0282d9911ef43295dc53ec382facd6a384554a7ec8c0b24 +size 8822 diff --git a/ThirdParty/include/boost/numeric/ublas/experimental/sparse_view.hpp b/ThirdParty/include/boost/numeric/ublas/experimental/sparse_view.hpp new file mode 100644 index 00000000..b97aa331 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/experimental/sparse_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3db08c7e81a025ef2d2ec50a7494b80f7897e5c9d06d94411cbe54181adb036 +size 10452 diff --git a/ThirdParty/include/boost/numeric/ublas/expression_types.hpp b/ThirdParty/include/boost/numeric/ublas/expression_types.hpp new file mode 100644 index 00000000..3e11bb06 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/expression_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d5c564166a7a29f796f6fac42f07cfa839c5a50094b7fca55b583735ac0985d +size 18467 diff --git a/ThirdParty/include/boost/numeric/ublas/functional.hpp b/ThirdParty/include/boost/numeric/ublas/functional.hpp new file mode 100644 index 00000000..f0f04d21 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/functional.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c08d9d81604ee32a101dac1f19286b92591b10ae101f5c4f8be5bd1a8871145d +size 79106 diff --git a/ThirdParty/include/boost/numeric/ublas/fwd.hpp b/ThirdParty/include/boost/numeric/ublas/fwd.hpp new file mode 100644 index 00000000..c4de5370 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fab1208c8cb104ef66c8016e4114df2ebee0ac94353bce98b5fffb73e28c2ae9 +size 7215 diff --git a/ThirdParty/include/boost/numeric/ublas/hermitian.hpp b/ThirdParty/include/boost/numeric/ublas/hermitian.hpp new file mode 100644 index 00000000..75765cdd --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/hermitian.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c1fb30fe38c90ca41754313d5560e943c9ad821cac0fff529e2dca404e9cf7f +size 102000 diff --git a/ThirdParty/include/boost/numeric/ublas/io.hpp b/ThirdParty/include/boost/numeric/ublas/io.hpp new file mode 100644 index 00000000..23edb019 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:677892585c3090751b51021554b9bed61c3cfb27a723c67217d4d733873df2f9 +size 13687 diff --git a/ThirdParty/include/boost/numeric/ublas/lu.hpp b/ThirdParty/include/boost/numeric/ublas/lu.hpp new file mode 100644 index 00000000..c05a1c1c --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/lu.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc96eb0492cf2655c424fe6679a431c83cd9051a6c5b91c211d47524443db16f +size 14044 diff --git a/ThirdParty/include/boost/numeric/ublas/matrix.hpp b/ThirdParty/include/boost/numeric/ublas/matrix.hpp new file mode 100644 index 00000000..6b1c72cb --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/matrix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4135ddb03ba7dba2b1de6165892c4d8f892531ab160dfdb702dc4942c05edec1 +size 215236 diff --git a/ThirdParty/include/boost/numeric/ublas/matrix_expression.hpp b/ThirdParty/include/boost/numeric/ublas/matrix_expression.hpp new file mode 100644 index 00000000..3e8bdaf0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/matrix_expression.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:668a5d096df65fa1cfdd38b4ddfd3360167598e38ddba8fadd4f399d09f1f0a1 +size 213106 diff --git a/ThirdParty/include/boost/numeric/ublas/matrix_proxy.hpp b/ThirdParty/include/boost/numeric/ublas/matrix_proxy.hpp new file mode 100644 index 00000000..6c780079 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/matrix_proxy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:997506036c3a994a994a360b4c5905b32107597193ab00977e479d88af69849d +size 201494 diff --git a/ThirdParty/include/boost/numeric/ublas/matrix_sparse.hpp b/ThirdParty/include/boost/numeric/ublas/matrix_sparse.hpp new file mode 100644 index 00000000..eb193f1d --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/matrix_sparse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81d2a98434edf4588b2d8c650eb31a3838702a5c227364fb2b34ecb7cea775de +size 231404 diff --git a/ThirdParty/include/boost/numeric/ublas/matrix_vector.hpp b/ThirdParty/include/boost/numeric/ublas/matrix_vector.hpp new file mode 100644 index 00000000..25fac61a --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/matrix_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f066e16553f03fadedcdabb64dee3eb5cf841cf9d67be1e99e36feecb0d9149e +size 10196 diff --git a/ThirdParty/include/boost/numeric/ublas/operation.hpp b/ThirdParty/include/boost/numeric/ublas/operation.hpp new file mode 100644 index 00000000..2a2e0bf3 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c78cd2d55db45e88de55f44f8a2353da061e5cf60e858a4854d876f8111eb532 +size 32110 diff --git a/ThirdParty/include/boost/numeric/ublas/operation/begin.hpp b/ThirdParty/include/boost/numeric/ublas/operation/begin.hpp new file mode 100644 index 00000000..b3ef4e0b --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation/begin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:255191c2a2758909b6a3d1514afffd47be9307685575d84666832432712fba69 +size 11390 diff --git a/ThirdParty/include/boost/numeric/ublas/operation/c_array.hpp b/ThirdParty/include/boost/numeric/ublas/operation/c_array.hpp new file mode 100644 index 00000000..e5fef051 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation/c_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e649c41e9dcd4783f167bb794bee88cf096fe6109a87cd058cab3bc4cc016ff +size 957 diff --git a/ThirdParty/include/boost/numeric/ublas/operation/end.hpp b/ThirdParty/include/boost/numeric/ublas/operation/end.hpp new file mode 100644 index 00000000..843b065e --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation/end.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ce5716c976fb0df0e9d7b1ab0fcb38cf8a5670c12c8d4e7591100d1e4516c31 +size 11290 diff --git a/ThirdParty/include/boost/numeric/ublas/operation/num_columns.hpp b/ThirdParty/include/boost/numeric/ublas/operation/num_columns.hpp new file mode 100644 index 00000000..638acae2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation/num_columns.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42a69fc73d51943b28f96b93964d2d5aa67c7e1cfbb850a6660e52d317ed3608 +size 1179 diff --git a/ThirdParty/include/boost/numeric/ublas/operation/num_rows.hpp b/ThirdParty/include/boost/numeric/ublas/operation/num_rows.hpp new file mode 100644 index 00000000..b9ae1b7d --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation/num_rows.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56e273a98238dbc38f645cd8ff134d29071b1681f63b15e1a42bc6a2a9424094 +size 1159 diff --git a/ThirdParty/include/boost/numeric/ublas/operation/size.hpp b/ThirdParty/include/boost/numeric/ublas/operation/size.hpp new file mode 100644 index 00000000..43fcf591 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1adda26e694ea765691788fc1943306d7a7b2c97a2cf2ce4fcae4ca1fc0d28b +size 10115 diff --git a/ThirdParty/include/boost/numeric/ublas/operation_blocked.hpp b/ThirdParty/include/boost/numeric/ublas/operation_blocked.hpp new file mode 100644 index 00000000..7db88119 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation_blocked.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e203bf160370f021e4d8a6578b56e0e4508e7b9385ebedbd39034a6b94aac78 +size 13813 diff --git a/ThirdParty/include/boost/numeric/ublas/operation_sparse.hpp b/ThirdParty/include/boost/numeric/ublas/operation_sparse.hpp new file mode 100644 index 00000000..e005b770 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operation_sparse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c2536879ead82a4191b75de8767455e997af42596c749f0843ca2aa5255db78 +size 8146 diff --git a/ThirdParty/include/boost/numeric/ublas/operations.hpp b/ThirdParty/include/boost/numeric/ublas/operations.hpp new file mode 100644 index 00000000..3029bbbb --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/operations.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c5cf5a9598ab9fd366c0ec9e396b37ed447bbe75aaca866bc7478f073ecfde +size 739 diff --git a/ThirdParty/include/boost/numeric/ublas/storage.hpp b/ThirdParty/include/boost/numeric/ublas/storage.hpp new file mode 100644 index 00000000..06c902d7 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/storage.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29ab5fe9d5555b0de700d0b6491f9d44f528ad4c1034def1afe67f735288cf75 +size 66511 diff --git a/ThirdParty/include/boost/numeric/ublas/storage_sparse.hpp b/ThirdParty/include/boost/numeric/ublas/storage_sparse.hpp new file mode 100644 index 00000000..5789592e --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/storage_sparse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e47802f4cdb31ece87d3f80667eac003788fcf0b47dcc675746354a4233fca75 +size 19863 diff --git a/ThirdParty/include/boost/numeric/ublas/symmetric.hpp b/ThirdParty/include/boost/numeric/ublas/symmetric.hpp new file mode 100644 index 00000000..0a571d7f --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/symmetric.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f0dcd06a477946306cf64137b23f003cb9ca24abd3aa3c4d2232a30c4eeadc2 +size 88183 diff --git a/ThirdParty/include/boost/numeric/ublas/tags.hpp b/ThirdParty/include/boost/numeric/ublas/tags.hpp new file mode 100644 index 00000000..4a950afa --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/tags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e55b7be0e07fbab584edb49fb0ab619b249a0ee400836a41f61d0ac8bfb84ee +size 731 diff --git a/ThirdParty/include/boost/numeric/ublas/traits.hpp b/ThirdParty/include/boost/numeric/ublas/traits.hpp new file mode 100644 index 00000000..840ac2f2 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f115a0c157065230b2aecf92c7f338830f9057d680585d67bee42eb0e086aa +size 25310 diff --git a/ThirdParty/include/boost/numeric/ublas/traits/c_array.hpp b/ThirdParty/include/boost/numeric/ublas/traits/c_array.hpp new file mode 100644 index 00000000..256101d8 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/traits/c_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4ab3e5a9fed5b86efffa1e0aef709bb223c16bbdd5ab66612effced70681ef5 +size 2838 diff --git a/ThirdParty/include/boost/numeric/ublas/traits/const_iterator_type.hpp b/ThirdParty/include/boost/numeric/ublas/traits/const_iterator_type.hpp new file mode 100644 index 00000000..a6ce9295 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/traits/const_iterator_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c17375fb4fd5216abc092f10aa5f57252e65a39d4712c3c91823ce65541abce1 +size 4269 diff --git a/ThirdParty/include/boost/numeric/ublas/traits/iterator_type.hpp b/ThirdParty/include/boost/numeric/ublas/traits/iterator_type.hpp new file mode 100644 index 00000000..8d7e780e --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/traits/iterator_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4df29c4e530b6e26fe3676ce3976a2226d44c4a4bbdd25b147aec744f0bc1302 +size 4046 diff --git a/ThirdParty/include/boost/numeric/ublas/triangular.hpp b/ThirdParty/include/boost/numeric/ublas/triangular.hpp new file mode 100644 index 00000000..b3584d83 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/triangular.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb7e492618ea19f1d3dabe4e3f466115ff68bbf2285d8b4e04bbc62b362aab6b +size 105304 diff --git a/ThirdParty/include/boost/numeric/ublas/vector.hpp b/ThirdParty/include/boost/numeric/ublas/vector.hpp new file mode 100644 index 00000000..2a52d500 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dba2891d0355fade2bd6f8a2f97b5ae47f043836fd7758a14e152b8859f5f243 +size 106031 diff --git a/ThirdParty/include/boost/numeric/ublas/vector_expression.hpp b/ThirdParty/include/boost/numeric/ublas/vector_expression.hpp new file mode 100644 index 00000000..cae4aaca --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/vector_expression.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21737a4527f1d1ba5893b28442fb0d72e3459eddbaaa292b7d4d4a2357c5da16 +size 65227 diff --git a/ThirdParty/include/boost/numeric/ublas/vector_of_vector.hpp b/ThirdParty/include/boost/numeric/ublas/vector_of_vector.hpp new file mode 100644 index 00000000..8b2eef4a --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/vector_of_vector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5be82ca485b8df942a956cefe8e18b4be5c963eceb72e587a6424cd7c1324fd7 +size 53270 diff --git a/ThirdParty/include/boost/numeric/ublas/vector_proxy.hpp b/ThirdParty/include/boost/numeric/ublas/vector_proxy.hpp new file mode 100644 index 00000000..2c4e2169 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/vector_proxy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a7e8e1926df94f5f6bd10814080da91a14f2e73f49ce7dfc7e290072c5b0806 +size 64597 diff --git a/ThirdParty/include/boost/numeric/ublas/vector_sparse.hpp b/ThirdParty/include/boost/numeric/ublas/vector_sparse.hpp new file mode 100644 index 00000000..8f673ea0 --- /dev/null +++ b/ThirdParty/include/boost/numeric/ublas/vector_sparse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99fc805923b004f76f37dd51c8deb84d668de4398e230d58bf7f287c4583e972 +size 83145 diff --git a/ThirdParty/include/boost/operators.hpp b/ThirdParty/include/boost/operators.hpp new file mode 100644 index 00000000..73021295 --- /dev/null +++ b/ThirdParty/include/boost/operators.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5f0a4b70be8e3a3da035586d1bfb938345764e94e02317337a6974841b72195 +size 35718 diff --git a/ThirdParty/include/boost/predef.h b/ThirdParty/include/boost/predef.h new file mode 100644 index 00000000..3387afee --- /dev/null +++ b/ThirdParty/include/boost/predef.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edd5ae86c93dac1feb35fd0527e4350658be43e55f6ea85e93576c63bbb48aa6 +size 635 diff --git a/ThirdParty/include/boost/predef/architecture.h b/ThirdParty/include/boost/predef/architecture.h new file mode 100644 index 00000000..2913b4f4 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d01bb1f7420a818367d5bd051d9d9eb8a92b82f797d8c454e89fc9b14ef2c114 +size 1213 diff --git a/ThirdParty/include/boost/predef/architecture/alpha.h b/ThirdParty/include/boost/predef/architecture/alpha.h new file mode 100644 index 00000000..09de9304 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/alpha.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7902e87c43695f79fe5a20b197e1ee93d7749a1612470e0deffcdcb28aad3653 +size 1618 diff --git a/ThirdParty/include/boost/predef/architecture/arm.h b/ThirdParty/include/boost/predef/architecture/arm.h new file mode 100644 index 00000000..6f2623dd --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/arm.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19b0d6587afa4cc26ead5e69a30eb2de3dd4c2b5dd107d1ced6b371140bb6854 +size 2467 diff --git a/ThirdParty/include/boost/predef/architecture/blackfin.h b/ThirdParty/include/boost/predef/architecture/blackfin.h new file mode 100644 index 00000000..c167a7e6 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/blackfin.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:612444bc559a89571757271c97a46b4c20a76875be58ae6ac876e6fb656c4502 +size 1138 diff --git a/ThirdParty/include/boost/predef/architecture/convex.h b/ThirdParty/include/boost/predef/architecture/convex.h new file mode 100644 index 00000000..a346f262 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/convex.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6833251fcfcfc85b3aecabe5a0a08a76f0a34432b9fd3981d734fe583967623 +size 1861 diff --git a/ThirdParty/include/boost/predef/architecture/ia64.h b/ThirdParty/include/boost/predef/architecture/ia64.h new file mode 100644 index 00000000..1196a591 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/ia64.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d1742d09649ea9a362666d7178b234e497cc87837385f63f0b31cac6950bb55 +size 1271 diff --git a/ThirdParty/include/boost/predef/architecture/m68k.h b/ThirdParty/include/boost/predef/architecture/m68k.h new file mode 100644 index 00000000..1df6bd7f --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/m68k.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:026edc8edc6cb55949248933b78c379483d9263bece81737c1944512bd9e2081 +size 2576 diff --git a/ThirdParty/include/boost/predef/architecture/mips.h b/ThirdParty/include/boost/predef/architecture/mips.h new file mode 100644 index 00000000..0cc9a45f --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/mips.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99870612c7f9a859a9cb5a09c6438d373035fbafcc8bec101b58e57324410ed8 +size 2194 diff --git a/ThirdParty/include/boost/predef/architecture/parisc.h b/ThirdParty/include/boost/predef/architecture/parisc.h new file mode 100644 index 00000000..24106bbc --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/parisc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69b333ff8e62e352be75c7a3a954e86ea4c4bac7b3810a5b81825312b7b3c5ef +size 1890 diff --git a/ThirdParty/include/boost/predef/architecture/ppc.h b/ThirdParty/include/boost/predef/architecture/ppc.h new file mode 100644 index 00000000..845826e7 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/ppc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cd3056588668f47bb6e7928f5d4886c860f97b2af7978328682f0624fd2637e +size 2145 diff --git a/ThirdParty/include/boost/predef/architecture/ptx.h b/ThirdParty/include/boost/predef/architecture/ptx.h new file mode 100644 index 00000000..e3a784bf --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/ptx.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bbaf57dde57a7acd662a15d5e344e5ed6c43d6d08896618c3730ceb0a131394 +size 987 diff --git a/ThirdParty/include/boost/predef/architecture/pyramid.h b/ThirdParty/include/boost/predef/architecture/pyramid.h new file mode 100644 index 00000000..f2a0e700 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/pyramid.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9469bb33e20e44e808ecad51f255edfa2e401ef1e0f01ac28114a52d4f308929 +size 928 diff --git a/ThirdParty/include/boost/predef/architecture/rs6k.h b/ThirdParty/include/boost/predef/architecture/rs6k.h new file mode 100644 index 00000000..53189f98 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/rs6k.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b2c368032915a0c13131c834b801c4be77e606a9c728a3779a3a165eb4cd592 +size 1380 diff --git a/ThirdParty/include/boost/predef/architecture/sparc.h b/ThirdParty/include/boost/predef/architecture/sparc.h new file mode 100644 index 00000000..177835cd --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/sparc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f829856cca13e3043b57ab83ced5cf48df2b14610e2b3dd4d88e06c8ab1f33f2 +size 1360 diff --git a/ThirdParty/include/boost/predef/architecture/superh.h b/ThirdParty/include/boost/predef/architecture/superh.h new file mode 100644 index 00000000..660326af --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/superh.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb8cbc49168e3f26bd4647bd8046285c35bac9316c4463536fb32ed1e2e8237e +size 1793 diff --git a/ThirdParty/include/boost/predef/architecture/sys370.h b/ThirdParty/include/boost/predef/architecture/sys370.h new file mode 100644 index 00000000..1813c023 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/sys370.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ed1cbaef9c42a086e3e174decb10dfd90dfc30b2fc404e5249540072103530c +size 1033 diff --git a/ThirdParty/include/boost/predef/architecture/sys390.h b/ThirdParty/include/boost/predef/architecture/sys390.h new file mode 100644 index 00000000..b23bce08 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/sys390.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfb8ec651c239b38bb1c15b9d917b4d0e9e028a5ee0ddebe6e3ddc8f8dd0e166 +size 1031 diff --git a/ThirdParty/include/boost/predef/architecture/x86.h b/ThirdParty/include/boost/predef/architecture/x86.h new file mode 100644 index 00000000..789d9342 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/x86.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ee0b28d38b4655771a0ff113a770281994f79f35f131d29e9fe0db3a001854 +size 960 diff --git a/ThirdParty/include/boost/predef/architecture/x86/32.h b/ThirdParty/include/boost/predef/architecture/x86/32.h new file mode 100644 index 00000000..c3e1b9dc --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/x86/32.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4729b22f5c4a5c41b5c9d65388d71cd74c79273e6dd6a356096d3160476d765b +size 2694 diff --git a/ThirdParty/include/boost/predef/architecture/x86/64.h b/ThirdParty/include/boost/predef/architecture/x86/64.h new file mode 100644 index 00000000..1545d960 --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/x86/64.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:156bde7bc247d1325135f7883a53c4882555acadddc317fd495cef5b9d5ed8b5 +size 1271 diff --git a/ThirdParty/include/boost/predef/architecture/z.h b/ThirdParty/include/boost/predef/architecture/z.h new file mode 100644 index 00000000..be019fdc --- /dev/null +++ b/ThirdParty/include/boost/predef/architecture/z.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e06f02b6ee36be68a0e1d68e31e1e437bd6398785f5eac26e7f49c5b079fcd3 +size 935 diff --git a/ThirdParty/include/boost/predef/compiler.h b/ThirdParty/include/boost/predef/compiler.h new file mode 100644 index 00000000..66d1a65e --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:920fa053ed5d7937c6e82f7c208791540203ea11856ba38b5a6fdf7636e559a3 +size 1608 diff --git a/ThirdParty/include/boost/predef/compiler/borland.h b/ThirdParty/include/boost/predef/compiler/borland.h new file mode 100644 index 00000000..afbbd592 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/borland.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ac2c8185a38a39212e678b58d93c07d2e3e7cf3e98bacbf10daf2f7c619f2f9 +size 1853 diff --git a/ThirdParty/include/boost/predef/compiler/clang.h b/ThirdParty/include/boost/predef/compiler/clang.h new file mode 100644 index 00000000..5a90bc92 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/clang.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e72e4d975969548a82795fe909c516b88fbfda9f2f12cb0696d9012d5c61f216 +size 1532 diff --git a/ThirdParty/include/boost/predef/compiler/comeau.h b/ThirdParty/include/boost/predef/compiler/comeau.h new file mode 100644 index 00000000..10a4e2ae --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/comeau.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:572b9c80e406f6dd78dac2d1cd1ddcbde201c173290f52a714317edbabe45526 +size 1674 diff --git a/ThirdParty/include/boost/predef/compiler/compaq.h b/ThirdParty/include/boost/predef/compiler/compaq.h new file mode 100644 index 00000000..3afe4d43 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/compaq.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50dae8a9d6f51cf42a96e1a85a4f6a4c45d75091fe0f595ed4cb64a48aec2611 +size 1911 diff --git a/ThirdParty/include/boost/predef/compiler/diab.h b/ThirdParty/include/boost/predef/compiler/diab.h new file mode 100644 index 00000000..0d3090d2 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/diab.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5472208e050d66596e1bf96f14d8792906ce6f080a1ce74ebe863713bcb405a +size 1489 diff --git a/ThirdParty/include/boost/predef/compiler/digitalmars.h b/ThirdParty/include/boost/predef/compiler/digitalmars.h new file mode 100644 index 00000000..6a8962e2 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/digitalmars.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad003d0ac3eadc9388d0905151233068cd8831137c1585d9e0b00d0bf360cc89 +size 1437 diff --git a/ThirdParty/include/boost/predef/compiler/dignus.h b/ThirdParty/include/boost/predef/compiler/dignus.h new file mode 100644 index 00000000..3384d0a5 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/dignus.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2761ec7cd1ad145c59dfba1a0ebacd6e6db927452aec6880c73095db301706e3 +size 1455 diff --git a/ThirdParty/include/boost/predef/compiler/edg.h b/ThirdParty/include/boost/predef/compiler/edg.h new file mode 100644 index 00000000..b67ada93 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/edg.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e04c9a1a4f88472110512c86f175873197653f98820aedf71d0239f766a6557 +size 1452 diff --git a/ThirdParty/include/boost/predef/compiler/ekopath.h b/ThirdParty/include/boost/predef/compiler/ekopath.h new file mode 100644 index 00000000..e2f82964 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/ekopath.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32977c70faba88d87b4b04b6e655270f3503b6400cdd14794869c422c253d2af +size 1534 diff --git a/ThirdParty/include/boost/predef/compiler/gcc.h b/ThirdParty/include/boost/predef/compiler/gcc.h new file mode 100644 index 00000000..b64929f7 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/gcc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:736439a8472dccc8d7a79e100b18d814d5215f49317ac7a6304c13d8f9913994 +size 1959 diff --git a/ThirdParty/include/boost/predef/compiler/gcc_xml.h b/ThirdParty/include/boost/predef/compiler/gcc_xml.h new file mode 100644 index 00000000..4287938d --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/gcc_xml.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f827cd9632a96d3b95d0f2fbccf9311cf495bbb347dd4c0dcc86e86222d417a +size 1371 diff --git a/ThirdParty/include/boost/predef/compiler/greenhills.h b/ThirdParty/include/boost/predef/compiler/greenhills.h new file mode 100644 index 00000000..17a20aea --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/greenhills.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e34c39f841cb5b6fd5d6a216109ba6f4f487be4207ed480d3a97fba73a5b84ae +size 1920 diff --git a/ThirdParty/include/boost/predef/compiler/hp_acc.h b/ThirdParty/include/boost/predef/compiler/hp_acc.h new file mode 100644 index 00000000..efab41c1 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/hp_acc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8a9ff8e0317ab05f29c4094536ad8a8174e8ad6d024cf08a7e99eb04ea2209 +size 1614 diff --git a/ThirdParty/include/boost/predef/compiler/iar.h b/ThirdParty/include/boost/predef/compiler/iar.h new file mode 100644 index 00000000..7301d671 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/iar.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dcb8df1c3d15ce81150c281e286cf83fef9f9a58ec37d9d3d6e10db65085bb4 +size 1395 diff --git a/ThirdParty/include/boost/predef/compiler/ibm.h b/ThirdParty/include/boost/predef/compiler/ibm.h new file mode 100644 index 00000000..23948983 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/ibm.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9888d40214fde76a1a46226d4d74b429849fc9d1aa538c021df1ea0bd99f8116 +size 2157 diff --git a/ThirdParty/include/boost/predef/compiler/intel.h b/ThirdParty/include/boost/predef/compiler/intel.h new file mode 100644 index 00000000..38ad36eb --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/intel.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:232daf26fd8e5cf3357d0b13fb783c5e5514df2131ddb42a159dd3cc4f3f3615 +size 2671 diff --git a/ThirdParty/include/boost/predef/compiler/kai.h b/ThirdParty/include/boost/predef/compiler/kai.h new file mode 100644 index 00000000..b3f891c9 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/kai.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d061bc1ce360d18cf6aea6fcc14a3d030a1b333bd71a45720af7cf5baac75bf +size 1375 diff --git a/ThirdParty/include/boost/predef/compiler/llvm.h b/ThirdParty/include/boost/predef/compiler/llvm.h new file mode 100644 index 00000000..9c999b74 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/llvm.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fecad0d852c77621ed8f0c9f62b6cc7ec3569f6b99042ac11361a576e6dbd168 +size 1448 diff --git a/ThirdParty/include/boost/predef/compiler/metaware.h b/ThirdParty/include/boost/predef/compiler/metaware.h new file mode 100644 index 00000000..86ba8ac1 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/metaware.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07c6a2041a88b36c576b33a79b294f63198a033907132be61f6390e9b8b8e723 +size 1353 diff --git a/ThirdParty/include/boost/predef/compiler/metrowerks.h b/ThirdParty/include/boost/predef/compiler/metrowerks.h new file mode 100644 index 00000000..e20b2e38 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/metrowerks.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:520c6f1728bc87906e216ec1b366467e4c6abf695348d55ee092a618f4cdf896 +size 2572 diff --git a/ThirdParty/include/boost/predef/compiler/microtec.h b/ThirdParty/include/boost/predef/compiler/microtec.h new file mode 100644 index 00000000..37e88ad2 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/microtec.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4d97a5a09f5a24b413a7848357ba8d3ff3bb2437a20890e8256508e7fccb976 +size 1336 diff --git a/ThirdParty/include/boost/predef/compiler/mpw.h b/ThirdParty/include/boost/predef/compiler/mpw.h new file mode 100644 index 00000000..65cd3643 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/mpw.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7aa16fe06f0757170d7c69f1082c3852d442fb0f05269e44d69c45f9ba896e0 +size 1747 diff --git a/ThirdParty/include/boost/predef/compiler/nvcc.h b/ThirdParty/include/boost/predef/compiler/nvcc.h new file mode 100644 index 00000000..5294f793 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/nvcc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea6f9b9f9ea286a98c0eca3fe13ff1b279230782bc435563e675acbfc4bdd2ad +size 2749 diff --git a/ThirdParty/include/boost/predef/compiler/palm.h b/ThirdParty/include/boost/predef/compiler/palm.h new file mode 100644 index 00000000..0cd54a69 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/palm.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e28e96e7a18d0c22e4a70e472a1903ead9fae5c8e46365ee86de7c1345a215a6 +size 1403 diff --git a/ThirdParty/include/boost/predef/compiler/pgi.h b/ThirdParty/include/boost/predef/compiler/pgi.h new file mode 100644 index 00000000..1e74ce80 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/pgi.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa0145fdd5e3ddf63ad03b1c6dc5b049d8a59b8dfb6d33f2655bd441b924d59d +size 1721 diff --git a/ThirdParty/include/boost/predef/compiler/sgi_mipspro.h b/ThirdParty/include/boost/predef/compiler/sgi_mipspro.h new file mode 100644 index 00000000..19b0a727 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/sgi_mipspro.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4072d4671571b47503786effcd19f39597f3df1ca9f96f3f9fab057dec30fd8 +size 1922 diff --git a/ThirdParty/include/boost/predef/compiler/sunpro.h b/ThirdParty/include/boost/predef/compiler/sunpro.h new file mode 100644 index 00000000..11f9917f --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/sunpro.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77ede256080d51e841dde55c6796ce0c9d79b10f8d427735eab874c731ef2e8e +size 2349 diff --git a/ThirdParty/include/boost/predef/compiler/tendra.h b/ThirdParty/include/boost/predef/compiler/tendra.h new file mode 100644 index 00000000..61c1f437 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/tendra.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68bc07a4400b1856295ee1b433c0d9f4cce53b71e2cbed36aba72c3facb1f71b +size 1401 diff --git a/ThirdParty/include/boost/predef/compiler/visualc.h b/ThirdParty/include/boost/predef/compiler/visualc.h new file mode 100644 index 00000000..a986a841 --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/visualc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb308a565f5cc56e4272ea7583efe1bb724279eb323a2625ffcb968db76bba2a +size 3309 diff --git a/ThirdParty/include/boost/predef/compiler/watcom.h b/ThirdParty/include/boost/predef/compiler/watcom.h new file mode 100644 index 00000000..fef36c7a --- /dev/null +++ b/ThirdParty/include/boost/predef/compiler/watcom.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b96ea94dde9b8791a3b8a5948adb2941a809fee86492e7225d974819b2eef81 +size 1475 diff --git a/ThirdParty/include/boost/predef/detail/_cassert.h b/ThirdParty/include/boost/predef/detail/_cassert.h new file mode 100644 index 00000000..6bfa980a --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/_cassert.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688d791806004c3f334cb94fcdb604811da4647b18eb50159cd0394274b567c2 +size 350 diff --git a/ThirdParty/include/boost/predef/detail/_exception.h b/ThirdParty/include/boost/predef/detail/_exception.h new file mode 100644 index 00000000..760f7143 --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/_exception.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:061a222cb7dc702ddac9b7b7f36a0477ea82847c784b6c6c082fb4a336617532 +size 330 diff --git a/ThirdParty/include/boost/predef/detail/comp_detected.h b/ThirdParty/include/boost/predef/detail/comp_detected.h new file mode 100644 index 00000000..c9ba689f --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/comp_detected.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64b0bd865ce40ecdbbc079fbe70f3f507cdc885d3529e467d10878654bd01a38 +size 274 diff --git a/ThirdParty/include/boost/predef/detail/endian_compat.h b/ThirdParty/include/boost/predef/detail/endian_compat.h new file mode 100644 index 00000000..abf287ea --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/endian_compat.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93abbdf14dd518cad566a7c8cc475a37c703c2ec30fe52521af4218a8a1733fa +size 777 diff --git a/ThirdParty/include/boost/predef/detail/os_detected.h b/ThirdParty/include/boost/predef/detail/os_detected.h new file mode 100644 index 00000000..ce57ed00 --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/os_detected.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b575705f932b165c9282867d283df29afc6f9e5d17b79f1250964e9d16f8bff +size 270 diff --git a/ThirdParty/include/boost/predef/detail/platform_detected.h b/ThirdParty/include/boost/predef/detail/platform_detected.h new file mode 100644 index 00000000..0464607d --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/platform_detected.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c173711895acaa0f30bc6952c4b2643b65f34d5f578c9b394b5195ff59d4779c +size 274 diff --git a/ThirdParty/include/boost/predef/detail/test.h b/ThirdParty/include/boost/predef/detail/test.h new file mode 100644 index 00000000..beda0653 --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/test.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a4b5be3b09fc4e81da4734ca6a604ba3528d479874bc5f0f2d4c235fa003a97 +size 364 diff --git a/ThirdParty/include/boost/predef/detail/test_def.h b/ThirdParty/include/boost/predef/detail/test_def.h new file mode 100644 index 00000000..51154c67 --- /dev/null +++ b/ThirdParty/include/boost/predef/detail/test_def.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae781b0a4d5ab24af97e10c0f7cd78c12d187be7dbcf68a6b398c6f797cf5ebd +size 1970 diff --git a/ThirdParty/include/boost/predef/hardware.h b/ThirdParty/include/boost/predef/hardware.h new file mode 100644 index 00000000..29ac27cc --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2be7d681b896bc21c91cccb33819efea05b26552ade89debf201301c2736784f +size 420 diff --git a/ThirdParty/include/boost/predef/hardware/simd.h b/ThirdParty/include/boost/predef/hardware/simd.h new file mode 100644 index 00000000..7c1fb82e --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d60bd522964a003416345d6fa70bedb12cec6a2e87e8ad7c67d1d8d2b29e9065 +size 3538 diff --git a/ThirdParty/include/boost/predef/hardware/simd/arm.h b/ThirdParty/include/boost/predef/hardware/simd/arm.h new file mode 100644 index 00000000..86168cc9 --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/arm.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:824e1ae030db998b529773cd9411928288b7b74a27af34b58c96ba19579f93ff +size 1652 diff --git a/ThirdParty/include/boost/predef/hardware/simd/arm/versions.h b/ThirdParty/include/boost/predef/hardware/simd/arm/versions.h new file mode 100644 index 00000000..a017a69a --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/arm/versions.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6958dc50a272b4dd0fd20247769185d53195a3a572cae31c2d1f7723388df758 +size 804 diff --git a/ThirdParty/include/boost/predef/hardware/simd/ppc.h b/ThirdParty/include/boost/predef/hardware/simd/ppc.h new file mode 100644 index 00000000..20c7163e --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/ppc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cec6723beb314a8b0397e543c59173c4edbd6958162553d6473dfb081ab5d73 +size 1864 diff --git a/ThirdParty/include/boost/predef/hardware/simd/ppc/versions.h b/ThirdParty/include/boost/predef/hardware/simd/ppc/versions.h new file mode 100644 index 00000000..64105593 --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/ppc/versions.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1477e4ffbf7eb360e2495d052d9d9db13b758398ce76b67f5f5360cf5b70dc1b +size 1217 diff --git a/ThirdParty/include/boost/predef/hardware/simd/x86.h b/ThirdParty/include/boost/predef/hardware/simd/x86.h new file mode 100644 index 00000000..2b22491f --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/x86.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7214aaaceb3ae99312a447e29f1c729edf0f55ae0368b14ffa6935d07306c96a +size 3805 diff --git a/ThirdParty/include/boost/predef/hardware/simd/x86/versions.h b/ThirdParty/include/boost/predef/hardware/simd/x86/versions.h new file mode 100644 index 00000000..e465ca99 --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/x86/versions.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce1eb47ea5d5f3e51ba400a1b2fc8276f464d07363112b9339562013d0a0d721 +size 3246 diff --git a/ThirdParty/include/boost/predef/hardware/simd/x86_amd.h b/ThirdParty/include/boost/predef/hardware/simd/x86_amd.h new file mode 100644 index 00000000..47a09b51 --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/x86_amd.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:051048c86c31919b6e5f2f8e279e1103408675c3d6b379d9bb289783a4c8be7d +size 2677 diff --git a/ThirdParty/include/boost/predef/hardware/simd/x86_amd/versions.h b/ThirdParty/include/boost/predef/hardware/simd/x86_amd/versions.h new file mode 100644 index 00000000..bd01a6a8 --- /dev/null +++ b/ThirdParty/include/boost/predef/hardware/simd/x86_amd/versions.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8210c425892159fbd06e023df9688f0a15ae42020ce3c3d6adae4baff6a802a3 +size 1327 diff --git a/ThirdParty/include/boost/predef/language.h b/ThirdParty/include/boost/predef/language.h new file mode 100644 index 00000000..e9a7b86c --- /dev/null +++ b/ThirdParty/include/boost/predef/language.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92666722eaeba0b7657fffa8f86255d08c9f0582a1204fd794cfca83ffc365ee +size 515 diff --git a/ThirdParty/include/boost/predef/language/cuda.h b/ThirdParty/include/boost/predef/language/cuda.h new file mode 100644 index 00000000..cb2f41f4 --- /dev/null +++ b/ThirdParty/include/boost/predef/language/cuda.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb8df22e08628565f4199aa6835a2fc14592f2b3704b65a604d4badfa8f61798 +size 1224 diff --git a/ThirdParty/include/boost/predef/language/objc.h b/ThirdParty/include/boost/predef/language/objc.h new file mode 100644 index 00000000..771ae409 --- /dev/null +++ b/ThirdParty/include/boost/predef/language/objc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fb4528b7252d88acf177cddc3e13e500bce647705f019b1585afe76883cf1de +size 935 diff --git a/ThirdParty/include/boost/predef/language/stdc.h b/ThirdParty/include/boost/predef/language/stdc.h new file mode 100644 index 00000000..5fc763c4 --- /dev/null +++ b/ThirdParty/include/boost/predef/language/stdc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:055f774283f22953c14a13abe0d1d11a04e01efd56cc16bec9982f9c851eca45 +size 1329 diff --git a/ThirdParty/include/boost/predef/language/stdcpp.h b/ThirdParty/include/boost/predef/language/stdcpp.h new file mode 100644 index 00000000..d4602ae8 --- /dev/null +++ b/ThirdParty/include/boost/predef/language/stdcpp.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a69cfa7148e90a6c5535e51a8ed711bb423baaf738dc678c823cd579c9716ce1 +size 3164 diff --git a/ThirdParty/include/boost/predef/library.h b/ThirdParty/include/boost/predef/library.h new file mode 100644 index 00000000..0d224b30 --- /dev/null +++ b/ThirdParty/include/boost/predef/library.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f9b4f8cddb65235a59dc3803509e38a9c6e1f494baadac7dd5b5f782ea1b716 +size 424 diff --git a/ThirdParty/include/boost/predef/library/c.h b/ThirdParty/include/boost/predef/library/c.h new file mode 100644 index 00000000..1a51f871 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd3710a1477118a3694ce4a204d0e0fb4ed160ba2fbd3be275ef0ede5481e9c +size 605 diff --git a/ThirdParty/include/boost/predef/library/c/_prefix.h b/ThirdParty/include/boost/predef/library/c/_prefix.h new file mode 100644 index 00000000..e0f628f4 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c/_prefix.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cfe353310a9f9db1ae4f55018358ceeb0c6b013c5cfe7b68c639d43dd910709 +size 319 diff --git a/ThirdParty/include/boost/predef/library/c/cloudabi.h b/ThirdParty/include/boost/predef/library/c/cloudabi.h new file mode 100644 index 00000000..ba5c5349 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c/cloudabi.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3db76b5c3fcc87e5abd26c7f937f2c79cf9e82b683723dc527c3444dc6d85c49 +size 1291 diff --git a/ThirdParty/include/boost/predef/library/c/gnu.h b/ThirdParty/include/boost/predef/library/c/gnu.h new file mode 100644 index 00000000..3e0687ed --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c/gnu.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caad7121b0552c74ff1fdd80837e7d0d2096e45498a75dfd777dcb869883e7c4 +size 1491 diff --git a/ThirdParty/include/boost/predef/library/c/uc.h b/ThirdParty/include/boost/predef/library/c/uc.h new file mode 100644 index 00000000..703c3234 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c/uc.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06c82b6697ed9bf3814cc2708147474f783be22853bfd074853a59d462b97bfa +size 1102 diff --git a/ThirdParty/include/boost/predef/library/c/vms.h b/ThirdParty/include/boost/predef/library/c/vms.h new file mode 100644 index 00000000..73aee1e7 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c/vms.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05c0c8b07c74c4f036fc5a0f5e212a754fc313b9d6d07ce560e0662f1f0d8792 +size 1034 diff --git a/ThirdParty/include/boost/predef/library/c/zos.h b/ThirdParty/include/boost/predef/library/c/zos.h new file mode 100644 index 00000000..d972a2ec --- /dev/null +++ b/ThirdParty/include/boost/predef/library/c/zos.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1a0ecfd85a93e801c2a6f02cd06b12309c5d6397bed68d4ddf42a073fa922a2 +size 1388 diff --git a/ThirdParty/include/boost/predef/library/std.h b/ThirdParty/include/boost/predef/library/std.h new file mode 100644 index 00000000..4af447f7 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1829c6d4169e0d0286ccb83d370b4519685e87d392fcb515352a409bcb29043 +size 858 diff --git a/ThirdParty/include/boost/predef/library/std/_prefix.h b/ThirdParty/include/boost/predef/library/std/_prefix.h new file mode 100644 index 00000000..8d8991b7 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/_prefix.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5b8484ce654f546ace537aee3251da9da87a9c37919e21aeee31369efa8e78c +size 825 diff --git a/ThirdParty/include/boost/predef/library/std/cxx.h b/ThirdParty/include/boost/predef/library/std/cxx.h new file mode 100644 index 00000000..6a59b206 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/cxx.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39b086e860bbef79d3fa99182940d6b7f6c2a555d521923cd7bc2103770e2ccc +size 1050 diff --git a/ThirdParty/include/boost/predef/library/std/dinkumware.h b/ThirdParty/include/boost/predef/library/std/dinkumware.h new file mode 100644 index 00000000..bf040603 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/dinkumware.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a542818d32894900c9afaac8ec55f2ccae9e81b82dc9accf880516d65e57cfc +size 1412 diff --git a/ThirdParty/include/boost/predef/library/std/libcomo.h b/ThirdParty/include/boost/predef/library/std/libcomo.h new file mode 100644 index 00000000..641290b7 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/libcomo.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a26d487893ff0c7a0389a39c7c7f51cd68945da59888331df7e6331fb72a6e43 +size 1137 diff --git a/ThirdParty/include/boost/predef/library/std/modena.h b/ThirdParty/include/boost/predef/library/std/modena.h new file mode 100644 index 00000000..728d6a0a --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/modena.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90889b71e4bc5562faf7233ef516b1e821b2be28bc2a4b51430afbae5175efee +size 1132 diff --git a/ThirdParty/include/boost/predef/library/std/msl.h b/ThirdParty/include/boost/predef/library/std/msl.h new file mode 100644 index 00000000..661a7027 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/msl.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8d19ba528b09aa6617ff843df367b2e54805c27a080a12ef509d859810c4add +size 1303 diff --git a/ThirdParty/include/boost/predef/library/std/roguewave.h b/ThirdParty/include/boost/predef/library/std/roguewave.h new file mode 100644 index 00000000..6ba51c0f --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/roguewave.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e618f51e321a267d6079205693fb1933dba55f2a9931e21b00f8bf7e0a64f8ec +size 1438 diff --git a/ThirdParty/include/boost/predef/library/std/sgi.h b/ThirdParty/include/boost/predef/library/std/sgi.h new file mode 100644 index 00000000..e7685cad --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/sgi.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2be6719d25b5eca68d2367d22708e722366e2ff866122630049373572084885 +size 1203 diff --git a/ThirdParty/include/boost/predef/library/std/stdcpp3.h b/ThirdParty/include/boost/predef/library/std/stdcpp3.h new file mode 100644 index 00000000..312e26a0 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/stdcpp3.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d23ddfebac9ebbac0c498cd5e1531674852efb6b9f83bd5ba76081027a409fc4 +size 1338 diff --git a/ThirdParty/include/boost/predef/library/std/stlport.h b/ThirdParty/include/boost/predef/library/std/stlport.h new file mode 100644 index 00000000..b0b2b672 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/stlport.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8c0ccb3aa3b11815cd748c27656d349ae726705adb85e0b09782dc7e2f6887f +size 1759 diff --git a/ThirdParty/include/boost/predef/library/std/vacpp.h b/ThirdParty/include/boost/predef/library/std/vacpp.h new file mode 100644 index 00000000..1cc415b9 --- /dev/null +++ b/ThirdParty/include/boost/predef/library/std/vacpp.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d08fc91d7ca55900469853bf4a15d120081e161c9f7600b5659e526cee7474a +size 1023 diff --git a/ThirdParty/include/boost/predef/make.h b/ThirdParty/include/boost/predef/make.h new file mode 100644 index 00000000..11ce6900 --- /dev/null +++ b/ThirdParty/include/boost/predef/make.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b8ea947d7c0d2e3ac23a30e7b21a597cdfc3d67795c7b276a1d2e8de20a3aaf +size 5105 diff --git a/ThirdParty/include/boost/predef/os.h b/ThirdParty/include/boost/predef/os.h new file mode 100644 index 00000000..73986296 --- /dev/null +++ b/ThirdParty/include/boost/predef/os.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e42157ef2328bf9247d6bf3eb8198b7f9224c70246c27fa983cb5d66f8f03e4c +size 990 diff --git a/ThirdParty/include/boost/predef/os/aix.h b/ThirdParty/include/boost/predef/os/aix.h new file mode 100644 index 00000000..ee1ec723 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/aix.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b1bd1eb4f2b40c038f6c7b3b81928576a266be5707338ad7f245250455dd6e0 +size 1729 diff --git a/ThirdParty/include/boost/predef/os/amigaos.h b/ThirdParty/include/boost/predef/os/amigaos.h new file mode 100644 index 00000000..7ae45204 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/amigaos.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc731177fc4c137899ac75e95b7456534cf1116058d9c8a200ad5d2a394a14df +size 1106 diff --git a/ThirdParty/include/boost/predef/os/android.h b/ThirdParty/include/boost/predef/os/android.h new file mode 100644 index 00000000..9ff0b4a8 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/android.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75313ece35b37cee46ca628fa2a81e435d545b59510beeedc5c18c8edc27f338 +size 1067 diff --git a/ThirdParty/include/boost/predef/os/beos.h b/ThirdParty/include/boost/predef/os/beos.h new file mode 100644 index 00000000..9afa0293 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/beos.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70ddfa8e8900bb4ce7665f5390602198a139a86ef04590eaa9b6b5a9620eff27 +size 1001 diff --git a/ThirdParty/include/boost/predef/os/bsd.h b/ThirdParty/include/boost/predef/os/bsd.h new file mode 100644 index 00000000..216214d6 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/bsd.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0347e98a9333a2fbcab83d5ae26198e05b496a6e214e5a2ceaa24bae6e681823 +size 3097 diff --git a/ThirdParty/include/boost/predef/os/bsd/bsdi.h b/ThirdParty/include/boost/predef/os/bsd/bsdi.h new file mode 100644 index 00000000..f9061cc0 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/bsd/bsdi.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c3dcea3dd2f3209fa5e8cf33080a5b1ae23e0894fe66b97864e250c2a3ab721 +size 1163 diff --git a/ThirdParty/include/boost/predef/os/bsd/dragonfly.h b/ThirdParty/include/boost/predef/os/bsd/dragonfly.h new file mode 100644 index 00000000..634f24f9 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/bsd/dragonfly.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f6b0f03d3773ee2e14b01706a2ea5717af0a0be94601f2197a164b1959d893a +size 1283 diff --git a/ThirdParty/include/boost/predef/os/bsd/free.h b/ThirdParty/include/boost/predef/os/bsd/free.h new file mode 100644 index 00000000..c11a4590 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/bsd/free.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f235c571637fb092c62d50b463d628660c527773b8ecf50d34e1d4d43898293b +size 1807 diff --git a/ThirdParty/include/boost/predef/os/bsd/net.h b/ThirdParty/include/boost/predef/os/bsd/net.h new file mode 100644 index 00000000..4baed3a8 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/bsd/net.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f20e8d25886da1b93a08422558e4e40c01bc2318a25fc4fe6110b75389dfe63 +size 2523 diff --git a/ThirdParty/include/boost/predef/os/bsd/open.h b/ThirdParty/include/boost/predef/os/bsd/open.h new file mode 100644 index 00000000..369f6a97 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/bsd/open.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe9fe946ac6941aedf640ceb4aec388a35107f82d78de82357d44bc91b4b1a06 +size 9112 diff --git a/ThirdParty/include/boost/predef/os/cygwin.h b/ThirdParty/include/boost/predef/os/cygwin.h new file mode 100644 index 00000000..efe89add --- /dev/null +++ b/ThirdParty/include/boost/predef/os/cygwin.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:449617e5f141f42ca9c006bc70f854d994fd763b68262bdc615d6c889c4ad07d +size 1215 diff --git a/ThirdParty/include/boost/predef/os/haiku.h b/ThirdParty/include/boost/predef/os/haiku.h new file mode 100644 index 00000000..964c8537 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/haiku.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12a110643f309d622b5e8d3f5acbf8d74ef45baed0c63a7c8d3c99b3e4c541fc +size 1068 diff --git a/ThirdParty/include/boost/predef/os/hpux.h b/ThirdParty/include/boost/predef/os/hpux.h new file mode 100644 index 00000000..44ba2ee4 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/hpux.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9042d928c1ce8b976c91edce55b8392e88df08fbdeb3cf7404d123248ad8d6ed +size 1112 diff --git a/ThirdParty/include/boost/predef/os/ios.h b/ThirdParty/include/boost/predef/os/ios.h new file mode 100644 index 00000000..9588feec --- /dev/null +++ b/ThirdParty/include/boost/predef/os/ios.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc6d7ac8e7de6dfba128576112944992585decfe642b7ea58f0caa0f22cbf12 +size 1354 diff --git a/ThirdParty/include/boost/predef/os/irix.h b/ThirdParty/include/boost/predef/os/irix.h new file mode 100644 index 00000000..13100f51 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/irix.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:810361cf184818e2da9525cc6e22b5523e5efea70d73420c438829f4ea3ac331 +size 1048 diff --git a/ThirdParty/include/boost/predef/os/linux.h b/ThirdParty/include/boost/predef/os/linux.h new file mode 100644 index 00000000..00dd57cb --- /dev/null +++ b/ThirdParty/include/boost/predef/os/linux.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b29d567f566ab8e6e2d4322762a2adb814eb40291a4579b9f55e760f2bdcc7 +size 1070 diff --git a/ThirdParty/include/boost/predef/os/macos.h b/ThirdParty/include/boost/predef/os/macos.h new file mode 100644 index 00000000..6ca11339 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/macos.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36e623b26fd1dfc902f8f738e281b2652ba6193cc31721f3d5d3f0cc1f6019b9 +size 1813 diff --git a/ThirdParty/include/boost/predef/os/os400.h b/ThirdParty/include/boost/predef/os/os400.h new file mode 100644 index 00000000..4827363f --- /dev/null +++ b/ThirdParty/include/boost/predef/os/os400.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc31820d250a50ea22d70f89653c103e02e5ab80fb0bbefed3a6f711f3893326 +size 1027 diff --git a/ThirdParty/include/boost/predef/os/qnxnto.h b/ThirdParty/include/boost/predef/os/qnxnto.h new file mode 100644 index 00000000..aad648aa --- /dev/null +++ b/ThirdParty/include/boost/predef/os/qnxnto.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1419926cf0b3ca0150b08968d69ee513b64cdb5ccb347e6841297c0c1e2f05ff +size 1507 diff --git a/ThirdParty/include/boost/predef/os/solaris.h b/ThirdParty/include/boost/predef/os/solaris.h new file mode 100644 index 00000000..1e784934 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/solaris.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e80389492a4c73cb4e7b423e9fe49ae2402f57f3428981e667ab6b2e74d82ce6 +size 1112 diff --git a/ThirdParty/include/boost/predef/os/unix.h b/ThirdParty/include/boost/predef/os/unix.h new file mode 100644 index 00000000..64cb15c2 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/unix.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20d0d60cd547d6427fde9dfb5c32a8a8b465aad1bfb8c0bad05e4242e74dac17 +size 1877 diff --git a/ThirdParty/include/boost/predef/os/vms.h b/ThirdParty/include/boost/predef/os/vms.h new file mode 100644 index 00000000..e5a80a57 --- /dev/null +++ b/ThirdParty/include/boost/predef/os/vms.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa671764e348542cff2d3d67b4502d9b1859702b8e9a6adbda5a2d4ac59c5344 +size 1183 diff --git a/ThirdParty/include/boost/predef/os/windows.h b/ThirdParty/include/boost/predef/os/windows.h new file mode 100644 index 00000000..aec3051b --- /dev/null +++ b/ThirdParty/include/boost/predef/os/windows.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38198445bfc5f39adf88bf8f09c0d417b5b63c4cc838d1c15a2318cccb582959 +size 1352 diff --git a/ThirdParty/include/boost/predef/other.h b/ThirdParty/include/boost/predef/other.h new file mode 100644 index 00000000..9c5096e9 --- /dev/null +++ b/ThirdParty/include/boost/predef/other.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c24d37e3c974d15745070a3ac5854360614087be8ea187711bc58d060abe13e7 +size 420 diff --git a/ThirdParty/include/boost/predef/other/endian.h b/ThirdParty/include/boost/predef/other/endian.h new file mode 100644 index 00000000..5255ae9d --- /dev/null +++ b/ThirdParty/include/boost/predef/other/endian.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:498014fb704ae0c8d9bb83e15e014b50d21d6ecf61dbfc0c8eae1a63993330d6 +size 7361 diff --git a/ThirdParty/include/boost/predef/other/workaround.h b/ThirdParty/include/boost/predef/other/workaround.h new file mode 100644 index 00000000..108f1726 --- /dev/null +++ b/ThirdParty/include/boost/predef/other/workaround.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20c9beafc4a7faa01b72544de6c5092027e432cc29cca1046dfc8e819fa656c4 +size 2813 diff --git a/ThirdParty/include/boost/predef/platform.h b/ThirdParty/include/boost/predef/platform.h new file mode 100644 index 00000000..f672b80b --- /dev/null +++ b/ThirdParty/include/boost/predef/platform.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74696b064252382e97e8fe0a6892f24e1d41f71fb31606665967be14259a3577 +size 1005 diff --git a/ThirdParty/include/boost/predef/platform/cloudabi.h b/ThirdParty/include/boost/predef/platform/cloudabi.h new file mode 100644 index 00000000..886d9021 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/cloudabi.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d2ae912d5288c0b03983e4562fb60725eec8022be47387b01bfc04e356779b9 +size 1033 diff --git a/ThirdParty/include/boost/predef/platform/ios.h b/ThirdParty/include/boost/predef/platform/ios.h new file mode 100644 index 00000000..4893cef6 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/ios.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79c4517b71ed8c01400c4f62ffeac824a86e43f248db890bbd76f731e058f6c6 +size 1774 diff --git a/ThirdParty/include/boost/predef/platform/mingw.h b/ThirdParty/include/boost/predef/platform/mingw.h new file mode 100644 index 00000000..eca0ca4e --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/mingw.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f56db4d0080d3605a31198edf8f9070314a6f634f51fa50879a3e7f537f0bc4f +size 2241 diff --git a/ThirdParty/include/boost/predef/platform/mingw32.h b/ThirdParty/include/boost/predef/platform/mingw32.h new file mode 100644 index 00000000..28cb589c --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/mingw32.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b37efb942aedfd2c3f771726ddf35aaf45bc10ce0bef9a6b1a6e9a66dec94e8 +size 1846 diff --git a/ThirdParty/include/boost/predef/platform/mingw64.h b/ThirdParty/include/boost/predef/platform/mingw64.h new file mode 100644 index 00000000..01e188b4 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/mingw64.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74bf44af9fe7c2264010dfcdea0d2cf24b5dbab6ac2abf495618b84e9fd820bb +size 1855 diff --git a/ThirdParty/include/boost/predef/platform/windows_desktop.h b/ThirdParty/include/boost/predef/platform/windows_desktop.h new file mode 100644 index 00000000..2164a429 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_desktop.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fbbbc91c25fcd42dbbd374cf247f4085f483ec5cd65ddcdb68eaa9244b59beb +size 1576 diff --git a/ThirdParty/include/boost/predef/platform/windows_phone.h b/ThirdParty/include/boost/predef/platform/windows_phone.h new file mode 100644 index 00000000..31afad29 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_phone.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:216c8967ba941742909f76881c574070cb2dd6854615ac9946ea2b65dde3ef81 +size 1386 diff --git a/ThirdParty/include/boost/predef/platform/windows_runtime.h b/ThirdParty/include/boost/predef/platform/windows_runtime.h new file mode 100644 index 00000000..286f7875 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_runtime.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c9d97b39786abb7142444cf4cbb045d95d0259d4b5d860277b2c1d10f6f9e01 +size 1650 diff --git a/ThirdParty/include/boost/predef/platform/windows_server.h b/ThirdParty/include/boost/predef/platform/windows_server.h new file mode 100644 index 00000000..76075b50 --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_server.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e79ce5f201c5eb664a9c68c8590c5fcbbc718828500a65808972b4805efbe178 +size 1356 diff --git a/ThirdParty/include/boost/predef/platform/windows_store.h b/ThirdParty/include/boost/predef/platform/windows_store.h new file mode 100644 index 00000000..5dea3a4d --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_store.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01aa67abf07a8324216945b896c7e38f26c4272f1f35065343d758dbb3d0dcd3 +size 1538 diff --git a/ThirdParty/include/boost/predef/platform/windows_system.h b/ThirdParty/include/boost/predef/platform/windows_system.h new file mode 100644 index 00000000..ce915a4f --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_system.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:122c7527178e9f948e633c94b2f258959b8a69c9b7d52a1acf7e73966ef68be1 +size 1367 diff --git a/ThirdParty/include/boost/predef/platform/windows_uwp.h b/ThirdParty/include/boost/predef/platform/windows_uwp.h new file mode 100644 index 00000000..324c3f6f --- /dev/null +++ b/ThirdParty/include/boost/predef/platform/windows_uwp.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03b0a29b23a8ff1857482d42d18b5fb5daa6e893dec69040c5292b5859cf7307 +size 1844 diff --git a/ThirdParty/include/boost/predef/version.h b/ThirdParty/include/boost/predef/version.h new file mode 100644 index 00000000..ead7e675 --- /dev/null +++ b/ThirdParty/include/boost/predef/version.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2fbf18d14dd458c5fb0348639781ed97d53a50c870aecc947485349ddcb6f52 +size 356 diff --git a/ThirdParty/include/boost/predef/version_number.h b/ThirdParty/include/boost/predef/version_number.h new file mode 100644 index 00000000..da884985 --- /dev/null +++ b/ThirdParty/include/boost/predef/version_number.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebd97181c1b0bdbc62394ed12d27da90ba68c0171cdbf709393aa8956117ae95 +size 2105 diff --git a/ThirdParty/include/boost/preprocessor.hpp b/ThirdParty/include/boost/preprocessor.hpp new file mode 100644 index 00000000..b9e792a8 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ee0051bcf0b63ea43b3522051ba668ba7f8b0214fc3823f820313cc3fe40b39 +size 487 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic.hpp b/ThirdParty/include/boost/preprocessor/arithmetic.hpp new file mode 100644 index 00000000..45ed1369 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5dbea1a295244fd9a01e6a579bd57dbd7b74646efc1270fc9fdc080b46faa23 +size 803 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/add.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/add.hpp new file mode 100644 index 00000000..64488e24 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/add.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:466664f4e4f2ed932b395693cddef7a8072c7a398ddbbc7fe72b70f9d797ffa0 +size 1858 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/dec.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/dec.hpp new file mode 100644 index 00000000..de25202d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/dec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99211c529640ae5e97704ff3d4c3cc7973a75dcc9e3a9079cc9496ae35774230 +size 8323 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/detail/div_base.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/detail/div_base.hpp new file mode 100644 index 00000000..7882581a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/detail/div_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a628f938376712498624c3b6e8ea290274e927e49ddf89ddbdc7c7d8fc25012a +size 2568 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/div.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/div.hpp new file mode 100644 index 00000000..0218bf3f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/div.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0cf354485570c4cd22e78815ccb3bf01a7efc5c5f863b07fb0a02662ba37d87 +size 1274 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/inc.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/inc.hpp new file mode 100644 index 00000000..014ca32a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/inc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f46fafb970e6a2c535ff4179e13b234e1f05b78eefc695d4a4357aeb4f31c3c +size 8297 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/mod.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/mod.hpp new file mode 100644 index 00000000..7483da08 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/mod.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b01b56af18bb08be0ea391af719335a0c3e05cc3ed2479a83790073277445fc3 +size 1274 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/mul.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/mul.hpp new file mode 100644 index 00000000..31f7ac91 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/mul.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb869211ce96b1de503299012e17892bcfca24c3e9a2fec50538d7a23b11fa58 +size 2062 diff --git a/ThirdParty/include/boost/preprocessor/arithmetic/sub.hpp b/ThirdParty/include/boost/preprocessor/arithmetic/sub.hpp new file mode 100644 index 00000000..9874ce45 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/arithmetic/sub.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a64375e4072140c75d12f584010713a7da30998b61e582428f8ad3293bad2c0 +size 1808 diff --git a/ThirdParty/include/boost/preprocessor/array.hpp b/ThirdParty/include/boost/preprocessor/array.hpp new file mode 100644 index 00000000..fcdfb151 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1d9d503d12f7d1f84fe6b4c042e5456bf78bd41f6ec75018d73dc9a4d47a4ae +size 1600 diff --git a/ThirdParty/include/boost/preprocessor/array/data.hpp b/ThirdParty/include/boost/preprocessor/array/data.hpp new file mode 100644 index 00000000..ce1ba8a0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/data.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9ba29785e03097acd1e9cffa28546484067cdb2e6e7c87b9c979fac8441ba5c +size 1158 diff --git a/ThirdParty/include/boost/preprocessor/array/detail/get_data.hpp b/ThirdParty/include/boost/preprocessor/array/detail/get_data.hpp new file mode 100644 index 00000000..c735d06c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/detail/get_data.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8466784fdd63d5bbe43d9e9fed30678c379f70ea6bdf4a62fcb674bb94d14a7 +size 2164 diff --git a/ThirdParty/include/boost/preprocessor/array/elem.hpp b/ThirdParty/include/boost/preprocessor/array/elem.hpp new file mode 100644 index 00000000..5c8d51af --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/elem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bb8e1483c8e071ad03f6a09d71cddf88534984bc8391023da929d1fae3b4805 +size 1306 diff --git a/ThirdParty/include/boost/preprocessor/array/enum.hpp b/ThirdParty/include/boost/preprocessor/array/enum.hpp new file mode 100644 index 00000000..147ad960 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:545f6e3b25bdcb198a98ac94bff0dee1034b61251a69ea40e2a840ac99e0616b +size 1619 diff --git a/ThirdParty/include/boost/preprocessor/array/insert.hpp b/ThirdParty/include/boost/preprocessor/array/insert.hpp new file mode 100644 index 00000000..b103109b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/insert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4391db9d92f7ac85747aabc874cda10d4b3295bb34a1417db0da81e5bf923181 +size 3089 diff --git a/ThirdParty/include/boost/preprocessor/array/pop_back.hpp b/ThirdParty/include/boost/preprocessor/array/pop_back.hpp new file mode 100644 index 00000000..c303db08 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/pop_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb9d17db98e0a088914177654d2810789c81429ea7eb5343e3a9b360f557477f +size 1732 diff --git a/ThirdParty/include/boost/preprocessor/array/pop_front.hpp b/ThirdParty/include/boost/preprocessor/array/pop_front.hpp new file mode 100644 index 00000000..6347d29a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/pop_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3912f5d2f45ca05044b8302fd82dd4f27cbd17c5b453e72fb3b9f93f9a089f90 +size 1811 diff --git a/ThirdParty/include/boost/preprocessor/array/push_back.hpp b/ThirdParty/include/boost/preprocessor/array/push_back.hpp new file mode 100644 index 00000000..d87d9687 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/push_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8d482791fc6dfc1f3ca0320889672a122810aa5550d78552a32f2d881f70ec2 +size 1729 diff --git a/ThirdParty/include/boost/preprocessor/array/push_front.hpp b/ThirdParty/include/boost/preprocessor/array/push_front.hpp new file mode 100644 index 00000000..3ed4a195 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8920c38f100ec06fa42c176b4cc50052855edda96ea585a5f33123d3e5b7307f +size 1739 diff --git a/ThirdParty/include/boost/preprocessor/array/remove.hpp b/ThirdParty/include/boost/preprocessor/array/remove.hpp new file mode 100644 index 00000000..22b806e6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/remove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b558e2422794f51e74c68ff693abffcc5286e169505c1e6fb5c15e6e95cb074 +size 2906 diff --git a/ThirdParty/include/boost/preprocessor/array/replace.hpp b/ThirdParty/include/boost/preprocessor/array/replace.hpp new file mode 100644 index 00000000..7b077e06 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/replace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f62774db909ff95b066184afc55644606209f70ead278cb44e3b6d36714b677 +size 2725 diff --git a/ThirdParty/include/boost/preprocessor/array/reverse.hpp b/ThirdParty/include/boost/preprocessor/array/reverse.hpp new file mode 100644 index 00000000..b8147d18 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/reverse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e08ca3cbe5bff53a773603cf45b4acbf310598edf011b1f4f2dc1b5e20eae7 +size 1378 diff --git a/ThirdParty/include/boost/preprocessor/array/size.hpp b/ThirdParty/include/boost/preprocessor/array/size.hpp new file mode 100644 index 00000000..25d70a9d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27d20a936e02ccbc683835309cbf0ac91ad0ce1b28b309f3dffda497fff2296b +size 1158 diff --git a/ThirdParty/include/boost/preprocessor/array/to_list.hpp b/ThirdParty/include/boost/preprocessor/array/to_list.hpp new file mode 100644 index 00000000..2986b81e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/to_list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cb7df6124e57baaaedcc31dcec9377864169e9cdc4cfd5c8da40c8bc12d47c7 +size 2012 diff --git a/ThirdParty/include/boost/preprocessor/array/to_seq.hpp b/ThirdParty/include/boost/preprocessor/array/to_seq.hpp new file mode 100644 index 00000000..8321d864 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/to_seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94afbbcf5b39babc43cfd093439aabe06d47c05904218f57740c921d1a0eadb7 +size 1977 diff --git a/ThirdParty/include/boost/preprocessor/array/to_tuple.hpp b/ThirdParty/include/boost/preprocessor/array/to_tuple.hpp new file mode 100644 index 00000000..daf37c95 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/array/to_tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b18b071a7e81949e5374adb7dca43fd02e14ac8977832bd00595144d7501b38 +size 1298 diff --git a/ThirdParty/include/boost/preprocessor/assert_msg.hpp b/ThirdParty/include/boost/preprocessor/assert_msg.hpp new file mode 100644 index 00000000..a650a53f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/assert_msg.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:686f2ca3f061858bf7bd7b9f5cb27d0d1d0817cf4f387bf7978f252d9d20114f +size 748 diff --git a/ThirdParty/include/boost/preprocessor/cat.hpp b/ThirdParty/include/boost/preprocessor/cat.hpp new file mode 100644 index 00000000..2970ceba --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/cat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f232dca396d537f103fd26b7fc4e2026aeb43cb476d069688be697c11a084bf +size 1018 diff --git a/ThirdParty/include/boost/preprocessor/comma.hpp b/ThirdParty/include/boost/preprocessor/comma.hpp new file mode 100644 index 00000000..0a41e9f0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comma.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93aaaeeddf6ce0f0d02753a6e64bfe299ac9fd77e62c72da15e705f995c69c80 +size 743 diff --git a/ThirdParty/include/boost/preprocessor/comma_if.hpp b/ThirdParty/include/boost/preprocessor/comma_if.hpp new file mode 100644 index 00000000..6a299a08 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comma_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6183a66ed499fc42fa63c51b6d8e80fb38ed7ec988ae2663826beedf4a497ba +size 752 diff --git a/ThirdParty/include/boost/preprocessor/comparison.hpp b/ThirdParty/include/boost/preprocessor/comparison.hpp new file mode 100644 index 00000000..03b99d57 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b0b4a9607138908fb6712a220d35d0955aab7bebedbafdecbb80bf44900264b +size 783 diff --git a/ThirdParty/include/boost/preprocessor/comparison/equal.hpp b/ThirdParty/include/boost/preprocessor/comparison/equal.hpp new file mode 100644 index 00000000..7292044c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison/equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a6f3ebb82ffbe0301adfcd0dbed6c0bbc11ec60d8ac6306f08e0ddca34c28a +size 1006 diff --git a/ThirdParty/include/boost/preprocessor/comparison/greater.hpp b/ThirdParty/include/boost/preprocessor/comparison/greater.hpp new file mode 100644 index 00000000..9cc9be03 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison/greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ff62c33d4d942759d7e855c7943d4a4d85c61ad477dab94c977f028bbe6c5f +size 1141 diff --git a/ThirdParty/include/boost/preprocessor/comparison/greater_equal.hpp b/ThirdParty/include/boost/preprocessor/comparison/greater_equal.hpp new file mode 100644 index 00000000..298e9051 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison/greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90392fc12b2b76204683009bb24fc507a01e511b139a79330af05d6be343dc95 +size 1243 diff --git a/ThirdParty/include/boost/preprocessor/comparison/less.hpp b/ThirdParty/include/boost/preprocessor/comparison/less.hpp new file mode 100644 index 00000000..b9755f89 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison/less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eacf1018f2575270fcc50057fe83010b393f7b86affb1c325877718038463870 +size 1965 diff --git a/ThirdParty/include/boost/preprocessor/comparison/less_equal.hpp b/ThirdParty/include/boost/preprocessor/comparison/less_equal.hpp new file mode 100644 index 00000000..f7e20d0e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison/less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed0bc13771e84e7f12fc80e757bfe6c5c51d8500a6199dee7237b7f3f930b76c +size 1275 diff --git a/ThirdParty/include/boost/preprocessor/comparison/not_equal.hpp b/ThirdParty/include/boost/preprocessor/comparison/not_equal.hpp new file mode 100644 index 00000000..1eac00f2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/comparison/not_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea09178b11926800cd3b44641525d3edc7c97dd3c0607edcdc95485a6fc0682c +size 64923 diff --git a/ThirdParty/include/boost/preprocessor/config/config.hpp b/ThirdParty/include/boost/preprocessor/config/config.hpp new file mode 100644 index 00000000..65dfa433 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/config/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb34c61f7960e7182795647372c64105807e11651b5041f9a7989d1056106671 +size 5498 diff --git a/ThirdParty/include/boost/preprocessor/config/limits.hpp b/ThirdParty/include/boost/preprocessor/config/limits.hpp new file mode 100644 index 00000000..cd2f6a92 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/config/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d06a6ecec66cc9c6e221f4fbb2b96ebe0f7ef01268340d20918856140e4c9e6 +size 878 diff --git a/ThirdParty/include/boost/preprocessor/control.hpp b/ThirdParty/include/boost/preprocessor/control.hpp new file mode 100644 index 00000000..acb26d47 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59395810900373fe3b5cbe2292f739ffef4562f13c564d2f3e332bab1d6b80b6 +size 991 diff --git a/ThirdParty/include/boost/preprocessor/control/deduce_d.hpp b/ThirdParty/include/boost/preprocessor/control/deduce_d.hpp new file mode 100644 index 00000000..a627c777 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/deduce_d.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f661a968fb5ebbb7eba07e79153d53650d4ae4264913e3ee385816e4d1e59741 +size 912 diff --git a/ThirdParty/include/boost/preprocessor/control/detail/dmc/while.hpp b/ThirdParty/include/boost/preprocessor/control/detail/dmc/while.hpp new file mode 100644 index 00000000..b05bd57b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/detail/dmc/while.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24a80ca0fd807fe1f9557e0046498620e221978a09f4b6dbae1b3b4c4e023fad +size 65769 diff --git a/ThirdParty/include/boost/preprocessor/control/detail/edg/while.hpp b/ThirdParty/include/boost/preprocessor/control/detail/edg/while.hpp new file mode 100644 index 00000000..beca2ae7 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/detail/edg/while.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e2d4c817647735e6ace2dc45285c9d82ce933fb6b49661d77c98715b10772b9 +size 48574 diff --git a/ThirdParty/include/boost/preprocessor/control/detail/msvc/while.hpp b/ThirdParty/include/boost/preprocessor/control/detail/msvc/while.hpp new file mode 100644 index 00000000..2e9dcf0f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/detail/msvc/while.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b77146b65e9e925cef8699476b8344a06ba8a0b0fbc37369be1e7d60141184e +size 31126 diff --git a/ThirdParty/include/boost/preprocessor/control/detail/while.hpp b/ThirdParty/include/boost/preprocessor/control/detail/while.hpp new file mode 100644 index 00000000..714a04b8 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/detail/while.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52d897346181168e7a3107714b179afd6e7bb87d15e070d6bc9d6bba82d4e4da +size 67561 diff --git a/ThirdParty/include/boost/preprocessor/control/expr_if.hpp b/ThirdParty/include/boost/preprocessor/control/expr_if.hpp new file mode 100644 index 00000000..928ab585 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/expr_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea4eb6d2414c35ad7c75fa9ca548a3f74046a8e7de758de4cd1f16ebda13dac6 +size 956 diff --git a/ThirdParty/include/boost/preprocessor/control/expr_iif.hpp b/ThirdParty/include/boost/preprocessor/control/expr_iif.hpp new file mode 100644 index 00000000..5b9558fa --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/expr_iif.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:225dd9118c65de2e473e4cdec0aef9acc4b474216e683b4609bb1072dce32a10 +size 1224 diff --git a/ThirdParty/include/boost/preprocessor/control/if.hpp b/ThirdParty/include/boost/preprocessor/control/if.hpp new file mode 100644 index 00000000..cfb08c26 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb9af759ba3695b91dff747ce2fe18d768cdadf93ddd956884eff8333e4ee40 +size 906 diff --git a/ThirdParty/include/boost/preprocessor/control/iif.hpp b/ThirdParty/include/boost/preprocessor/control/iif.hpp new file mode 100644 index 00000000..a8a23212 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/iif.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccffe0f0bbc7ae9e4993a43d77fa0fd23b143d533148e462f1248e809208da04 +size 1325 diff --git a/ThirdParty/include/boost/preprocessor/control/while.hpp b/ThirdParty/include/boost/preprocessor/control/while.hpp new file mode 100644 index 00000000..19d71a3b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/control/while.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ebaccd191ef97db46ccdabe8b791adc9e0bb6c42fa1161fa98353fd2e6653cc +size 17561 diff --git a/ThirdParty/include/boost/preprocessor/debug.hpp b/ThirdParty/include/boost/preprocessor/debug.hpp new file mode 100644 index 00000000..45bf19f5 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/debug.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2237ec07b25f574966b3df10fdafd9ea05596af3654001450a26f92f691a7b11 +size 784 diff --git a/ThirdParty/include/boost/preprocessor/debug/assert.hpp b/ThirdParty/include/boost/preprocessor/debug/assert.hpp new file mode 100644 index 00000000..f6bf539a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/debug/assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d20ac6553e3748779bbf22048f46b22b4c49e8fd446ba3f76960055a5801f80 +size 1374 diff --git a/ThirdParty/include/boost/preprocessor/debug/error.hpp b/ThirdParty/include/boost/preprocessor/debug/error.hpp new file mode 100644 index 00000000..63a29cb4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/debug/error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cee86e4c00fb6e8572acf2efcf121f1b02dec3c89c4ab59d41f584920c79885 +size 1574 diff --git a/ThirdParty/include/boost/preprocessor/debug/line.hpp b/ThirdParty/include/boost/preprocessor/debug/line.hpp new file mode 100644 index 00000000..f95be9e4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/debug/line.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29f36591e6e49e176e4954063cea56f64090c38246cf89f82804b8e4edb9ac91 +size 1686 diff --git a/ThirdParty/include/boost/preprocessor/dec.hpp b/ThirdParty/include/boost/preprocessor/dec.hpp new file mode 100644 index 00000000..c2f21f6b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/dec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4ddff6960518d75d6d2b0d783604ffb1848bdd93943be6b5bf46cf4eb554d47 +size 736 diff --git a/ThirdParty/include/boost/preprocessor/detail/auto_rec.hpp b/ThirdParty/include/boost/preprocessor/detail/auto_rec.hpp new file mode 100644 index 00000000..4bf1b705 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/auto_rec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32579802ad68f74fa08d059e2410633a164b83d0a51f50eab162cb6569ebb634 +size 26136 diff --git a/ThirdParty/include/boost/preprocessor/detail/check.hpp b/ThirdParty/include/boost/preprocessor/detail/check.hpp new file mode 100644 index 00000000..5eb1a046 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/check.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f44f116a02d55b4e31df2dedb35a1e4e22ba1f62923882c29cf7d7f26497b78b +size 2183 diff --git a/ThirdParty/include/boost/preprocessor/detail/dmc/auto_rec.hpp b/ThirdParty/include/boost/preprocessor/detail/dmc/auto_rec.hpp new file mode 100644 index 00000000..1da525e8 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/dmc/auto_rec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ab6fc15b9fa80dca4899dd498d26ac99838711626ee38afb87e6fbc530e5bf +size 26466 diff --git a/ThirdParty/include/boost/preprocessor/detail/is_binary.hpp b/ThirdParty/include/boost/preprocessor/detail/is_binary.hpp new file mode 100644 index 00000000..260804bf --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/is_binary.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4461a173cb87b7b18002d0b5dc70a709452049b057fc7fb94fa8b941ee89c41a +size 1241 diff --git a/ThirdParty/include/boost/preprocessor/detail/is_nullary.hpp b/ThirdParty/include/boost/preprocessor/detail/is_nullary.hpp new file mode 100644 index 00000000..f735ec10 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/is_nullary.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18cbabf0e597c46a8af0c8d9b5991aa72716a9a06b97b2541ad1108a5e31c051 +size 1248 diff --git a/ThirdParty/include/boost/preprocessor/detail/is_unary.hpp b/ThirdParty/include/boost/preprocessor/detail/is_unary.hpp new file mode 100644 index 00000000..e58610df --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/is_unary.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3345eae7795dbc2d74254ce14f5eadffcc03bcb580c6e10fb1439a57174e5015 +size 1227 diff --git a/ThirdParty/include/boost/preprocessor/detail/null.hpp b/ThirdParty/include/boost/preprocessor/detail/null.hpp new file mode 100644 index 00000000..68a1fd91 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/null.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33b66a32f2f8e9c713e4d2bd0343e75d1b2e38dbb2eb95bb475773af50d47f4a +size 721 diff --git a/ThirdParty/include/boost/preprocessor/detail/split.hpp b/ThirdParty/include/boost/preprocessor/detail/split.hpp new file mode 100644 index 00000000..49b3928d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/detail/split.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc2e56aad1de3bb6ea0be589e0454fd1084c4d631f0de100d860c8225889ba41 +size 1529 diff --git a/ThirdParty/include/boost/preprocessor/empty.hpp b/ThirdParty/include/boost/preprocessor/empty.hpp new file mode 100644 index 00000000..326d06db --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25316276e18b8025ee1260681a106bb60fd2a0595fdbb784a6b9a1f34e32b98e +size 742 diff --git a/ThirdParty/include/boost/preprocessor/enum.hpp b/ThirdParty/include/boost/preprocessor/enum.hpp new file mode 100644 index 00000000..9835d014 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5d39332ae802095cfc7adfb0d2ad8ad4ef0b014c411272b9b323b6fe7b64569 +size 739 diff --git a/ThirdParty/include/boost/preprocessor/enum_params.hpp b/ThirdParty/include/boost/preprocessor/enum_params.hpp new file mode 100644 index 00000000..5e312e1a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/enum_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7b5f2ebe844bb76c25d381be99c368cb4f9f1f355d9fbf8ef0074411c7f8db3 +size 760 diff --git a/ThirdParty/include/boost/preprocessor/enum_params_with_a_default.hpp b/ThirdParty/include/boost/preprocessor/enum_params_with_a_default.hpp new file mode 100644 index 00000000..a325bed9 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/enum_params_with_a_default.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76b35a1f9696e7f608255ba3e1a1ba0a99cb8caeec2b04ab2824c8a2b5a99951 +size 805 diff --git a/ThirdParty/include/boost/preprocessor/enum_params_with_defaults.hpp b/ThirdParty/include/boost/preprocessor/enum_params_with_defaults.hpp new file mode 100644 index 00000000..139003aa --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/enum_params_with_defaults.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:534a616fa8441b69dfe026b641b8ccac09b020c031a5866adaf52e816421c3e7 +size 802 diff --git a/ThirdParty/include/boost/preprocessor/enum_shifted.hpp b/ThirdParty/include/boost/preprocessor/enum_shifted.hpp new file mode 100644 index 00000000..99a69a58 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/enum_shifted.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74d2ec26feb478240a1d9db100984afc4a7beb10246a5876a906fcb7ad59a2bd +size 763 diff --git a/ThirdParty/include/boost/preprocessor/enum_shifted_params.hpp b/ThirdParty/include/boost/preprocessor/enum_shifted_params.hpp new file mode 100644 index 00000000..ae21083e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/enum_shifted_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d33676cf28d10ecffe70db46e9e9af04c23884af5680b1d0feb13a26debec151 +size 784 diff --git a/ThirdParty/include/boost/preprocessor/expand.hpp b/ThirdParty/include/boost/preprocessor/expand.hpp new file mode 100644 index 00000000..bbbbfdce --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/expand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:476504473aa946bc632f28f3f607e5b3d84e459f93ea0c27f2322ab11c6a1497 +size 745 diff --git a/ThirdParty/include/boost/preprocessor/expr_if.hpp b/ThirdParty/include/boost/preprocessor/expr_if.hpp new file mode 100644 index 00000000..e26d2475 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/expr_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74609a2431533535955c9f26e5da601260ba4f0f2880516e769459259fdc9860 +size 745 diff --git a/ThirdParty/include/boost/preprocessor/facilities.hpp b/ThirdParty/include/boost/preprocessor/facilities.hpp new file mode 100644 index 00000000..476a6598 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fcad5ff6f5bed0f2955e396ccbee8ee3f5ea83a1a5b94a2f0412150cf76563d +size 1204 diff --git a/ThirdParty/include/boost/preprocessor/facilities/apply.hpp b/ThirdParty/include/boost/preprocessor/facilities/apply.hpp new file mode 100644 index 00000000..0a1fcdc1 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/apply.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf660c870290465795215bf7839e70dccb3350339da73f41aa7fe8111c0965ea +size 1475 diff --git a/ThirdParty/include/boost/preprocessor/facilities/detail/is_empty.hpp b/ThirdParty/include/boost/preprocessor/facilities/detail/is_empty.hpp new file mode 100644 index 00000000..587704af --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/detail/is_empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25589de7caed4fbaad7e8f4cc4e4f3e4ef9734c48873876f68b7f164a70fbbde +size 1719 diff --git a/ThirdParty/include/boost/preprocessor/facilities/empty.hpp b/ThirdParty/include/boost/preprocessor/facilities/empty.hpp new file mode 100644 index 00000000..f71ad2a4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e086fd6efde0fabbf12715c72a80d9fa2916d14bed6a6e8631cc3a9efd7d648 +size 567 diff --git a/ThirdParty/include/boost/preprocessor/facilities/expand.hpp b/ThirdParty/include/boost/preprocessor/facilities/expand.hpp new file mode 100644 index 00000000..85398092 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/expand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c3dcec5afba1e28fd48da9066b828c386c0149c2a7cf5b27e38ea2c1040ec1e +size 842 diff --git a/ThirdParty/include/boost/preprocessor/facilities/identity.hpp b/ThirdParty/include/boost/preprocessor/facilities/identity.hpp new file mode 100644 index 00000000..87cc3709 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/identity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d23be5440b75e32ef9da08bd4cacb7016917a42bd4c30f61fa3d061fa1f645eb +size 759 diff --git a/ThirdParty/include/boost/preprocessor/facilities/intercept.hpp b/ThirdParty/include/boost/preprocessor/facilities/intercept.hpp new file mode 100644 index 00000000..5f504ece --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/intercept.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f445e920c201b8b3dc8c2f0ef1c99e103af47aece465d2ec0d23572ca9bd93e +size 8913 diff --git a/ThirdParty/include/boost/preprocessor/facilities/is_1.hpp b/ThirdParty/include/boost/preprocessor/facilities/is_1.hpp new file mode 100644 index 00000000..e62119d4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/is_1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c481a0e24bedd5902ef9729c3b32dcecb214975c940fc22402f4ccb6e8eb5ecf +size 946 diff --git a/ThirdParty/include/boost/preprocessor/facilities/is_empty.hpp b/ThirdParty/include/boost/preprocessor/facilities/is_empty.hpp new file mode 100644 index 00000000..fbe73d64 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/is_empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd944855298a0d8621d910883ba0f55822aa6f0f04c9039d342f01fe7c526903 +size 2544 diff --git a/ThirdParty/include/boost/preprocessor/facilities/is_empty_or_1.hpp b/ThirdParty/include/boost/preprocessor/facilities/is_empty_or_1.hpp new file mode 100644 index 00000000..4385dedb --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/is_empty_or_1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49c6ef2d518b22877eca0db4157f7c0890f25e6d35b30527dde330a4c661b31c +size 1205 diff --git a/ThirdParty/include/boost/preprocessor/facilities/is_empty_variadic.hpp b/ThirdParty/include/boost/preprocessor/facilities/is_empty_variadic.hpp new file mode 100644 index 00000000..fb9e79e4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/is_empty_variadic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dad8983ff11affe13f203736552131e6ba1b75f5751fa16a1e9cec1b961017d +size 1780 diff --git a/ThirdParty/include/boost/preprocessor/facilities/overload.hpp b/ThirdParty/include/boost/preprocessor/facilities/overload.hpp new file mode 100644 index 00000000..699398f2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/facilities/overload.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:748c9c57121b5f80c1a93257f835fc2fc2d7127647ac2bd46714eeddb7a4dd47 +size 1150 diff --git a/ThirdParty/include/boost/preprocessor/for.hpp b/ThirdParty/include/boost/preprocessor/for.hpp new file mode 100644 index 00000000..019a16ca --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/for.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e76e61bed538fd5049482c577e7377bfdc3d138d0522ad3a93b3bb25a9ab3b77 +size 736 diff --git a/ThirdParty/include/boost/preprocessor/identity.hpp b/ThirdParty/include/boost/preprocessor/identity.hpp new file mode 100644 index 00000000..84a91c11 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/identity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e60eb53975fba657c6f099c0ceb23670388040680ee2b8b3f41c2bc8b6eb002 +size 751 diff --git a/ThirdParty/include/boost/preprocessor/if.hpp b/ThirdParty/include/boost/preprocessor/if.hpp new file mode 100644 index 00000000..8d5a7a06 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e50196c6f8d1aec7063595f1502306de213db7cfe19c3d2f31188bb5ebc77a0 +size 730 diff --git a/ThirdParty/include/boost/preprocessor/inc.hpp b/ThirdParty/include/boost/preprocessor/inc.hpp new file mode 100644 index 00000000..0b110e8e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/inc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfa9aea1844754bab45515c322a44d5dc8553f67db6358f01ba345dc9793bd18 +size 736 diff --git a/ThirdParty/include/boost/preprocessor/iterate.hpp b/ThirdParty/include/boost/preprocessor/iterate.hpp new file mode 100644 index 00000000..d5bdce15 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iterate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c62ff19d47449b7519d2052aed158821cd126e9e620f46f6d74ebdd66106ba5 +size 747 diff --git a/ThirdParty/include/boost/preprocessor/iteration.hpp b/ThirdParty/include/boost/preprocessor/iteration.hpp new file mode 100644 index 00000000..c22688a3 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:740388173b56a4724c6cd310ae3712817dacd2a37d3d5c2791f3b8227409616b +size 852 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp new file mode 100644 index 00000000..ac7a5e47 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f6807bc3dc5b396c5b7671cbfa8aba047d23de90992725ebe0b21dc2885f594 +size 4079 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp new file mode 100644 index 00000000..6b171132 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:651fe64976862de8042a0eb6136ee6ac4e0b4d73e59e1857a4dda03d9af9dbaf +size 4079 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp new file mode 100644 index 00000000..c1387197 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8ad1731d8d7a28528a5dfc3ce5abd2b2724bc60716647f15c7726b576e4c321 +size 4079 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp new file mode 100644 index 00000000..506aa5c6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea66c700426341dbe5660de8dfc5ef39f79435ea2ac5e336b36d0bdeeb36c58 +size 4079 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp new file mode 100644 index 00000000..79bb6ec6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8e1cdd298554a74102133d78b4ec356cce29457082f58af20bee564e54566d5 +size 4079 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp new file mode 100644 index 00000000..3115dbbe --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01ae3dc6c78a5d2df6af21294df0a4e95e2b665ef368d8d357ea1fc2bd28a554 +size 4131 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp new file mode 100644 index 00000000..acce982c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe33cf6945ee59b890fd363012b79f987a4071effd9fc20214b26cad54e46deb +size 4131 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp new file mode 100644 index 00000000..bc6dafcc --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dfdd2eb0568446fd14f27971f882726f62f463dbcecbcf94b99ec4af2de109a +size 4131 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp new file mode 100644 index 00000000..5af2864c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce6b89a8f50ed4404bb5f5ab6cc83217044d6510a134d78f03a3b0ca0943aee0 +size 4131 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp new file mode 100644 index 00000000..7062a273 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0615225c6dc06a324734fabe86cb18fbe3d5a4676d70dd8d948dd18123e6437 +size 4131 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/finish.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/finish.hpp new file mode 100644 index 00000000..dbce815e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/finish.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af1dc02e4a4d02b0d73bb1b7c3f8148b08f45a5c562156d918cb6d90aea3570d +size 3617 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward1.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward1.hpp new file mode 100644 index 00000000..73ff59a0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ab95856c0b46cf525b2eef0b65692f3e7b9b02a2a53e73be20518450a3a90fd +size 54776 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward2.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward2.hpp new file mode 100644 index 00000000..ceb0cd28 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26d1e9e8c809784b501cf4cc80685bd81ca5958148d0e0b21fbfbddd178af46d +size 54709 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward3.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward3.hpp new file mode 100644 index 00000000..22d27568 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e62c4a1a42c8bd8642a35b030dbd9ff07a2d04c97ca44107f40db11fee2ff53e +size 54709 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward4.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward4.hpp new file mode 100644 index 00000000..fe8f0e24 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:760c1d8b74d24ca47effcca9a36ee1011a6b753144ec25296ae2d83a6c19c5d4 +size 54709 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward5.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward5.hpp new file mode 100644 index 00000000..73abb3ff --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/forward5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b92fccb4810f940c5cd0e70a7589474d42e949b96307b897a17f12acf632b0 +size 54709 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp new file mode 100644 index 00000000..42565c14 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4538ff16a50f497761c444e7f4182c0f86e7bbfa5de5da5d8afedbc715b353b +size 48331 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp new file mode 100644 index 00000000..a28341e1 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d911d867dcbc8a00eaf7deb6e3064b35f104cdb5cc7cd6049db289f332b6ebf +size 48331 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp new file mode 100644 index 00000000..2a4b8436 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48a7fde0bc7644e9601c10103135393aca558807550cef737a5d8e9b4c773331 +size 48331 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp new file mode 100644 index 00000000..4c94f13c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bef16506b55ad28973c32a22f4f669052b8030e255794483b942f6c694d91f48 +size 48331 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp new file mode 100644 index 00000000..3bdb48fc --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b8aceb8ac481f545ae187f6c1a14c9bab874db6fa54633618459ab20b26a481 +size 48331 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/local.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/local.hpp new file mode 100644 index 00000000..ac827235 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/local.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8edcc5b860aed762df5a833ecb1a592e7603fa19a1c1a56aadd7bff7afff587 +size 20769 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/rlocal.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/rlocal.hpp new file mode 100644 index 00000000..fb3d0774 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/rlocal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11af18b2d0b852f3df90c01fc8865978e03f6ffa5622c1673493d8f42e87ee2a +size 17087 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/self.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/self.hpp new file mode 100644 index 00000000..681c4188 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/self.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37af9536a486db33ee8e0822ef3fd01cf0d342b129a19fd90451137c27114094 +size 833 diff --git a/ThirdParty/include/boost/preprocessor/iteration/detail/start.hpp b/ThirdParty/include/boost/preprocessor/iteration/detail/start.hpp new file mode 100644 index 00000000..de7c425e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/detail/start.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9693dc3998a90d39ad362bcfde9a8393e74ff4629e4f30f59f9b3681a7fd4555 +size 3617 diff --git a/ThirdParty/include/boost/preprocessor/iteration/iterate.hpp b/ThirdParty/include/boost/preprocessor/iteration/iterate.hpp new file mode 100644 index 00000000..832df297 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/iterate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ebb8e91eb0d3230950086b94bd5c5b92957834a10e27f6c1f0197f4e83b85a +size 3706 diff --git a/ThirdParty/include/boost/preprocessor/iteration/local.hpp b/ThirdParty/include/boost/preprocessor/iteration/local.hpp new file mode 100644 index 00000000..7182dc6d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/local.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd6d9e858452afcfc9194fc9ba264a25536a4aa98dcd5a6a785a875cbf44c1ba +size 1129 diff --git a/ThirdParty/include/boost/preprocessor/iteration/self.hpp b/ThirdParty/include/boost/preprocessor/iteration/self.hpp new file mode 100644 index 00000000..55dae19e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/iteration/self.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bdaa291381f918396a75aebbd5c40c6bec2faf8281f1fd95b549ecd678d198d +size 820 diff --git a/ThirdParty/include/boost/preprocessor/library.hpp b/ThirdParty/include/boost/preprocessor/library.hpp new file mode 100644 index 00000000..ba91a591 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/library.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58f28f468407ebd0b77123b152d881d42a79065a8fb8bb73fdddddd9331bb361 +size 1747 diff --git a/ThirdParty/include/boost/preprocessor/limits.hpp b/ThirdParty/include/boost/preprocessor/limits.hpp new file mode 100644 index 00000000..98be40d1 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10e2ee83ddea44561957e469243c1a4b1cef32fe50224417be81cc2653ca7645 +size 741 diff --git a/ThirdParty/include/boost/preprocessor/list.hpp b/ThirdParty/include/boost/preprocessor/list.hpp new file mode 100644 index 00000000..bea01f52 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ec19d6963ebc2936d5e881577c8693b68fc96c09e70ecbd81a388dfc27fca8f +size 1352 diff --git a/ThirdParty/include/boost/preprocessor/list/adt.hpp b/ThirdParty/include/boost/preprocessor/list/adt.hpp new file mode 100644 index 00000000..eb3c53be --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/adt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8c9b63e1be1dd34032d07c726b9b8676d1556b20ff1e05f542aa63da6aa05fd +size 2171 diff --git a/ThirdParty/include/boost/preprocessor/list/append.hpp b/ThirdParty/include/boost/preprocessor/list/append.hpp new file mode 100644 index 00000000..95a91721 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/append.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:983ebb17e5c1350256ad51e188cb4262d9ef54fd8bdcb4619320e50c3471edb7 +size 1359 diff --git a/ThirdParty/include/boost/preprocessor/list/at.hpp b/ThirdParty/include/boost/preprocessor/list/at.hpp new file mode 100644 index 00000000..d9f7234e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/at.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e658a21e5e27c6d43acded1cc29dcda5b475df18b2a9114220e334226d65cfa3 +size 1355 diff --git a/ThirdParty/include/boost/preprocessor/list/cat.hpp b/ThirdParty/include/boost/preprocessor/list/cat.hpp new file mode 100644 index 00000000..08b54649 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/cat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b61217b215ff05c9977c250a2523a8e018a07b0dbc7e4ab1c06c9e64b8735a76 +size 1586 diff --git a/ThirdParty/include/boost/preprocessor/list/detail/dmc/fold_left.hpp b/ThirdParty/include/boost/preprocessor/list/detail/dmc/fold_left.hpp new file mode 100644 index 00000000..f63df137 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/detail/dmc/fold_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:277da8bc285adfb01b86f7cc2d423813e7b90d24d98e8c1ee60b173f6c8bff0a +size 68186 diff --git a/ThirdParty/include/boost/preprocessor/list/detail/edg/fold_left.hpp b/ThirdParty/include/boost/preprocessor/list/detail/edg/fold_left.hpp new file mode 100644 index 00000000..260e10ef --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/detail/edg/fold_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11b4f0d262434f68bf0ad1f2ef34b5a1ccf1e9da15bd6b4c9936162d168f15f4 +size 84875 diff --git a/ThirdParty/include/boost/preprocessor/list/detail/edg/fold_right.hpp b/ThirdParty/include/boost/preprocessor/list/detail/edg/fold_right.hpp new file mode 100644 index 00000000..f476a746 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/detail/edg/fold_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eca7ad79898a7e280a4abc1bdfff7b7ebe237f6e20b6ed8bff337288f2c427d9 +size 113960 diff --git a/ThirdParty/include/boost/preprocessor/list/detail/fold_left.hpp b/ThirdParty/include/boost/preprocessor/list/detail/fold_left.hpp new file mode 100644 index 00000000..49c85a27 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/detail/fold_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ec75b889d9ecc89068de4f8967aa69b01f8134686e10df64d265a92ae439eb0 +size 62809 diff --git a/ThirdParty/include/boost/preprocessor/list/detail/fold_right.hpp b/ThirdParty/include/boost/preprocessor/list/detail/fold_right.hpp new file mode 100644 index 00000000..97366c1d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/detail/fold_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95d60ae629111d523850d522f1b71ec5b98e605a4218116fbf2bcab33354a187 +size 29437 diff --git a/ThirdParty/include/boost/preprocessor/list/enum.hpp b/ThirdParty/include/boost/preprocessor/list/enum.hpp new file mode 100644 index 00000000..5511f6bf --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abceb52752c4a1a33d3fd214b7512d0b0f8e3b636b6a9ec1806ab753ab8887d1 +size 1460 diff --git a/ThirdParty/include/boost/preprocessor/list/filter.hpp b/ThirdParty/include/boost/preprocessor/list/filter.hpp new file mode 100644 index 00000000..4e899906 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/filter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92443ed38a73d216356115366e10d584ee3dc1e8ef3db348d2d88a916bd07c8d +size 2538 diff --git a/ThirdParty/include/boost/preprocessor/list/first_n.hpp b/ThirdParty/include/boost/preprocessor/list/first_n.hpp new file mode 100644 index 00000000..bc52b7ae --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/first_n.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e405b421cadfe8ca42975a8e0ef6de6cd07d8e0f5b2f9a4966abd700ca136bbf +size 2684 diff --git a/ThirdParty/include/boost/preprocessor/list/fold_left.hpp b/ThirdParty/include/boost/preprocessor/list/fold_left.hpp new file mode 100644 index 00000000..32a87f91 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/fold_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51794910277d9cf4c04234ef1fea50538266be08b7c15af0135f59de70c23774 +size 21383 diff --git a/ThirdParty/include/boost/preprocessor/list/fold_right.hpp b/ThirdParty/include/boost/preprocessor/list/fold_right.hpp new file mode 100644 index 00000000..37c7f447 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/fold_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85860f4d224d9b278fdf42858edd309ae5621c55cc3cb7e91dc5a18ace775d20 +size 1326 diff --git a/ThirdParty/include/boost/preprocessor/list/for_each.hpp b/ThirdParty/include/boost/preprocessor/list/for_each.hpp new file mode 100644 index 00000000..4c9875de --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/for_each.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:066c897602fad2ee55c1be3fb9823a962079f4614b23c1cb14ba56b39a1fe9a6 +size 2089 diff --git a/ThirdParty/include/boost/preprocessor/list/for_each_i.hpp b/ThirdParty/include/boost/preprocessor/list/for_each_i.hpp new file mode 100644 index 00000000..68529bbc --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/for_each_i.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2e01a4af9a4d151fc0591c600dac3d43c9b313779191facfbc78368219aee73 +size 3289 diff --git a/ThirdParty/include/boost/preprocessor/list/for_each_product.hpp b/ThirdParty/include/boost/preprocessor/list/for_each_product.hpp new file mode 100644 index 00000000..dd142c1f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/for_each_product.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab2ae7b4ff597fd838b3fcf5c97132744d3e7521628b57b0d05e7555adfe5033 +size 13798 diff --git a/ThirdParty/include/boost/preprocessor/list/rest_n.hpp b/ThirdParty/include/boost/preprocessor/list/rest_n.hpp new file mode 100644 index 00000000..a9503968 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/rest_n.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14a035b55223b53e661863a6e3028019db200db2c99a9099ed11d1831c8d479d +size 2350 diff --git a/ThirdParty/include/boost/preprocessor/list/reverse.hpp b/ThirdParty/include/boost/preprocessor/list/reverse.hpp new file mode 100644 index 00000000..e16fa9c7 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/reverse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd9bd2e1a24599a8b0270089bdfcb01254596181579ac0ef9222c18151c15fb6 +size 1427 diff --git a/ThirdParty/include/boost/preprocessor/list/size.hpp b/ThirdParty/include/boost/preprocessor/list/size.hpp new file mode 100644 index 00000000..5af49b6e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47a4f089753d0169dbecfe23906c93b2d67def5bc799f781362890f3685a4e63 +size 2468 diff --git a/ThirdParty/include/boost/preprocessor/list/to_array.hpp b/ThirdParty/include/boost/preprocessor/list/to_array.hpp new file mode 100644 index 00000000..35500e2b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/to_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c24e8055762a99aa4f084246ef61c05b8ba67a57580063416cb2f87744238d +size 25793 diff --git a/ThirdParty/include/boost/preprocessor/list/to_seq.hpp b/ThirdParty/include/boost/preprocessor/list/to_seq.hpp new file mode 100644 index 00000000..25df6240 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/to_seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42d962e893387aac6bf8f748d02a46e810c28e9d7a65fa33bbbe4a2484401081 +size 1196 diff --git a/ThirdParty/include/boost/preprocessor/list/to_tuple.hpp b/ThirdParty/include/boost/preprocessor/list/to_tuple.hpp new file mode 100644 index 00000000..45de91fc --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/to_tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:969806dca613e4464f8171f048f50f72a0234b9fbd0879c1a51bb3d4803d96c3 +size 1738 diff --git a/ThirdParty/include/boost/preprocessor/list/transform.hpp b/ThirdParty/include/boost/preprocessor/list/transform.hpp new file mode 100644 index 00000000..099afe25 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/list/transform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae34114b5b780a66f72e23000ac985bf95a58b6d9e700facc4b86ba550aa395d +size 2305 diff --git a/ThirdParty/include/boost/preprocessor/logical.hpp b/ThirdParty/include/boost/preprocessor/logical.hpp new file mode 100644 index 00000000..a6bc0469 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc4fc3898e186f49f57b1051469ce95d6d066adceccdf1168834a739e6120b18 +size 977 diff --git a/ThirdParty/include/boost/preprocessor/logical/and.hpp b/ThirdParty/include/boost/preprocessor/logical/and.hpp new file mode 100644 index 00000000..d55cdc33 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2de99f30eda56fc4232fce3e4c9dc38de20b4bcdc76dbee46047e120d15359d +size 916 diff --git a/ThirdParty/include/boost/preprocessor/logical/bitand.hpp b/ThirdParty/include/boost/preprocessor/logical/bitand.hpp new file mode 100644 index 00000000..cb45fa62 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/bitand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe547d1d47dd41d44e8a9f3eb964f0c91d6ee6da3b99f80ad784bffd0a61a6d2 +size 1415 diff --git a/ThirdParty/include/boost/preprocessor/logical/bitnor.hpp b/ThirdParty/include/boost/preprocessor/logical/bitnor.hpp new file mode 100644 index 00000000..e02872b0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/bitnor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ad103ea010b594f5c446136029c4f89e4064015bed3ac5c1bb5ba1ad5f41e35 +size 1413 diff --git a/ThirdParty/include/boost/preprocessor/logical/bitor.hpp b/ThirdParty/include/boost/preprocessor/logical/bitor.hpp new file mode 100644 index 00000000..4a4a640e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/bitor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1665badffd8b690e7940d577244cae1e93d5f72be991e3f8b64168871f5a73a +size 1394 diff --git a/ThirdParty/include/boost/preprocessor/logical/bitxor.hpp b/ThirdParty/include/boost/preprocessor/logical/bitxor.hpp new file mode 100644 index 00000000..0873da0e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/bitxor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34030bc463863cfc740f7e62f73acdb9b5e3be5bfe9127fe6d3e44eccd183b6e +size 1413 diff --git a/ThirdParty/include/boost/preprocessor/logical/bool.hpp b/ThirdParty/include/boost/preprocessor/logical/bool.hpp new file mode 100644 index 00000000..e388e74a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/bool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7a4f260bc74e6f6c465bf556bffbb884ae971082b8288641997bc0622a5f511 +size 8153 diff --git a/ThirdParty/include/boost/preprocessor/logical/compl.hpp b/ThirdParty/include/boost/preprocessor/logical/compl.hpp new file mode 100644 index 00000000..58f89c13 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/compl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d12c8c00c74fef902f84cfcfb899dea2bac16ce7c2fd038de84ce1cdc3b6df4 +size 1306 diff --git a/ThirdParty/include/boost/preprocessor/logical/nor.hpp b/ThirdParty/include/boost/preprocessor/logical/nor.hpp new file mode 100644 index 00000000..da79c195 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/nor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adb7e209988de9b0e64dde03426752e00a78aa62245a844c5424977187194afe +size 916 diff --git a/ThirdParty/include/boost/preprocessor/logical/not.hpp b/ThirdParty/include/boost/preprocessor/logical/not.hpp new file mode 100644 index 00000000..8f3907da --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/not.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d05ec8aa9e209f9a08d433f4641c6ea8bc0b7079bf76419748d6879c7908a4e +size 865 diff --git a/ThirdParty/include/boost/preprocessor/logical/or.hpp b/ThirdParty/include/boost/preprocessor/logical/or.hpp new file mode 100644 index 00000000..d33c03f9 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3aa8bda414899bac0b137d89beb65c7c11f1b31364ffecfe14c5afd231eaea29 +size 906 diff --git a/ThirdParty/include/boost/preprocessor/logical/xor.hpp b/ThirdParty/include/boost/preprocessor/logical/xor.hpp new file mode 100644 index 00000000..42c58c94 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/logical/xor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03797d9a52046755ef1837c6086d1f4c509b6202fdab163da783e994dd35e360 +size 916 diff --git a/ThirdParty/include/boost/preprocessor/max.hpp b/ThirdParty/include/boost/preprocessor/max.hpp new file mode 100644 index 00000000..0f66ab1c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1815e97acfeaa25b0d3eda0fbd4b9b5c978d597d3c95cf9a2e58fbcfcfae164c +size 735 diff --git a/ThirdParty/include/boost/preprocessor/min.hpp b/ThirdParty/include/boost/preprocessor/min.hpp new file mode 100644 index 00000000..f82c56c6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/min.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aa1e15ae8c108f04c81d004d75efbe5d8562e447958a101b552179f7972420e +size 735 diff --git a/ThirdParty/include/boost/preprocessor/punctuation.hpp b/ThirdParty/include/boost/preprocessor/punctuation.hpp new file mode 100644 index 00000000..2433925d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26a8737c6436d44b8011aae80fb0b465e3e1ca296de71f111c28d99e8015c90d +size 1044 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/comma.hpp b/ThirdParty/include/boost/preprocessor/punctuation/comma.hpp new file mode 100644 index 00000000..4d7fb88f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/comma.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76c39ab0338e79709faa68d8c5097317e93317ee8d9b71e27d3b4a4735f6d66f +size 520 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/comma_if.hpp b/ThirdParty/include/boost/preprocessor/punctuation/comma_if.hpp new file mode 100644 index 00000000..bae0a19d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/comma_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33e2573e29b20c6026f156ea2ace78c311724eb6df949c1ce21e94f28d26ea4c +size 1012 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp b/ThirdParty/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp new file mode 100644 index 00000000..35593d5b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:310514fccb7ad34582cc5f2e1254742ed7dc604bdfda3ac3e28865d5b6bf2300 +size 1899 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/is_begin_parens.hpp b/ThirdParty/include/boost/preprocessor/punctuation/is_begin_parens.hpp new file mode 100644 index 00000000..fbe4493f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/is_begin_parens.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bcb7a3f7322f34100216558b52e302cf6423b6e576bb42a7ea79a645d24e858 +size 1568 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/paren.hpp b/ThirdParty/include/boost/preprocessor/punctuation/paren.hpp new file mode 100644 index 00000000..633055e1 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/paren.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27361f51a8a15d71e0e3994a546a20c0e667872e25585f4f8fa78b0c679ffe1f +size 826 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/paren_if.hpp b/ThirdParty/include/boost/preprocessor/punctuation/paren_if.hpp new file mode 100644 index 00000000..a85092c0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/paren_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbda8e7757d14eaa1ac398237551aedfb6da39f04bcecae465645af9609d66ec +size 1612 diff --git a/ThirdParty/include/boost/preprocessor/punctuation/remove_parens.hpp b/ThirdParty/include/boost/preprocessor/punctuation/remove_parens.hpp new file mode 100644 index 00000000..fe8bb7fe --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/punctuation/remove_parens.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1047568f1260e596b83a05fcd0ec4c72123b0f2f41bf28733283ecfb42d47f01 +size 1356 diff --git a/ThirdParty/include/boost/preprocessor/repeat.hpp b/ThirdParty/include/boost/preprocessor/repeat.hpp new file mode 100644 index 00000000..9e92a70c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repeat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4afc30370c1de2b7bd9d2a9670f901d4c5fadb26a5b5d6dd647bf78644df8e3d +size 745 diff --git a/ThirdParty/include/boost/preprocessor/repeat_2nd.hpp b/ThirdParty/include/boost/preprocessor/repeat_2nd.hpp new file mode 100644 index 00000000..10448c14 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repeat_2nd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cdfb443bf3b4c5ddc83ccceca8a5dd4cd0800b53170cf83bd0b5640bed90ec7 +size 753 diff --git a/ThirdParty/include/boost/preprocessor/repeat_3rd.hpp b/ThirdParty/include/boost/preprocessor/repeat_3rd.hpp new file mode 100644 index 00000000..2034863c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repeat_3rd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad636a053eaa2ea085ee103f53d08d14409590a18956b5fbc114e15d57f4e209 +size 753 diff --git a/ThirdParty/include/boost/preprocessor/repeat_from_to.hpp b/ThirdParty/include/boost/preprocessor/repeat_from_to.hpp new file mode 100644 index 00000000..a2167ac5 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repeat_from_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1acb4aa84e1021aa27ca6744476c9e57a1a4bfa334329f973517398cf906fdf7 +size 769 diff --git a/ThirdParty/include/boost/preprocessor/repeat_from_to_2nd.hpp b/ThirdParty/include/boost/preprocessor/repeat_from_to_2nd.hpp new file mode 100644 index 00000000..d5fde40e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repeat_from_to_2nd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a07ecddef28d3dac7080cd49724b42c05010d0d879f740d8e8afe9304392a6e5 +size 777 diff --git a/ThirdParty/include/boost/preprocessor/repeat_from_to_3rd.hpp b/ThirdParty/include/boost/preprocessor/repeat_from_to_3rd.hpp new file mode 100644 index 00000000..14f45044 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repeat_from_to_3rd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b003e2a8d9969334168d365ec6b401a0f55961a426852e19527d585391fee745 +size 777 diff --git a/ThirdParty/include/boost/preprocessor/repetition.hpp b/ThirdParty/include/boost/preprocessor/repetition.hpp new file mode 100644 index 00000000..0505400c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54371b71a3cde2bb38f5815c53bdbea09381e95827ee59f3239224f9bed905cc +size 1692 diff --git a/ThirdParty/include/boost/preprocessor/repetition/deduce_r.hpp b/ThirdParty/include/boost/preprocessor/repetition/deduce_r.hpp new file mode 100644 index 00000000..34eb234b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/deduce_r.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be24cb8e4f991eaf910a7494392bcb5dc4ead46ae44df083c46d9abb4e5e0261 +size 917 diff --git a/ThirdParty/include/boost/preprocessor/repetition/deduce_z.hpp b/ThirdParty/include/boost/preprocessor/repetition/deduce_z.hpp new file mode 100644 index 00000000..f22e06a1 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/deduce_z.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31e3015353d51cc0fecc96819e3867b68080077a3a50f462cb9068440a66a608 +size 921 diff --git a/ThirdParty/include/boost/preprocessor/repetition/detail/dmc/for.hpp b/ThirdParty/include/boost/preprocessor/repetition/detail/dmc/for.hpp new file mode 100644 index 00000000..d21bc50d --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/detail/dmc/for.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28d1353b270e61149fa6cb03099263eda1b8a073fbc18349a6ee4bae449c3d6f +size 73395 diff --git a/ThirdParty/include/boost/preprocessor/repetition/detail/edg/for.hpp b/ThirdParty/include/boost/preprocessor/repetition/detail/edg/for.hpp new file mode 100644 index 00000000..f68a1dd5 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/detail/edg/for.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5ab1954efe8def7717cd47f441562d9f3936ae6c30894ceb18c5d1e401f33dd +size 63212 diff --git a/ThirdParty/include/boost/preprocessor/repetition/detail/for.hpp b/ThirdParty/include/boost/preprocessor/repetition/detail/for.hpp new file mode 100644 index 00000000..d43eb007 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/detail/for.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:711f237d61dcd37fe78b0ef30a16ea1198e2f6dab95e496b7f52afae436420cb +size 72883 diff --git a/ThirdParty/include/boost/preprocessor/repetition/detail/msvc/for.hpp b/ThirdParty/include/boost/preprocessor/repetition/detail/msvc/for.hpp new file mode 100644 index 00000000..ba556dd5 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/detail/msvc/for.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cac300486c03780aa5ea74f9ae13c4ec23f3018b502cd9c00c62022b1df8146d +size 45252 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum.hpp new file mode 100644 index 00000000..24cbeca0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4f80200a9784526ee7c9f74972169840a73e0b36cd0098e606bddfac459f8e5 +size 3042 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_binary_params.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_binary_params.hpp new file mode 100644 index 00000000..7af70b37 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_binary_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:366cb086c63619c44040a5a1c96fe04aff482696684c70b5e9078f2ed319cddc +size 2788 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_params.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_params.hpp new file mode 100644 index 00000000..44e429f3 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76fe006a17e57f4da23ffd81f10d1edbecd6fe4063aee2da2e219fc21623a627 +size 1528 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp new file mode 100644 index 00000000..d3457951 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2bb50359d9885bc591250fc3f313d5232fc691451da5b7609c2e1bc1a652c3f +size 857 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp new file mode 100644 index 00000000..7d6e1056 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0636a085c09f7ff7184b975bdc3dfb25fffb484df615b04050e2d834c0ef80e +size 778 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_shifted.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_shifted.hpp new file mode 100644 index 00000000..7bf3790c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_shifted.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb18955d7c3ce899d70cdddfbc80022e0193d10959f75c15692b1aeadc26cd5b +size 3636 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp new file mode 100644 index 00000000..346b450b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:538ff12836614fafc4dc586d8610cfb702a6b0a2940086ee74e0903caca59a9e +size 2983 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_shifted_params.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_shifted_params.hpp new file mode 100644 index 00000000..da732f77 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_shifted_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe57cb7581a1e3b51a444148519b688c61c5d2b0f5ade045de91a8f161eef8ae +size 1885 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_trailing.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_trailing.hpp new file mode 100644 index 00000000..e79ab8c9 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_trailing.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e06f97f9685c046079e3cf5146c7ca10975215577aa9f7aef1d1185104ad00 +size 3590 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp new file mode 100644 index 00000000..d910171a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6248f5cccdf27e539504d69b9fa52ee8446f4eb0ea66d3cc437708e006b2ce7b +size 2928 diff --git a/ThirdParty/include/boost/preprocessor/repetition/enum_trailing_params.hpp b/ThirdParty/include/boost/preprocessor/repetition/enum_trailing_params.hpp new file mode 100644 index 00000000..bca044b6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/enum_trailing_params.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b72eb935679d0b4fc2e409632c7cef183adde41a3375bb55f6a3682761b51a53 +size 1853 diff --git a/ThirdParty/include/boost/preprocessor/repetition/for.hpp b/ThirdParty/include/boost/preprocessor/repetition/for.hpp new file mode 100644 index 00000000..0556ffc4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/for.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:201e1cb70ff633b4e58e7e8e70cf4bc510675f8a1a237041c80999eedee05886 +size 17087 diff --git a/ThirdParty/include/boost/preprocessor/repetition/repeat.hpp b/ThirdParty/include/boost/preprocessor/repetition/repeat.hpp new file mode 100644 index 00000000..d309dd18 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/repeat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcc3aa0eb4ef33ea9566de54e8b754f43ba0133b97070e4fb67278e54a214c7a +size 60818 diff --git a/ThirdParty/include/boost/preprocessor/repetition/repeat_from_to.hpp b/ThirdParty/include/boost/preprocessor/repetition/repeat_from_to.hpp new file mode 100644 index 00000000..84743686 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/repetition/repeat_from_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6beb88af78e3082743461ec97ed58f8dd3a5cab70d4b72a4c896659a72e6ab17 +size 5258 diff --git a/ThirdParty/include/boost/preprocessor/selection.hpp b/ThirdParty/include/boost/preprocessor/selection.hpp new file mode 100644 index 00000000..38636762 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/selection.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c79c5c506a6c07390607751202927916245936c1b396f260fb9139b221d4fa8 +size 796 diff --git a/ThirdParty/include/boost/preprocessor/selection/max.hpp b/ThirdParty/include/boost/preprocessor/selection/max.hpp new file mode 100644 index 00000000..f07fbc02 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/selection/max.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b23b455b13d20f1c3aaf49b791ffc41f9bd2ea4b71d581ade9eb3e4a6c2356d6 +size 1248 diff --git a/ThirdParty/include/boost/preprocessor/selection/min.hpp b/ThirdParty/include/boost/preprocessor/selection/min.hpp new file mode 100644 index 00000000..d0b7398a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/selection/min.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f774a8022674db62850ad452d4a4d4fe753c8c6e012b9ff2b5dfcd04bd4cdc6 +size 1248 diff --git a/ThirdParty/include/boost/preprocessor/seq.hpp b/ThirdParty/include/boost/preprocessor/seq.hpp new file mode 100644 index 00000000..91b31c56 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95ed15826343ecacb6a4b3ea8111f4b8eecdb1e9ecdc7b070f5c443aef933c2b +size 2156 diff --git a/ThirdParty/include/boost/preprocessor/seq/cat.hpp b/ThirdParty/include/boost/preprocessor/seq/cat.hpp new file mode 100644 index 00000000..23bec1c2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/cat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0815e1c972b1578bb42a5fa673349f566659abe4ddba4d2a94ce2d32a0dcc98d +size 1898 diff --git a/ThirdParty/include/boost/preprocessor/seq/detail/binary_transform.hpp b/ThirdParty/include/boost/preprocessor/seq/detail/binary_transform.hpp new file mode 100644 index 00000000..f4173828 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/detail/binary_transform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e07b99eb956d87f2b73c740d0e370e30d760897a2e9155cb852d58674d570c2 +size 2625 diff --git a/ThirdParty/include/boost/preprocessor/seq/detail/is_empty.hpp b/ThirdParty/include/boost/preprocessor/seq/detail/is_empty.hpp new file mode 100644 index 00000000..ccf31832 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/detail/is_empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ebe0d7ef93d6373c96c6711be7313f241c09fbe1fab601b74d5f9b4a6e0a84 +size 1593 diff --git a/ThirdParty/include/boost/preprocessor/seq/detail/split.hpp b/ThirdParty/include/boost/preprocessor/seq/detail/split.hpp new file mode 100644 index 00000000..2c305f76 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/detail/split.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a9a791b98e1c7089654e6d28b103c58adca71b2cc7867bc16133f78324db452 +size 16712 diff --git a/ThirdParty/include/boost/preprocessor/seq/detail/to_list_msvc.hpp b/ThirdParty/include/boost/preprocessor/seq/detail/to_list_msvc.hpp new file mode 100644 index 00000000..39bd8fcc --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/detail/to_list_msvc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3dc7456dd66dfbe175f26dad6c1657de9e8d01651e80925f48686f5f48965a9 +size 2165 diff --git a/ThirdParty/include/boost/preprocessor/seq/elem.hpp b/ThirdParty/include/boost/preprocessor/seq/elem.hpp new file mode 100644 index 00000000..fb6e5391 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/elem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be974867cb22a5c6f832a9a17b53b45db80d437ffb91b86e6a939528263a9805 +size 16226 diff --git a/ThirdParty/include/boost/preprocessor/seq/enum.hpp b/ThirdParty/include/boost/preprocessor/seq/enum.hpp new file mode 100644 index 00000000..556b1fbd --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b29d120716b4445b15ca9a7807030c94f76053c8182f9c17683d12a3c13545b +size 16273 diff --git a/ThirdParty/include/boost/preprocessor/seq/filter.hpp b/ThirdParty/include/boost/preprocessor/seq/filter.hpp new file mode 100644 index 00000000..8f76219a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/filter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ae788c5842572e7335633979829be6cfdb2fcdc455700bbed254563d5f7e829 +size 2881 diff --git a/ThirdParty/include/boost/preprocessor/seq/first_n.hpp b/ThirdParty/include/boost/preprocessor/seq/first_n.hpp new file mode 100644 index 00000000..ee8622a1 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/first_n.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a22bae88681238d60be1409132c5d9aac7b90f4e3fbcfdfb2a92907b79664cc3 +size 1394 diff --git a/ThirdParty/include/boost/preprocessor/seq/fold_left.hpp b/ThirdParty/include/boost/preprocessor/seq/fold_left.hpp new file mode 100644 index 00000000..9421a9f2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/fold_left.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1060ebc408c3a5a6aefb8787f36e06770022321633dc668748daa1e2d4c9c6f3 +size 166466 diff --git a/ThirdParty/include/boost/preprocessor/seq/fold_right.hpp b/ThirdParty/include/boost/preprocessor/seq/fold_right.hpp new file mode 100644 index 00000000..0cc29382 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/fold_right.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8b79c19f84a5dadb31a48cc4c03b9ad532de77d294c4725be4011a3695c10ef +size 37274 diff --git a/ThirdParty/include/boost/preprocessor/seq/for_each.hpp b/ThirdParty/include/boost/preprocessor/seq/for_each.hpp new file mode 100644 index 00000000..d2870cd7 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/for_each.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0209b0bd49149953e45495198e0eab6bc9f0811984e588af5e327e33a389d28 +size 4554 diff --git a/ThirdParty/include/boost/preprocessor/seq/for_each_i.hpp b/ThirdParty/include/boost/preprocessor/seq/for_each_i.hpp new file mode 100644 index 00000000..9b1d0e7f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/for_each_i.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a6b32154a06b71866457d3957ebc3c7147dad0d788c69f45c241ca64f2eb006 +size 4807 diff --git a/ThirdParty/include/boost/preprocessor/seq/for_each_product.hpp b/ThirdParty/include/boost/preprocessor/seq/for_each_product.hpp new file mode 100644 index 00000000..88490d7f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/for_each_product.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:172a9d24f7ee5808a20e5485480a129030d5b6bee82d5289eb44cf173c01fde5 +size 12551 diff --git a/ThirdParty/include/boost/preprocessor/seq/insert.hpp b/ThirdParty/include/boost/preprocessor/seq/insert.hpp new file mode 100644 index 00000000..1a1d7d72 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/insert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60c29e829060f78f720018334df96605bcc496e060c341bedac192316d1331d0 +size 1247 diff --git a/ThirdParty/include/boost/preprocessor/seq/pop_back.hpp b/ThirdParty/include/boost/preprocessor/seq/pop_back.hpp new file mode 100644 index 00000000..30c1aece --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/pop_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6af47cb86990a2d1d42a1a7bcf6175ada4a2afb942d4db7e0510b16592ba0d1e +size 1273 diff --git a/ThirdParty/include/boost/preprocessor/seq/pop_front.hpp b/ThirdParty/include/boost/preprocessor/seq/pop_front.hpp new file mode 100644 index 00000000..f72ac35b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/pop_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7c673b1686f6d0442050df8a5927ec6b0d109f351fda397dcde1ef6c1526cc8 +size 1100 diff --git a/ThirdParty/include/boost/preprocessor/seq/push_back.hpp b/ThirdParty/include/boost/preprocessor/seq/push_back.hpp new file mode 100644 index 00000000..ee1d6fef --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/push_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c10b37174a5811e611604ff7f415d4c79dd857d4372701b8bb387fdeb52ccd80 +size 792 diff --git a/ThirdParty/include/boost/preprocessor/seq/push_front.hpp b/ThirdParty/include/boost/preprocessor/seq/push_front.hpp new file mode 100644 index 00000000..7856a443 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:545207a806fc767ce6edc2730ac92728d40ee030ad53c5627761a1c17673a440 +size 796 diff --git a/ThirdParty/include/boost/preprocessor/seq/remove.hpp b/ThirdParty/include/boost/preprocessor/seq/remove.hpp new file mode 100644 index 00000000..1840d614 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/remove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccd28415c5e6bf5bfdfc31fdc9a46d224ab21e72a737069e992158c20e4fd5fa +size 1287 diff --git a/ThirdParty/include/boost/preprocessor/seq/replace.hpp b/ThirdParty/include/boost/preprocessor/seq/replace.hpp new file mode 100644 index 00000000..bba8a2a7 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/replace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:162265104c66288349cfc3b2bd103f90a3f48661bd8dfc80625d70bc35825b38 +size 1939 diff --git a/ThirdParty/include/boost/preprocessor/seq/rest_n.hpp b/ThirdParty/include/boost/preprocessor/seq/rest_n.hpp new file mode 100644 index 00000000..080dab5b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/rest_n.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fa4e27639e8df39d92ce6c65f37cb4574d43f8916815eb1720ecef1b8401b69 +size 1899 diff --git a/ThirdParty/include/boost/preprocessor/seq/reverse.hpp b/ThirdParty/include/boost/preprocessor/seq/reverse.hpp new file mode 100644 index 00000000..fd19c704 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/reverse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:370bd99ab632ddc02f0facda52847d5f1eec9313eeaca5b0ffdf2f561546e833 +size 1721 diff --git a/ThirdParty/include/boost/preprocessor/seq/seq.hpp b/ThirdParty/include/boost/preprocessor/seq/seq.hpp new file mode 100644 index 00000000..0b2546cb --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba79028a69388267015b938b93db07805a86c1ca2c464d98a82e7f451e1c769d +size 1672 diff --git a/ThirdParty/include/boost/preprocessor/seq/size.hpp b/ThirdParty/include/boost/preprocessor/seq/size.hpp new file mode 100644 index 00000000..fa23c906 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:711aba9bb64805f14e9abf9d4e782bd1b00806ed34d246aeb2a0f2eca8d1f969 +size 29224 diff --git a/ThirdParty/include/boost/preprocessor/seq/subseq.hpp b/ThirdParty/include/boost/preprocessor/seq/subseq.hpp new file mode 100644 index 00000000..056fa6c2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/subseq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:916f3fe5ab4b074ef25863847da507f9d497d19687f8444752dff91f1279f679 +size 1225 diff --git a/ThirdParty/include/boost/preprocessor/seq/to_array.hpp b/ThirdParty/include/boost/preprocessor/seq/to_array.hpp new file mode 100644 index 00000000..cd322830 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/to_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b15f61f6438afd243b59aaffdb9f30a9386ad3f9951c5492d63b6b3f9af036c +size 1194 diff --git a/ThirdParty/include/boost/preprocessor/seq/to_list.hpp b/ThirdParty/include/boost/preprocessor/seq/to_list.hpp new file mode 100644 index 00000000..386451b7 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/to_list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:411b0d74233f3b6a966ab1fc7b3236042ee028cb554b70d51b89cd0b87bb0cd1 +size 1975 diff --git a/ThirdParty/include/boost/preprocessor/seq/to_tuple.hpp b/ThirdParty/include/boost/preprocessor/seq/to_tuple.hpp new file mode 100644 index 00000000..e072e636 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/to_tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8519493553d633eece8c926c8ad995ec787009e760015dc513b0ada17c3afdb1 +size 1098 diff --git a/ThirdParty/include/boost/preprocessor/seq/transform.hpp b/ThirdParty/include/boost/preprocessor/seq/transform.hpp new file mode 100644 index 00000000..9e4ddc85 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/transform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f199d1587caf695066fda580272e9abafda15857f7b59b94eb3060c42ea2e2d +size 2613 diff --git a/ThirdParty/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp b/ThirdParty/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp new file mode 100644 index 00000000..f6da1dbb --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bb24ae09763fcfb0eedd74af3e978109ea2728163317b1dae2fa94e0a608eeb +size 1366 diff --git a/ThirdParty/include/boost/preprocessor/slot.hpp b/ThirdParty/include/boost/preprocessor/slot.hpp new file mode 100644 index 00000000..9548e44a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cbc25ee635761229612fe1698619917d25ceccece91623360b5eeb4cf303a6c +size 733 diff --git a/ThirdParty/include/boost/preprocessor/slot/counter.hpp b/ThirdParty/include/boost/preprocessor/slot/counter.hpp new file mode 100644 index 00000000..b3beed62 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/counter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60f6d0de706e361a6d1e5c5c9c9131ff9f1858448412bad109b9cf388b8cc319 +size 1029 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/counter.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/counter.hpp new file mode 100644 index 00000000..972d8a05 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/counter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3f53a53c6fc06d26fbc51c70cb411219cb46132e5843f9c6fa8fdc97d8659fa +size 10660 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/def.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/def.hpp new file mode 100644 index 00000000..40805a67 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/def.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c109e9e53e6178b751de694d1437080fce54bfda935d52a5e0aa3310a5b51afd +size 2847 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/shared.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/shared.hpp new file mode 100644 index 00000000..5a44fba2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/shared.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28a9ff40adda63bedf764b62b4ce8fe6eed29031fab658caa2ce3039686a69f7 +size 10480 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/slot1.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/slot1.hpp new file mode 100644 index 00000000..e05cfe92 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/slot1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b51fc5790969e80fcce783f2c4e5cdc991182b69936e0555c838ffa154e47507 +size 10347 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/slot2.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/slot2.hpp new file mode 100644 index 00000000..9b43c19b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/slot2.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0f04328bd22f053aa65baf27f47a412f91aa0fbab07251975f5a0a2038b7de5 +size 10347 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/slot3.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/slot3.hpp new file mode 100644 index 00000000..cbe83b64 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/slot3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc9d8375c272cc96c18fc8f01ac1847f00e4213c319d04485fe312f3d46b2a87 +size 10347 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/slot4.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/slot4.hpp new file mode 100644 index 00000000..790d9fdb --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/slot4.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d79885339e6a5e44fb485e0599b340cf2715fc406c69e24ed0916140c02606e5 +size 10347 diff --git a/ThirdParty/include/boost/preprocessor/slot/detail/slot5.hpp b/ThirdParty/include/boost/preprocessor/slot/detail/slot5.hpp new file mode 100644 index 00000000..ac14ab59 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/detail/slot5.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0ada1797f1e49cdc79cb0d9bfeacc0216b991b3291b67a78a693427f4ac6d0a +size 10347 diff --git a/ThirdParty/include/boost/preprocessor/slot/slot.hpp b/ThirdParty/include/boost/preprocessor/slot/slot.hpp new file mode 100644 index 00000000..15e6142c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/slot/slot.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6075b9fe90cb229106dd78239114539f0396115516406b21d010870aa29d319f +size 1356 diff --git a/ThirdParty/include/boost/preprocessor/stringize.hpp b/ThirdParty/include/boost/preprocessor/stringize.hpp new file mode 100644 index 00000000..0ae14f44 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/stringize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9155f42a7f94edebce1e01e42017a9f60da632a097a8a5446ea97a619fc18ad0 +size 1111 diff --git a/ThirdParty/include/boost/preprocessor/tuple.hpp b/ThirdParty/include/boost/preprocessor/tuple.hpp new file mode 100644 index 00000000..22f5379e --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c48d9bec12d7b419e2dce0695330ba2ae4c51a70acb0772e42d01a26950eabbb +size 1261 diff --git a/ThirdParty/include/boost/preprocessor/tuple/detail/is_single_return.hpp b/ThirdParty/include/boost/preprocessor/tuple/detail/is_single_return.hpp new file mode 100644 index 00000000..485ac1e2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/detail/is_single_return.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae4dec89d4dd30b8ebb2d096a6bceb8b1bb3afa2c10d14e20004bbf6c6edae81 +size 1375 diff --git a/ThirdParty/include/boost/preprocessor/tuple/eat.hpp b/ThirdParty/include/boost/preprocessor/tuple/eat.hpp new file mode 100644 index 00000000..24de02f6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/eat.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27fae151cf9837c32b863fe719e77350d455674751d4a6693275a8c2bafaaf53 +size 13281 diff --git a/ThirdParty/include/boost/preprocessor/tuple/elem.hpp b/ThirdParty/include/boost/preprocessor/tuple/elem.hpp new file mode 100644 index 00000000..b350cc3c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/elem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9572f35119257f84830c732f878efebd3ada2eaa3bba01e72978381831d2bcd +size 53223 diff --git a/ThirdParty/include/boost/preprocessor/tuple/enum.hpp b/ThirdParty/include/boost/preprocessor/tuple/enum.hpp new file mode 100644 index 00000000..0c27392c --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95a6871db72c42d5ba8d2f8bab2a2135b49a654e73f62b64ffac00aaa167e056 +size 1011 diff --git a/ThirdParty/include/boost/preprocessor/tuple/insert.hpp b/ThirdParty/include/boost/preprocessor/tuple/insert.hpp new file mode 100644 index 00000000..f4ebe353 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/insert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86f4a7458de9a1f111578ecc113cc3caaa4930881bcf1177d409b0c19ae617ce +size 1368 diff --git a/ThirdParty/include/boost/preprocessor/tuple/pop_back.hpp b/ThirdParty/include/boost/preprocessor/tuple/pop_back.hpp new file mode 100644 index 00000000..63b83482 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/pop_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be3beff5d19e2027654ebc1b07fbc1ae17719e38a35dff8f5d1ff7fe0b2bbd1e +size 2054 diff --git a/ThirdParty/include/boost/preprocessor/tuple/pop_front.hpp b/ThirdParty/include/boost/preprocessor/tuple/pop_front.hpp new file mode 100644 index 00000000..e09d9bc8 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/pop_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aa7e15d5c90f2e91a9b3c96def57fcfe124d33b5f8d84095c139a2951e32ffc +size 2074 diff --git a/ThirdParty/include/boost/preprocessor/tuple/push_back.hpp b/ThirdParty/include/boost/preprocessor/tuple/push_back.hpp new file mode 100644 index 00000000..83ca6341 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/push_back.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615ba4093de86c739f9c41ac8562dc2328d41cabe7355806de1f29787414a5aa +size 1192 diff --git a/ThirdParty/include/boost/preprocessor/tuple/push_front.hpp b/ThirdParty/include/boost/preprocessor/tuple/push_front.hpp new file mode 100644 index 00000000..b2e0a560 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/push_front.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07ca2c9b39ca1072b60db4647a6403418e1a74d0283faa9d4b864be52b60e85a +size 1201 diff --git a/ThirdParty/include/boost/preprocessor/tuple/rem.hpp b/ThirdParty/include/boost/preprocessor/tuple/rem.hpp new file mode 100644 index 00000000..cc500032 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/rem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f005494450a56b343b37864910df502a2d543b87662c6741bdf63a7a2eea415 +size 25426 diff --git a/ThirdParty/include/boost/preprocessor/tuple/remove.hpp b/ThirdParty/include/boost/preprocessor/tuple/remove.hpp new file mode 100644 index 00000000..42129fb4 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/remove.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34d2c68799fc2f0ee907e82ad02863b894b4c41fcac568b7b4bfb8d94d956c1e +size 2054 diff --git a/ThirdParty/include/boost/preprocessor/tuple/replace.hpp b/ThirdParty/include/boost/preprocessor/tuple/replace.hpp new file mode 100644 index 00000000..361655a6 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/replace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1e960960b894a465f93662e7abd01ac98fdd1f0a1cc2ef2699843822fa0d24e +size 1378 diff --git a/ThirdParty/include/boost/preprocessor/tuple/reverse.hpp b/ThirdParty/include/boost/preprocessor/tuple/reverse.hpp new file mode 100644 index 00000000..77595aab --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/reverse.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2870815c77286fa48e46c2e6525ecaa1fa3eeb01fa993de58d6a46d037bd33e6 +size 24280 diff --git a/ThirdParty/include/boost/preprocessor/tuple/size.hpp b/ThirdParty/include/boost/preprocessor/tuple/size.hpp new file mode 100644 index 00000000..d10a2b6a --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef80d3cbd83cd96928e45753884d02fe08d3c5b0c2be3b16a13e3380f9e4efd9 +size 1264 diff --git a/ThirdParty/include/boost/preprocessor/tuple/to_array.hpp b/ThirdParty/include/boost/preprocessor/tuple/to_array.hpp new file mode 100644 index 00000000..20a58ba0 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/to_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a698b094a210ae3beb03eaae100ca935f6ad164001ae4398c7911586325f5a6b +size 1978 diff --git a/ThirdParty/include/boost/preprocessor/tuple/to_list.hpp b/ThirdParty/include/boost/preprocessor/tuple/to_list.hpp new file mode 100644 index 00000000..3cebec02 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/to_list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cd3a38bbb3d4828549cf7a3500514dbb3e4aad15c6cb5af3a1eec4f37731e2d +size 29210 diff --git a/ThirdParty/include/boost/preprocessor/tuple/to_seq.hpp b/ThirdParty/include/boost/preprocessor/tuple/to_seq.hpp new file mode 100644 index 00000000..32884cee --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/tuple/to_seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81fe049b377c8cffa8d310a1308596ecc20ad4dbe886b397257622bba4d2f607 +size 24645 diff --git a/ThirdParty/include/boost/preprocessor/variadic.hpp b/ThirdParty/include/boost/preprocessor/variadic.hpp new file mode 100644 index 00000000..d8dca60f --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc472eb1ec588c24eee3267641347dc4f80087aabf800072dee7d41b9f61385e +size 1184 diff --git a/ThirdParty/include/boost/preprocessor/variadic/detail/is_single_return.hpp b/ThirdParty/include/boost/preprocessor/variadic/detail/is_single_return.hpp new file mode 100644 index 00000000..01824fcb --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/detail/is_single_return.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a48a669bd166a544473eabda659c27b406e4dea028f13c979adc100e05347d90 +size 1400 diff --git a/ThirdParty/include/boost/preprocessor/variadic/elem.hpp b/ThirdParty/include/boost/preprocessor/variadic/elem.hpp new file mode 100644 index 00000000..3373dc5b --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/elem.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b9103e25c174351d3f77bbc4ef5f36251315fa8872b767c809a575f3d0d9c30 +size 14196 diff --git a/ThirdParty/include/boost/preprocessor/variadic/size.hpp b/ThirdParty/include/boost/preprocessor/variadic/size.hpp new file mode 100644 index 00000000..031221e2 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/size.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59e23106482d86de5785d6df1fe6d5298311173e214577aeb6482ede15d20c32 +size 2133 diff --git a/ThirdParty/include/boost/preprocessor/variadic/to_array.hpp b/ThirdParty/include/boost/preprocessor/variadic/to_array.hpp new file mode 100644 index 00000000..83d7bb56 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/to_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b428ab56849e074c10dc623e9b94a0d74ec800b731b7e9c6da0e6cd97ad05d5 +size 1419 diff --git a/ThirdParty/include/boost/preprocessor/variadic/to_list.hpp b/ThirdParty/include/boost/preprocessor/variadic/to_list.hpp new file mode 100644 index 00000000..02e2fb75 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/to_list.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bde031fb9b90dc507be1ce49ea01d54f935ca424f4ccc1ee64fe37530fb752df +size 1142 diff --git a/ThirdParty/include/boost/preprocessor/variadic/to_seq.hpp b/ThirdParty/include/boost/preprocessor/variadic/to_seq.hpp new file mode 100644 index 00000000..60013625 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/to_seq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b55f08055b6d35a6ca84f31dbb8890ac5cc92516428d13e3e945e53aa045393f +size 1136 diff --git a/ThirdParty/include/boost/preprocessor/variadic/to_tuple.hpp b/ThirdParty/include/boost/preprocessor/variadic/to_tuple.hpp new file mode 100644 index 00000000..ef6a8c48 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/variadic/to_tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb149010befbb7e2563ddf9b403464080058887ef1ca82cb56ef6267159eff0 +size 1073 diff --git a/ThirdParty/include/boost/preprocessor/while.hpp b/ThirdParty/include/boost/preprocessor/while.hpp new file mode 100644 index 00000000..435d3166 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/while.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f122472259876404d1a5214c333b077ddf131797b0b712797ec94cf0f7d15a1 +size 739 diff --git a/ThirdParty/include/boost/preprocessor/wstringize.hpp b/ThirdParty/include/boost/preprocessor/wstringize.hpp new file mode 100644 index 00000000..12958c46 --- /dev/null +++ b/ThirdParty/include/boost/preprocessor/wstringize.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:019c772f9874140596a6f64a644cbada585a5bbe830539d77a9730c795b2a78d +size 1279 diff --git a/ThirdParty/include/boost/ref.hpp b/ThirdParty/include/boost/ref.hpp new file mode 100644 index 00000000..fcb92aa9 --- /dev/null +++ b/ThirdParty/include/boost/ref.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49a206a271741704a834bd014312e4cf2e68586c1e35ec33a529e3d9d681386d +size 370 diff --git a/ThirdParty/include/boost/regex.h b/ThirdParty/include/boost/regex.h new file mode 100644 index 00000000..d91e4351 --- /dev/null +++ b/ThirdParty/include/boost/regex.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9050c161b7a0f0bf9ae3a21e66218ea9ddb57deeb7202f0ae8cb313189e57611 +size 2174 diff --git a/ThirdParty/include/boost/regex.hpp b/ThirdParty/include/boost/regex.hpp new file mode 100644 index 00000000..7c8db110 --- /dev/null +++ b/ThirdParty/include/boost/regex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75b7a8d127f5f78426eed6902dd980fc37decf3ae958460c87baf82de11fdc7d +size 823 diff --git a/ThirdParty/include/boost/regex/concepts.hpp b/ThirdParty/include/boost/regex/concepts.hpp new file mode 100644 index 00000000..40e49a58 --- /dev/null +++ b/ThirdParty/include/boost/regex/concepts.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad8da343310b406b3ce1a7ad7dbb928eccd580edab85430540f327fbf7b7608d +size 44854 diff --git a/ThirdParty/include/boost/regex/config.hpp b/ThirdParty/include/boost/regex/config.hpp new file mode 100644 index 00000000..2cce10a5 --- /dev/null +++ b/ThirdParty/include/boost/regex/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a14daa1b6a0be650272bbbeb6221a99ecb0b3520d4ec99dbfff2c1fb9236e7b +size 14292 diff --git a/ThirdParty/include/boost/regex/config/borland.hpp b/ThirdParty/include/boost/regex/config/borland.hpp new file mode 100644 index 00000000..a8d86b0c --- /dev/null +++ b/ThirdParty/include/boost/regex/config/borland.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c15d7c5beac4bc7426cbb12edf1ab7ae8ad61aabed9470231f04fe139ba3bd7a +size 2238 diff --git a/ThirdParty/include/boost/regex/config/cwchar.hpp b/ThirdParty/include/boost/regex/config/cwchar.hpp new file mode 100644 index 00000000..cc4088d7 --- /dev/null +++ b/ThirdParty/include/boost/regex/config/cwchar.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ad615c3e4aeab471e0a9c9bc3e649f0d1962fdc73459bd19b46b54a7614ed83 +size 4082 diff --git a/ThirdParty/include/boost/regex/icu.hpp b/ThirdParty/include/boost/regex/icu.hpp new file mode 100644 index 00000000..d57bca15 --- /dev/null +++ b/ThirdParty/include/boost/regex/icu.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36400093329698d905d95888eed97c29060031d2bb6569c433a3547ea9e56a21 +size 41535 diff --git a/ThirdParty/include/boost/regex/mfc.hpp b/ThirdParty/include/boost/regex/mfc.hpp new file mode 100644 index 00000000..4adbcca9 --- /dev/null +++ b/ThirdParty/include/boost/regex/mfc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10282d24d23327762f5d51cc8403c7caa200e7261d7335d2fa37f2be583c7753 +size 6559 diff --git a/ThirdParty/include/boost/regex/pattern_except.hpp b/ThirdParty/include/boost/regex/pattern_except.hpp new file mode 100644 index 00000000..df30fe0a --- /dev/null +++ b/ThirdParty/include/boost/regex/pattern_except.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:405b2d3d38d522ac0c6897b99621838f4a78669ce5c4e7ce9a982402aedc3bf8 +size 2222 diff --git a/ThirdParty/include/boost/regex/pending/object_cache.hpp b/ThirdParty/include/boost/regex/pending/object_cache.hpp new file mode 100644 index 00000000..5d309954 --- /dev/null +++ b/ThirdParty/include/boost/regex/pending/object_cache.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:493c9f9d4482809f9b821889219d2b1ca2a11436e586b202ee0c42113a85425c +size 5252 diff --git a/ThirdParty/include/boost/regex/pending/static_mutex.hpp b/ThirdParty/include/boost/regex/pending/static_mutex.hpp new file mode 100644 index 00000000..ed18a6ad --- /dev/null +++ b/ThirdParty/include/boost/regex/pending/static_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f3e47d7b7ffa35a6ab419a7ea2faf1bfe78b22ca312fd9b92da986a6e5e0059 +size 4328 diff --git a/ThirdParty/include/boost/regex/pending/unicode_iterator.hpp b/ThirdParty/include/boost/regex/pending/unicode_iterator.hpp new file mode 100644 index 00000000..2cdb63d9 --- /dev/null +++ b/ThirdParty/include/boost/regex/pending/unicode_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3adae4f631d7644f4c709453d35a973d6c4258894d0082b50187e5df17cbbdd4 +size 23785 diff --git a/ThirdParty/include/boost/regex/regex_traits.hpp b/ThirdParty/include/boost/regex/regex_traits.hpp new file mode 100644 index 00000000..3c687052 --- /dev/null +++ b/ThirdParty/include/boost/regex/regex_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6474019a283f6212760c67f580c2e07c428dd9bcf5f64564bb99e371d01cb60c +size 733 diff --git a/ThirdParty/include/boost/regex/user.hpp b/ThirdParty/include/boost/regex/user.hpp new file mode 100644 index 00000000..9c5dca9e --- /dev/null +++ b/ThirdParty/include/boost/regex/user.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae58d10b33039c2bf40c07fdb0f01aeb3983aede2eb1117536aa91d1d06f6001 +size 3242 diff --git a/ThirdParty/include/boost/regex/v4/basic_regex.hpp b/ThirdParty/include/boost/regex/v4/basic_regex.hpp new file mode 100644 index 00000000..ae638759 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/basic_regex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7de578dfbdc5b21f09f36d0e14442569ccd7ec632a6e3edbd480c1151f846db4 +size 23416 diff --git a/ThirdParty/include/boost/regex/v4/basic_regex_creator.hpp b/ThirdParty/include/boost/regex/v4/basic_regex_creator.hpp new file mode 100644 index 00000000..19eb3940 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/basic_regex_creator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd542529ed3f53521b3f3ac0b5645f54c215318c2a4e69001d685dce3016360a +size 53533 diff --git a/ThirdParty/include/boost/regex/v4/basic_regex_parser.hpp b/ThirdParty/include/boost/regex/v4/basic_regex_parser.hpp new file mode 100644 index 00000000..5914f9d2 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/basic_regex_parser.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:981f2e46be41205603ade8a177310666ef33821e6552aca4ed8aa4f38c7c8dad +size 112642 diff --git a/ThirdParty/include/boost/regex/v4/c_regex_traits.hpp b/ThirdParty/include/boost/regex/v4/c_regex_traits.hpp new file mode 100644 index 00000000..a7e507f1 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/c_regex_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05ff2ac8375947f29b7ddb6020e23a7127885a70b27061ca8454bb98bb7f9bf0 +size 5497 diff --git a/ThirdParty/include/boost/regex/v4/char_regex_traits.hpp b/ThirdParty/include/boost/regex/v4/char_regex_traits.hpp new file mode 100644 index 00000000..310d3a35 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/char_regex_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa323f02d1fccf04bb99fc365156b981e06be55a735136e631668ddc92fd3ae2 +size 1726 diff --git a/ThirdParty/include/boost/regex/v4/cpp_regex_traits.hpp b/ThirdParty/include/boost/regex/v4/cpp_regex_traits.hpp new file mode 100644 index 00000000..4f624996 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/cpp_regex_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e497f916c75888791a6b3f0ee191175d3732bb4229db4700349d23460ea324c +size 39413 diff --git a/ThirdParty/include/boost/regex/v4/cregex.hpp b/ThirdParty/include/boost/regex/v4/cregex.hpp new file mode 100644 index 00000000..fd44771b --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/cregex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f584d9f385705ca5f236824974268a1db0ab259a7936c73e1b6297e0b6bc369 +size 10985 diff --git a/ThirdParty/include/boost/regex/v4/error_type.hpp b/ThirdParty/include/boost/regex/v4/error_type.hpp new file mode 100644 index 00000000..de5a1260 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/error_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ffc86ea881ebb1a0ee8c036af55954a7f2f0c2b9570b9e95dc3dde641e9f4df +size 1258 diff --git a/ThirdParty/include/boost/regex/v4/fileiter.hpp b/ThirdParty/include/boost/regex/v4/fileiter.hpp new file mode 100644 index 00000000..55c2ba8d --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/fileiter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ff1636bc00e18cec26a6b8598bbd7ef49e74c0e6301dfd34dd325fe5175cf7 +size 11225 diff --git a/ThirdParty/include/boost/regex/v4/instances.hpp b/ThirdParty/include/boost/regex/v4/instances.hpp new file mode 100644 index 00000000..258cac37 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/instances.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d77295e29b9c3fc24ca8dbcf19ea09dcb6bfe7ef10eb62857445d9dc6c1f61a +size 9076 diff --git a/ThirdParty/include/boost/regex/v4/iterator_category.hpp b/ThirdParty/include/boost/regex/v4/iterator_category.hpp new file mode 100644 index 00000000..52a4352c --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/iterator_category.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48bda4c4b31d0d7a272d17bb2cdb2dc4cdf3d17275cb6fa552f619e0fe9327fc +size 1960 diff --git a/ThirdParty/include/boost/regex/v4/iterator_traits.hpp b/ThirdParty/include/boost/regex/v4/iterator_traits.hpp new file mode 100644 index 00000000..61600caa --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/iterator_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44089715261470ab0ff55b9fd9a7e598ff4245f4462ef766eec84984f7a82d37 +size 3802 diff --git a/ThirdParty/include/boost/regex/v4/match_flags.hpp b/ThirdParty/include/boost/regex/v4/match_flags.hpp new file mode 100644 index 00000000..b5c75a6c --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/match_flags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb3822e747facee090b8a4489f6d587bc2d05ed24ce5fea1676d4f1f8c2e7c57 +size 6773 diff --git a/ThirdParty/include/boost/regex/v4/match_results.hpp b/ThirdParty/include/boost/regex/v4/match_results.hpp new file mode 100644 index 00000000..789d5669 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/match_results.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f13696bc8ed1eaab483827cb419fd2710c251d919a079f5dc1f71566b56c5c32 +size 22754 diff --git a/ThirdParty/include/boost/regex/v4/mem_block_cache.hpp b/ThirdParty/include/boost/regex/v4/mem_block_cache.hpp new file mode 100644 index 00000000..ac54880d --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/mem_block_cache.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97404c9b09862d1724fefdd7844a4579ca07e3d2dae645285c96fcd4195a0dd3 +size 3132 diff --git a/ThirdParty/include/boost/regex/v4/perl_matcher.hpp b/ThirdParty/include/boost/regex/v4/perl_matcher.hpp new file mode 100644 index 00000000..faaeb52a --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/perl_matcher.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab9349ebc14710ced50e03904e476a3d8ce5f6658e0bb6ff1b7916a53b52714c +size 18626 diff --git a/ThirdParty/include/boost/regex/v4/perl_matcher_common.hpp b/ThirdParty/include/boost/regex/v4/perl_matcher_common.hpp new file mode 100644 index 00000000..d9f85ebf --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/perl_matcher_common.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852c6f611a9aacb9e90e61b0204b57eb4ce1fc1d3dde79b7679301043f8edccb +size 30249 diff --git a/ThirdParty/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/ThirdParty/include/boost/regex/v4/perl_matcher_non_recursive.hpp new file mode 100644 index 00000000..30e01de2 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/perl_matcher_non_recursive.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a694228a7b47fc7b428a21b5c871f9029609e179d3525a1880191048feef0710 +size 63225 diff --git a/ThirdParty/include/boost/regex/v4/perl_matcher_recursive.hpp b/ThirdParty/include/boost/regex/v4/perl_matcher_recursive.hpp new file mode 100644 index 00000000..ff5680d2 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/perl_matcher_recursive.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d3d556305a08f6d317f847ba7c74ffa2c309edb959e631cf862c33697082ecc +size 34528 diff --git a/ThirdParty/include/boost/regex/v4/primary_transform.hpp b/ThirdParty/include/boost/regex/v4/primary_transform.hpp new file mode 100644 index 00000000..d1b6c436 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/primary_transform.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c873c8b6b21256fee6818310763646fa68520cc6801a4bf1443acdd988b0ba84 +size 3347 diff --git a/ThirdParty/include/boost/regex/v4/protected_call.hpp b/ThirdParty/include/boost/regex/v4/protected_call.hpp new file mode 100644 index 00000000..711aed88 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/protected_call.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beb39370b5c7e8beab8354c2996013c6fa3dfe808fc6be84753e19d9e70eb9f3 +size 1688 diff --git a/ThirdParty/include/boost/regex/v4/regbase.hpp b/ThirdParty/include/boost/regex/v4/regbase.hpp new file mode 100644 index 00000000..cdefe1fc --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regbase.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:253bc5cc3d5eef86b67784619668163fc9b9d26efaf44a35a8b6e0d62aaae3c7 +size 5972 diff --git a/ThirdParty/include/boost/regex/v4/regex.hpp b/ThirdParty/include/boost/regex/v4/regex.hpp new file mode 100644 index 00000000..a12c1ce9 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:153f995f1fbc1525fdb8134ed98a525873c95d4e37d88d91b6bcf7056f76a5ae +size 4590 diff --git a/ThirdParty/include/boost/regex/v4/regex_format.hpp b/ThirdParty/include/boost/regex/v4/regex_format.hpp new file mode 100644 index 00000000..7029ae3e --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_format.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6808ed7b0e66b806983965f4201fa99a4971130e3aa8ed86d089d762f89360d8 +size 34103 diff --git a/ThirdParty/include/boost/regex/v4/regex_fwd.hpp b/ThirdParty/include/boost/regex/v4/regex_fwd.hpp new file mode 100644 index 00000000..64fdcb65 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bf794daf8924de2694a3c764a2fe87689d2c6f51d267fa0f254a93874338532 +size 1646 diff --git a/ThirdParty/include/boost/regex/v4/regex_grep.hpp b/ThirdParty/include/boost/regex/v4/regex_grep.hpp new file mode 100644 index 00000000..207ba8d5 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_grep.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7255dc6076ef676a8f1b5aa804a940bc834e82f49c15f0d19ad10184e5d2af14 +size 4879 diff --git a/ThirdParty/include/boost/regex/v4/regex_iterator.hpp b/ThirdParty/include/boost/regex/v4/regex_iterator.hpp new file mode 100644 index 00000000..f7da6d59 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d6225007799720a13ca4bde9e3930670988adc68ed71e1b49733ddf6899ec99 +size 6303 diff --git a/ThirdParty/include/boost/regex/v4/regex_match.hpp b/ThirdParty/include/boost/regex/v4/regex_match.hpp new file mode 100644 index 00000000..6c5a3d2e --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_match.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1483aba7a319ef50f2709616e4015fc815b06c61fa924b5a504b3ff9c21dfcd0 +size 14475 diff --git a/ThirdParty/include/boost/regex/v4/regex_merge.hpp b/ThirdParty/include/boost/regex/v4/regex_merge.hpp new file mode 100644 index 00000000..ecd31a05 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_merge.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e02e13b47459a1092c530d399ea047f4ae7bb1fe78e7f1beb3800dbaa9a6cd1 +size 2765 diff --git a/ThirdParty/include/boost/regex/v4/regex_raw_buffer.hpp b/ThirdParty/include/boost/regex/v4/regex_raw_buffer.hpp new file mode 100644 index 00000000..e867bd8a --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_raw_buffer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc12050498255a8a0eb3e8d4fa7036b3ed45e71d65afba17ea8281c3103d8004 +size 3686 diff --git a/ThirdParty/include/boost/regex/v4/regex_replace.hpp b/ThirdParty/include/boost/regex/v4/regex_replace.hpp new file mode 100644 index 00000000..e78da660 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_replace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0777192ecb9759436eef8b516f570d41a49aad8773b505dae850bfc4e6c8f319 +size 2925 diff --git a/ThirdParty/include/boost/regex/v4/regex_search.hpp b/ThirdParty/include/boost/regex/v4/regex_search.hpp new file mode 100644 index 00000000..fa5621cf --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_search.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd1633d8b20623a692cbb84ece0bb41af23ac71d98fcf2f99093981f08455dbb +size 7097 diff --git a/ThirdParty/include/boost/regex/v4/regex_split.hpp b/ThirdParty/include/boost/regex/v4/regex_split.hpp new file mode 100644 index 00000000..ba3293f5 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_split.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dd48ef3ce83f0002bd7bfdfabc49651e45a42ddbdab67c3114c59f0cdb6c188 +size 4956 diff --git a/ThirdParty/include/boost/regex/v4/regex_token_iterator.hpp b/ThirdParty/include/boost/regex/v4/regex_token_iterator.hpp new file mode 100644 index 00000000..b9083e29 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_token_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67a197e3788f0e5b5fd85a167640690e5ef1f74be0d1756644092ab81f258b32 +size 12577 diff --git a/ThirdParty/include/boost/regex/v4/regex_traits.hpp b/ThirdParty/include/boost/regex/v4/regex_traits.hpp new file mode 100644 index 00000000..9599fb61 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6b0775fc7e3827a92136aadd86446f0b8abc5bf0f5bcd10f29e813359517039 +size 4963 diff --git a/ThirdParty/include/boost/regex/v4/regex_traits_defaults.hpp b/ThirdParty/include/boost/regex/v4/regex_traits_defaults.hpp new file mode 100644 index 00000000..072b3c63 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_traits_defaults.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd73f13b55dd44e6ad2e6504bcc69541a5223e7b29784ec0fbefffba90210b6 +size 11568 diff --git a/ThirdParty/include/boost/regex/v4/regex_workaround.hpp b/ThirdParty/include/boost/regex/v4/regex_workaround.hpp new file mode 100644 index 00000000..88d0d96a --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/regex_workaround.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cc5aad6c6518b05c759fb1b5d980b76e34e1658d0da31e2c3062b4ea14ab52a +size 6171 diff --git a/ThirdParty/include/boost/regex/v4/states.hpp b/ThirdParty/include/boost/regex/v4/states.hpp new file mode 100644 index 00000000..64d34596 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/states.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f156797c0b009fcd25bf2d08ee5383dbee91fa62b5c20000f6c56cb89294b9e +size 11915 diff --git a/ThirdParty/include/boost/regex/v4/sub_match.hpp b/ThirdParty/include/boost/regex/v4/sub_match.hpp new file mode 100644 index 00000000..0a5f60ef --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/sub_match.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e15999f2cc6345d4713c64d2dfb06155867f3cdc8aca9320e87a9b6b63de3894 +size 23153 diff --git a/ThirdParty/include/boost/regex/v4/syntax_type.hpp b/ThirdParty/include/boost/regex/v4/syntax_type.hpp new file mode 100644 index 00000000..47f22d52 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/syntax_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77b480dc539e79d0f77f2eea7ac5846650fe3b1d6670480fb2eb9c7e15d66c73 +size 4374 diff --git a/ThirdParty/include/boost/regex/v4/u32regex_iterator.hpp b/ThirdParty/include/boost/regex/v4/u32regex_iterator.hpp new file mode 100644 index 00000000..bb66fc65 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/u32regex_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d574316e733ae3205f1d6351c6ef6db463bcef757ae67d3c81adeeab8c5a49fa +size 6475 diff --git a/ThirdParty/include/boost/regex/v4/u32regex_token_iterator.hpp b/ThirdParty/include/boost/regex/v4/u32regex_token_iterator.hpp new file mode 100644 index 00000000..09b1f571 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/u32regex_token_iterator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0a67641a13d39674a393f1f11f85236db757302578cadbfb23f8c31b780a860 +size 15064 diff --git a/ThirdParty/include/boost/regex/v4/w32_regex_traits.hpp b/ThirdParty/include/boost/regex/v4/w32_regex_traits.hpp new file mode 100644 index 00000000..ddef1ac8 --- /dev/null +++ b/ThirdParty/include/boost/regex/v4/w32_regex_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e40d28f1ae12d87f423431550dacfee12b85510ecbda3093f0a8fdabfd10db0 +size 24437 diff --git a/ThirdParty/include/boost/regex_fwd.hpp b/ThirdParty/include/boost/regex_fwd.hpp new file mode 100644 index 00000000..89f2fa3f --- /dev/null +++ b/ThirdParty/include/boost/regex_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2a974f83614a8e48e04f2c468807467fc61fbe5b6a1470dbf0e99b4a433ba54 +size 693 diff --git a/ThirdParty/include/boost/shared_ptr.hpp b/ThirdParty/include/boost/shared_ptr.hpp new file mode 100644 index 00000000..0d33b97e --- /dev/null +++ b/ThirdParty/include/boost/shared_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4a23223765c62c12e19cb1fe37d07d924735e0bce5ecef54ef03a9ebdd45c71 +size 525 diff --git a/ThirdParty/include/boost/smart_ptr.hpp b/ThirdParty/include/boost/smart_ptr.hpp new file mode 100644 index 00000000..64a7fb20 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3081bbc99db3f8984c8f1f32b0206b83a07ac094073d45769d509f606df3cc12 +size 780 diff --git a/ThirdParty/include/boost/smart_ptr/allocate_local_shared_array.hpp b/ThirdParty/include/boost/smart_ptr/allocate_local_shared_array.hpp new file mode 100644 index 00000000..59b1ff68 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/allocate_local_shared_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aee208b887ecfa54fa0ad70f3a31593e3ee663d0608b9dfba96476109321496d +size 7960 diff --git a/ThirdParty/include/boost/smart_ptr/allocate_shared_array.hpp b/ThirdParty/include/boost/smart_ptr/allocate_shared_array.hpp new file mode 100644 index 00000000..9b5c9132 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/allocate_shared_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7286d6767db1ce95e636bc60612e1424260b028f2d9bb001a49dd913f4acf767 +size 17870 diff --git a/ThirdParty/include/boost/smart_ptr/atomic_shared_ptr.hpp b/ThirdParty/include/boost/smart_ptr/atomic_shared_ptr.hpp new file mode 100644 index 00000000..507aec51 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/atomic_shared_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:718bda057c31f33d76bd5e5dd8da5dc32adc5fd1e455c6d42911320af92486d7 +size 5681 diff --git a/ThirdParty/include/boost/smart_ptr/bad_weak_ptr.hpp b/ThirdParty/include/boost/smart_ptr/bad_weak_ptr.hpp new file mode 100644 index 00000000..631e37f2 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/bad_weak_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1601a50142ca359791d1a9b7dcfca4fe88ef1aa2b41eec91dbabfc73feedb5c1 +size 1707 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count.hpp new file mode 100644 index 00000000..48196db4 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3ca769a3261d7bda2df7153e0f48140104100231adacc7b27a057dc3ec042b6 +size 3041 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc.hpp new file mode 100644 index 00000000..c07e3e14 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9500e28df1d01bf3a62174c398207717d1cf8b3805654418e98851c823a09d2 +size 1473 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp new file mode 100644 index 00000000..c9e6a11e --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b53a0cb9c643d297aec4cdb3839b84d72bda47a5fee298418e694ed5ebaab3ca +size 1519 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_nt.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_nt.hpp new file mode 100644 index 00000000..8052a613 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_nt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7ba5e790e715bdd4ec3fdadad5860c8608ec064541e82c79348e8cde4f981ce +size 1032 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_pt.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_pt.hpp new file mode 100644 index 00000000..795256d6 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_pt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31a83e6bd26ffb247e671401243cd2bf8b10d58cabbae3efeea9ba6dd53dd51a +size 1906 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_solaris.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_solaris.hpp new file mode 100644 index 00000000..d0ad2c68 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_solaris.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba0efbe83659e941c9eb2223cd9b4c9f013b3fe47fc1849999f3e9de56fea758 +size 1157 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_spin.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_spin.hpp new file mode 100644 index 00000000..21935951 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_spin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8e19e7989234c801cb6450b389ce36696b66f3194898e2a433a82babe8533ea +size 1151 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp new file mode 100644 index 00000000..7730085d --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:062f542cdaa5a8ce114555d57f3614f21a482e2d3cbff054e77c2317d9058a8b +size 1160 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_sync.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_sync.hpp new file mode 100644 index 00000000..83aa783b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_sync.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a9de5425067b88e0469f8b17222f341dff4621c1a1289fe5b946a42b5f33721 +size 1195 diff --git a/ThirdParty/include/boost/smart_ptr/detail/atomic_count_win32.hpp b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_win32.hpp new file mode 100644 index 00000000..ab91a0c3 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/atomic_count_win32.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbfb88deda246c4460d193563e06140caa61ddd84fb0e5c15947e87cfb5d2371 +size 1208 diff --git a/ThirdParty/include/boost/smart_ptr/detail/lightweight_mutex.hpp b/ThirdParty/include/boost/smart_ptr/detail/lightweight_mutex.hpp new file mode 100644 index 00000000..fe70c505 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/lightweight_mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:706069ff38c6d9dc0b5462b9ab21e7b4fd6b52c402f7e01c84faa1d2ff173f9b +size 1425 diff --git a/ThirdParty/include/boost/smart_ptr/detail/local_counted_base.hpp b/ThirdParty/include/boost/smart_ptr/detail/local_counted_base.hpp new file mode 100644 index 00000000..8b2084c2 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/local_counted_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24ea592db76d420ec950b2a45b2e44b32be3c05cae1ac02ec6670f722eb566df +size 3153 diff --git a/ThirdParty/include/boost/smart_ptr/detail/local_sp_deleter.hpp b/ThirdParty/include/boost/smart_ptr/detail/local_sp_deleter.hpp new file mode 100644 index 00000000..fbeefd98 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/local_sp_deleter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b376d416be817160ac86df7a40e61327dedc2f2156bd84065539d6c6d3624b23 +size 1677 diff --git a/ThirdParty/include/boost/smart_ptr/detail/lwm_nop.hpp b/ThirdParty/include/boost/smart_ptr/detail/lwm_nop.hpp new file mode 100644 index 00000000..a28e13da --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/lwm_nop.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88b3aece69bcfff89ca2db89b40571b7fb08f2848dda77bdb33acb3052f4ed7 +size 702 diff --git a/ThirdParty/include/boost/smart_ptr/detail/lwm_pthreads.hpp b/ThirdParty/include/boost/smart_ptr/detail/lwm_pthreads.hpp new file mode 100644 index 00000000..e84b0dfc --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/lwm_pthreads.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39d96481855a03ae5371207be2528b18c090b28cb09b19060cd0afea41083298 +size 1753 diff --git a/ThirdParty/include/boost/smart_ptr/detail/lwm_win32_cs.hpp b/ThirdParty/include/boost/smart_ptr/detail/lwm_win32_cs.hpp new file mode 100644 index 00000000..cfe52415 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/lwm_win32_cs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f225b3e7d9334b418925eccaafce94001b42d340fcc4ac512a8c5bf98ce7a4 +size 3281 diff --git a/ThirdParty/include/boost/smart_ptr/detail/operator_bool.hpp b/ThirdParty/include/boost/smart_ptr/detail/operator_bool.hpp new file mode 100644 index 00000000..c4de196f --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/operator_bool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b128b7a53a79c38dc568b589d60bdabfd6998e0e085498aa8d8e77ecb3cc1cef +size 1731 diff --git a/ThirdParty/include/boost/smart_ptr/detail/quick_allocator.hpp b/ThirdParty/include/boost/smart_ptr/detail/quick_allocator.hpp new file mode 100644 index 00000000..b76f49d0 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/quick_allocator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c1eca92a89a5c898d59aa3b4d6966a0a37fc01c0e97fa7fba7eb55c2607a83 +size 5137 diff --git a/ThirdParty/include/boost/smart_ptr/detail/shared_count.hpp b/ThirdParty/include/boost/smart_ptr/detail/shared_count.hpp new file mode 100644 index 00000000..40d21d58 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/shared_count.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b5475e42563aa1ebd9067c5fbde7cecfe1005b777a3ccb88f851e8c8b7b74e9 +size 14141 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_convertible.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_convertible.hpp new file mode 100644 index 00000000..918af92c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_convertible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:508477b4d745355008594bad136a0fcc735f6ce6e9ba81573babc3989ca10064 +size 2153 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base.hpp new file mode 100644 index 00000000..63d1113c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:460971bb769fb4636bac082f8390669f149a59d0cd537c0fdcc6e6d3013c1354 +size 3494 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp new file mode 100644 index 00000000..d32a8a26 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efdd6563330cf939e97c79d9fd353eb2463839f2de3dec03718ba326dfa7fb94 +size 3251 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp new file mode 100644 index 00000000..8053866c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdcedca5ed41fa6d9c64e5dfb4e24d26bec5d1f68020bb1939bffdc2dc46c800 +size 3110 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp new file mode 100644 index 00000000..1a20acf2 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5043622e85491bb81986a5ab5ee17d54577be6ae2029c63c67248499466ad847 +size 3436 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp new file mode 100644 index 00000000..f4264d82 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07adfcb87df3bce1404370a662c2f127592105dd81aec61f570b8a3a42abacba +size 3179 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp new file mode 100644 index 00000000..dc596a2b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3693ce419abfa4748bfee3973360d7901656e115a739bacbbd45b033286e6d2 +size 3293 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp new file mode 100644 index 00000000..6ba3a51a --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3bd35e22475f7040385e1ed80b43f1f9dd0efb8c9ddaa95000018caae77c322 +size 3774 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp new file mode 100644 index 00000000..2cd74cad --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc58f4c838e66d098636741e0adc6942c2b46e5512823104e4cecfd7607d1d68 +size 3861 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp new file mode 100644 index 00000000..3fcb8c8c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bac010145a5817920e04108536ee6b57a2f4db1db19fcc93c1e30cd4de4a8439 +size 3638 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp new file mode 100644 index 00000000..8b8e40dd --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42756e1cbdd3cd882a9004bc30d95755b7f4877880e40871d73e2dad5144810a +size 3613 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp new file mode 100644 index 00000000..67723c15 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f755420f41271f8ac362decc28d317c41ed3091646c0ba0a92ef9f0b04242e0b +size 3701 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp new file mode 100644 index 00000000..55acfa19 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ee572d7e9d9ebc0ea2a6cb1b5bd3d04b841b9c033cbbc191cf1be1e35057fc +size 2255 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp new file mode 100644 index 00000000..97fb318d --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fb663ed7364253a728a6bb793acfb3172798b30834530943bd72889cdf7c2e6 +size 3447 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp new file mode 100644 index 00000000..4a0f134b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be071398671c312da28d123c23e866d11bd274c2b7f66ac0c23e4ad82c7f0ae3 +size 3551 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp new file mode 100644 index 00000000..03ad812b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f25839e980fc42209a2a4dd4ee3d50c19783ec7651df1b4100649d11b77f1e8 +size 2676 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp new file mode 100644 index 00000000..5dc5a4b9 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0d165243c8985b485bc2d4ea1e1b5f53a7484b64c66f404aca5954c93a4cd42 +size 2902 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp new file mode 100644 index 00000000..dbd01eb7 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd56f512318d16cfeced670c239c316712a40979db9bc2a311209d029d765198 +size 3124 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp new file mode 100644 index 00000000..041cb6cf --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fe75ead522dbbbbeab4d54651d557cb8e61141442a014cb8bac5e5dcb32127a +size 3163 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp new file mode 100644 index 00000000..20367289 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97cd2ba0dbfce6af17f7fa009240a007181c9c772de637ad3722501a66e12570 +size 3458 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp new file mode 100644 index 00000000..a918a0e7 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffcc367bdf8ac85429082d0d3d978e041d8b255791745879d4aaf18e8b7a8e6f +size 3102 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_counted_impl.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_impl.hpp new file mode 100644 index 00000000..709a6a73 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_counted_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56c6abe414bd45b49591068126b9fca97d7afd7b849211753db082f2b3ff825a +size 6455 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp new file mode 100644 index 00000000..fcb72285 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99892f31f173d1de78e5af7d9e2231e16c307ee8f93d0ada22cbc4f5d67801df +size 983 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_forward.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_forward.hpp new file mode 100644 index 00000000..e285caa8 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_forward.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63e440d963541fcdb89b37f651508868656ecab7c265db7fc2224f27dc1a3eb7 +size 1180 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_has_sync.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_has_sync.hpp new file mode 100644 index 00000000..1b67bab5 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_has_sync.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75da457cdc7c72a87328cb4a2b01d73d5d0af295509ab74b6a22531659de8136 +size 1605 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_interlocked.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_interlocked.hpp new file mode 100644 index 00000000..c0d2ac72 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_interlocked.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b22e910b8381e7306eed7741da1a03b0b5f31ef789cb1acfe20cd1ff82fd326 +size 6567 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_noexcept.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_noexcept.hpp new file mode 100644 index 00000000..c152f8bb --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_noexcept.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac5afbfab96f459b1431f3b610a7bbbdae741efc3adbed0e1a0656c6a13488e4 +size 1185 diff --git a/ThirdParty/include/boost/smart_ptr/detail/sp_nullptr_t.hpp b/ThirdParty/include/boost/smart_ptr/detail/sp_nullptr_t.hpp new file mode 100644 index 00000000..2473a2e5 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/sp_nullptr_t.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dd97f75b2c1487171adc58855f41f5e5a0b0534a0e8e7603af72ba8c0eb6e52 +size 976 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock.hpp new file mode 100644 index 00000000..9e250d7b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86a13976eb3d0a28257be0ba91e5f3b7a3ca00b1661b92c6be38c8e49a9b61fa +size 1909 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp new file mode 100644 index 00000000..200ced30 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7c4fff3a9f0fc6e43f89affedf49d529f21ba7eaf336b7358abe5fc017ce5e7 +size 2557 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_nt.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_nt.hpp new file mode 100644 index 00000000..5da87528 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_nt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a9ca59229aa06500e9821b614c790d15251e31ed66666064e14b786ccf84649 +size 1464 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_pool.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_pool.hpp new file mode 100644 index 00000000..3a3efd61 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:151ab5dd84fb410f0182afab573771bed459ed24147caf3ebfa2cf39b550ccb3 +size 2954 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_pt.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_pt.hpp new file mode 100644 index 00000000..b02bb81b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_pt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e44a85dd82a286278ce691be41a73e44142878712a0b335b39405e5d1e1f298 +size 1314 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp new file mode 100644 index 00000000..ce10adc2 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3080e6c0276b9701777d05e831bb008364a079d6a08438920baa3366668ec4b6 +size 1468 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_sync.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_sync.hpp new file mode 100644 index 00000000..f4ad5e7b --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_sync.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd585f2fcbd6b9a42edff63174a33bb1b453027aa64c0e81800c53ac40b4b8c6 +size 1491 diff --git a/ThirdParty/include/boost/smart_ptr/detail/spinlock_w32.hpp b/ThirdParty/include/boost/smart_ptr/detail/spinlock_w32.hpp new file mode 100644 index 00000000..758c7c76 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/spinlock_w32.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4446e0321c3ebf34c7c7b94f4a3424fbc9810d89fd419c050b63b13f2663c1cf +size 1962 diff --git a/ThirdParty/include/boost/smart_ptr/detail/yield_k.hpp b/ThirdParty/include/boost/smart_ptr/detail/yield_k.hpp new file mode 100644 index 00000000..e28cbb7c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/detail/yield_k.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f281adc425c20a98d8eaf7abc3bab43cdb82f532dd90186156a7be7faedbabe3 +size 3304 diff --git a/ThirdParty/include/boost/smart_ptr/enable_shared_from_raw.hpp b/ThirdParty/include/boost/smart_ptr/enable_shared_from_raw.hpp new file mode 100644 index 00000000..1d69e61d --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/enable_shared_from_raw.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73161035e0726e4ae9a25d3c3deee552f0604e28b0a394a94714603ffbb76603 +size 4517 diff --git a/ThirdParty/include/boost/smart_ptr/enable_shared_from_this.hpp b/ThirdParty/include/boost/smart_ptr/enable_shared_from_this.hpp new file mode 100644 index 00000000..ee05c17a --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/enable_shared_from_this.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35f4bc2853c9c24d81c4d1d2538e783a73fb292ccf9acda82806dd9585fc52cf +size 2175 diff --git a/ThirdParty/include/boost/smart_ptr/intrusive_ptr.hpp b/ThirdParty/include/boost/smart_ptr/intrusive_ptr.hpp new file mode 100644 index 00000000..24840b27 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/intrusive_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8dbf0df44819a7c16876f0af74f634483b3cfe6e76c76d6418354f2739c35bd +size 8347 diff --git a/ThirdParty/include/boost/smart_ptr/intrusive_ref_counter.hpp b/ThirdParty/include/boost/smart_ptr/intrusive_ref_counter.hpp new file mode 100644 index 00000000..5cec3ebf --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/intrusive_ref_counter.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8d9b4e62c70d83a28513d49fb3aaba8c445641b0a38f8e33d713add8f3501e3 +size 5817 diff --git a/ThirdParty/include/boost/smart_ptr/local_shared_ptr.hpp b/ThirdParty/include/boost/smart_ptr/local_shared_ptr.hpp new file mode 100644 index 00000000..5e39098d --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/local_shared_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7887504b4d1d57764f8da55780ab815e8a7aa6e5834594f7470b8009b459f87 +size 18800 diff --git a/ThirdParty/include/boost/smart_ptr/make_local_shared.hpp b/ThirdParty/include/boost/smart_ptr/make_local_shared.hpp new file mode 100644 index 00000000..24d3b8ae --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_local_shared.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c16c0ee7cff40a3e9b0f9a6eeff0006142024c46bf1eef2685348aba5d2cd1ac +size 576 diff --git a/ThirdParty/include/boost/smart_ptr/make_local_shared_array.hpp b/ThirdParty/include/boost/smart_ptr/make_local_shared_array.hpp new file mode 100644 index 00000000..260d699e --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_local_shared_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ec4209e46f9907a15f951fc839737eb88d12fc6b4411b1235a74e9a7875406f +size 1833 diff --git a/ThirdParty/include/boost/smart_ptr/make_local_shared_object.hpp b/ThirdParty/include/boost/smart_ptr/make_local_shared_object.hpp new file mode 100644 index 00000000..6b502036 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_local_shared_object.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7d4ca19262a94a7ccfdda7b53211390af63fb8263fca85d143be8faa9283223 +size 4629 diff --git a/ThirdParty/include/boost/smart_ptr/make_shared.hpp b/ThirdParty/include/boost/smart_ptr/make_shared.hpp new file mode 100644 index 00000000..a0383921 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_shared.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff5adf6ba04373a6aaefb0c2af601f8eac2ad4c5e4330ee4b5349c276e515d52 +size 707 diff --git a/ThirdParty/include/boost/smart_ptr/make_shared_array.hpp b/ThirdParty/include/boost/smart_ptr/make_shared_array.hpp new file mode 100644 index 00000000..21dca826 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_shared_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd5045e09e85281aec105e6f00c1e9313774944968a46017505525876ddaa90e +size 1715 diff --git a/ThirdParty/include/boost/smart_ptr/make_shared_object.hpp b/ThirdParty/include/boost/smart_ptr/make_shared_object.hpp new file mode 100644 index 00000000..a1240f9c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_shared_object.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ee2444e84f9d7aca2bb70752a62989f029c3d763b0092ef9173c602c13223e +size 24618 diff --git a/ThirdParty/include/boost/smart_ptr/make_unique.hpp b/ThirdParty/include/boost/smart_ptr/make_unique.hpp new file mode 100644 index 00000000..af677a9d --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/make_unique.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f4304977dc2590e7a4147e1f14dcdaeff5a3bf3bee127d4c0af33c62bc7b64f +size 2103 diff --git a/ThirdParty/include/boost/smart_ptr/owner_less.hpp b/ThirdParty/include/boost/smart_ptr/owner_less.hpp new file mode 100644 index 00000000..39ab2a6c --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/owner_less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ab6f311bc56a5bc1ff7cc1de21b45bdc05db942673a8b58ca94bfb0c08da344 +size 809 diff --git a/ThirdParty/include/boost/smart_ptr/scoped_array.hpp b/ThirdParty/include/boost/smart_ptr/scoped_array.hpp new file mode 100644 index 00000000..625c70f5 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/scoped_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb2e656079efc11f342b067b829912e0995019b9608c7d95ab6ec84fda19cb7e +size 3301 diff --git a/ThirdParty/include/boost/smart_ptr/scoped_ptr.hpp b/ThirdParty/include/boost/smart_ptr/scoped_ptr.hpp new file mode 100644 index 00000000..d6b9c486 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/scoped_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75c131252384b08dae1447bf37eeab27c152c0a0ece4d42b198249b06d10fc6b +size 4082 diff --git a/ThirdParty/include/boost/smart_ptr/shared_array.hpp b/ThirdParty/include/boost/smart_ptr/shared_array.hpp new file mode 100644 index 00000000..a51befaa --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/shared_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56d21db2a7a79f319bc5cb74a950c3707b569d1c48ca696d8180f2e2acce19b2 +size 7250 diff --git a/ThirdParty/include/boost/smart_ptr/shared_ptr.hpp b/ThirdParty/include/boost/smart_ptr/shared_ptr.hpp new file mode 100644 index 00000000..0a57f7b0 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/shared_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92c1999a29e2bd2208cc8562ac8c9ae579e9ff10ff7580855dbcd564906890d2 +size 30462 diff --git a/ThirdParty/include/boost/smart_ptr/weak_ptr.hpp b/ThirdParty/include/boost/smart_ptr/weak_ptr.hpp new file mode 100644 index 00000000..e7a486c5 --- /dev/null +++ b/ThirdParty/include/boost/smart_ptr/weak_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6de130321915716fc59520123d69327b13705580459095eb36860c34d307a82 +size 5987 diff --git a/ThirdParty/include/boost/static_assert.hpp b/ThirdParty/include/boost/static_assert.hpp new file mode 100644 index 00000000..530db744 --- /dev/null +++ b/ThirdParty/include/boost/static_assert.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52fb9e1150bfb923716ee72dd5add5045a2a56ee100487d0b42f80746e6ed49a +size 7243 diff --git a/ThirdParty/include/boost/swap.hpp b/ThirdParty/include/boost/swap.hpp new file mode 100644 index 00000000..becfd9aa --- /dev/null +++ b/ThirdParty/include/boost/swap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78f53231db6d94208b9cdc388659d7dec9576f7a55f43957c69c0b2d2090e106 +size 374 diff --git a/ThirdParty/include/boost/system/api_config.hpp b/ThirdParty/include/boost/system/api_config.hpp new file mode 100644 index 00000000..73ab17be --- /dev/null +++ b/ThirdParty/include/boost/system/api_config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa6ad663585b883f33bf73f4e181a69fab2b7d2aaf19cc062d9f240c3040e0e4 +size 1832 diff --git a/ThirdParty/include/boost/system/config.hpp b/ThirdParty/include/boost/system/config.hpp new file mode 100644 index 00000000..1ed0aedf --- /dev/null +++ b/ThirdParty/include/boost/system/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb7bf37b73356d4b796d8569173af1f394244d8fe6805e15b7aa16db8448e6e0 +size 1771 diff --git a/ThirdParty/include/boost/system/cygwin_error.hpp b/ThirdParty/include/boost/system/cygwin_error.hpp new file mode 100644 index 00000000..16f25b6d --- /dev/null +++ b/ThirdParty/include/boost/system/cygwin_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77c019881d71c69692c6536b9487dee9122d00e3ac62dcfe6ae0775fe0e129a0 +size 1552 diff --git a/ThirdParty/include/boost/system/detail/config.hpp b/ThirdParty/include/boost/system/detail/config.hpp new file mode 100644 index 00000000..87bb5784 --- /dev/null +++ b/ThirdParty/include/boost/system/detail/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e0fd47115f577879a684f1afb3670a97495995e664cc1c2d292cda14098507d +size 1466 diff --git a/ThirdParty/include/boost/system/detail/generic_category.hpp b/ThirdParty/include/boost/system/detail/generic_category.hpp new file mode 100644 index 00000000..d9e8477d --- /dev/null +++ b/ThirdParty/include/boost/system/detail/generic_category.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35e50c753861f80eb8ef94e4d6548a0657329dcb7f9b55fea7d60c8bc8471513 +size 2200 diff --git a/ThirdParty/include/boost/system/detail/std_interoperability.hpp b/ThirdParty/include/boost/system/detail/std_interoperability.hpp new file mode 100644 index 00000000..77987d53 --- /dev/null +++ b/ThirdParty/include/boost/system/detail/std_interoperability.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d79c1b66a980ed588fa12037de1f4229d043769593ece4ae54159c52fe51857c +size 3707 diff --git a/ThirdParty/include/boost/system/detail/system_category_posix.hpp b/ThirdParty/include/boost/system/detail/system_category_posix.hpp new file mode 100644 index 00000000..9b10ee35 --- /dev/null +++ b/ThirdParty/include/boost/system/detail/system_category_posix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f047811eab148feef20342a5614b85211abfd154ada441fa65abc8f4f9077814 +size 3200 diff --git a/ThirdParty/include/boost/system/detail/system_category_win32.hpp b/ThirdParty/include/boost/system/detail/system_category_win32.hpp new file mode 100644 index 00000000..0e731c27 --- /dev/null +++ b/ThirdParty/include/boost/system/detail/system_category_win32.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a44a7612eb7e787e841d5cb43f8110af5bfc7349edb2dda21158a2bb7756a5e +size 11422 diff --git a/ThirdParty/include/boost/system/error_code.hpp b/ThirdParty/include/boost/system/error_code.hpp new file mode 100644 index 00000000..78ab61a9 --- /dev/null +++ b/ThirdParty/include/boost/system/error_code.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1ab7aeb2379a6435493e1e9498d99290ceffe23d555d301286b4fe10aafd3e3 +size 25483 diff --git a/ThirdParty/include/boost/system/linux_error.hpp b/ThirdParty/include/boost/system/linux_error.hpp new file mode 100644 index 00000000..dd211800 --- /dev/null +++ b/ThirdParty/include/boost/system/linux_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48af768d6ca5a232a6aa65ec87b08fd6623d887900416cd7f7a7eb72d50200e2 +size 3415 diff --git a/ThirdParty/include/boost/system/system_error.hpp b/ThirdParty/include/boost/system/system_error.hpp new file mode 100644 index 00000000..8e7e4eb5 --- /dev/null +++ b/ThirdParty/include/boost/system/system_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db1addf319105eb125aadbaca29fa325deb8d1bfb793cf4bd4760bda052419c6 +size 2630 diff --git a/ThirdParty/include/boost/system/windows_error.hpp b/ThirdParty/include/boost/system/windows_error.hpp new file mode 100644 index 00000000..a3ee6d56 --- /dev/null +++ b/ThirdParty/include/boost/system/windows_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b23b2421973448bb124b4aa202d4b20f48a1843c49449071a177096055d9f8bf +size 4930 diff --git a/ThirdParty/include/boost/throw_exception.hpp b/ThirdParty/include/boost/throw_exception.hpp new file mode 100644 index 00000000..da615497 --- /dev/null +++ b/ThirdParty/include/boost/throw_exception.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0434f7e4f4ab54cfef6f50b7df0d735188e839f1cc6fa8c80b30da97a1db2cc +size 2994 diff --git a/ThirdParty/include/boost/tuple/detail/tuple_basic.hpp b/ThirdParty/include/boost/tuple/detail/tuple_basic.hpp new file mode 100644 index 00000000..857f6d77 --- /dev/null +++ b/ThirdParty/include/boost/tuple/detail/tuple_basic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0edeb48bdd9ac3b10cc9c78cae6bf0b4027a941623b036582ca41bdc453a04d5 +size 32332 diff --git a/ThirdParty/include/boost/tuple/tuple.hpp b/ThirdParty/include/boost/tuple/tuple.hpp new file mode 100644 index 00000000..67189329 --- /dev/null +++ b/ThirdParty/include/boost/tuple/tuple.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6098f93fcec9b605d5c12e252c719acf28f23b00cc4803ef43e1d7782015095 +size 1946 diff --git a/ThirdParty/include/boost/tuple/tuple_comparison.hpp b/ThirdParty/include/boost/tuple/tuple_comparison.hpp new file mode 100644 index 00000000..e6141710 --- /dev/null +++ b/ThirdParty/include/boost/tuple/tuple_comparison.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6cd6837eea28cb3214dd1c3da0af6170cf8cd39e21a45e626942b86068d0caf +size 5578 diff --git a/ThirdParty/include/boost/tuple/tuple_io.hpp b/ThirdParty/include/boost/tuple/tuple_io.hpp new file mode 100644 index 00000000..faef0951 --- /dev/null +++ b/ThirdParty/include/boost/tuple/tuple_io.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b76f74a3793489c9ee24440bbcd84ecfaeb698c5e2d318970a8304c2db076436 +size 9030 diff --git a/ThirdParty/include/boost/type.hpp b/ThirdParty/include/boost/type.hpp new file mode 100644 index 00000000..8d18af44 --- /dev/null +++ b/ThirdParty/include/boost/type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c4b3b417c1c11424334d738032aa405b6d514fb97eddc92b166bba22c9fd16c +size 481 diff --git a/ThirdParty/include/boost/type_traits.hpp b/ThirdParty/include/boost/type_traits.hpp new file mode 100644 index 00000000..1d9b2be7 --- /dev/null +++ b/ThirdParty/include/boost/type_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:963988949b24c3edb1304bf888d1bf08f3fa8329f6ba04f3ff13131bf4fc2037 +size 7051 diff --git a/ThirdParty/include/boost/type_traits/add_const.hpp b/ThirdParty/include/boost/type_traits/add_const.hpp new file mode 100644 index 00000000..5771f1ca --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0097bd4b39041632548f9f7951edcfb229b908969120972560123366f3a114a +size 1439 diff --git a/ThirdParty/include/boost/type_traits/add_cv.hpp b/ThirdParty/include/boost/type_traits/add_cv.hpp new file mode 100644 index 00000000..188e8a89 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_cv.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1154473b47a9759875fcad90a66169783eef336226017c3a9f3b496a4331de3 +size 1399 diff --git a/ThirdParty/include/boost/type_traits/add_lvalue_reference.hpp b/ThirdParty/include/boost/type_traits/add_lvalue_reference.hpp new file mode 100644 index 00000000..0f3e33c0 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_lvalue_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1392be5d4821be7826c6cbce8658bfb8626a30f09d8a9a2480b31a7e23a6c40c +size 768 diff --git a/ThirdParty/include/boost/type_traits/add_pointer.hpp b/ThirdParty/include/boost/type_traits/add_pointer.hpp new file mode 100644 index 00000000..07dfd5d3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e679679dd0a54beba402a01d5784f8fcf11463b19c522eace9066925d759f45 +size 1501 diff --git a/ThirdParty/include/boost/type_traits/add_reference.hpp b/ThirdParty/include/boost/type_traits/add_reference.hpp new file mode 100644 index 00000000..a979c521 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f290cfa21db9b4a74cb034e1ba9acaf7fc1cc41697d9c374938306bdd411d579 +size 1709 diff --git a/ThirdParty/include/boost/type_traits/add_rvalue_reference.hpp b/ThirdParty/include/boost/type_traits/add_rvalue_reference.hpp new file mode 100644 index 00000000..ad5b4d67 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_rvalue_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63434c1016fed7cd6101cddc9577aab469f53958db1f1808d07b8ff0d3608c57 +size 2395 diff --git a/ThirdParty/include/boost/type_traits/add_volatile.hpp b/ThirdParty/include/boost/type_traits/add_volatile.hpp new file mode 100644 index 00000000..0e7d600b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/add_volatile.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7cdb4a75b87025798455461fe1b0f5228091fb95765ebc0f281ececbb130e9e +size 1424 diff --git a/ThirdParty/include/boost/type_traits/aligned_storage.hpp b/ThirdParty/include/boost/type_traits/aligned_storage.hpp new file mode 100644 index 00000000..d4c9b5ff --- /dev/null +++ b/ThirdParty/include/boost/type_traits/aligned_storage.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0760e2fc0ad37e21931ac91b9eac9d339ef5d829d148b9cf89d56835903763ac +size 3348 diff --git a/ThirdParty/include/boost/type_traits/alignment_of.hpp b/ThirdParty/include/boost/type_traits/alignment_of.hpp new file mode 100644 index 00000000..66e6aa6e --- /dev/null +++ b/ThirdParty/include/boost/type_traits/alignment_of.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18171e6f8c694c62c550333b15011231890703be990690d975a6a4d8e2173af3 +size 3565 diff --git a/ThirdParty/include/boost/type_traits/alignment_traits.hpp b/ThirdParty/include/boost/type_traits/alignment_traits.hpp new file mode 100644 index 00000000..0786d7e9 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/alignment_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97bf6a4fcb2d3cfc0da802afce8cd21d9e0c3fc5b98d554df11a65bd456072de +size 573 diff --git a/ThirdParty/include/boost/type_traits/arithmetic_traits.hpp b/ThirdParty/include/boost/type_traits/arithmetic_traits.hpp new file mode 100644 index 00000000..7aa5e3d2 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/arithmetic_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d003dfd952ba7ed2f8157736c7e72be252f0ebad9c9dd47ce3cc00145d4e27e8 +size 862 diff --git a/ThirdParty/include/boost/type_traits/array_traits.hpp b/ThirdParty/include/boost/type_traits/array_traits.hpp new file mode 100644 index 00000000..ffdc33f2 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/array_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12ac0c0aa3cce1bd04f0a34aa13bb150eac12022e34a1f6766b9c893d9ef530a +size 569 diff --git a/ThirdParty/include/boost/type_traits/broken_compiler_spec.hpp b/ThirdParty/include/boost/type_traits/broken_compiler_spec.hpp new file mode 100644 index 00000000..234a35cd --- /dev/null +++ b/ThirdParty/include/boost/type_traits/broken_compiler_spec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a551ec36af12738b762d70b0191336f777f451c86860422600f761af89bd92e3 +size 724 diff --git a/ThirdParty/include/boost/type_traits/common_type.hpp b/ThirdParty/include/boost/type_traits/common_type.hpp new file mode 100644 index 00000000..bd63cc8c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/common_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:720c62f5a497101034c6b6cbb14419413c14725c1188aa80a856ec87fa118f1e +size 4555 diff --git a/ThirdParty/include/boost/type_traits/composite_traits.hpp b/ThirdParty/include/boost/type_traits/composite_traits.hpp new file mode 100644 index 00000000..223e97da --- /dev/null +++ b/ThirdParty/include/boost/type_traits/composite_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cef5cebba55a7158d06a47b28f50e361dc179a34d38a6e532ae95b757eae72a +size 1001 diff --git a/ThirdParty/include/boost/type_traits/conditional.hpp b/ThirdParty/include/boost/type_traits/conditional.hpp new file mode 100644 index 00000000..b1d5e75a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/conditional.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72744e48a710e2645ecc6a696b150c63d45507cb33b8090fbc7cb8827b2a3ba7 +size 843 diff --git a/ThirdParty/include/boost/type_traits/config.hpp b/ThirdParty/include/boost/type_traits/config.hpp new file mode 100644 index 00000000..cbb247f5 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7723f7f3c33829098ef1956eb9176af8800eaf3a9509aa8f5b38eba1565ee99 +size 708 diff --git a/ThirdParty/include/boost/type_traits/conversion_traits.hpp b/ThirdParty/include/boost/type_traits/conversion_traits.hpp new file mode 100644 index 00000000..d96f79ca --- /dev/null +++ b/ThirdParty/include/boost/type_traits/conversion_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7cc329b38b6b05eae5d519e230990961259962954142d815e517d8d58aee1c0 +size 658 diff --git a/ThirdParty/include/boost/type_traits/copy_cv.hpp b/ThirdParty/include/boost/type_traits/copy_cv.hpp new file mode 100644 index 00000000..3f482969 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/copy_cv.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4c0fdb1476d4b7dc493fafbfe450196eb0891327043305485b54d33d0605fdb +size 1058 diff --git a/ThirdParty/include/boost/type_traits/cv_traits.hpp b/ThirdParty/include/boost/type_traits/cv_traits.hpp new file mode 100644 index 00000000..1528561a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/cv_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db4e332ea3ddb694d461a56860b532b9c2794099504874da2226f38398cd8122 +size 994 diff --git a/ThirdParty/include/boost/type_traits/decay.hpp b/ThirdParty/include/boost/type_traits/decay.hpp new file mode 100644 index 00000000..c96cb1a2 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/decay.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd5243a2596de72a872a6e0991c244ed0a7d580ec7cc3aedbb43cf8f8fc2f9c0 +size 1496 diff --git a/ThirdParty/include/boost/type_traits/declval.hpp b/ThirdParty/include/boost/type_traits/declval.hpp new file mode 100644 index 00000000..6da6bb30 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/declval.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:661a695996abdf2523d92fa1d7aa90b676d3439bc7a5bd4c993705b579b2a235 +size 1899 diff --git a/ThirdParty/include/boost/type_traits/detail/bool_trait_def.hpp b/ThirdParty/include/boost/type_traits/detail/bool_trait_def.hpp new file mode 100644 index 00000000..31a260bd --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/bool_trait_def.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:334a74db753ffc72ed97ca3eec2a35e16ab8d80ebaf00cfd8e478c09abb78c72 +size 4762 diff --git a/ThirdParty/include/boost/type_traits/detail/bool_trait_undef.hpp b/ThirdParty/include/boost/type_traits/detail/bool_trait_undef.hpp new file mode 100644 index 00000000..a14e9d65 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/bool_trait_undef.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3491b5db3254634b5385cf17de1796a265164d93920fc73d91eae0de24709ee +size 929 diff --git a/ThirdParty/include/boost/type_traits/detail/common_arithmetic_type.hpp b/ThirdParty/include/boost/type_traits/detail/common_arithmetic_type.hpp new file mode 100644 index 00000000..cfedb159 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/common_arithmetic_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:339d69604c3c67b9733f2bf8ea927bc06d35ed42a561ea591e1810bd63468bd4 +size 5585 diff --git a/ThirdParty/include/boost/type_traits/detail/common_type_impl.hpp b/ThirdParty/include/boost/type_traits/detail/common_type_impl.hpp new file mode 100644 index 00000000..fc3f145f --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/common_type_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f36fccbd789530c29571cde32a9e5d751eb90af002dd64ac2875d318fa5588ec +size 3028 diff --git a/ThirdParty/include/boost/type_traits/detail/composite_member_pointer_type.hpp b/ThirdParty/include/boost/type_traits/detail/composite_member_pointer_type.hpp new file mode 100644 index 00000000..6bfa36ca --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/composite_member_pointer_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3c9e8c0d5701d30bf51d1dd1bbfcf72522cf9d497947f525f5b0218a82cb6e5 +size 2823 diff --git a/ThirdParty/include/boost/type_traits/detail/composite_pointer_type.hpp b/ThirdParty/include/boost/type_traits/detail/composite_pointer_type.hpp new file mode 100644 index 00000000..e307c3ec --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/composite_pointer_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d90268e6ccc39ecc612dfb63d50a94e94b370a400adfa9c5afd96831207d4e62 +size 3624 diff --git a/ThirdParty/include/boost/type_traits/detail/config.hpp b/ThirdParty/include/boost/type_traits/detail/config.hpp new file mode 100644 index 00000000..e299c55a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fa1533b7cbdacf56c6dd58ea5b14365fef82dfeff04afe12be78c512da826d2 +size 3250 diff --git a/ThirdParty/include/boost/type_traits/detail/detector.hpp b/ThirdParty/include/boost/type_traits/detail/detector.hpp new file mode 100644 index 00000000..87a4a5d4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/detector.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fc85d1dd8021581645c53ff9bf1bc5f5284dad1aa42845218230d40e3fbccdc +size 915 diff --git a/ThirdParty/include/boost/type_traits/detail/has_binary_operator.hpp b/ThirdParty/include/boost/type_traits/detail/has_binary_operator.hpp new file mode 100644 index 00000000..4ad29519 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/has_binary_operator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914d6d0e671cb49779e3aa306a64430ec970b237dffb69ae6cc94815042c3906 +size 12269 diff --git a/ThirdParty/include/boost/type_traits/detail/has_postfix_operator.hpp b/ThirdParty/include/boost/type_traits/detail/has_postfix_operator.hpp new file mode 100644 index 00000000..8e63c9f4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/has_postfix_operator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcf76d8b4e813ea3c8b55074c3de3a858f3b2582b40fca8b7abc733d8da486e8 +size 9991 diff --git a/ThirdParty/include/boost/type_traits/detail/has_prefix_operator.hpp b/ThirdParty/include/boost/type_traits/detail/has_prefix_operator.hpp new file mode 100644 index 00000000..b6c47ec3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/has_prefix_operator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d1d8a48ba53e0b1999c021e73b97ce41f236bfe22ac429c558ad29afed73dd +size 10881 diff --git a/ThirdParty/include/boost/type_traits/detail/ice_and.hpp b/ThirdParty/include/boost/type_traits/detail/ice_and.hpp new file mode 100644 index 00000000..1990d24c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/ice_and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8d4b441731865ee06d184101fe1ef8c06c7246ac9c5ca1d92a515a1f55e8993 +size 1190 diff --git a/ThirdParty/include/boost/type_traits/detail/ice_eq.hpp b/ThirdParty/include/boost/type_traits/detail/ice_eq.hpp new file mode 100644 index 00000000..4aa40998 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/ice_eq.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c78f1a567719a17dc1f66377611a55f591e32413c87b7dfa7d67f037813153 +size 1165 diff --git a/ThirdParty/include/boost/type_traits/detail/ice_not.hpp b/ThirdParty/include/boost/type_traits/detail/ice_not.hpp new file mode 100644 index 00000000..62cf6c4d --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/ice_not.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a286473315334ded917fe458898f8632614f91d5a05271c7f09d7ae4f3665be +size 971 diff --git a/ThirdParty/include/boost/type_traits/detail/ice_or.hpp b/ThirdParty/include/boost/type_traits/detail/ice_or.hpp new file mode 100644 index 00000000..2ffdf241 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/ice_or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2792efb55ed5b4fe2c33e92126f8beed50151f0f5db2c3003a5f13113c1572bc +size 1192 diff --git a/ThirdParty/include/boost/type_traits/detail/is_function_cxx_03.hpp b/ThirdParty/include/boost/type_traits/detail/is_function_cxx_03.hpp new file mode 100644 index 00000000..5877393d --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_function_cxx_03.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3e500269663eca5a3b03122b36be312bbf46e9b02c2e82d96841ce88a25a31e +size 3066 diff --git a/ThirdParty/include/boost/type_traits/detail/is_function_cxx_11.hpp b/ThirdParty/include/boost/type_traits/detail/is_function_cxx_11.hpp new file mode 100644 index 00000000..5e21e67f --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_function_cxx_11.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:066e84112265fdb38f4b789ff823496b1d1247096a16bf63434180418521439c +size 26932 diff --git a/ThirdParty/include/boost/type_traits/detail/is_function_msvc10_fix.hpp b/ThirdParty/include/boost/type_traits/detail/is_function_msvc10_fix.hpp new file mode 100644 index 00000000..88f1cc1c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_function_msvc10_fix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:088bed0e2d8398dc0c6809dcda27c8cad17513b067ffcbfacedb99eac3be759a +size 1925 diff --git a/ThirdParty/include/boost/type_traits/detail/is_function_ptr_helper.hpp b/ThirdParty/include/boost/type_traits/detail/is_function_ptr_helper.hpp new file mode 100644 index 00000000..02062ea0 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_function_ptr_helper.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c103dc55ee096b1256f28eb0b4c298de6f4d37b5f29c9db2cfad7cbc2c1dde6b +size 37000 diff --git a/ThirdParty/include/boost/type_traits/detail/is_function_ptr_tester.hpp b/ThirdParty/include/boost/type_traits/detail/is_function_ptr_tester.hpp new file mode 100644 index 00000000..df18f505 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_function_ptr_tester.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da772b6e1302da3a8d388773015b6b43e1ee798f0a0db35b3e092cef6b76ccf8 +size 40432 diff --git a/ThirdParty/include/boost/type_traits/detail/is_likely_lambda.hpp b/ThirdParty/include/boost/type_traits/detail/is_likely_lambda.hpp new file mode 100644 index 00000000..3c46f771 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_likely_lambda.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40dba62b0a746a5a83471c91739445de1a919c3eb466e1de28ec176a612ecf93 +size 2574 diff --git a/ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp new file mode 100644 index 00000000..0117b6cb --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd83ff71d05e05b57811da04d55e054feb72ae59ebdb48335425bfbefa541c97 +size 145750 diff --git a/ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp new file mode 100644 index 00000000..a1606503 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81c6b638e79b363c94da697b40219638fdf929deb004f2ab2fc1c19057bfdd19 +size 171760 diff --git a/ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp b/ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp new file mode 100644 index 00000000..9bcf9a65 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94f1e9604d9e0791ed6392ae64ed761cf6daddd7715a2c2e96c8d88e5b309553 +size 3665 diff --git a/ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp b/ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp new file mode 100644 index 00000000..02019ad4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61cc2ca915bb307d3a4d30820e623f83fb856158825077b0355e6ea08341a857 +size 36246 diff --git a/ThirdParty/include/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp b/ThirdParty/include/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp new file mode 100644 index 00000000..ed82485a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe5c2a7a85db6f37f0d5da916c2501c9c094fd6eb7b7e78fbf39e399032dcc3a +size 3510 diff --git a/ThirdParty/include/boost/type_traits/detail/mp_defer.hpp b/ThirdParty/include/boost/type_traits/detail/mp_defer.hpp new file mode 100644 index 00000000..3265bb39 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/mp_defer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbb1ce339acebc6bdf6082f8419b03dced71de0784c5b5a371e98ed31fcc5208 +size 1359 diff --git a/ThirdParty/include/boost/type_traits/detail/template_arity_spec.hpp b/ThirdParty/include/boost/type_traits/detail/template_arity_spec.hpp new file mode 100644 index 00000000..b5d91881 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/template_arity_spec.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39dfd8b7372361f5fec566f46bea85d5a29456d6c3a6de5a017db5c6d58fd673 +size 535 diff --git a/ThirdParty/include/boost/type_traits/detail/yes_no_type.hpp b/ThirdParty/include/boost/type_traits/detail/yes_no_type.hpp new file mode 100644 index 00000000..8ca4da7b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detail/yes_no_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8918499722cabda0f0b27436fda75b240674c610b4338fbfd32bca073b83f655 +size 726 diff --git a/ThirdParty/include/boost/type_traits/detected.hpp b/ThirdParty/include/boost/type_traits/detected.hpp new file mode 100644 index 00000000..d86f88c9 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detected.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa2a63ed5cd905b54157b4639da8ee3d1d73eb11f3715fdd32d8901502da3a1a +size 569 diff --git a/ThirdParty/include/boost/type_traits/detected_or.hpp b/ThirdParty/include/boost/type_traits/detected_or.hpp new file mode 100644 index 00000000..b6b732a5 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/detected_or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d432cb13b2b59769a768f671dfe5f8c128b3f3c4dc64e23ddae3d22261be70fd +size 670 diff --git a/ThirdParty/include/boost/type_traits/enable_if.hpp b/ThirdParty/include/boost/type_traits/enable_if.hpp new file mode 100644 index 00000000..4a06ace9 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/enable_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a9aa733f2c0abdcc2f0adc282525fbb7b465a053971e286287a6d9b5de2cb1a +size 829 diff --git a/ThirdParty/include/boost/type_traits/extent.hpp b/ThirdParty/include/boost/type_traits/extent.hpp new file mode 100644 index 00000000..ccfc7a91 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/extent.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ed6749f534bb9ec9ebf73baaf88e5b4a24e410c3599fd1806d6aee3e5340c19 +size 3747 diff --git a/ThirdParty/include/boost/type_traits/floating_point_promotion.hpp b/ThirdParty/include/boost/type_traits/floating_point_promotion.hpp new file mode 100644 index 00000000..d670a374 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/floating_point_promotion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9963916db2480641dbb71ae94d5ec5abe91eeac58a45aeccb3092e52626113b +size 1071 diff --git a/ThirdParty/include/boost/type_traits/function_traits.hpp b/ThirdParty/include/boost/type_traits/function_traits.hpp new file mode 100644 index 00000000..d8502709 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/function_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50708cb1324635f5fd6eb87a3143423cd1f27626f045267baa5038fe634eb6a5 +size 4801 diff --git a/ThirdParty/include/boost/type_traits/has_bit_and.hpp b/ThirdParty/include/boost/type_traits/has_bit_and.hpp new file mode 100644 index 00000000..37898071 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_bit_and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd711f4d2b9250f180320b742d562a0707cb1f32ee42a6717cb45a85d7cc3e79 +size 1572 diff --git a/ThirdParty/include/boost/type_traits/has_bit_and_assign.hpp b/ThirdParty/include/boost/type_traits/has_bit_and_assign.hpp new file mode 100644 index 00000000..ef80a650 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_bit_and_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fa25d79d2123b3cc469a090ffedd45b3660fe20fa9ceb63d9dfae793a72c19d +size 1841 diff --git a/ThirdParty/include/boost/type_traits/has_bit_or.hpp b/ThirdParty/include/boost/type_traits/has_bit_or.hpp new file mode 100644 index 00000000..fbd61e88 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_bit_or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e5ddd85e6f933416819fbd613b8eb36a4758a1f07eb3c40383fa5e41c3fedb1 +size 1569 diff --git a/ThirdParty/include/boost/type_traits/has_bit_or_assign.hpp b/ThirdParty/include/boost/type_traits/has_bit_or_assign.hpp new file mode 100644 index 00000000..c1af1298 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_bit_or_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61fe12aef4c90256d0d8d512e68f13c6ae8afe43cf8310227a7a3aeed11a966c +size 1839 diff --git a/ThirdParty/include/boost/type_traits/has_bit_xor.hpp b/ThirdParty/include/boost/type_traits/has_bit_xor.hpp new file mode 100644 index 00000000..1057a038 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_bit_xor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdd35c345e22b718742483943819bc13b64651e76faad05027ae7b3e8d9e1413 +size 1571 diff --git a/ThirdParty/include/boost/type_traits/has_bit_xor_assign.hpp b/ThirdParty/include/boost/type_traits/has_bit_xor_assign.hpp new file mode 100644 index 00000000..014eed64 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_bit_xor_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fcfdedbab2827e36aac30d19ccb82a502f014ef3b287ea9301b1a07daf3632d +size 1842 diff --git a/ThirdParty/include/boost/type_traits/has_complement.hpp b/ThirdParty/include/boost/type_traits/has_complement.hpp new file mode 100644 index 00000000..09f67673 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_complement.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2eb66d57039fb2a8a9bbce6d6b600309d7590f99611530112887f2a5c1e83de +size 936 diff --git a/ThirdParty/include/boost/type_traits/has_dereference.hpp b/ThirdParty/include/boost/type_traits/has_dereference.hpp new file mode 100644 index 00000000..5de7bfeb --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_dereference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2abe4d1d7c4a8271264f30324fc29dba7fe78596b13544388b53946de22efaea +size 16135 diff --git a/ThirdParty/include/boost/type_traits/has_divides.hpp b/ThirdParty/include/boost/type_traits/has_divides.hpp new file mode 100644 index 00000000..11f0d35c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_divides.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55d230acee9fb04bfc9c98fdbfcb7e49f2be54d3a997a9d7106b44b2ad3ea6a6 +size 1156 diff --git a/ThirdParty/include/boost/type_traits/has_divides_assign.hpp b/ThirdParty/include/boost/type_traits/has_divides_assign.hpp new file mode 100644 index 00000000..93d637e6 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_divides_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afa96c4a73f5a75973f0d2a5c035d08894a5a72495535c6122503885dba76f2b +size 1513 diff --git a/ThirdParty/include/boost/type_traits/has_equal_to.hpp b/ThirdParty/include/boost/type_traits/has_equal_to.hpp new file mode 100644 index 00000000..5efef4b3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ad5dcd147ef5b07aadacde986b1ff9bb07c949c88b6c53627dd886e6ebda3d +size 1762 diff --git a/ThirdParty/include/boost/type_traits/has_greater.hpp b/ThirdParty/include/boost/type_traits/has_greater.hpp new file mode 100644 index 00000000..cf97de5e --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_greater.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5f5545ac3f191f31f698e5a91374292fa7f7cf101998b50c23f473d21172368 +size 1756 diff --git a/ThirdParty/include/boost/type_traits/has_greater_equal.hpp b/ThirdParty/include/boost/type_traits/has_greater_equal.hpp new file mode 100644 index 00000000..ebedf93c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_greater_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62f86c3cc267dff31af92eed419276132b0e1bc527c7306e7d8b25b220c86549 +size 1775 diff --git a/ThirdParty/include/boost/type_traits/has_left_shift.hpp b/ThirdParty/include/boost/type_traits/has_left_shift.hpp new file mode 100644 index 00000000..862d0a0b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_left_shift.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ff2ad89dd0d02066083614042214ae707a2c73aa5b069ae71feb23146ea752b +size 1581 diff --git a/ThirdParty/include/boost/type_traits/has_left_shift_assign.hpp b/ThirdParty/include/boost/type_traits/has_left_shift_assign.hpp new file mode 100644 index 00000000..3db040aa --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_left_shift_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c061aba22a4b14e84de5f1e6a4b5b7ea1f185da33cc248aba2a81f419573dda +size 1851 diff --git a/ThirdParty/include/boost/type_traits/has_less.hpp b/ThirdParty/include/boost/type_traits/has_less.hpp new file mode 100644 index 00000000..0efa19ca --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_less.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de193961ed58d66de59b40d1a03db8e81e8d1f41c9ec1504de9f907e6c6f1d31 +size 1750 diff --git a/ThirdParty/include/boost/type_traits/has_less_equal.hpp b/ThirdParty/include/boost/type_traits/has_less_equal.hpp new file mode 100644 index 00000000..9d32ee66 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_less_equal.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c395c2cfd84267272c9c6db924366ec897ee939f5ca3fb0b9aeb41d52fc34c +size 1769 diff --git a/ThirdParty/include/boost/type_traits/has_logical_and.hpp b/ThirdParty/include/boost/type_traits/has_logical_and.hpp new file mode 100644 index 00000000..b74eae05 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_logical_and.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad29f6fc16da202b65e5098a3fc15b9e0826786021cd16d508e29eab740a094 +size 1212 diff --git a/ThirdParty/include/boost/type_traits/has_logical_not.hpp b/ThirdParty/include/boost/type_traits/has_logical_not.hpp new file mode 100644 index 00000000..0423c465 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_logical_not.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af478f0ba0658464f3b25909b6903b370de899c39d8c66c40e477a3c45d93755 +size 998 diff --git a/ThirdParty/include/boost/type_traits/has_logical_or.hpp b/ThirdParty/include/boost/type_traits/has_logical_or.hpp new file mode 100644 index 00000000..3d272924 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_logical_or.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:393c30fe008d3e150213f59c44baeae5cd395ea5a065cf7a8b615b951067386a +size 1208 diff --git a/ThirdParty/include/boost/type_traits/has_minus.hpp b/ThirdParty/include/boost/type_traits/has_minus.hpp new file mode 100644 index 00000000..14398f33 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:103f622be5cf69f61efc623da83d0b3524cbd39f5af60acf1d68f9e9f3b33f94 +size 6502 diff --git a/ThirdParty/include/boost/type_traits/has_minus_assign.hpp b/ThirdParty/include/boost/type_traits/has_minus_assign.hpp new file mode 100644 index 00000000..39afe20c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_minus_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b852fe1c27a5b0e474b3232a92cc949d4373afa5dd17afb3b342ccbc99e2d4 +size 6791 diff --git a/ThirdParty/include/boost/type_traits/has_modulus.hpp b/ThirdParty/include/boost/type_traits/has_modulus.hpp new file mode 100644 index 00000000..8ad960b1 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_modulus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af0dde137bbed2e30d9cf8df05dc41a1dfdb260a3a8c4c4b3d676dd534bbc67 +size 1570 diff --git a/ThirdParty/include/boost/type_traits/has_modulus_assign.hpp b/ThirdParty/include/boost/type_traits/has_modulus_assign.hpp new file mode 100644 index 00000000..9814fa29 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_modulus_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:205f4ad2acee9d8cbc8be653d97b7f3f718360296b3917cc8e9d93f7bb3bf738 +size 1841 diff --git a/ThirdParty/include/boost/type_traits/has_multiplies.hpp b/ThirdParty/include/boost/type_traits/has_multiplies.hpp new file mode 100644 index 00000000..09ddf25b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_multiplies.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb055bed7b7151bbf2148a30c15689d0136108a53dd15044327f8c51e4e51ea +size 1162 diff --git a/ThirdParty/include/boost/type_traits/has_multiplies_assign.hpp b/ThirdParty/include/boost/type_traits/has_multiplies_assign.hpp new file mode 100644 index 00000000..99d25d94 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_multiplies_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57274cff15b0b2f2971b2340cb1406e1d742863ee9e75d1a91370ca1e2be2532 +size 1521 diff --git a/ThirdParty/include/boost/type_traits/has_negate.hpp b/ThirdParty/include/boost/type_traits/has_negate.hpp new file mode 100644 index 00000000..4ce5155a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_negate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b7dfeec82bd923d419afe3df8ae69e98adf239a7d1e1bc8249b465f6a0a00a8 +size 731 diff --git a/ThirdParty/include/boost/type_traits/has_new_operator.hpp b/ThirdParty/include/boost/type_traits/has_new_operator.hpp new file mode 100644 index 00000000..ef6283e4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_new_operator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0704e59cd2c3fd5319d0e42e97c0f15ade282c08c4d2c62d811e097e3726dfea +size 5166 diff --git a/ThirdParty/include/boost/type_traits/has_not_equal_to.hpp b/ThirdParty/include/boost/type_traits/has_not_equal_to.hpp new file mode 100644 index 00000000..7be04f2c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_not_equal_to.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e9c904c44a907675c41322aa98df567c929d855523c2ced5051053abea6af8d +size 1774 diff --git a/ThirdParty/include/boost/type_traits/has_nothrow_assign.hpp b/ThirdParty/include/boost/type_traits/has_nothrow_assign.hpp new file mode 100644 index 00000000..607b136e --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_nothrow_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adb9656fee502aa821b6767e094927b455a194b2c95b1a0fcf99844059af91db +size 3766 diff --git a/ThirdParty/include/boost/type_traits/has_nothrow_constructor.hpp b/ThirdParty/include/boost/type_traits/has_nothrow_constructor.hpp new file mode 100644 index 00000000..02fa6fc6 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_nothrow_constructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b20a0cdb1ef804b48ae6426e92aa440696f24e1599b0c783ecf387cc77a0b6e4 +size 2633 diff --git a/ThirdParty/include/boost/type_traits/has_nothrow_copy.hpp b/ThirdParty/include/boost/type_traits/has_nothrow_copy.hpp new file mode 100644 index 00000000..38688e9e --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_nothrow_copy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d75487a5b5b186538775cacf0fc6b1323521593c452a9ff9a235e70309a65dc7 +size 3045 diff --git a/ThirdParty/include/boost/type_traits/has_nothrow_destructor.hpp b/ThirdParty/include/boost/type_traits/has_nothrow_destructor.hpp new file mode 100644 index 00000000..be1ff2d3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_nothrow_destructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f675d095ecb35328dcca1785742ba80d0ebd462be9974d4c4de43f1c680e77a +size 2204 diff --git a/ThirdParty/include/boost/type_traits/has_operator.hpp b/ThirdParty/include/boost/type_traits/has_operator.hpp new file mode 100644 index 00000000..864dfbc0 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_operator.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adff5a7d8b41587530d9942b337b1c79a5f043e0b40c5de2ef313cb2edc18f1a +size 2282 diff --git a/ThirdParty/include/boost/type_traits/has_plus.hpp b/ThirdParty/include/boost/type_traits/has_plus.hpp new file mode 100644 index 00000000..15f0bd34 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45484449ad255131f7768c5bc36ba9fd58595ef67d501fb72c488ae7a4442821 +size 1800 diff --git a/ThirdParty/include/boost/type_traits/has_plus_assign.hpp b/ThirdParty/include/boost/type_traits/has_plus_assign.hpp new file mode 100644 index 00000000..aa93cb20 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_plus_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cc075a9dce9df5005d2c883fb74f183176983bb49e140e73bfa74c8a3efc8d8 +size 6873 diff --git a/ThirdParty/include/boost/type_traits/has_post_decrement.hpp b/ThirdParty/include/boost/type_traits/has_post_decrement.hpp new file mode 100644 index 00000000..2caf98da --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_post_decrement.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9b3eddfe41b275f7828671b4f1ffa7e24a66b482d4394a683c9140b4236b88e +size 1932 diff --git a/ThirdParty/include/boost/type_traits/has_post_increment.hpp b/ThirdParty/include/boost/type_traits/has_post_increment.hpp new file mode 100644 index 00000000..9f256343 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_post_increment.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e32e297f5cb824405d491b897b1909fdaff885933bea88160b3df40e32dea8a +size 1932 diff --git a/ThirdParty/include/boost/type_traits/has_pre_decrement.hpp b/ThirdParty/include/boost/type_traits/has_pre_decrement.hpp new file mode 100644 index 00000000..9df91f49 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_pre_decrement.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0246c6468400753b51d0af290be2c0f89377f9771b55180d532acb8b4eddb85 +size 1922 diff --git a/ThirdParty/include/boost/type_traits/has_pre_increment.hpp b/ThirdParty/include/boost/type_traits/has_pre_increment.hpp new file mode 100644 index 00000000..b8c769b7 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_pre_increment.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0cc939dfc662a9c35c6e47e56503d1189a5dd64efb9764379e26f334836137a +size 1923 diff --git a/ThirdParty/include/boost/type_traits/has_right_shift.hpp b/ThirdParty/include/boost/type_traits/has_right_shift.hpp new file mode 100644 index 00000000..332e10f2 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_right_shift.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95a1f03d19e116b3a61a5f5aec91b030919a9cbe989c8eb8337dce8dea4c4b17 +size 1584 diff --git a/ThirdParty/include/boost/type_traits/has_right_shift_assign.hpp b/ThirdParty/include/boost/type_traits/has_right_shift_assign.hpp new file mode 100644 index 00000000..0b8b28a7 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_right_shift_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af17bcb6ada2a8535d413451beda6218693c52dd50d3a52a991a3adc785879be +size 1854 diff --git a/ThirdParty/include/boost/type_traits/has_trivial_assign.hpp b/ThirdParty/include/boost/type_traits/has_trivial_assign.hpp new file mode 100644 index 00000000..37afb8fd --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_trivial_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7346975c8016dbfbfb284070cf877ada39fec29bc3ffe2135f7b9b9ebd04075 +size 2208 diff --git a/ThirdParty/include/boost/type_traits/has_trivial_constructor.hpp b/ThirdParty/include/boost/type_traits/has_trivial_constructor.hpp new file mode 100644 index 00000000..a49176ef --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_trivial_constructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68e624633256edeb4c7642a656b8b10b4ca30bc22a4653bd0d9041ffc1a30e78 +size 2233 diff --git a/ThirdParty/include/boost/type_traits/has_trivial_copy.hpp b/ThirdParty/include/boost/type_traits/has_trivial_copy.hpp new file mode 100644 index 00000000..26d03c54 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_trivial_copy.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c456dfc611c41224cb86ed52cdc504240b5676b15ccb01907b1677b815d8a4c +size 2417 diff --git a/ThirdParty/include/boost/type_traits/has_trivial_destructor.hpp b/ThirdParty/include/boost/type_traits/has_trivial_destructor.hpp new file mode 100644 index 00000000..f20a8ddc --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_trivial_destructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7ab268fbadb07751ec8af0c41d9d08e5248f62a33fcad0b36ba53a8cf066065 +size 1683 diff --git a/ThirdParty/include/boost/type_traits/has_trivial_move_assign.hpp b/ThirdParty/include/boost/type_traits/has_trivial_move_assign.hpp new file mode 100644 index 00000000..86f7a100 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_trivial_move_assign.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab68b34ec3753ed849c6bf21bf03084ee75a9288bc59df0a8b5a6eedd8392170 +size 2666 diff --git a/ThirdParty/include/boost/type_traits/has_trivial_move_constructor.hpp b/ThirdParty/include/boost/type_traits/has_trivial_move_constructor.hpp new file mode 100644 index 00000000..9fc0e558 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_trivial_move_constructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92156eba953564588dda4e8ad9f85838ecde7a215421c5cbbe1e57385b498903 +size 2939 diff --git a/ThirdParty/include/boost/type_traits/has_unary_minus.hpp b/ThirdParty/include/boost/type_traits/has_unary_minus.hpp new file mode 100644 index 00000000..270a5ff8 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_unary_minus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f078b70f3a3fc3d28f37226850e1159fbf7f23e3e2c0b6fd2b55be04e1ac0669 +size 746 diff --git a/ThirdParty/include/boost/type_traits/has_unary_plus.hpp b/ThirdParty/include/boost/type_traits/has_unary_plus.hpp new file mode 100644 index 00000000..f5bb9da9 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_unary_plus.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398bf6db3ed373117bd9b63594b7d8a3e87aa108ec5527660af92ab86a6c886a +size 690 diff --git a/ThirdParty/include/boost/type_traits/has_virtual_destructor.hpp b/ThirdParty/include/boost/type_traits/has_virtual_destructor.hpp new file mode 100644 index 00000000..4b09f872 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/has_virtual_destructor.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fd143c99c3ce4e2850e511e96c316c7c59fc337a71968166bbb419321524d5c +size 901 diff --git a/ThirdParty/include/boost/type_traits/ice.hpp b/ThirdParty/include/boost/type_traits/ice.hpp new file mode 100644 index 00000000..b35a765a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/ice.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8ec35f2c11fa849e9ce04164ecafe9108b32399fa9009f7c48586bed8d4d79b +size 768 diff --git a/ThirdParty/include/boost/type_traits/integral_constant.hpp b/ThirdParty/include/boost/type_traits/integral_constant.hpp new file mode 100644 index 00000000..560b3ffd --- /dev/null +++ b/ThirdParty/include/boost/type_traits/integral_constant.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc7f03edbae4296217543685f0ca327a6ed729268377b62026b57b8bc6078fb8 +size 2544 diff --git a/ThirdParty/include/boost/type_traits/integral_promotion.hpp b/ThirdParty/include/boost/type_traits/integral_promotion.hpp new file mode 100644 index 00000000..f5fa10bf --- /dev/null +++ b/ThirdParty/include/boost/type_traits/integral_promotion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1728cfec0f8819e5f9fb798024c37e74870d7a47be9b5c5b9e4f9935eb38a0a0 +size 6262 diff --git a/ThirdParty/include/boost/type_traits/intrinsics.hpp b/ThirdParty/include/boost/type_traits/intrinsics.hpp new file mode 100644 index 00000000..ae459f3c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/intrinsics.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:099331191588a8ce92b244819ac3294f0d8ac052f77b6ec6ddf9f95758606c3c +size 22016 diff --git a/ThirdParty/include/boost/type_traits/is_abstract.hpp b/ThirdParty/include/boost/type_traits/is_abstract.hpp new file mode 100644 index 00000000..8d56fd9a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_abstract.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a60091f7e3077f187ff7e1e67ad59e1a8a1d7f03f44eeefe16cd09f645d5981e +size 4501 diff --git a/ThirdParty/include/boost/type_traits/is_arithmetic.hpp b/ThirdParty/include/boost/type_traits/is_arithmetic.hpp new file mode 100644 index 00000000..bd50dcad --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_arithmetic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f937c0f8958d61efc196a30838fbfc085e6ed6a862fed86bec42e671e5ebe7f3 +size 778 diff --git a/ThirdParty/include/boost/type_traits/is_array.hpp b/ThirdParty/include/boost/type_traits/is_array.hpp new file mode 100644 index 00000000..e349461b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_array.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69816daa883727a251d0b8f4bce93fb1108a1b95706d54fb40e3beb9a5785d81 +size 1751 diff --git a/ThirdParty/include/boost/type_traits/is_assignable.hpp b/ThirdParty/include/boost/type_traits/is_assignable.hpp new file mode 100644 index 00000000..273833ee --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_assignable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:490a8e1ed5a76a3f77b5acdc22d2efc04a711aec867e070dfa5eafd0391b7603 +size 3925 diff --git a/ThirdParty/include/boost/type_traits/is_base_and_derived.hpp b/ThirdParty/include/boost/type_traits/is_base_and_derived.hpp new file mode 100644 index 00000000..fa9d4c39 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_base_and_derived.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:624d114045eccafa87df76bc041b223c7cfc4bca776f81e0bc90eb94ce03a9a3 +size 7993 diff --git a/ThirdParty/include/boost/type_traits/is_base_of.hpp b/ThirdParty/include/boost/type_traits/is_base_of.hpp new file mode 100644 index 00000000..02bd091b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_base_of.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86715166c7ffb4dfc41d8f6ba3d3c87c8e0960ef36254d25324c44df4aac8172 +size 1500 diff --git a/ThirdParty/include/boost/type_traits/is_base_of_tr1.hpp b/ThirdParty/include/boost/type_traits/is_base_of_tr1.hpp new file mode 100644 index 00000000..3481e1e4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_base_of_tr1.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45489c82acee21a4cf30783ebaa422ffd0cd80f5d2f0bc8753f94a3436cc0196 +size 1486 diff --git a/ThirdParty/include/boost/type_traits/is_class.hpp b/ThirdParty/include/boost/type_traits/is_class.hpp new file mode 100644 index 00000000..b4763360 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_class.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db5ddec8ad15395bd4383f4265adad1f2d4e3cf51575a3ba2e4c8ebec6f5f12d +size 3595 diff --git a/ThirdParty/include/boost/type_traits/is_complete.hpp b/ThirdParty/include/boost/type_traits/is_complete.hpp new file mode 100644 index 00000000..02adf8af --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_complete.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5467734a28b3e70f19901e40dbc52b911d49db78ad5b7d6030f40d40e16de939 +size 2796 diff --git a/ThirdParty/include/boost/type_traits/is_complex.hpp b/ThirdParty/include/boost/type_traits/is_complex.hpp new file mode 100644 index 00000000..02b7ac82 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_complex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:544480f21cd386a339efdeb9bde04e7c7769818c35fb124ade8db8bb656c455b +size 952 diff --git a/ThirdParty/include/boost/type_traits/is_compound.hpp b/ThirdParty/include/boost/type_traits/is_compound.hpp new file mode 100644 index 00000000..53878615 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_compound.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76ca370248367ae8a31fe021bc86433742f2d6f39cad8d716dcde45881c666be +size 846 diff --git a/ThirdParty/include/boost/type_traits/is_const.hpp b/ThirdParty/include/boost/type_traits/is_const.hpp new file mode 100644 index 00000000..d5e414fb --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33dfdd4f82b6d9abec1a98fa2901b3112d4fba4db11e06a6cd1502274f9cb566 +size 1628 diff --git a/ThirdParty/include/boost/type_traits/is_constructible.hpp b/ThirdParty/include/boost/type_traits/is_constructible.hpp new file mode 100644 index 00000000..9592da32 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_constructible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7afddfd2d42f27303b8cfeb24887e8dcdf014d934a525e1e5d3cda2154e0dbe1 +size 4343 diff --git a/ThirdParty/include/boost/type_traits/is_convertible.hpp b/ThirdParty/include/boost/type_traits/is_convertible.hpp new file mode 100644 index 00000000..ae8936ae --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_convertible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22f80da4fe9cb179615339d5108f0606109f6c665fde7b0d5b2c79a333051303 +size 18660 diff --git a/ThirdParty/include/boost/type_traits/is_copy_assignable.hpp b/ThirdParty/include/boost/type_traits/is_copy_assignable.hpp new file mode 100644 index 00000000..7fac34d0 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_copy_assignable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc0fc202c05a2bcedd1bda3e2354b2913d28363f71dc62959e48ede43b146a3 +size 4904 diff --git a/ThirdParty/include/boost/type_traits/is_copy_constructible.hpp b/ThirdParty/include/boost/type_traits/is_copy_constructible.hpp new file mode 100644 index 00000000..9af9d2a0 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_copy_constructible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfaee898aa7a02c6d8297c47ccc2ba076939a8cba833ae3c022536395c94bcf4 +size 6813 diff --git a/ThirdParty/include/boost/type_traits/is_default_constructible.hpp b/ThirdParty/include/boost/type_traits/is_default_constructible.hpp new file mode 100644 index 00000000..299c3c1b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_default_constructible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afa995ce9d71a0568b96b7dd5ae18a899a7744b25af0f56127044253c9810977 +size 4519 diff --git a/ThirdParty/include/boost/type_traits/is_destructible.hpp b/ThirdParty/include/boost/type_traits/is_destructible.hpp new file mode 100644 index 00000000..17e03bf3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_destructible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43faea468650f1ce5e19c2c380f028917feb778aacd192891946ff6826d6b217 +size 2565 diff --git a/ThirdParty/include/boost/type_traits/is_detected.hpp b/ThirdParty/include/boost/type_traits/is_detected.hpp new file mode 100644 index 00000000..a8214b3b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_detected.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11845c95bb85844e98c37fd29c4aab3b8a9dd40cd0d31f2341e379300253d15e +size 752 diff --git a/ThirdParty/include/boost/type_traits/is_detected_convertible.hpp b/ThirdParty/include/boost/type_traits/is_detected_convertible.hpp new file mode 100644 index 00000000..f36257bf --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_detected_convertible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40d660116b3e93b60c0f245d5a9447a6c32afc5742a3d0b76697d95d30fbeaf4 +size 815 diff --git a/ThirdParty/include/boost/type_traits/is_detected_exact.hpp b/ThirdParty/include/boost/type_traits/is_detected_exact.hpp new file mode 100644 index 00000000..7a8230a3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_detected_exact.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdd5049a394eee756703a7c401d419d495d5a518116e9662a31915b121ef4aa2 +size 796 diff --git a/ThirdParty/include/boost/type_traits/is_empty.hpp b/ThirdParty/include/boost/type_traits/is_empty.hpp new file mode 100644 index 00000000..9e95bd55 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_empty.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68d77f7444950e753f59f73ede2f1b808461062fc39469a374f12ad8ea649d82 +size 2998 diff --git a/ThirdParty/include/boost/type_traits/is_enum.hpp b/ThirdParty/include/boost/type_traits/is_enum.hpp new file mode 100644 index 00000000..993d475c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_enum.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8390edc5a7b81d1beb69058865eae9b2add8672069bc08afa10328a79e0a9bd +size 4986 diff --git a/ThirdParty/include/boost/type_traits/is_final.hpp b/ThirdParty/include/boost/type_traits/is_final.hpp new file mode 100644 index 00000000..97596900 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_final.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:508b8b7ff4512402e6e5e45525a7d58419e711d33111336fd1c13974e2c49063 +size 868 diff --git a/ThirdParty/include/boost/type_traits/is_float.hpp b/ThirdParty/include/boost/type_traits/is_float.hpp new file mode 100644 index 00000000..727fb602 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_float.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21db01f64bfdd9ee24d57a0191814601a064ea05bff5f6b1f6606d9029619fd7 +size 789 diff --git a/ThirdParty/include/boost/type_traits/is_floating_point.hpp b/ThirdParty/include/boost/type_traits/is_floating_point.hpp new file mode 100644 index 00000000..a1d68b54 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_floating_point.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a9d06be1269ab736f90908dbba242f998c4e4020add765ae7b669506ce2ffa0 +size 1374 diff --git a/ThirdParty/include/boost/type_traits/is_function.hpp b/ThirdParty/include/boost/type_traits/is_function.hpp new file mode 100644 index 00000000..45cd3d10 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_function.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f2b0be866c26e43af6d808c67b3f8146078a6be5284b17f198eb3fb41b98947 +size 808 diff --git a/ThirdParty/include/boost/type_traits/is_fundamental.hpp b/ThirdParty/include/boost/type_traits/is_fundamental.hpp new file mode 100644 index 00000000..6e967b56 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_fundamental.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cf3a3ac24d17d6ae55b71b97efe4347b517c88ada49aa64f26c928011083ebe +size 994 diff --git a/ThirdParty/include/boost/type_traits/is_integral.hpp b/ThirdParty/include/boost/type_traits/is_integral.hpp new file mode 100644 index 00000000..ac72f2d7 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_integral.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c7b11e7058b74413d9934cdf64b0e3ab354cb88bc1681899c8121a4cada0425 +size 3837 diff --git a/ThirdParty/include/boost/type_traits/is_list_constructible.hpp b/ThirdParty/include/boost/type_traits/is_list_constructible.hpp new file mode 100644 index 00000000..b6d78b75 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_list_constructible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b1d66c18b4736cf84cbb3259e0167f27319ea29551409f03968839f826912c +size 1746 diff --git a/ThirdParty/include/boost/type_traits/is_lvalue_reference.hpp b/ThirdParty/include/boost/type_traits/is_lvalue_reference.hpp new file mode 100644 index 00000000..d122fb6d --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_lvalue_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f28f2092d4af57d3b42a452dc46e34bf5a21ab97a3e30e4828c417db4a8ef2c8 +size 2010 diff --git a/ThirdParty/include/boost/type_traits/is_member_function_pointer.hpp b/ThirdParty/include/boost/type_traits/is_member_function_pointer.hpp new file mode 100644 index 00000000..f293a2bb --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_member_function_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6621df4e09e3480f9aed3ca4f50fb9a2a9ba3614a04406c1ab926e97fa49fb16 +size 825 diff --git a/ThirdParty/include/boost/type_traits/is_member_object_pointer.hpp b/ThirdParty/include/boost/type_traits/is_member_object_pointer.hpp new file mode 100644 index 00000000..7346d3b4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_member_object_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b58f49769dd5e3fdafbd2ed104fcde9fa29f9308019a4d8f92ce0ff3eec51139 +size 839 diff --git a/ThirdParty/include/boost/type_traits/is_member_pointer.hpp b/ThirdParty/include/boost/type_traits/is_member_pointer.hpp new file mode 100644 index 00000000..4629930e --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_member_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5291cf985ca7549400dfd82ecfb03c3e09c00ebc81e0cae22d75759081046b36 +size 1967 diff --git a/ThirdParty/include/boost/type_traits/is_noncopyable.hpp b/ThirdParty/include/boost/type_traits/is_noncopyable.hpp new file mode 100644 index 00000000..4413ca0d --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_noncopyable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bbe939fce07ccb45e32aeb106a7f2fbd2c0cb8e005ec86076392599eab1b8a1 +size 1067 diff --git a/ThirdParty/include/boost/type_traits/is_nothrow_move_assignable.hpp b/ThirdParty/include/boost/type_traits/is_nothrow_move_assignable.hpp new file mode 100644 index 00000000..8ebe4988 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_nothrow_move_assignable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3b3d460221f8de6e5b2d16e59fc74d0bb10ac530212cbceccaa326738c8e7c8 +size 3964 diff --git a/ThirdParty/include/boost/type_traits/is_nothrow_move_constructible.hpp b/ThirdParty/include/boost/type_traits/is_nothrow_move_constructible.hpp new file mode 100644 index 00000000..16e0a2c5 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_nothrow_move_constructible.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6863a9bf0048e64b6e67734868292758e4eb9fae2ab85b5e3b2d75b57712e156 +size 4043 diff --git a/ThirdParty/include/boost/type_traits/is_nothrow_swappable.hpp b/ThirdParty/include/boost/type_traits/is_nothrow_swappable.hpp new file mode 100644 index 00000000..5a96d652 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_nothrow_swappable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c73bda83bafea169f3cecdcf7859cc52fd1a7c636d642c1f6cbd11487533536 +size 2405 diff --git a/ThirdParty/include/boost/type_traits/is_object.hpp b/ThirdParty/include/boost/type_traits/is_object.hpp new file mode 100644 index 00000000..aada4f79 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_object.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff789c4695215ca4f6b403c8cc4231ff489ce799b8f1aca4317875c7b4eebe8d +size 907 diff --git a/ThirdParty/include/boost/type_traits/is_pod.hpp b/ThirdParty/include/boost/type_traits/is_pod.hpp new file mode 100644 index 00000000..2b8f7017 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_pod.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75f2db547a494219e7584ac998dd84486e6558b7b804fcdb273bae5d3876693c +size 1809 diff --git a/ThirdParty/include/boost/type_traits/is_pointer.hpp b/ThirdParty/include/boost/type_traits/is_pointer.hpp new file mode 100644 index 00000000..ccead2dd --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1d4f1c691928497519fb591c875d6661a5e58b826a8946d9e7ad8ef0392878f +size 1899 diff --git a/ThirdParty/include/boost/type_traits/is_polymorphic.hpp b/ThirdParty/include/boost/type_traits/is_polymorphic.hpp new file mode 100644 index 00000000..6d4448ef --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_polymorphic.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fac15eee3da5df7aecb179f55504ff4ad0848a8c12efb04bc77a2a0b9dc312c +size 3187 diff --git a/ThirdParty/include/boost/type_traits/is_reference.hpp b/ThirdParty/include/boost/type_traits/is_reference.hpp new file mode 100644 index 00000000..bce852d0 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:068dcf0a2c20efa45a587ad6c9b8d331f700d153cf35461da3d386fae1d10e35 +size 938 diff --git a/ThirdParty/include/boost/type_traits/is_rvalue_reference.hpp b/ThirdParty/include/boost/type_traits/is_rvalue_reference.hpp new file mode 100644 index 00000000..62e20178 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_rvalue_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48a7ff6930da2d3e6a79042f8105f8c70a6f39c6f202e98b4961f7b5fa5463f5 +size 981 diff --git a/ThirdParty/include/boost/type_traits/is_same.hpp b/ThirdParty/include/boost/type_traits/is_same.hpp new file mode 100644 index 00000000..3679ae86 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_same.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48296c6d7fffa9107258006507c4fd54f4dd15ac4de4053917e8bc3d2048e975 +size 1509 diff --git a/ThirdParty/include/boost/type_traits/is_scalar.hpp b/ThirdParty/include/boost/type_traits/is_scalar.hpp new file mode 100644 index 00000000..969d88a1 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_scalar.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b1de36f8f54fbd342fae4dd7ce27fa26887e1150828121c3cb4618ed08287a6 +size 966 diff --git a/ThirdParty/include/boost/type_traits/is_signed.hpp b/ThirdParty/include/boost/type_traits/is_signed.hpp new file mode 100644 index 00000000..caa675e9 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_signed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6989bb571382565a633ee0e1afced2645a17aa146a011e9453b875e103f534c5 +size 6648 diff --git a/ThirdParty/include/boost/type_traits/is_stateless.hpp b/ThirdParty/include/boost/type_traits/is_stateless.hpp new file mode 100644 index 00000000..5966a99f --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_stateless.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a62f76c91a3a49cca0d3852d3b339e8aac1d2e73d20cf8fcbc283bd0d4f0991b +size 1127 diff --git a/ThirdParty/include/boost/type_traits/is_union.hpp b/ThirdParty/include/boost/type_traits/is_union.hpp new file mode 100644 index 00000000..eb19cdd4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_union.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa7b8d4e60bca1109e96c301e6fc1f379d1056aeb62a1ff659bba8da3d8f5459 +size 1075 diff --git a/ThirdParty/include/boost/type_traits/is_unsigned.hpp b/ThirdParty/include/boost/type_traits/is_unsigned.hpp new file mode 100644 index 00000000..fc843c63 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_unsigned.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49796d168efaf99123d72f2a10ac8b8f097d51a5ffbedb609f11c148d94ca21 +size 6768 diff --git a/ThirdParty/include/boost/type_traits/is_virtual_base_of.hpp b/ThirdParty/include/boost/type_traits/is_virtual_base_of.hpp new file mode 100644 index 00000000..cc507d43 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_virtual_base_of.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:850e948036e6164395d795eddf05a8fd56fab4213643b9d54219461ed79d0df6 +size 6126 diff --git a/ThirdParty/include/boost/type_traits/is_void.hpp b/ThirdParty/include/boost/type_traits/is_void.hpp new file mode 100644 index 00000000..ceb4fa4c --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_void.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e043155d858ee74fb856cfb228922e4b9fff5fbe6dc0cc4f3ad28bdf55ba2aa +size 890 diff --git a/ThirdParty/include/boost/type_traits/is_volatile.hpp b/ThirdParty/include/boost/type_traits/is_volatile.hpp new file mode 100644 index 00000000..c77f959b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/is_volatile.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c81a9dbeacc47097d90c88c52aec98f4073456d25d3e567645b69dc4262a98d +size 1663 diff --git a/ThirdParty/include/boost/type_traits/make_signed.hpp b/ThirdParty/include/boost/type_traits/make_signed.hpp new file mode 100644 index 00000000..9156d7bd --- /dev/null +++ b/ThirdParty/include/boost/type_traits/make_signed.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea2e0c94337a163bc87eaf1dd9c0f086b50ea304f833ce038f464c32226c2c14 +size 4621 diff --git a/ThirdParty/include/boost/type_traits/make_unsigned.hpp b/ThirdParty/include/boost/type_traits/make_unsigned.hpp new file mode 100644 index 00000000..692891d1 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/make_unsigned.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bf849ed921e4ed701f418ca8c290916a490b55f24d10ee309a4be77ad4522ae +size 4691 diff --git a/ThirdParty/include/boost/type_traits/make_void.hpp b/ThirdParty/include/boost/type_traits/make_void.hpp new file mode 100644 index 00000000..b4175f07 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/make_void.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f791e8956d2dbfbaa118aae3bb7e6efa0fb29780016ce4dcf2be7c4fa1c7fcf5 +size 1052 diff --git a/ThirdParty/include/boost/type_traits/nonesuch.hpp b/ThirdParty/include/boost/type_traits/nonesuch.hpp new file mode 100644 index 00000000..d4752620 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/nonesuch.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf7d52873bfa3925c2aaf7f330338163f3842e579ebd6e1284187376cac43f17 +size 702 diff --git a/ThirdParty/include/boost/type_traits/object_traits.hpp b/ThirdParty/include/boost/type_traits/object_traits.hpp new file mode 100644 index 00000000..f2fd33cb --- /dev/null +++ b/ThirdParty/include/boost/type_traits/object_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d867fa35a09908251c4437d49396375ff500cb69c09ad5294bd9c3b7474885ef +size 1441 diff --git a/ThirdParty/include/boost/type_traits/promote.hpp b/ThirdParty/include/boost/type_traits/promote.hpp new file mode 100644 index 00000000..10f34330 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/promote.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:388919cc7b455522f1b49c172c3855a518f6bf557a7ce22cd6a30292e9abe5c8 +size 755 diff --git a/ThirdParty/include/boost/type_traits/rank.hpp b/ThirdParty/include/boost/type_traits/rank.hpp new file mode 100644 index 00000000..f97d6dd7 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/rank.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97919bbf464fe0c23fe44ac0bfe786e1af948e85a718f0e4338a8a685ce852f9 +size 2577 diff --git a/ThirdParty/include/boost/type_traits/reference_traits.hpp b/ThirdParty/include/boost/type_traits/reference_traits.hpp new file mode 100644 index 00000000..47784c95 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/reference_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21be71a3adc2544ac654b9e683bd992df482e800334e5a72a9a357d047363a4d +size 590 diff --git a/ThirdParty/include/boost/type_traits/remove_all_extents.hpp b/ThirdParty/include/boost/type_traits/remove_all_extents.hpp new file mode 100644 index 00000000..8978ef58 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_all_extents.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15f3d9fba8b832975b673e0e53a9126fc207fdd01e779b6ea71319ae026354fa +size 1883 diff --git a/ThirdParty/include/boost/type_traits/remove_bounds.hpp b/ThirdParty/include/boost/type_traits/remove_bounds.hpp new file mode 100644 index 00000000..4a9d42bb --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_bounds.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a26fe9a563a5e6a0e7e8736fef937c90a137d9561c4820229bb6892c9ef69f97 +size 802 diff --git a/ThirdParty/include/boost/type_traits/remove_const.hpp b/ThirdParty/include/boost/type_traits/remove_const.hpp new file mode 100644 index 00000000..18e0b3b5 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_const.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33151b6f70c6f954ce230209dbc77aad94b0dc079961e9025d41ec1838f251e6 +size 1357 diff --git a/ThirdParty/include/boost/type_traits/remove_cv.hpp b/ThirdParty/include/boost/type_traits/remove_cv.hpp new file mode 100644 index 00000000..1319820b --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_cv.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dc8fd5739ddd65b6a558c95941939cb0ab9cff356c028bc8a18792530d04d1e +size 1792 diff --git a/ThirdParty/include/boost/type_traits/remove_cv_ref.hpp b/ThirdParty/include/boost/type_traits/remove_cv_ref.hpp new file mode 100644 index 00000000..6f9b8543 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_cv_ref.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33b4187033b2aa28c8c057522cae06284bed11d9f2691b962b3804281ee9395f +size 859 diff --git a/ThirdParty/include/boost/type_traits/remove_extent.hpp b/ThirdParty/include/boost/type_traits/remove_extent.hpp new file mode 100644 index 00000000..6e1af53a --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_extent.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50053ad662cb777e9323913d3ec0275e699b72fe499010b365fa38ea6e29eb4d +size 1789 diff --git a/ThirdParty/include/boost/type_traits/remove_pointer.hpp b/ThirdParty/include/boost/type_traits/remove_pointer.hpp new file mode 100644 index 00000000..1d8e8e64 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_pointer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0b898bb01e3acd0c5a0b79e3c33d62965f010a561946d538cc9752f985cfb9a +size 2203 diff --git a/ThirdParty/include/boost/type_traits/remove_reference.hpp b/ThirdParty/include/boost/type_traits/remove_reference.hpp new file mode 100644 index 00000000..8b97d5c3 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_reference.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5556a8862b4134de42763ac42fae1958b7ab00a4897b89286ca0c3328be8308b +size 1783 diff --git a/ThirdParty/include/boost/type_traits/remove_volatile.hpp b/ThirdParty/include/boost/type_traits/remove_volatile.hpp new file mode 100644 index 00000000..008de000 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/remove_volatile.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55792b123ad1789aa184175b491705bb3566ad98397c29c4b97de84c2c19dfdc +size 1396 diff --git a/ThirdParty/include/boost/type_traits/same_traits.hpp b/ThirdParty/include/boost/type_traits/same_traits.hpp new file mode 100644 index 00000000..d39690d4 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/same_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd3c7d28b1226eda25c25b0aa2badc635aa0fd16b28594461bfe30a48c42dc4b +size 586 diff --git a/ThirdParty/include/boost/type_traits/transform_traits.hpp b/ThirdParty/include/boost/type_traits/transform_traits.hpp new file mode 100644 index 00000000..ee5f8582 --- /dev/null +++ b/ThirdParty/include/boost/type_traits/transform_traits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8642fb03f15b60a13396e616466e0ccbc3d50904ff4dd0d26bbeb45ff182ceb +size 893 diff --git a/ThirdParty/include/boost/type_traits/type_identity.hpp b/ThirdParty/include/boost/type_traits/type_identity.hpp new file mode 100644 index 00000000..a326f10f --- /dev/null +++ b/ThirdParty/include/boost/type_traits/type_identity.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9babe7d5bf2f7b6a711e226cb39af04ce3b7ba8fb18c2de71cf82a6a8960258 +size 636 diff --git a/ThirdParty/include/boost/type_traits/type_with_alignment.hpp b/ThirdParty/include/boost/type_traits/type_with_alignment.hpp new file mode 100644 index 00000000..b890d79f --- /dev/null +++ b/ThirdParty/include/boost/type_traits/type_with_alignment.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1484b6ead726f9a093236dee047bd1d929f7c45ab201e98848deacb6ad5ff3b8 +size 10033 diff --git a/ThirdParty/include/boost/unordered/detail/fwd.hpp b/ThirdParty/include/boost/unordered/detail/fwd.hpp new file mode 100644 index 00000000..9ec511f1 --- /dev/null +++ b/ThirdParty/include/boost/unordered/detail/fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:378e1faa9514cffb78a6650c8a9800301dbfc328d07e1bd07d6488fa16e195a8 +size 1972 diff --git a/ThirdParty/include/boost/unordered/detail/implementation.hpp b/ThirdParty/include/boost/unordered/detail/implementation.hpp new file mode 100644 index 00000000..82a6b580 --- /dev/null +++ b/ThirdParty/include/boost/unordered/detail/implementation.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eff494aeda40831e65e4eb2a823afca0cbaf05fbcf1d4138e4e548d7f4d42461 +size 163989 diff --git a/ThirdParty/include/boost/unordered/detail/map.hpp b/ThirdParty/include/boost/unordered/detail/map.hpp new file mode 100644 index 00000000..4fb17b77 --- /dev/null +++ b/ThirdParty/include/boost/unordered/detail/map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5644b216146c8bc539bc3fb4d38fb3c13ccac473acd387f300ab6720bbe1473 +size 2473 diff --git a/ThirdParty/include/boost/unordered/detail/set.hpp b/ThirdParty/include/boost/unordered/detail/set.hpp new file mode 100644 index 00000000..2eb48e3a --- /dev/null +++ b/ThirdParty/include/boost/unordered/detail/set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:065929928bd2acb221872a51d916da29ccb29528958308d13dfad2fa1c3aead0 +size 2399 diff --git a/ThirdParty/include/boost/unordered/unordered_map.hpp b/ThirdParty/include/boost/unordered/unordered_map.hpp new file mode 100644 index 00000000..9efc6e33 --- /dev/null +++ b/ThirdParty/include/boost/unordered/unordered_map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1734d02d0f804a6a32cd57960fb8c9d6ccee08407063f9ad329e1ff98bb1153a +size 90040 diff --git a/ThirdParty/include/boost/unordered/unordered_map_fwd.hpp b/ThirdParty/include/boost/unordered/unordered_map_fwd.hpp new file mode 100644 index 00000000..0ee440cf --- /dev/null +++ b/ThirdParty/include/boost/unordered/unordered_map_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ec7f713f2320950a0d5607a424979252dbefd2a26c5a1f8cc88468122b6d6a +size 2385 diff --git a/ThirdParty/include/boost/unordered/unordered_set.hpp b/ThirdParty/include/boost/unordered/unordered_set.hpp new file mode 100644 index 00000000..1f44456f --- /dev/null +++ b/ThirdParty/include/boost/unordered/unordered_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c3bc8d11cf94be89bb963804aacef64f19126557dec6bae74386f5208cf64ae +size 69345 diff --git a/ThirdParty/include/boost/unordered/unordered_set_fwd.hpp b/ThirdParty/include/boost/unordered/unordered_set_fwd.hpp new file mode 100644 index 00000000..5ef1a6ad --- /dev/null +++ b/ThirdParty/include/boost/unordered/unordered_set_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a4a65473c91c6e4e039a218a241b792bb759d66ccd158b57c0b404560d6f439 +size 2206 diff --git a/ThirdParty/include/boost/unordered_map.hpp b/ThirdParty/include/boost/unordered_map.hpp new file mode 100644 index 00000000..5c5b849e --- /dev/null +++ b/ThirdParty/include/boost/unordered_map.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:879aa17098356b52a293d241f751720f8f74456601e0e39746f8464a14589561 +size 568 diff --git a/ThirdParty/include/boost/unordered_set.hpp b/ThirdParty/include/boost/unordered_set.hpp new file mode 100644 index 00000000..1fb72bb1 --- /dev/null +++ b/ThirdParty/include/boost/unordered_set.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcbf470ddf53d2d5af741e238608be2f6f9f84c45586bf96f1ecda4f02488c4f +size 568 diff --git a/ThirdParty/include/boost/utility.hpp b/ThirdParty/include/boost/utility.hpp new file mode 100644 index 00000000..eb476e08 --- /dev/null +++ b/ThirdParty/include/boost/utility.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc345a6ff4f0daf05ac964ee5713be7c8b0e5cc80b16f6ad4f0abb4c7dded017 +size 880 diff --git a/ThirdParty/include/boost/utility/addressof.hpp b/ThirdParty/include/boost/utility/addressof.hpp new file mode 100644 index 00000000..7f68a69a --- /dev/null +++ b/ThirdParty/include/boost/utility/addressof.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb86551a087e57d8efa1f1da683f90f5a0501d746f5a42340e86097c076f1169 +size 410 diff --git a/ThirdParty/include/boost/utility/base_from_member.hpp b/ThirdParty/include/boost/utility/base_from_member.hpp new file mode 100644 index 00000000..d0e3e807 --- /dev/null +++ b/ThirdParty/include/boost/utility/base_from_member.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:977d104af9562677a98180eaf38e7af754517bfe872d730d295b318aeeb2cec2 +size 5701 diff --git a/ThirdParty/include/boost/utility/binary.hpp b/ThirdParty/include/boost/utility/binary.hpp new file mode 100644 index 00000000..759f8170 --- /dev/null +++ b/ThirdParty/include/boost/utility/binary.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19f8e6402d36d89050d92cd42d9de21d717a1f28074e828a7d66e03ce13590bf +size 47868 diff --git a/ThirdParty/include/boost/utility/compare_pointees.hpp b/ThirdParty/include/boost/utility/compare_pointees.hpp new file mode 100644 index 00000000..59d3bc8a --- /dev/null +++ b/ThirdParty/include/boost/utility/compare_pointees.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9ec852cd0595fcf45a04d06fc84c11efdb78b7f38a596bb6de2318cb2465f64 +size 2290 diff --git a/ThirdParty/include/boost/utility/declval.hpp b/ThirdParty/include/boost/utility/declval.hpp new file mode 100644 index 00000000..de670432 --- /dev/null +++ b/ThirdParty/include/boost/utility/declval.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1271ac48f7930722ed8f7a264d5b0d828e8ad68ce0f1fe2f9d03ac820ba3457b +size 384 diff --git a/ThirdParty/include/boost/utility/detail/in_place_factory_prefix.hpp b/ThirdParty/include/boost/utility/detail/in_place_factory_prefix.hpp new file mode 100644 index 00000000..da3425d4 --- /dev/null +++ b/ThirdParty/include/boost/utility/detail/in_place_factory_prefix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe8ce4dd39e136b2d8fa31321fd57627d818664d924af90e7650002db8d72515 +size 1428 diff --git a/ThirdParty/include/boost/utility/detail/in_place_factory_suffix.hpp b/ThirdParty/include/boost/utility/detail/in_place_factory_suffix.hpp new file mode 100644 index 00000000..52ca99b3 --- /dev/null +++ b/ThirdParty/include/boost/utility/detail/in_place_factory_suffix.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:879d4dafd5f325960464ef671325c64ae8324b2093af4573a626f5b5e5be6e06 +size 793 diff --git a/ThirdParty/include/boost/utility/detail/minstd_rand.hpp b/ThirdParty/include/boost/utility/detail/minstd_rand.hpp new file mode 100644 index 00000000..c6c6f71c --- /dev/null +++ b/ThirdParty/include/boost/utility/detail/minstd_rand.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d08c4e6ea683db2a5ee6621c41078935eba84f752deed92c28f7dd0cdd685435 +size 1046 diff --git a/ThirdParty/include/boost/utility/detail/result_of_iterate.hpp b/ThirdParty/include/boost/utility/detail/result_of_iterate.hpp new file mode 100644 index 00000000..1679d103 --- /dev/null +++ b/ThirdParty/include/boost/utility/detail/result_of_iterate.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9491088782d9062d586b1cd9a15ef4a80fdff326a97d073af651b904008b10ba +size 8477 diff --git a/ThirdParty/include/boost/utility/enable_if.hpp b/ThirdParty/include/boost/utility/enable_if.hpp new file mode 100644 index 00000000..ea14de91 --- /dev/null +++ b/ThirdParty/include/boost/utility/enable_if.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82ca441edd4f8c603b956b36c76f7db4b7b1287e4e9399e15b918ff64f480fcb +size 410 diff --git a/ThirdParty/include/boost/utility/explicit_operator_bool.hpp b/ThirdParty/include/boost/utility/explicit_operator_bool.hpp new file mode 100644 index 00000000..cc13b2c7 --- /dev/null +++ b/ThirdParty/include/boost/utility/explicit_operator_bool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be708809716ceb97102f330bafb58a849e8d2e1a5fa1786cba3f6368760abe87 +size 462 diff --git a/ThirdParty/include/boost/utility/identity_type.hpp b/ThirdParty/include/boost/utility/identity_type.hpp new file mode 100644 index 00000000..330e508e --- /dev/null +++ b/ThirdParty/include/boost/utility/identity_type.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0dcb5c8f78fbd469389e39c2a439aa8f2632d525fcb17a6ab49ff8c69412467 +size 1672 diff --git a/ThirdParty/include/boost/utility/in_place_factory.hpp b/ThirdParty/include/boost/utility/in_place_factory.hpp new file mode 100644 index 00000000..1b65698a --- /dev/null +++ b/ThirdParty/include/boost/utility/in_place_factory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e279cc3a1b7269a0116fbb1654a7a559360f7507fee3f0662a0d90d651a2a42 +size 2176 diff --git a/ThirdParty/include/boost/utility/result_of.hpp b/ThirdParty/include/boost/utility/result_of.hpp new file mode 100644 index 00000000..31edb9ad --- /dev/null +++ b/ThirdParty/include/boost/utility/result_of.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6d73f76485589d5a664311d3ec75566fb16f790535ec7b3151dd9881bc54303 +size 7386 diff --git a/ThirdParty/include/boost/utility/string_ref.hpp b/ThirdParty/include/boost/utility/string_ref.hpp new file mode 100644 index 00000000..d8f15712 --- /dev/null +++ b/ThirdParty/include/boost/utility/string_ref.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81cf954d758e76d5b5d677685a8c0fa7162f62b1abe956a9ccbe2a693b21afe3 +size 22013 diff --git a/ThirdParty/include/boost/utility/string_ref_fwd.hpp b/ThirdParty/include/boost/utility/string_ref_fwd.hpp new file mode 100644 index 00000000..7330f67a --- /dev/null +++ b/ThirdParty/include/boost/utility/string_ref_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f75d10a1431685f5a63d35b252e6d603a48e6a9a428ed917d9d7c43e49b1870 +size 1086 diff --git a/ThirdParty/include/boost/utility/string_view.hpp b/ThirdParty/include/boost/utility/string_view.hpp new file mode 100644 index 00000000..1658e833 --- /dev/null +++ b/ThirdParty/include/boost/utility/string_view.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eb53a4a8c7dcf22c55a951cabb7271fba953c5a8a5392841cea9514d4279e16 +size 31127 diff --git a/ThirdParty/include/boost/utility/string_view_fwd.hpp b/ThirdParty/include/boost/utility/string_view_fwd.hpp new file mode 100644 index 00000000..4e62c1ce --- /dev/null +++ b/ThirdParty/include/boost/utility/string_view_fwd.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d573b90d1c9af9679016397b577bcd83ea383b01b5f3df9fddc9027ed7e214 +size 1233 diff --git a/ThirdParty/include/boost/utility/swap.hpp b/ThirdParty/include/boost/utility/swap.hpp new file mode 100644 index 00000000..1b333fe1 --- /dev/null +++ b/ThirdParty/include/boost/utility/swap.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86d926c68f0e886ce02714450837ad08fd1fb12ec8ee64ba2df35dea43611600 +size 390 diff --git a/ThirdParty/include/boost/utility/typed_in_place_factory.hpp b/ThirdParty/include/boost/utility/typed_in_place_factory.hpp new file mode 100644 index 00000000..bf936ecd --- /dev/null +++ b/ThirdParty/include/boost/utility/typed_in_place_factory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6241abd14ae83d7b18fd34cd90884d49292ec3175fa1bbf2bb202434b7e816e0 +size 2140 diff --git a/ThirdParty/include/boost/utility/value_init.hpp b/ThirdParty/include/boost/utility/value_init.hpp new file mode 100644 index 00000000..5b2c8bb8 --- /dev/null +++ b/ThirdParty/include/boost/utility/value_init.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1adb619945d11a2b234ae436f37eccf4e5190a83f41e185a1bc0881928d16d9f +size 6369 diff --git a/ThirdParty/include/boost/version.hpp b/ThirdParty/include/boost/version.hpp new file mode 100644 index 00000000..9dca5b58 --- /dev/null +++ b/ThirdParty/include/boost/version.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c32466a31373f045a076982a9b4877137b58b8fb779c4b607924e76056aa3ce +size 1117 diff --git a/ThirdParty/include/boost/visit_each.hpp b/ThirdParty/include/boost/visit_each.hpp new file mode 100644 index 00000000..973de816 --- /dev/null +++ b/ThirdParty/include/boost/visit_each.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d064c45f15a2f8ac056984994fd85d94b3321e29e74377065b72ba20760b0cc +size 690 diff --git a/ThirdParty/include/boost/winapi/access_rights.hpp b/ThirdParty/include/boost/winapi/access_rights.hpp new file mode 100644 index 00000000..48e3336b --- /dev/null +++ b/ThirdParty/include/boost/winapi/access_rights.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50f028002990a73a26288de455587b288a0e435ce6eccf2cb3ddfe6868b00985 +size 2968 diff --git a/ThirdParty/include/boost/winapi/apc.hpp b/ThirdParty/include/boost/winapi/apc.hpp new file mode 100644 index 00000000..77d829bc --- /dev/null +++ b/ThirdParty/include/boost/winapi/apc.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed77502b300390b092c5fcfcf1fa8bf826c48b5fa50d47d491471e6e6e153786 +size 1073 diff --git a/ThirdParty/include/boost/winapi/basic_types.hpp b/ThirdParty/include/boost/winapi/basic_types.hpp new file mode 100644 index 00000000..47ef7faf --- /dev/null +++ b/ThirdParty/include/boost/winapi/basic_types.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb44b57a2206c058104dc1bff6a0f389d9819b8e1ae8d5c6d2523abd7dc86d70 +size 7423 diff --git a/ThirdParty/include/boost/winapi/bcrypt.hpp b/ThirdParty/include/boost/winapi/bcrypt.hpp new file mode 100644 index 00000000..02ff376e --- /dev/null +++ b/ThirdParty/include/boost/winapi/bcrypt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f67262a7b18e6bfb74655abf1e0ca47a4b2a0b459f07509e801f19d82372c39 +size 1953 diff --git a/ThirdParty/include/boost/winapi/character_code_conversion.hpp b/ThirdParty/include/boost/winapi/character_code_conversion.hpp new file mode 100644 index 00000000..f0039704 --- /dev/null +++ b/ThirdParty/include/boost/winapi/character_code_conversion.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:660bef939ea194024e4a9679ccfe695e66ceacb3b18a2f4cdcc9793c8f7ccc03 +size 3633 diff --git a/ThirdParty/include/boost/winapi/condition_variable.hpp b/ThirdParty/include/boost/winapi/condition_variable.hpp new file mode 100644 index 00000000..f1121923 --- /dev/null +++ b/ThirdParty/include/boost/winapi/condition_variable.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa098503dac0d2a8e4a03d074468ce7fda4c7be36a02b3d255d7d1f4fd691533 +size 3774 diff --git a/ThirdParty/include/boost/winapi/config.hpp b/ThirdParty/include/boost/winapi/config.hpp new file mode 100644 index 00000000..2a5dcb9e --- /dev/null +++ b/ThirdParty/include/boost/winapi/config.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e030780fab61ccc7891d3c9b34ee239a60464c964e3a3ea9abc474f00e93db7d +size 10254 diff --git a/ThirdParty/include/boost/winapi/critical_section.hpp b/ThirdParty/include/boost/winapi/critical_section.hpp new file mode 100644 index 00000000..b81fcd8e --- /dev/null +++ b/ThirdParty/include/boost/winapi/critical_section.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bccb6ffe826691f02fd18d7491af60d7e45ea986d694c4099fac2237d6498af +size 6505 diff --git a/ThirdParty/include/boost/winapi/crypt.hpp b/ThirdParty/include/boost/winapi/crypt.hpp new file mode 100644 index 00000000..f97689a3 --- /dev/null +++ b/ThirdParty/include/boost/winapi/crypt.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2582e834a4a6e84fd77339b704dee5accfdb99e54ce9dbb4e07753b2e83ea5b8 +size 5862 diff --git a/ThirdParty/include/boost/winapi/dbghelp.hpp b/ThirdParty/include/boost/winapi/dbghelp.hpp new file mode 100644 index 00000000..e240a5ec --- /dev/null +++ b/ThirdParty/include/boost/winapi/dbghelp.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:830f4b7e01be3894f015a7c98f72e2acd791fb35bf6bd0749f3ac56687a10196 +size 6485 diff --git a/ThirdParty/include/boost/winapi/debugapi.hpp b/ThirdParty/include/boost/winapi/debugapi.hpp new file mode 100644 index 00000000..80e698af --- /dev/null +++ b/ThirdParty/include/boost/winapi/debugapi.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa1031a74ffc1501485d90422735a6d055905b2e91187a4f852e191ac27f2422 +size 1259 diff --git a/ThirdParty/include/boost/winapi/detail/cast_ptr.hpp b/ThirdParty/include/boost/winapi/detail/cast_ptr.hpp new file mode 100644 index 00000000..adceedbb --- /dev/null +++ b/ThirdParty/include/boost/winapi/detail/cast_ptr.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a95f5a0e99230e8ac0ab122ff282a190fd8b55991b87707bd860c760e1222d7 +size 824 diff --git a/ThirdParty/include/boost/winapi/directory_management.hpp b/ThirdParty/include/boost/winapi/directory_management.hpp new file mode 100644 index 00000000..3598c4e0 --- /dev/null +++ b/ThirdParty/include/boost/winapi/directory_management.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c97425cacd77b7ad5039c337bfcba2b30eb31e410c0e038ee8912fff52a634f +size 3286 diff --git a/ThirdParty/include/boost/winapi/dll.hpp b/ThirdParty/include/boost/winapi/dll.hpp new file mode 100644 index 00000000..faf6959c --- /dev/null +++ b/ThirdParty/include/boost/winapi/dll.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f958845213302513f966e8829f283921ab09c2349e045c1c8e5e33dc647d0e6 +size 7243 diff --git a/ThirdParty/include/boost/winapi/environment.hpp b/ThirdParty/include/boost/winapi/environment.hpp new file mode 100644 index 00000000..954f44ac --- /dev/null +++ b/ThirdParty/include/boost/winapi/environment.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f32d710e4e807fd3a54b44f62bc8915453a40824274e2ffdde4b2e31ecfa731 +size 4345 diff --git a/ThirdParty/include/boost/winapi/error_codes.hpp b/ThirdParty/include/boost/winapi/error_codes.hpp new file mode 100644 index 00000000..07434825 --- /dev/null +++ b/ThirdParty/include/boost/winapi/error_codes.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c19f36b16d273b202754876cbac09295034f5944dbafa6dbe6ca7ccd7d183c2 +size 218523 diff --git a/ThirdParty/include/boost/winapi/error_handling.hpp b/ThirdParty/include/boost/winapi/error_handling.hpp new file mode 100644 index 00000000..d3a597dc --- /dev/null +++ b/ThirdParty/include/boost/winapi/error_handling.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d7dae57f4a4c1b1e30e356df323867ab36fd10d9b78dc09333b97f72b6f321d +size 5175 diff --git a/ThirdParty/include/boost/winapi/event.hpp b/ThirdParty/include/boost/winapi/event.hpp new file mode 100644 index 00000000..107f5714 --- /dev/null +++ b/ThirdParty/include/boost/winapi/event.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de5d5fc4669dd7db2ee881114074ff0edf0d5517f92ad53ad336bce9ca0656ca +size 7312 diff --git a/ThirdParty/include/boost/winapi/file_management.hpp b/ThirdParty/include/boost/winapi/file_management.hpp new file mode 100644 index 00000000..1c56d74d --- /dev/null +++ b/ThirdParty/include/boost/winapi/file_management.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29a0343f8575ae553f7ca4df3ff7ad97b84a6b179f7aa69c24b8f17da389533e +size 21799 diff --git a/ThirdParty/include/boost/winapi/file_mapping.hpp b/ThirdParty/include/boost/winapi/file_mapping.hpp new file mode 100644 index 00000000..d956e775 --- /dev/null +++ b/ThirdParty/include/boost/winapi/file_mapping.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b8e5bcfe4a53e44fcbbab8318fd82d45cc6cc034cec9753e331179b8b9e6b63 +size 9529 diff --git a/ThirdParty/include/boost/winapi/get_current_process.hpp b/ThirdParty/include/boost/winapi/get_current_process.hpp new file mode 100644 index 00000000..83d83ea6 --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_current_process.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2914aa900c54b7f2625bc245ba2d7d48f1fa6290e1efd5bf0f69167674070b79 +size 789 diff --git a/ThirdParty/include/boost/winapi/get_current_process_id.hpp b/ThirdParty/include/boost/winapi/get_current_process_id.hpp new file mode 100644 index 00000000..45ed72cf --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_current_process_id.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f14f60a1b9b6fb02028c191d01c0af587e41f49d4be7065599adcbe8dc2059d9 +size 769 diff --git a/ThirdParty/include/boost/winapi/get_current_thread.hpp b/ThirdParty/include/boost/winapi/get_current_thread.hpp new file mode 100644 index 00000000..1b0d5175 --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_current_thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84e12d4bbe44a9230dea0ed4238ee975264fbb688dd239ef4e90b1005913a19a +size 783 diff --git a/ThirdParty/include/boost/winapi/get_current_thread_id.hpp b/ThirdParty/include/boost/winapi/get_current_thread_id.hpp new file mode 100644 index 00000000..0ba2bcbd --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_current_thread_id.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50a3b1896bb7022c93bc005ea1ba893e8e21959dcf905a162ea9926bc3407e55 +size 797 diff --git a/ThirdParty/include/boost/winapi/get_last_error.hpp b/ThirdParty/include/boost/winapi/get_last_error.hpp new file mode 100644 index 00000000..dd03fc11 --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_last_error.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af4bd4425c6f5b0a99da9011ffcc7a7a451887f8b59b3a6d9d52f3b5a12fa261 +size 666 diff --git a/ThirdParty/include/boost/winapi/get_process_times.hpp b/ThirdParty/include/boost/winapi/get_process_times.hpp new file mode 100644 index 00000000..afebe1eb --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_process_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9b18ae32835ea3e98b89257b4b71084d121282b07559bf928d6551cad7d9eb5 +size 1468 diff --git a/ThirdParty/include/boost/winapi/get_system_directory.hpp b/ThirdParty/include/boost/winapi/get_system_directory.hpp new file mode 100644 index 00000000..9d460d86 --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_system_directory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c715deaa9653f2c5d60e249a62f5166558ed5fed2956f331f73bcc7ac64b8ce +size 1379 diff --git a/ThirdParty/include/boost/winapi/get_thread_times.hpp b/ThirdParty/include/boost/winapi/get_thread_times.hpp new file mode 100644 index 00000000..6eecf872 --- /dev/null +++ b/ThirdParty/include/boost/winapi/get_thread_times.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5fb7b0eadff7fe0ff1e8afa382b79f4e6d53176a75f22c9e519c08829518eeb +size 1354 diff --git a/ThirdParty/include/boost/winapi/handle_info.hpp b/ThirdParty/include/boost/winapi/handle_info.hpp new file mode 100644 index 00000000..78839869 --- /dev/null +++ b/ThirdParty/include/boost/winapi/handle_info.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b4cb315a37d5d555766db550643fc14a9c68be2b77dc684bd7981dd9bb01cdc +size 1385 diff --git a/ThirdParty/include/boost/winapi/handles.hpp b/ThirdParty/include/boost/winapi/handles.hpp new file mode 100644 index 00000000..40846880 --- /dev/null +++ b/ThirdParty/include/boost/winapi/handles.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4518f9bc446df1c63581a9f7b08d98a06b5319b86fee3a9747100db3bf3be34b +size 2187 diff --git a/ThirdParty/include/boost/winapi/heap_memory.hpp b/ThirdParty/include/boost/winapi/heap_memory.hpp new file mode 100644 index 00000000..26ee5266 --- /dev/null +++ b/ThirdParty/include/boost/winapi/heap_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebb4c5425d9bc1a5fb58263768b14795ef52c5898c17f8c3f4b6922197145395 +size 2180 diff --git a/ThirdParty/include/boost/winapi/init_once.hpp b/ThirdParty/include/boost/winapi/init_once.hpp new file mode 100644 index 00000000..5be7045d --- /dev/null +++ b/ThirdParty/include/boost/winapi/init_once.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ca4c71ec9dc1d8a58ed00161869fc093423111da61e2e7421a3142cd74294d5 +size 4009 diff --git a/ThirdParty/include/boost/winapi/jobs.hpp b/ThirdParty/include/boost/winapi/jobs.hpp new file mode 100644 index 00000000..ed57c7e6 --- /dev/null +++ b/ThirdParty/include/boost/winapi/jobs.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c667c96e0e76e09fe29a413a35c160035c0f4cb4da24506fd740957ae6951810 +size 5502 diff --git a/ThirdParty/include/boost/winapi/limits.hpp b/ThirdParty/include/boost/winapi/limits.hpp new file mode 100644 index 00000000..d50ee2bd --- /dev/null +++ b/ThirdParty/include/boost/winapi/limits.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4ad29f8dfd161a2260f7ff0e1b38afed2f4a40ac74ac19fe814ffd9ef5fcfb3 +size 1193 diff --git a/ThirdParty/include/boost/winapi/local_memory.hpp b/ThirdParty/include/boost/winapi/local_memory.hpp new file mode 100644 index 00000000..cfc053de --- /dev/null +++ b/ThirdParty/include/boost/winapi/local_memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53afd4eef35121870719f2e5e228f7701beb77c684be89eca3546005992caa07 +size 1262 diff --git a/ThirdParty/include/boost/winapi/memory.hpp b/ThirdParty/include/boost/winapi/memory.hpp new file mode 100644 index 00000000..3c63ca88 --- /dev/null +++ b/ThirdParty/include/boost/winapi/memory.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70fe51126ee99a2395872839db95a24956fd76e0bd25bb5e745ab840a7c0ef74 +size 455 diff --git a/ThirdParty/include/boost/winapi/mutex.hpp b/ThirdParty/include/boost/winapi/mutex.hpp new file mode 100644 index 00000000..ca1f3a24 --- /dev/null +++ b/ThirdParty/include/boost/winapi/mutex.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7de1ef1416a1ea70a09ca9d8d255a73ab57372bb5f334bfbbf1329e2623826a7 +size 6234 diff --git a/ThirdParty/include/boost/winapi/overlapped.hpp b/ThirdParty/include/boost/winapi/overlapped.hpp new file mode 100644 index 00000000..b87a04be --- /dev/null +++ b/ThirdParty/include/boost/winapi/overlapped.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:297e3a62e3d79c5cbb8e3f6f39cf648e707f1bc3a694fdfb0fb2a14209ab6b18 +size 1044 diff --git a/ThirdParty/include/boost/winapi/page_protection_flags.hpp b/ThirdParty/include/boost/winapi/page_protection_flags.hpp new file mode 100644 index 00000000..105ffbee --- /dev/null +++ b/ThirdParty/include/boost/winapi/page_protection_flags.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e58b4c557cb3dfda1260d3b0e31435c1cf86dadabbecd573f7ade027ecb1ac9c +size 1938 diff --git a/ThirdParty/include/boost/winapi/pipes.hpp b/ThirdParty/include/boost/winapi/pipes.hpp new file mode 100644 index 00000000..6efc027b --- /dev/null +++ b/ThirdParty/include/boost/winapi/pipes.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09435de87763bdf7aa381baf49b703bf3e77b8266aa1ac13c28f957efc1c717a +size 11145 diff --git a/ThirdParty/include/boost/winapi/priority_class.hpp b/ThirdParty/include/boost/winapi/priority_class.hpp new file mode 100644 index 00000000..5fc33952 --- /dev/null +++ b/ThirdParty/include/boost/winapi/priority_class.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49227c0adb24a4ad43b9a28a11cfd976b3e7c84317ea28c9d35ae33dc851458d +size 2613 diff --git a/ThirdParty/include/boost/winapi/process.hpp b/ThirdParty/include/boost/winapi/process.hpp new file mode 100644 index 00000000..edc23764 --- /dev/null +++ b/ThirdParty/include/boost/winapi/process.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1246fe30d9ecdaa84bd4da9488e47d4542af741d65da38fb9dcf0ff0b6f61bee +size 18145 diff --git a/ThirdParty/include/boost/winapi/security.hpp b/ThirdParty/include/boost/winapi/security.hpp new file mode 100644 index 00000000..39316a60 --- /dev/null +++ b/ThirdParty/include/boost/winapi/security.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cfdb87785e6230162b3e164032c0c89b843e93e8604f7ca340d1d8a07fd64cf +size 2088 diff --git a/ThirdParty/include/boost/winapi/semaphore.hpp b/ThirdParty/include/boost/winapi/semaphore.hpp new file mode 100644 index 00000000..c3bcae5a --- /dev/null +++ b/ThirdParty/include/boost/winapi/semaphore.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed20108da6d01c38e7975adda1ad56f7eaf0347e15cdf4e08b105a9aacfa26ef +size 6642 diff --git a/ThirdParty/include/boost/winapi/shell.hpp b/ThirdParty/include/boost/winapi/shell.hpp new file mode 100644 index 00000000..3de52400 --- /dev/null +++ b/ThirdParty/include/boost/winapi/shell.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed4056ee998ad16469ad24bf8a544cb57e6752f87e82ccfc91e9b45958757a06 +size 6005 diff --git a/ThirdParty/include/boost/winapi/show_window.hpp b/ThirdParty/include/boost/winapi/show_window.hpp new file mode 100644 index 00000000..0c7c190a --- /dev/null +++ b/ThirdParty/include/boost/winapi/show_window.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:013f1cf08f38ac01a4d23136538b75f5f0edcafd90da38ef49bbc9e2b279421e +size 4104 diff --git a/ThirdParty/include/boost/winapi/srw_lock.hpp b/ThirdParty/include/boost/winapi/srw_lock.hpp new file mode 100644 index 00000000..1eabc711 --- /dev/null +++ b/ThirdParty/include/boost/winapi/srw_lock.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4e762d012c3b22bda686319e9548b89d68377d436fc717b378f1ea407b3d3f0 +size 3258 diff --git a/ThirdParty/include/boost/winapi/stack_backtrace.hpp b/ThirdParty/include/boost/winapi/stack_backtrace.hpp new file mode 100644 index 00000000..56a78252 --- /dev/null +++ b/ThirdParty/include/boost/winapi/stack_backtrace.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfa3d6b7e82313d7d287f4ea31278cc89945b4c789ffaf761363ff80c926d764 +size 1416 diff --git a/ThirdParty/include/boost/winapi/synchronization.hpp b/ThirdParty/include/boost/winapi/synchronization.hpp new file mode 100644 index 00000000..c68c62e0 --- /dev/null +++ b/ThirdParty/include/boost/winapi/synchronization.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b73e7275c727fbeafe543783f7aa4d29e58cb105906ef6575d3c2d51d83b4b56 +size 779 diff --git a/ThirdParty/include/boost/winapi/system.hpp b/ThirdParty/include/boost/winapi/system.hpp new file mode 100644 index 00000000..57a10bd7 --- /dev/null +++ b/ThirdParty/include/boost/winapi/system.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fa5d5133283b0a4913b2e7c87cea7a623cdd0716382e0218a301680a8bfe81b +size 2241 diff --git a/ThirdParty/include/boost/winapi/thread.hpp b/ThirdParty/include/boost/winapi/thread.hpp new file mode 100644 index 00000000..64088898 --- /dev/null +++ b/ThirdParty/include/boost/winapi/thread.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e443edc24f6591e16e60a6f3f94ce278348e88d9de87c6707c517fc87875cc4a +size 1134 diff --git a/ThirdParty/include/boost/winapi/thread_pool.hpp b/ThirdParty/include/boost/winapi/thread_pool.hpp new file mode 100644 index 00000000..571415b1 --- /dev/null +++ b/ThirdParty/include/boost/winapi/thread_pool.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd003713d4146c395d05f0293f62bf9de31191999373eda2a21b403c7249dde +size 5241 diff --git a/ThirdParty/include/boost/winapi/time.hpp b/ThirdParty/include/boost/winapi/time.hpp new file mode 100644 index 00000000..40efd3db --- /dev/null +++ b/ThirdParty/include/boost/winapi/time.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93c0fa9dc55b440256664357e401a47e73a20e65ee4166f316b45130e0a77b55 +size 4332 diff --git a/ThirdParty/include/boost/winapi/timers.hpp b/ThirdParty/include/boost/winapi/timers.hpp new file mode 100644 index 00000000..1a89dc35 --- /dev/null +++ b/ThirdParty/include/boost/winapi/timers.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3901e9600700f2942375f8b00d6329582436e625de1220b38957a6b90979d6a6 +size 1143 diff --git a/ThirdParty/include/boost/winapi/tls.hpp b/ThirdParty/include/boost/winapi/tls.hpp new file mode 100644 index 00000000..76438600 --- /dev/null +++ b/ThirdParty/include/boost/winapi/tls.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d742766dbc598f2e571b25169701511fe3ee44497619c70d9964a347990ef07 +size 1488 diff --git a/ThirdParty/include/boost/winapi/wait.hpp b/ThirdParty/include/boost/winapi/wait.hpp new file mode 100644 index 00000000..f9033e78 --- /dev/null +++ b/ThirdParty/include/boost/winapi/wait.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f5f8cc96b1e9126797345a7c71f0b61c12d23ecfb2adcf3bdaed5ed43b10645 +size 3553 diff --git a/ThirdParty/include/boost/winapi/waitable_timer.hpp b/ThirdParty/include/boost/winapi/waitable_timer.hpp new file mode 100644 index 00000000..63a6f034 --- /dev/null +++ b/ThirdParty/include/boost/winapi/waitable_timer.hpp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b3181d7643eaf64b23e60e2a10d1b162b3287d26579597284da3a4ebc8c32f8 +size 4980 diff --git a/ThirdParty/include/serial/impl/unix.h b/ThirdParty/include/serial/impl/unix.h new file mode 100644 index 00000000..36fc8f23 --- /dev/null +++ b/ThirdParty/include/serial/impl/unix.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5fb6fe5dc66aa262c4fcd602c677938bf9a65ddc2010c7b022c7aade1f36bc6 +size 4312 diff --git a/ThirdParty/include/serial/impl/win.h b/ThirdParty/include/serial/impl/win.h new file mode 100644 index 00000000..6145eaf3 --- /dev/null +++ b/ThirdParty/include/serial/impl/win.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:416e11faeaae7df28f47e801a58cb1d9ac78d7413a43cb70830a2d1271a889fc +size 3899 diff --git a/ThirdParty/include/serial/serial.h b/ThirdParty/include/serial/serial.h new file mode 100644 index 00000000..8f4656c5 --- /dev/null +++ b/ThirdParty/include/serial/serial.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4dcb008056f41fbb80357da817959e8cf5e2f6d04fb79a416b4fedd68a8a0d7 +size 23702 diff --git a/ThirdParty/include/serial/v8stdint.h b/ThirdParty/include/serial/v8stdint.h new file mode 100644 index 00000000..a662d128 --- /dev/null +++ b/ThirdParty/include/serial/v8stdint.h @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1155ad61ee6583c90ce3abb174239fbb677627e8220fb8518c8d5e4d3d16e5d +size 2257 diff --git a/ThirdParty/lib/linux/v13/debug/libserial.a b/ThirdParty/lib/linux/v13/debug/libserial.a new file mode 100644 index 00000000..06397c35 --- /dev/null +++ b/ThirdParty/lib/linux/v13/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a4f00e9e2832bd89593b1d6fe59a695bdc15eca4823544dac45150dc155dd5d +size 1139918 diff --git a/ThirdParty/lib/linux/v13/debug/libsgconnect.a b/ThirdParty/lib/linux/v13/debug/libsgconnect.a new file mode 100644 index 00000000..535345ab --- /dev/null +++ b/ThirdParty/lib/linux/v13/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a97f4be6908a1d731ee7c41e6fd47d4dba4ce279cea128326b00348c49bf30 +size 7656570 diff --git a/ThirdParty/lib/linux/v13/debug/libsgcore.a b/ThirdParty/lib/linux/v13/debug/libsgcore.a new file mode 100644 index 00000000..7a754116 --- /dev/null +++ b/ThirdParty/lib/linux/v13/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e2be1cd3e7eb9c1e86783e31b316d17acc4d3e48348f0e8594aac1cf05ce2f5 +size 12657956 diff --git a/ThirdParty/lib/linux/v13/release/libserial.a b/ThirdParty/lib/linux/v13/release/libserial.a new file mode 100644 index 00000000..b2d71542 --- /dev/null +++ b/ThirdParty/lib/linux/v13/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76ade9ec5a4f5e0b9f609f7607b1fd6884809de14943c50c163b16af1d694911 +size 187238 diff --git a/ThirdParty/lib/linux/v13/release/libsgconnect.a b/ThirdParty/lib/linux/v13/release/libsgconnect.a new file mode 100644 index 00000000..8183ccf1 --- /dev/null +++ b/ThirdParty/lib/linux/v13/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61a1a9b9cd7d4c29380560eff222c5e05d8a00b72c7a4457f81e60c4f3e35996 +size 905974 diff --git a/ThirdParty/lib/linux/v13/release/libsgcore.a b/ThirdParty/lib/linux/v13/release/libsgcore.a new file mode 100644 index 00000000..27dc269b --- /dev/null +++ b/ThirdParty/lib/linux/v13/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ed8d5c41ae07e4a76bec6340f0bd05811036f3e2e16f7d880d0b626250d233 +size 1497502 diff --git a/ThirdParty/lib/linux/v15/debug/libserial.a b/ThirdParty/lib/linux/v15/debug/libserial.a new file mode 100644 index 00000000..682bc380 --- /dev/null +++ b/ThirdParty/lib/linux/v15/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43e8548fd6161680b1f2bdc980aa459d7b85d74cb78e9e4e6898bf04af794275 +size 1087076 diff --git a/ThirdParty/lib/linux/v15/debug/libsgconnect.a b/ThirdParty/lib/linux/v15/debug/libsgconnect.a new file mode 100644 index 00000000..f4356799 --- /dev/null +++ b/ThirdParty/lib/linux/v15/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:622cc787c927896138e020558ea333d9b488c9330f38d1adb42678a493b00378 +size 7500444 diff --git a/ThirdParty/lib/linux/v15/debug/libsgcore.a b/ThirdParty/lib/linux/v15/debug/libsgcore.a new file mode 100644 index 00000000..d9677a68 --- /dev/null +++ b/ThirdParty/lib/linux/v15/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92add061c23af281916c33bf1aaed34368b3992498262721008d882d16a21dfb +size 12564406 diff --git a/ThirdParty/lib/linux/v15/release/libserial.a b/ThirdParty/lib/linux/v15/release/libserial.a new file mode 100644 index 00000000..75552b74 --- /dev/null +++ b/ThirdParty/lib/linux/v15/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b795ec9dc1177db223c32ab0bc65a050ea005c30f6e85568e3c93adc05d6a11 +size 192378 diff --git a/ThirdParty/lib/linux/v15/release/libsgconnect.a b/ThirdParty/lib/linux/v15/release/libsgconnect.a new file mode 100644 index 00000000..eee546fd --- /dev/null +++ b/ThirdParty/lib/linux/v15/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c3ab7d4e167f385c13bebc0c81d8fea77d9a50c9484ac05d2764d7ced7c3b73 +size 915002 diff --git a/ThirdParty/lib/linux/v15/release/libsgcore.a b/ThirdParty/lib/linux/v15/release/libsgcore.a new file mode 100644 index 00000000..d5be2e98 --- /dev/null +++ b/ThirdParty/lib/linux/v15/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ef81b3336eedc5aa16876f360ddccbca7a7618ffd34c6b3697d49daf865fede +size 1538356 diff --git a/ThirdParty/lib/linux/v16/debug/libserial.a b/ThirdParty/lib/linux/v16/debug/libserial.a new file mode 100644 index 00000000..65ce4d9e --- /dev/null +++ b/ThirdParty/lib/linux/v16/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edea80c43371f35d71e33fca156396ab9281fffa3234aab1ec16390b2a678a5f +size 1072668 diff --git a/ThirdParty/lib/linux/v16/debug/libsgconnect.a b/ThirdParty/lib/linux/v16/debug/libsgconnect.a new file mode 100644 index 00000000..16b96181 --- /dev/null +++ b/ThirdParty/lib/linux/v16/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08e510ef12799e3bf6c81b88a89951e27e97d52159a489b6c037630b8813ae46 +size 7356820 diff --git a/ThirdParty/lib/linux/v16/debug/libsgcore.a b/ThirdParty/lib/linux/v16/debug/libsgcore.a new file mode 100644 index 00000000..a6e4cf5c --- /dev/null +++ b/ThirdParty/lib/linux/v16/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f8b4325bcfebdb30566c832468ff9cf7e282dde32da0d2f7316ea40463c5674 +size 12346150 diff --git a/ThirdParty/lib/linux/v16/release/libserial.a b/ThirdParty/lib/linux/v16/release/libserial.a new file mode 100644 index 00000000..72c8b35f --- /dev/null +++ b/ThirdParty/lib/linux/v16/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da34b3c1dd5e43206a567e36d9033b1d6b0495381a81fe8b6edd3ba2feb8d4a1 +size 192386 diff --git a/ThirdParty/lib/linux/v16/release/libsgconnect.a b/ThirdParty/lib/linux/v16/release/libsgconnect.a new file mode 100644 index 00000000..275fbf58 --- /dev/null +++ b/ThirdParty/lib/linux/v16/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:569d58917cf86aa0d222f4bf0fe0db5a722046f0db34c0f9ee145eab7db7b93f +size 915710 diff --git a/ThirdParty/lib/linux/v16/release/libsgcore.a b/ThirdParty/lib/linux/v16/release/libsgcore.a new file mode 100644 index 00000000..eae164a8 --- /dev/null +++ b/ThirdParty/lib/linux/v16/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:779c34de9e51630f3348b185fe91f94563d467f9b6e58be9a83a29fc90cd3d05 +size 1534708 diff --git a/ThirdParty/lib/linux/v17/debug/libserial.a b/ThirdParty/lib/linux/v17/debug/libserial.a new file mode 100644 index 00000000..3cb51e99 --- /dev/null +++ b/ThirdParty/lib/linux/v17/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e64e5233a4f477e16b3fec925ddc34dc71dd963061a743c6ae9f45c5a0787e53 +size 1072092 diff --git a/ThirdParty/lib/linux/v17/debug/libsgconnect.a b/ThirdParty/lib/linux/v17/debug/libsgconnect.a new file mode 100644 index 00000000..71fd5930 --- /dev/null +++ b/ThirdParty/lib/linux/v17/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5da3324fbf33122f2efcf4608846a2366a350904bc46227a0d84ddddd9b227e6 +size 7353532 diff --git a/ThirdParty/lib/linux/v17/debug/libsgcore.a b/ThirdParty/lib/linux/v17/debug/libsgcore.a new file mode 100644 index 00000000..57a381d4 --- /dev/null +++ b/ThirdParty/lib/linux/v17/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6194c108b36b0cc386453a5956a473dc57d1efe846a7222b1ea88cbba15b54b3 +size 12340062 diff --git a/ThirdParty/lib/linux/v17/release/libserial.a b/ThirdParty/lib/linux/v17/release/libserial.a new file mode 100644 index 00000000..86e79923 --- /dev/null +++ b/ThirdParty/lib/linux/v17/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8825730d6f3580c43de66ce3d2c2eef59411a87d89212693afd4e694e739816d +size 191840 diff --git a/ThirdParty/lib/linux/v17/release/libsgconnect.a b/ThirdParty/lib/linux/v17/release/libsgconnect.a new file mode 100644 index 00000000..46ee4e73 --- /dev/null +++ b/ThirdParty/lib/linux/v17/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06cd5a6b02f93b3d1ab44a61bc88c6f10639a237bbba7dc3392477db97b62c8e +size 912620 diff --git a/ThirdParty/lib/linux/v17/release/libsgcore.a b/ThirdParty/lib/linux/v17/release/libsgcore.a new file mode 100644 index 00000000..6fafdfb1 --- /dev/null +++ b/ThirdParty/lib/linux/v17/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e597fc8d266bff427d0e833adb95a6f067b080825ec53441e545b386f52968 +size 1525540 diff --git a/ThirdParty/lib/linux/v19/debug/libserial.a b/ThirdParty/lib/linux/v19/debug/libserial.a new file mode 100644 index 00000000..545bc531 --- /dev/null +++ b/ThirdParty/lib/linux/v19/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccda193051abdcc5f1ffa485ea4c6333ce584584dcc1c9091b6e97e8ff9f7237 +size 1072076 diff --git a/ThirdParty/lib/linux/v19/debug/libsgconnect.a b/ThirdParty/lib/linux/v19/debug/libsgconnect.a new file mode 100644 index 00000000..a98969af --- /dev/null +++ b/ThirdParty/lib/linux/v19/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eca8502439320a26b17242f9259b47bb643cc015f71d5aebee9c1d1b9392f09 +size 7353852 diff --git a/ThirdParty/lib/linux/v19/debug/libsgcore.a b/ThirdParty/lib/linux/v19/debug/libsgcore.a new file mode 100644 index 00000000..b2115463 --- /dev/null +++ b/ThirdParty/lib/linux/v19/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9832ef01c6333d774485fd1d21560453da81244ccc1ddb6c07fa9bad21e51a76 +size 12340502 diff --git a/ThirdParty/lib/linux/v19/release/libserial.a b/ThirdParty/lib/linux/v19/release/libserial.a new file mode 100644 index 00000000..8e6991aa --- /dev/null +++ b/ThirdParty/lib/linux/v19/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08c91939b3cf04682f89e4f9bb24998929252a96acff75cb92dd12d3dfb10d9c +size 191664 diff --git a/ThirdParty/lib/linux/v19/release/libsgconnect.a b/ThirdParty/lib/linux/v19/release/libsgconnect.a new file mode 100644 index 00000000..94b6ad0a --- /dev/null +++ b/ThirdParty/lib/linux/v19/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db8f5ff75bc7ee2ffeb37d735f250b6e14f8982b110844b96338adcd6c4042ed +size 909584 diff --git a/ThirdParty/lib/linux/v19/release/libsgcore.a b/ThirdParty/lib/linux/v19/release/libsgcore.a new file mode 100644 index 00000000..7a3a835d --- /dev/null +++ b/ThirdParty/lib/linux/v19/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77ab400291da834f5ea1ae2972ceaccff6a906f5769ff9fd5d143e091be5fad +size 1525016 diff --git a/ThirdParty/lib/linux/v20/debug/libserial.a b/ThirdParty/lib/linux/v20/debug/libserial.a new file mode 100644 index 00000000..621cde93 --- /dev/null +++ b/ThirdParty/lib/linux/v20/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06d4fca6451d14825ef989e52947ade2d0d256ee96ee3670e3d9a3460ce686c1 +size 930356 diff --git a/ThirdParty/lib/linux/v20/debug/libsgconnect.a b/ThirdParty/lib/linux/v20/debug/libsgconnect.a new file mode 100644 index 00000000..354d67e9 --- /dev/null +++ b/ThirdParty/lib/linux/v20/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28624f1ac65c79581ee42c43dad103cb05511f0aed6d828c0b6c531d4504ee72 +size 7342708 diff --git a/ThirdParty/lib/linux/v20/debug/libsgcore.a b/ThirdParty/lib/linux/v20/debug/libsgcore.a new file mode 100644 index 00000000..0b68c0d7 --- /dev/null +++ b/ThirdParty/lib/linux/v20/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db5622a332b0ce6c640d47d5efc0f108841b414141eeec493df2a70af1fa1bbb +size 12008078 diff --git a/ThirdParty/lib/linux/v20/release/libserial.a b/ThirdParty/lib/linux/v20/release/libserial.a new file mode 100644 index 00000000..c7a79436 --- /dev/null +++ b/ThirdParty/lib/linux/v20/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81d12623665a8035ddf0d917f890f2ea674f12ba2b4975306707fe3e2aa41867 +size 203200 diff --git a/ThirdParty/lib/linux/v20/release/libsgconnect.a b/ThirdParty/lib/linux/v20/release/libsgconnect.a new file mode 100644 index 00000000..932333ce --- /dev/null +++ b/ThirdParty/lib/linux/v20/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eea6983334d8ea94e5873b6e172bfb10b79cedde2508dd78ced11c8ff4b7e84f +size 1002544 diff --git a/ThirdParty/lib/linux/v20/release/libsgcore.a b/ThirdParty/lib/linux/v20/release/libsgcore.a new file mode 100644 index 00000000..34faa437 --- /dev/null +++ b/ThirdParty/lib/linux/v20/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b62d614544b348793f5a6a03bac641c9b5e9cf051b6ca222a2ad4663f6dbae0 +size 1673550 diff --git a/ThirdParty/lib/oculus/debug/libserial.a b/ThirdParty/lib/oculus/debug/libserial.a new file mode 100644 index 00000000..a70cef88 --- /dev/null +++ b/ThirdParty/lib/oculus/debug/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8821495ee001db41f603843b57baf08cb10fc59bbe163adfedd5b50f09d34e9f +size 1242284 diff --git a/ThirdParty/lib/oculus/debug/libsgconnect.a b/ThirdParty/lib/oculus/debug/libsgconnect.a new file mode 100644 index 00000000..6a5b1442 --- /dev/null +++ b/ThirdParty/lib/oculus/debug/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cb75abcd6b7015f1877cb7bfbdc9b1815b0ded253d6fc52398914a3865c9a2b +size 7827186 diff --git a/ThirdParty/lib/oculus/debug/libsgcore.a b/ThirdParty/lib/oculus/debug/libsgcore.a new file mode 100644 index 00000000..5a2aafdf --- /dev/null +++ b/ThirdParty/lib/oculus/debug/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3172d02a4173423d236742aa45c0dc502fb16ab7d40269d071b9a220e4b31e04 +size 13297298 diff --git a/ThirdParty/lib/oculus/release/libserial.a b/ThirdParty/lib/oculus/release/libserial.a new file mode 100644 index 00000000..a81fb3e8 --- /dev/null +++ b/ThirdParty/lib/oculus/release/libserial.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c382a309fa7e9df4037842c5236e97090f693099a93cea5a9c74049dc47db13 +size 202928 diff --git a/ThirdParty/lib/oculus/release/libsgconnect.a b/ThirdParty/lib/oculus/release/libsgconnect.a new file mode 100644 index 00000000..99536932 --- /dev/null +++ b/ThirdParty/lib/oculus/release/libsgconnect.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fe2065c7a705b23ff1ed24c0aaef4ff72dab333c3da690d6fc99f012714e296 +size 988058 diff --git a/ThirdParty/lib/oculus/release/libsgcore.a b/ThirdParty/lib/oculus/release/libsgcore.a new file mode 100644 index 00000000..a0723166 --- /dev/null +++ b/ThirdParty/lib/oculus/release/libsgcore.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159fcfc34976c0e54d04677a7bdfa0928dba530fe03a2522c04d048c89b81f61 +size 1393198 diff --git a/ThirdParty/lib/win64/msvc142/debug/serial.lib b/ThirdParty/lib/win64/msvc142/debug/serial.lib new file mode 100644 index 00000000..698c4c0a --- /dev/null +++ b/ThirdParty/lib/win64/msvc142/debug/serial.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c292590d761e3d08b79c82f0c3b690d0d9a22dcd087ac9973f580889c9d60ac +size 1231572 diff --git a/ThirdParty/lib/win64/msvc142/debug/sgconnect.lib b/ThirdParty/lib/win64/msvc142/debug/sgconnect.lib new file mode 100644 index 00000000..7719b071 --- /dev/null +++ b/ThirdParty/lib/win64/msvc142/debug/sgconnect.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89603207892c182ea01fb40f6e51cc7c3511253dc4e6e1932d4695cb8c05d8c6 +size 13579768 diff --git a/ThirdParty/lib/win64/msvc142/debug/sgcore.lib b/ThirdParty/lib/win64/msvc142/debug/sgcore.lib new file mode 100644 index 00000000..630b7eeb --- /dev/null +++ b/ThirdParty/lib/win64/msvc142/debug/sgcore.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b000af8a333b720c6e3cde5a1e61deaf52643a25acc2e005d56ff4b1f2141bc8 +size 20620244 diff --git a/ThirdParty/lib/win64/msvc142/release/serial.lib b/ThirdParty/lib/win64/msvc142/release/serial.lib new file mode 100644 index 00000000..44d0eb7b --- /dev/null +++ b/ThirdParty/lib/win64/msvc142/release/serial.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dce56d934eeb80fc6fab04f720a80eb9e2021fcd7c83e8037cf13d102ddee460 +size 351338 diff --git a/ThirdParty/lib/win64/msvc142/release/sgconnect.lib b/ThirdParty/lib/win64/msvc142/release/sgconnect.lib new file mode 100644 index 00000000..a32ce905 --- /dev/null +++ b/ThirdParty/lib/win64/msvc142/release/sgconnect.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb58cdc6ee62775bac8e83e88a086d37e067f776f99f312a5dce40a8d2c8bece +size 2822038 diff --git a/ThirdParty/lib/win64/msvc142/release/sgcore.lib b/ThirdParty/lib/win64/msvc142/release/sgcore.lib new file mode 100644 index 00000000..c667f238 --- /dev/null +++ b/ThirdParty/lib/win64/msvc142/release/sgcore.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e8dee566a8c2be505ac0b30db8cff4cfca105bd6408e49719775f7542c78d98 +size 4751398 diff --git a/ThirdParty/lib/win64/msvc143/debug/serial.lib b/ThirdParty/lib/win64/msvc143/debug/serial.lib new file mode 100644 index 00000000..c03e0bb9 --- /dev/null +++ b/ThirdParty/lib/win64/msvc143/debug/serial.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:080236e472c011ce203801158c715f8119b22431e0fb2b08934704d0d9870d40 +size 1218864 diff --git a/ThirdParty/lib/win64/msvc143/debug/sgconnect.lib b/ThirdParty/lib/win64/msvc143/debug/sgconnect.lib new file mode 100644 index 00000000..333b6b07 --- /dev/null +++ b/ThirdParty/lib/win64/msvc143/debug/sgconnect.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff3cba18da5bcaa795b1da13910a04ff6046cdced1b886424cb595f3772e3ad5 +size 13973692 diff --git a/ThirdParty/lib/win64/msvc143/debug/sgcore.lib b/ThirdParty/lib/win64/msvc143/debug/sgcore.lib new file mode 100644 index 00000000..442fdefc --- /dev/null +++ b/ThirdParty/lib/win64/msvc143/debug/sgcore.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15b930f24e9020f676ae9012ecbd015eb5d98c59672edb8481ff4c7b2668a832 +size 20852202 diff --git a/ThirdParty/lib/win64/msvc143/release/serial.lib b/ThirdParty/lib/win64/msvc143/release/serial.lib new file mode 100644 index 00000000..b76b3431 --- /dev/null +++ b/ThirdParty/lib/win64/msvc143/release/serial.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21fbee4570e920b4bfbc0f65e5ff8665bad0ea166c6a500114d0566e497e5704 +size 336692 diff --git a/ThirdParty/lib/win64/msvc143/release/sgconnect.lib b/ThirdParty/lib/win64/msvc143/release/sgconnect.lib new file mode 100644 index 00000000..1f0480fb --- /dev/null +++ b/ThirdParty/lib/win64/msvc143/release/sgconnect.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95f3dbc1e26f815f19992aec40a9a809ebc392cdd88ee919c5a9a6229da3e4d5 +size 2703444 diff --git a/ThirdParty/lib/win64/msvc143/release/sgcore.lib b/ThirdParty/lib/win64/msvc143/release/sgcore.lib new file mode 100644 index 00000000..622b7c4c --- /dev/null +++ b/ThirdParty/lib/win64/msvc143/release/sgcore.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89dd86484c94e7100aca979275bcfa8fe16873f73d3091819f1c005003ad2fc5 +size 4569960