react-native-nitro-pose-exercises 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/NitroPoseExercises.podspec +32 -0
- package/README.md +538 -0
- package/android/CMakeLists.txt +31 -0
- package/android/build.gradle +121 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +11 -0
- package/android/src/main/java/com/margelo/nitro/nitroposeexercises/NitroPoseExercises.kt +535 -0
- package/android/src/main/java/com/margelo/nitro/nitroposeexercises/NitroPoseExercisesPackage.kt +22 -0
- package/ios/NitroPoseExercises.swift +527 -0
- package/lib/module/NitroPoseExercises.nitro.js +17 -0
- package/lib/module/NitroPoseExercises.nitro.js.map +1 -0
- package/lib/module/config/pushup.js +71 -0
- package/lib/module/config/pushup.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NitroPoseExercises.nitro.d.ts +97 -0
- package/lib/typescript/src/NitroPoseExercises.nitro.d.ts.map +1 -0
- package/lib/typescript/src/config/pushup.d.ts +3 -0
- package/lib/typescript/src/config/pushup.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/android/c++/JAngleDefinition.hpp +69 -0
- package/nitrogen/generated/android/c++/JAngleSnapshot.hpp +61 -0
- package/nitrogen/generated/android/c++/JExerciseConfig.hpp +166 -0
- package/nitrogen/generated/android/c++/JExercisePhase.hpp +67 -0
- package/nitrogen/generated/android/c++/JExerciseType.hpp +61 -0
- package/nitrogen/generated/android/c++/JFormFeedback.hpp +67 -0
- package/nitrogen/generated/android/c++/JFormRule.hpp +79 -0
- package/nitrogen/generated/android/c++/JFormSeverity.hpp +61 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_ExercisePhase.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_FormFeedback.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_HoldProgress.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_RepData.hpp +81 -0
- package/nitrogen/generated/android/c++/JFunc_void_SessionResult.hpp +85 -0
- package/nitrogen/generated/android/c++/JHoldProgress.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridNitroPoseExercisesSpec.cpp +311 -0
- package/nitrogen/generated/android/c++/JHybridNitroPoseExercisesSpec.hpp +87 -0
- package/nitrogen/generated/android/c++/JLandmark.hpp +69 -0
- package/nitrogen/generated/android/c++/JPhaseThreshold.hpp +71 -0
- package/nitrogen/generated/android/c++/JRepData.hpp +90 -0
- package/nitrogen/generated/android/c++/JSessionResult.hpp +120 -0
- package/nitrogen/generated/android/c++/JSessionStatus.hpp +67 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/AngleDefinition.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/AngleSnapshot.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/ExerciseConfig.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/ExercisePhase.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/ExerciseType.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/FormFeedback.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/FormRule.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/FormSeverity.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_ExercisePhase.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_FormFeedback.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_HoldProgress.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_RepData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_SessionResult.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/HoldProgress.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/HybridNitroPoseExercisesSpec.kt +196 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Landmark.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/PhaseThreshold.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/RepData.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/SessionResult.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/SessionStatus.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/nitroposeexercisesOnLoad.kt +35 -0
- package/nitrogen/generated/android/nitroposeexercises+autolinking.cmake +81 -0
- package/nitrogen/generated/android/nitroposeexercises+autolinking.gradle +27 -0
- package/nitrogen/generated/android/nitroposeexercisesOnLoad.cpp +66 -0
- package/nitrogen/generated/android/nitroposeexercisesOnLoad.hpp +34 -0
- package/nitrogen/generated/ios/NitroPoseExercises+autolinking.rb +62 -0
- package/nitrogen/generated/ios/NitroPoseExercises-Swift-Cxx-Bridge.cpp +100 -0
- package/nitrogen/generated/ios/NitroPoseExercises-Swift-Cxx-Bridge.hpp +449 -0
- package/nitrogen/generated/ios/NitroPoseExercises-Swift-Cxx-Umbrella.hpp +95 -0
- package/nitrogen/generated/ios/NitroPoseExercisesAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroPoseExercisesAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridNitroPoseExercisesSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNitroPoseExercisesSpecSwift.hpp +236 -0
- package/nitrogen/generated/ios/swift/AngleDefinition.swift +44 -0
- package/nitrogen/generated/ios/swift/AngleSnapshot.swift +34 -0
- package/nitrogen/generated/ios/swift/ExerciseConfig.swift +83 -0
- package/nitrogen/generated/ios/swift/ExercisePhase.swift +52 -0
- package/nitrogen/generated/ios/swift/ExerciseType.swift +44 -0
- package/nitrogen/generated/ios/swift/FormFeedback.swift +39 -0
- package/nitrogen/generated/ios/swift/FormRule.swift +54 -0
- package/nitrogen/generated/ios/swift/FormSeverity.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_ExercisePhase.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_FormFeedback.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_HoldProgress.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_RepData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SessionResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/HoldProgress.swift +39 -0
- package/nitrogen/generated/ios/swift/HybridNitroPoseExercisesSpec.swift +73 -0
- package/nitrogen/generated/ios/swift/HybridNitroPoseExercisesSpec_cxx.swift +483 -0
- package/nitrogen/generated/ios/swift/Landmark.swift +44 -0
- package/nitrogen/generated/ios/swift/PhaseThreshold.swift +44 -0
- package/nitrogen/generated/ios/swift/RepData.swift +50 -0
- package/nitrogen/generated/ios/swift/SessionResult.swift +66 -0
- package/nitrogen/generated/ios/swift/SessionStatus.swift +52 -0
- package/nitrogen/generated/shared/c++/AngleDefinition.hpp +95 -0
- package/nitrogen/generated/shared/c++/AngleSnapshot.hpp +87 -0
- package/nitrogen/generated/shared/c++/ExerciseConfig.hpp +122 -0
- package/nitrogen/generated/shared/c++/ExercisePhase.hpp +88 -0
- package/nitrogen/generated/shared/c++/ExerciseType.hpp +80 -0
- package/nitrogen/generated/shared/c++/FormFeedback.hpp +93 -0
- package/nitrogen/generated/shared/c++/FormRule.hpp +105 -0
- package/nitrogen/generated/shared/c++/FormSeverity.hpp +80 -0
- package/nitrogen/generated/shared/c++/HoldProgress.hpp +91 -0
- package/nitrogen/generated/shared/c++/HybridNitroPoseExercisesSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridNitroPoseExercisesSpec.hpp +117 -0
- package/nitrogen/generated/shared/c++/Landmark.hpp +95 -0
- package/nitrogen/generated/shared/c++/PhaseThreshold.hpp +97 -0
- package/nitrogen/generated/shared/c++/RepData.hpp +97 -0
- package/nitrogen/generated/shared/c++/SessionResult.hpp +108 -0
- package/nitrogen/generated/shared/c++/SessionStatus.hpp +88 -0
- package/package.json +187 -0
- package/src/NitroPoseExercises.nitro.ts +155 -0
- package/src/config/pushup.ts +62 -0
- package/src/index.tsx +28 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroPoseExercisesAutolinking.mm
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
#import <NitroModules/HybridObjectRegistry.hpp>
|
|
10
|
+
#import "NitroPoseExercises-Swift-Cxx-Umbrella.hpp"
|
|
11
|
+
#import <type_traits>
|
|
12
|
+
|
|
13
|
+
#include "HybridNitroPoseExercisesSpecSwift.hpp"
|
|
14
|
+
|
|
15
|
+
@interface NitroPoseExercisesAutolinking : NSObject
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
@implementation NitroPoseExercisesAutolinking
|
|
19
|
+
|
|
20
|
+
+ (void) load {
|
|
21
|
+
using namespace margelo::nitro;
|
|
22
|
+
using namespace margelo::nitro::nitroposeexercises;
|
|
23
|
+
|
|
24
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
25
|
+
"NitroPoseExercises",
|
|
26
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
27
|
+
std::shared_ptr<HybridNitroPoseExercisesSpec> hybridObject = NitroPoseExercises::NitroPoseExercisesAutolinking::createNitroPoseExercises();
|
|
28
|
+
return hybridObject;
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroPoseExercisesAutolinking.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
// TODO: Use empty enums once Swift supports exporting them as namespaces
|
|
11
|
+
// See: https://github.com/swiftlang/swift/pull/83616
|
|
12
|
+
public final class NitroPoseExercisesAutolinking {
|
|
13
|
+
public typealias bridge = margelo.nitro.nitroposeexercises.bridge.swift
|
|
14
|
+
|
|
15
|
+
public static func createNitroPoseExercises() -> bridge.std__shared_ptr_HybridNitroPoseExercisesSpec_ {
|
|
16
|
+
let hybridObject = NitroPoseExercises()
|
|
17
|
+
return { () -> bridge.std__shared_ptr_HybridNitroPoseExercisesSpec_ in
|
|
18
|
+
let __cxxWrapped = hybridObject.getCxxWrapper()
|
|
19
|
+
return __cxxWrapped.getCxxPart()
|
|
20
|
+
}()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public static func isNitroPoseExercisesRecyclable() -> Bool {
|
|
24
|
+
return NitroPoseExercises.self is any RecyclableView.Type
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridNitroPoseExercisesSpecSwift.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridNitroPoseExercisesSpecSwift.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::nitroposeexercises {
|
|
11
|
+
} // namespace margelo::nitro::nitroposeexercises
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridNitroPoseExercisesSpecSwift.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "HybridNitroPoseExercisesSpec.hpp"
|
|
11
|
+
|
|
12
|
+
// Forward declaration of `HybridNitroPoseExercisesSpec_cxx` to properly resolve imports.
|
|
13
|
+
namespace NitroPoseExercises { class HybridNitroPoseExercisesSpec_cxx; }
|
|
14
|
+
|
|
15
|
+
// Forward declaration of `SessionStatus` to properly resolve imports.
|
|
16
|
+
namespace margelo::nitro::nitroposeexercises { enum class SessionStatus; }
|
|
17
|
+
// Forward declaration of `RepData` to properly resolve imports.
|
|
18
|
+
namespace margelo::nitro::nitroposeexercises { struct RepData; }
|
|
19
|
+
// Forward declaration of `AngleSnapshot` to properly resolve imports.
|
|
20
|
+
namespace margelo::nitro::nitroposeexercises { struct AngleSnapshot; }
|
|
21
|
+
// Forward declaration of `ExercisePhase` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::nitroposeexercises { enum class ExercisePhase; }
|
|
23
|
+
// Forward declaration of `FormFeedback` to properly resolve imports.
|
|
24
|
+
namespace margelo::nitro::nitroposeexercises { struct FormFeedback; }
|
|
25
|
+
// Forward declaration of `FormSeverity` to properly resolve imports.
|
|
26
|
+
namespace margelo::nitro::nitroposeexercises { enum class FormSeverity; }
|
|
27
|
+
// Forward declaration of `HoldProgress` to properly resolve imports.
|
|
28
|
+
namespace margelo::nitro::nitroposeexercises { struct HoldProgress; }
|
|
29
|
+
// Forward declaration of `SessionResult` to properly resolve imports.
|
|
30
|
+
namespace margelo::nitro::nitroposeexercises { struct SessionResult; }
|
|
31
|
+
// Forward declaration of `Landmark` to properly resolve imports.
|
|
32
|
+
namespace margelo::nitro::nitroposeexercises { struct Landmark; }
|
|
33
|
+
// Forward declaration of `ExerciseConfig` to properly resolve imports.
|
|
34
|
+
namespace margelo::nitro::nitroposeexercises { struct ExerciseConfig; }
|
|
35
|
+
// Forward declaration of `ExerciseType` to properly resolve imports.
|
|
36
|
+
namespace margelo::nitro::nitroposeexercises { enum class ExerciseType; }
|
|
37
|
+
// Forward declaration of `AngleDefinition` to properly resolve imports.
|
|
38
|
+
namespace margelo::nitro::nitroposeexercises { struct AngleDefinition; }
|
|
39
|
+
// Forward declaration of `PhaseThreshold` to properly resolve imports.
|
|
40
|
+
namespace margelo::nitro::nitroposeexercises { struct PhaseThreshold; }
|
|
41
|
+
// Forward declaration of `FormRule` to properly resolve imports.
|
|
42
|
+
namespace margelo::nitro::nitroposeexercises { struct FormRule; }
|
|
43
|
+
// Forward declaration of `HybridFrameSpec` to properly resolve imports.
|
|
44
|
+
namespace margelo::nitro::camera { class HybridFrameSpec; }
|
|
45
|
+
|
|
46
|
+
#include "SessionStatus.hpp"
|
|
47
|
+
#include "RepData.hpp"
|
|
48
|
+
#include <functional>
|
|
49
|
+
#include <optional>
|
|
50
|
+
#include "AngleSnapshot.hpp"
|
|
51
|
+
#include <vector>
|
|
52
|
+
#include <string>
|
|
53
|
+
#include "ExercisePhase.hpp"
|
|
54
|
+
#include "FormFeedback.hpp"
|
|
55
|
+
#include "FormSeverity.hpp"
|
|
56
|
+
#include "HoldProgress.hpp"
|
|
57
|
+
#include "SessionResult.hpp"
|
|
58
|
+
#include "Landmark.hpp"
|
|
59
|
+
#include <NitroModules/Promise.hpp>
|
|
60
|
+
#include "ExerciseConfig.hpp"
|
|
61
|
+
#include "ExerciseType.hpp"
|
|
62
|
+
#include "AngleDefinition.hpp"
|
|
63
|
+
#include "PhaseThreshold.hpp"
|
|
64
|
+
#include "FormRule.hpp"
|
|
65
|
+
#include <memory>
|
|
66
|
+
#include <VisionCamera/HybridFrameSpec.hpp>
|
|
67
|
+
|
|
68
|
+
#include "NitroPoseExercises-Swift-Cxx-Umbrella.hpp"
|
|
69
|
+
|
|
70
|
+
namespace margelo::nitro::nitroposeexercises {
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* The C++ part of HybridNitroPoseExercisesSpec_cxx.swift.
|
|
74
|
+
*
|
|
75
|
+
* HybridNitroPoseExercisesSpecSwift (C++) accesses HybridNitroPoseExercisesSpec_cxx (Swift), and might
|
|
76
|
+
* contain some additional bridging code for C++ <> Swift interop.
|
|
77
|
+
*
|
|
78
|
+
* Since this obviously introduces an overhead, I hope at some point in
|
|
79
|
+
* the future, HybridNitroPoseExercisesSpec_cxx can directly inherit from the C++ class HybridNitroPoseExercisesSpec
|
|
80
|
+
* to simplify the whole structure and memory management.
|
|
81
|
+
*/
|
|
82
|
+
class HybridNitroPoseExercisesSpecSwift: public virtual HybridNitroPoseExercisesSpec {
|
|
83
|
+
public:
|
|
84
|
+
// Constructor from a Swift instance
|
|
85
|
+
explicit HybridNitroPoseExercisesSpecSwift(const NitroPoseExercises::HybridNitroPoseExercisesSpec_cxx& swiftPart):
|
|
86
|
+
HybridObject(HybridNitroPoseExercisesSpec::TAG),
|
|
87
|
+
_swiftPart(swiftPart) { }
|
|
88
|
+
|
|
89
|
+
public:
|
|
90
|
+
// Get the Swift part
|
|
91
|
+
inline NitroPoseExercises::HybridNitroPoseExercisesSpec_cxx& getSwiftPart() noexcept {
|
|
92
|
+
return _swiftPart;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
public:
|
|
96
|
+
inline size_t getExternalMemorySize() noexcept override {
|
|
97
|
+
return _swiftPart.getMemorySize();
|
|
98
|
+
}
|
|
99
|
+
bool equals(const std::shared_ptr<HybridObject>& other) override {
|
|
100
|
+
if (auto otherCast = std::dynamic_pointer_cast<HybridNitroPoseExercisesSpecSwift>(other)) {
|
|
101
|
+
return _swiftPart.equals(otherCast->_swiftPart);
|
|
102
|
+
}
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
void dispose() noexcept override {
|
|
106
|
+
_swiftPart.dispose();
|
|
107
|
+
}
|
|
108
|
+
std::string toString() override {
|
|
109
|
+
return _swiftPart.toString();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
public:
|
|
113
|
+
// Properties
|
|
114
|
+
inline SessionStatus getStatus() noexcept override {
|
|
115
|
+
auto __result = _swiftPart.getStatus();
|
|
116
|
+
return static_cast<SessionStatus>(__result);
|
|
117
|
+
}
|
|
118
|
+
inline std::optional<std::function<void(const RepData& /* data */)>> getOnRepComplete() noexcept override {
|
|
119
|
+
auto __result = _swiftPart.getOnRepComplete();
|
|
120
|
+
return __result;
|
|
121
|
+
}
|
|
122
|
+
inline void setOnRepComplete(const std::optional<std::function<void(const RepData& /* data */)>>& onRepComplete) noexcept override {
|
|
123
|
+
_swiftPart.setOnRepComplete(onRepComplete);
|
|
124
|
+
}
|
|
125
|
+
inline std::optional<std::function<void(ExercisePhase /* phase */)>> getOnPhaseChange() noexcept override {
|
|
126
|
+
auto __result = _swiftPart.getOnPhaseChange();
|
|
127
|
+
return __result;
|
|
128
|
+
}
|
|
129
|
+
inline void setOnPhaseChange(const std::optional<std::function<void(ExercisePhase /* phase */)>>& onPhaseChange) noexcept override {
|
|
130
|
+
_swiftPart.setOnPhaseChange(onPhaseChange);
|
|
131
|
+
}
|
|
132
|
+
inline std::optional<std::function<void(const FormFeedback& /* feedback */)>> getOnFormFeedback() noexcept override {
|
|
133
|
+
auto __result = _swiftPart.getOnFormFeedback();
|
|
134
|
+
return __result;
|
|
135
|
+
}
|
|
136
|
+
inline void setOnFormFeedback(const std::optional<std::function<void(const FormFeedback& /* feedback */)>>& onFormFeedback) noexcept override {
|
|
137
|
+
_swiftPart.setOnFormFeedback(onFormFeedback);
|
|
138
|
+
}
|
|
139
|
+
inline std::optional<std::function<void(const HoldProgress& /* progress */)>> getOnHoldProgress() noexcept override {
|
|
140
|
+
auto __result = _swiftPart.getOnHoldProgress();
|
|
141
|
+
return __result;
|
|
142
|
+
}
|
|
143
|
+
inline void setOnHoldProgress(const std::optional<std::function<void(const HoldProgress& /* progress */)>>& onHoldProgress) noexcept override {
|
|
144
|
+
_swiftPart.setOnHoldProgress(onHoldProgress);
|
|
145
|
+
}
|
|
146
|
+
inline std::optional<std::function<void()>> getOnPoseLost() noexcept override {
|
|
147
|
+
auto __result = _swiftPart.getOnPoseLost();
|
|
148
|
+
return __result;
|
|
149
|
+
}
|
|
150
|
+
inline void setOnPoseLost(const std::optional<std::function<void()>>& onPoseLost) noexcept override {
|
|
151
|
+
_swiftPart.setOnPoseLost(onPoseLost);
|
|
152
|
+
}
|
|
153
|
+
inline std::optional<std::function<void()>> getOnPoseRegained() noexcept override {
|
|
154
|
+
auto __result = _swiftPart.getOnPoseRegained();
|
|
155
|
+
return __result;
|
|
156
|
+
}
|
|
157
|
+
inline void setOnPoseRegained(const std::optional<std::function<void()>>& onPoseRegained) noexcept override {
|
|
158
|
+
_swiftPart.setOnPoseRegained(onPoseRegained);
|
|
159
|
+
}
|
|
160
|
+
inline std::optional<std::function<void(const SessionResult& /* result */)>> getOnSessionComplete() noexcept override {
|
|
161
|
+
auto __result = _swiftPart.getOnSessionComplete();
|
|
162
|
+
return __result;
|
|
163
|
+
}
|
|
164
|
+
inline void setOnSessionComplete(const std::optional<std::function<void(const SessionResult& /* result */)>>& onSessionComplete) noexcept override {
|
|
165
|
+
_swiftPart.setOnSessionComplete(onSessionComplete);
|
|
166
|
+
}
|
|
167
|
+
inline ExercisePhase getCurrentPhase() noexcept override {
|
|
168
|
+
auto __result = _swiftPart.getCurrentPhase();
|
|
169
|
+
return static_cast<ExercisePhase>(__result);
|
|
170
|
+
}
|
|
171
|
+
inline double getRepCount() noexcept override {
|
|
172
|
+
return _swiftPart.getRepCount();
|
|
173
|
+
}
|
|
174
|
+
inline std::vector<Landmark> getLandmarks() noexcept override {
|
|
175
|
+
auto __result = _swiftPart.getLandmarks();
|
|
176
|
+
return __result;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
public:
|
|
180
|
+
// Methods
|
|
181
|
+
inline std::shared_ptr<Promise<void>> initialize(const std::string& modelPath) override {
|
|
182
|
+
auto __result = _swiftPart.initialize(modelPath);
|
|
183
|
+
if (__result.hasError()) [[unlikely]] {
|
|
184
|
+
std::rethrow_exception(__result.error());
|
|
185
|
+
}
|
|
186
|
+
auto __value = std::move(__result.value());
|
|
187
|
+
return __value;
|
|
188
|
+
}
|
|
189
|
+
inline void release() override {
|
|
190
|
+
auto __result = _swiftPart.release();
|
|
191
|
+
if (__result.hasError()) [[unlikely]] {
|
|
192
|
+
std::rethrow_exception(__result.error());
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
inline void loadExercise(const ExerciseConfig& config) override {
|
|
196
|
+
auto __result = _swiftPart.loadExercise(std::forward<decltype(config)>(config));
|
|
197
|
+
if (__result.hasError()) [[unlikely]] {
|
|
198
|
+
std::rethrow_exception(__result.error());
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
inline void processFrame(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame) override {
|
|
202
|
+
auto __result = _swiftPart.processFrame(frame);
|
|
203
|
+
if (__result.hasError()) [[unlikely]] {
|
|
204
|
+
std::rethrow_exception(__result.error());
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
inline void startSession(double targetReps, double countdownSeconds) override {
|
|
208
|
+
auto __result = _swiftPart.startSession(std::forward<decltype(targetReps)>(targetReps), std::forward<decltype(countdownSeconds)>(countdownSeconds));
|
|
209
|
+
if (__result.hasError()) [[unlikely]] {
|
|
210
|
+
std::rethrow_exception(__result.error());
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
inline void pauseSession() override {
|
|
214
|
+
auto __result = _swiftPart.pauseSession();
|
|
215
|
+
if (__result.hasError()) [[unlikely]] {
|
|
216
|
+
std::rethrow_exception(__result.error());
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
inline void resumeSession() override {
|
|
220
|
+
auto __result = _swiftPart.resumeSession();
|
|
221
|
+
if (__result.hasError()) [[unlikely]] {
|
|
222
|
+
std::rethrow_exception(__result.error());
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
inline void stopSession() override {
|
|
226
|
+
auto __result = _swiftPart.stopSession();
|
|
227
|
+
if (__result.hasError()) [[unlikely]] {
|
|
228
|
+
std::rethrow_exception(__result.error());
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
private:
|
|
233
|
+
NitroPoseExercises::HybridNitroPoseExercisesSpec_cxx _swiftPart;
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
} // namespace margelo::nitro::nitroposeexercises
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// AngleDefinition.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `AngleDefinition`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias AngleDefinition = margelo.nitro.nitroposeexercises.AngleDefinition
|
|
14
|
+
|
|
15
|
+
public extension AngleDefinition {
|
|
16
|
+
private typealias bridge = margelo.nitro.nitroposeexercises.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `AngleDefinition`.
|
|
20
|
+
*/
|
|
21
|
+
init(name: String, landmarkA: Double, landmarkB: Double, landmarkC: Double) {
|
|
22
|
+
self.init(std.string(name), landmarkA, landmarkB, landmarkC)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@inline(__always)
|
|
26
|
+
var name: String {
|
|
27
|
+
return String(self.__name)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@inline(__always)
|
|
31
|
+
var landmarkA: Double {
|
|
32
|
+
return self.__landmarkA
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@inline(__always)
|
|
36
|
+
var landmarkB: Double {
|
|
37
|
+
return self.__landmarkB
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@inline(__always)
|
|
41
|
+
var landmarkC: Double {
|
|
42
|
+
return self.__landmarkC
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// AngleSnapshot.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `AngleSnapshot`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias AngleSnapshot = margelo.nitro.nitroposeexercises.AngleSnapshot
|
|
14
|
+
|
|
15
|
+
public extension AngleSnapshot {
|
|
16
|
+
private typealias bridge = margelo.nitro.nitroposeexercises.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `AngleSnapshot`.
|
|
20
|
+
*/
|
|
21
|
+
init(name: String, value: Double) {
|
|
22
|
+
self.init(std.string(name), value)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@inline(__always)
|
|
26
|
+
var name: String {
|
|
27
|
+
return String(self.__name)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@inline(__always)
|
|
31
|
+
var value: Double {
|
|
32
|
+
return self.__value
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ExerciseConfig.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `ExerciseConfig`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias ExerciseConfig = margelo.nitro.nitroposeexercises.ExerciseConfig
|
|
14
|
+
|
|
15
|
+
public extension ExerciseConfig {
|
|
16
|
+
private typealias bridge = margelo.nitro.nitroposeexercises.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `ExerciseConfig`.
|
|
20
|
+
*/
|
|
21
|
+
init(name: String, type: ExerciseType, angles: [AngleDefinition], phases: [PhaseThreshold], repSequence: [ExercisePhase], formRules: [FormRule], holdDurationMs: Double) {
|
|
22
|
+
self.init(std.string(name), type, { () -> bridge.std__vector_AngleDefinition_ in
|
|
23
|
+
var __vector = bridge.create_std__vector_AngleDefinition_(angles.count)
|
|
24
|
+
for __item in angles {
|
|
25
|
+
__vector.push_back(__item)
|
|
26
|
+
}
|
|
27
|
+
return __vector
|
|
28
|
+
}(), { () -> bridge.std__vector_PhaseThreshold_ in
|
|
29
|
+
var __vector = bridge.create_std__vector_PhaseThreshold_(phases.count)
|
|
30
|
+
for __item in phases {
|
|
31
|
+
__vector.push_back(__item)
|
|
32
|
+
}
|
|
33
|
+
return __vector
|
|
34
|
+
}(), { () -> bridge.std__vector_ExercisePhase_ in
|
|
35
|
+
var __vector = bridge.create_std__vector_ExercisePhase_(repSequence.count)
|
|
36
|
+
for __item in repSequence {
|
|
37
|
+
__vector.push_back(__item)
|
|
38
|
+
}
|
|
39
|
+
return __vector
|
|
40
|
+
}(), { () -> bridge.std__vector_FormRule_ in
|
|
41
|
+
var __vector = bridge.create_std__vector_FormRule_(formRules.count)
|
|
42
|
+
for __item in formRules {
|
|
43
|
+
__vector.push_back(__item)
|
|
44
|
+
}
|
|
45
|
+
return __vector
|
|
46
|
+
}(), holdDurationMs)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@inline(__always)
|
|
50
|
+
var name: String {
|
|
51
|
+
return String(self.__name)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@inline(__always)
|
|
55
|
+
var type: ExerciseType {
|
|
56
|
+
return self.__type
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@inline(__always)
|
|
60
|
+
var angles: [AngleDefinition] {
|
|
61
|
+
return self.__angles.map({ __item in __item })
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@inline(__always)
|
|
65
|
+
var phases: [PhaseThreshold] {
|
|
66
|
+
return self.__phases.map({ __item in __item })
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@inline(__always)
|
|
70
|
+
var repSequence: [ExercisePhase] {
|
|
71
|
+
return self.__repSequence.map({ __item in __item })
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@inline(__always)
|
|
75
|
+
var formRules: [FormRule] {
|
|
76
|
+
return self.__formRules.map({ __item in __item })
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@inline(__always)
|
|
80
|
+
var holdDurationMs: Double {
|
|
81
|
+
return self.__holdDurationMs
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ExercisePhase.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `ExercisePhase`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias ExercisePhase = margelo.nitro.nitroposeexercises.ExercisePhase
|
|
12
|
+
|
|
13
|
+
public extension ExercisePhase {
|
|
14
|
+
/**
|
|
15
|
+
* Get a ExercisePhase for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "hold":
|
|
21
|
+
self = .hold
|
|
22
|
+
case "up":
|
|
23
|
+
self = .up
|
|
24
|
+
case "down":
|
|
25
|
+
self = .down
|
|
26
|
+
case "transition":
|
|
27
|
+
self = .transition
|
|
28
|
+
case "unknown":
|
|
29
|
+
self = .unknown
|
|
30
|
+
default:
|
|
31
|
+
return nil
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Get the String value this ExercisePhase represents.
|
|
37
|
+
*/
|
|
38
|
+
var stringValue: String {
|
|
39
|
+
switch self {
|
|
40
|
+
case .hold:
|
|
41
|
+
return "hold"
|
|
42
|
+
case .up:
|
|
43
|
+
return "up"
|
|
44
|
+
case .down:
|
|
45
|
+
return "down"
|
|
46
|
+
case .transition:
|
|
47
|
+
return "transition"
|
|
48
|
+
case .unknown:
|
|
49
|
+
return "unknown"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ExerciseType.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `ExerciseType`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias ExerciseType = margelo.nitro.nitroposeexercises.ExerciseType
|
|
12
|
+
|
|
13
|
+
public extension ExerciseType {
|
|
14
|
+
/**
|
|
15
|
+
* Get a ExerciseType for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "rep":
|
|
21
|
+
self = .rep
|
|
22
|
+
case "hold":
|
|
23
|
+
self = .hold
|
|
24
|
+
case "flow":
|
|
25
|
+
self = .flow
|
|
26
|
+
default:
|
|
27
|
+
return nil
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get the String value this ExerciseType represents.
|
|
33
|
+
*/
|
|
34
|
+
var stringValue: String {
|
|
35
|
+
switch self {
|
|
36
|
+
case .rep:
|
|
37
|
+
return "rep"
|
|
38
|
+
case .hold:
|
|
39
|
+
return "hold"
|
|
40
|
+
case .flow:
|
|
41
|
+
return "flow"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// FormFeedback.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `FormFeedback`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias FormFeedback = margelo.nitro.nitroposeexercises.FormFeedback
|
|
14
|
+
|
|
15
|
+
public extension FormFeedback {
|
|
16
|
+
private typealias bridge = margelo.nitro.nitroposeexercises.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `FormFeedback`.
|
|
20
|
+
*/
|
|
21
|
+
init(ruleName: String, message: String, severity: FormSeverity) {
|
|
22
|
+
self.init(std.string(ruleName), std.string(message), severity)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@inline(__always)
|
|
26
|
+
var ruleName: String {
|
|
27
|
+
return String(self.__ruleName)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@inline(__always)
|
|
31
|
+
var message: String {
|
|
32
|
+
return String(self.__message)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@inline(__always)
|
|
36
|
+
var severity: FormSeverity {
|
|
37
|
+
return self.__severity
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// FormRule.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `FormRule`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias FormRule = margelo.nitro.nitroposeexercises.FormRule
|
|
14
|
+
|
|
15
|
+
public extension FormRule {
|
|
16
|
+
private typealias bridge = margelo.nitro.nitroposeexercises.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `FormRule`.
|
|
20
|
+
*/
|
|
21
|
+
init(name: String, message: String, severity: FormSeverity, angleName: String, minAngle: Double, maxAngle: Double) {
|
|
22
|
+
self.init(std.string(name), std.string(message), severity, std.string(angleName), minAngle, maxAngle)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@inline(__always)
|
|
26
|
+
var name: String {
|
|
27
|
+
return String(self.__name)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@inline(__always)
|
|
31
|
+
var message: String {
|
|
32
|
+
return String(self.__message)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@inline(__always)
|
|
36
|
+
var severity: FormSeverity {
|
|
37
|
+
return self.__severity
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@inline(__always)
|
|
41
|
+
var angleName: String {
|
|
42
|
+
return String(self.__angleName)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@inline(__always)
|
|
46
|
+
var minAngle: Double {
|
|
47
|
+
return self.__minAngle
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@inline(__always)
|
|
51
|
+
var maxAngle: Double {
|
|
52
|
+
return self.__maxAngle
|
|
53
|
+
}
|
|
54
|
+
}
|