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.
Files changed (124) hide show
  1. package/LICENSE +20 -0
  2. package/NitroPoseExercises.podspec +32 -0
  3. package/README.md +538 -0
  4. package/android/CMakeLists.txt +31 -0
  5. package/android/build.gradle +121 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/cpp/cpp-adapter.cpp +11 -0
  8. package/android/src/main/java/com/margelo/nitro/nitroposeexercises/NitroPoseExercises.kt +535 -0
  9. package/android/src/main/java/com/margelo/nitro/nitroposeexercises/NitroPoseExercisesPackage.kt +22 -0
  10. package/ios/NitroPoseExercises.swift +527 -0
  11. package/lib/module/NitroPoseExercises.nitro.js +17 -0
  12. package/lib/module/NitroPoseExercises.nitro.js.map +1 -0
  13. package/lib/module/config/pushup.js +71 -0
  14. package/lib/module/config/pushup.js.map +1 -0
  15. package/lib/module/index.js +7 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/package.json +1 -0
  18. package/lib/typescript/package.json +1 -0
  19. package/lib/typescript/src/NitroPoseExercises.nitro.d.ts +97 -0
  20. package/lib/typescript/src/NitroPoseExercises.nitro.d.ts.map +1 -0
  21. package/lib/typescript/src/config/pushup.d.ts +3 -0
  22. package/lib/typescript/src/config/pushup.d.ts.map +1 -0
  23. package/lib/typescript/src/index.d.ts +6 -0
  24. package/lib/typescript/src/index.d.ts.map +1 -0
  25. package/nitro.json +23 -0
  26. package/nitrogen/generated/android/c++/JAngleDefinition.hpp +69 -0
  27. package/nitrogen/generated/android/c++/JAngleSnapshot.hpp +61 -0
  28. package/nitrogen/generated/android/c++/JExerciseConfig.hpp +166 -0
  29. package/nitrogen/generated/android/c++/JExercisePhase.hpp +67 -0
  30. package/nitrogen/generated/android/c++/JExerciseType.hpp +61 -0
  31. package/nitrogen/generated/android/c++/JFormFeedback.hpp +67 -0
  32. package/nitrogen/generated/android/c++/JFormRule.hpp +79 -0
  33. package/nitrogen/generated/android/c++/JFormSeverity.hpp +61 -0
  34. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  35. package/nitrogen/generated/android/c++/JFunc_void_ExercisePhase.hpp +77 -0
  36. package/nitrogen/generated/android/c++/JFunc_void_FormFeedback.hpp +80 -0
  37. package/nitrogen/generated/android/c++/JFunc_void_HoldProgress.hpp +77 -0
  38. package/nitrogen/generated/android/c++/JFunc_void_RepData.hpp +81 -0
  39. package/nitrogen/generated/android/c++/JFunc_void_SessionResult.hpp +85 -0
  40. package/nitrogen/generated/android/c++/JHoldProgress.hpp +65 -0
  41. package/nitrogen/generated/android/c++/JHybridNitroPoseExercisesSpec.cpp +311 -0
  42. package/nitrogen/generated/android/c++/JHybridNitroPoseExercisesSpec.hpp +87 -0
  43. package/nitrogen/generated/android/c++/JLandmark.hpp +69 -0
  44. package/nitrogen/generated/android/c++/JPhaseThreshold.hpp +71 -0
  45. package/nitrogen/generated/android/c++/JRepData.hpp +90 -0
  46. package/nitrogen/generated/android/c++/JSessionResult.hpp +120 -0
  47. package/nitrogen/generated/android/c++/JSessionStatus.hpp +67 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/AngleDefinition.kt +66 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/AngleSnapshot.kt +56 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/ExerciseConfig.kt +81 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/ExercisePhase.kt +26 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/ExerciseType.kt +24 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/FormFeedback.kt +61 -0
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/FormRule.kt +76 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/FormSeverity.kt +24 -0
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void.kt +80 -0
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_ExercisePhase.kt +80 -0
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_FormFeedback.kt +80 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_HoldProgress.kt +80 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_RepData.kt +80 -0
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Func_void_SessionResult.kt +80 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/HoldProgress.kt +61 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/HybridNitroPoseExercisesSpec.kt +196 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/Landmark.kt +66 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/PhaseThreshold.kt +66 -0
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/RepData.kt +66 -0
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/SessionResult.kt +76 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/SessionStatus.kt +26 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroposeexercises/nitroposeexercisesOnLoad.kt +35 -0
  70. package/nitrogen/generated/android/nitroposeexercises+autolinking.cmake +81 -0
  71. package/nitrogen/generated/android/nitroposeexercises+autolinking.gradle +27 -0
  72. package/nitrogen/generated/android/nitroposeexercisesOnLoad.cpp +66 -0
  73. package/nitrogen/generated/android/nitroposeexercisesOnLoad.hpp +34 -0
  74. package/nitrogen/generated/ios/NitroPoseExercises+autolinking.rb +62 -0
  75. package/nitrogen/generated/ios/NitroPoseExercises-Swift-Cxx-Bridge.cpp +100 -0
  76. package/nitrogen/generated/ios/NitroPoseExercises-Swift-Cxx-Bridge.hpp +449 -0
  77. package/nitrogen/generated/ios/NitroPoseExercises-Swift-Cxx-Umbrella.hpp +95 -0
  78. package/nitrogen/generated/ios/NitroPoseExercisesAutolinking.mm +33 -0
  79. package/nitrogen/generated/ios/NitroPoseExercisesAutolinking.swift +26 -0
  80. package/nitrogen/generated/ios/c++/HybridNitroPoseExercisesSpecSwift.cpp +11 -0
  81. package/nitrogen/generated/ios/c++/HybridNitroPoseExercisesSpecSwift.hpp +236 -0
  82. package/nitrogen/generated/ios/swift/AngleDefinition.swift +44 -0
  83. package/nitrogen/generated/ios/swift/AngleSnapshot.swift +34 -0
  84. package/nitrogen/generated/ios/swift/ExerciseConfig.swift +83 -0
  85. package/nitrogen/generated/ios/swift/ExercisePhase.swift +52 -0
  86. package/nitrogen/generated/ios/swift/ExerciseType.swift +44 -0
  87. package/nitrogen/generated/ios/swift/FormFeedback.swift +39 -0
  88. package/nitrogen/generated/ios/swift/FormRule.swift +54 -0
  89. package/nitrogen/generated/ios/swift/FormSeverity.swift +44 -0
  90. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  91. package/nitrogen/generated/ios/swift/Func_void_ExercisePhase.swift +46 -0
  92. package/nitrogen/generated/ios/swift/Func_void_FormFeedback.swift +46 -0
  93. package/nitrogen/generated/ios/swift/Func_void_HoldProgress.swift +46 -0
  94. package/nitrogen/generated/ios/swift/Func_void_RepData.swift +46 -0
  95. package/nitrogen/generated/ios/swift/Func_void_SessionResult.swift +46 -0
  96. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  97. package/nitrogen/generated/ios/swift/HoldProgress.swift +39 -0
  98. package/nitrogen/generated/ios/swift/HybridNitroPoseExercisesSpec.swift +73 -0
  99. package/nitrogen/generated/ios/swift/HybridNitroPoseExercisesSpec_cxx.swift +483 -0
  100. package/nitrogen/generated/ios/swift/Landmark.swift +44 -0
  101. package/nitrogen/generated/ios/swift/PhaseThreshold.swift +44 -0
  102. package/nitrogen/generated/ios/swift/RepData.swift +50 -0
  103. package/nitrogen/generated/ios/swift/SessionResult.swift +66 -0
  104. package/nitrogen/generated/ios/swift/SessionStatus.swift +52 -0
  105. package/nitrogen/generated/shared/c++/AngleDefinition.hpp +95 -0
  106. package/nitrogen/generated/shared/c++/AngleSnapshot.hpp +87 -0
  107. package/nitrogen/generated/shared/c++/ExerciseConfig.hpp +122 -0
  108. package/nitrogen/generated/shared/c++/ExercisePhase.hpp +88 -0
  109. package/nitrogen/generated/shared/c++/ExerciseType.hpp +80 -0
  110. package/nitrogen/generated/shared/c++/FormFeedback.hpp +93 -0
  111. package/nitrogen/generated/shared/c++/FormRule.hpp +105 -0
  112. package/nitrogen/generated/shared/c++/FormSeverity.hpp +80 -0
  113. package/nitrogen/generated/shared/c++/HoldProgress.hpp +91 -0
  114. package/nitrogen/generated/shared/c++/HybridNitroPoseExercisesSpec.cpp +46 -0
  115. package/nitrogen/generated/shared/c++/HybridNitroPoseExercisesSpec.hpp +117 -0
  116. package/nitrogen/generated/shared/c++/Landmark.hpp +95 -0
  117. package/nitrogen/generated/shared/c++/PhaseThreshold.hpp +97 -0
  118. package/nitrogen/generated/shared/c++/RepData.hpp +97 -0
  119. package/nitrogen/generated/shared/c++/SessionResult.hpp +108 -0
  120. package/nitrogen/generated/shared/c++/SessionStatus.hpp +88 -0
  121. package/package.json +187 -0
  122. package/src/NitroPoseExercises.nitro.ts +155 -0
  123. package/src/config/pushup.ts +62 -0
  124. 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
+ }