replate-camera 0.1.1 → 0.1.3
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/ios/ReplateCameraViewManager.m +6 -0
- package/ios/ReplateCameraViewManager.swift +24 -4
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +8 -0
- package/ios/ReplateCameraController.swift +0 -15
|
@@ -16,6 +16,12 @@ RCT_EXPORT_VIEW_PROPERTY(color, NSString)
|
|
|
16
16
|
RCT_EXTERN_METHOD(takePhoto:(RCTPromiseResolveBlock*)resolve
|
|
17
17
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
18
18
|
|
|
19
|
+
RCT_EXTERN_METHOD(getPhotosCount:(RCTPromiseResolveBlock*)resolve
|
|
20
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
21
|
+
|
|
22
|
+
RCT_EXTERN_METHOD(isScanComplete:(RCTPromiseResolveBlock*)resolve
|
|
23
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
24
|
+
|
|
19
25
|
+ (BOOL)requiresMainQueueSetup
|
|
20
26
|
{
|
|
21
27
|
return NO;
|
|
@@ -27,6 +27,8 @@ class ReplateCameraView : UIView, ARSessionDelegate {
|
|
|
27
27
|
static var spheresModels: [ModelEntity] = []
|
|
28
28
|
static var upperSpheresSet: [Bool] = [Bool](repeating: false, count: 72)
|
|
29
29
|
static var lowerSpheresSet: [Bool] = [Bool](repeating: false, count: 72)
|
|
30
|
+
static var totalPhotosTaken: Int = 0
|
|
31
|
+
static var photosFromDifferentAnglesTaken = 0
|
|
30
32
|
|
|
31
33
|
override init(frame: CGRect) {
|
|
32
34
|
super.init(frame: frame)
|
|
@@ -40,6 +42,8 @@ class ReplateCameraView : UIView, ARSessionDelegate {
|
|
|
40
42
|
// setupAR()
|
|
41
43
|
}
|
|
42
44
|
|
|
45
|
+
|
|
46
|
+
|
|
43
47
|
func requestCameraPermissions(){
|
|
44
48
|
|
|
45
49
|
if AVCaptureDevice.authorizationStatus(for: .video) == .authorized {
|
|
@@ -129,8 +133,8 @@ class ReplateCameraView : UIView, ARSessionDelegate {
|
|
|
129
133
|
let angle = Float(i) * (Float.pi / 180) * 5 // 10 degrees in radians
|
|
130
134
|
let x = radius * cos(angle)
|
|
131
135
|
let z = radius * sin(angle)
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
let spherePosition = SIMD3<Float>(x, y, z)
|
|
137
|
+
let sphereEntity = createSphere(position: spherePosition)
|
|
134
138
|
ReplateCameraView.spheresModels.append(sphereEntity)
|
|
135
139
|
ReplateCameraView.anchorEntity.addChild(sphereEntity)
|
|
136
140
|
}
|
|
@@ -198,6 +202,16 @@ class ReplateCameraView : UIView, ARSessionDelegate {
|
|
|
198
202
|
@objc(ReplateCameraController)
|
|
199
203
|
class ReplateCameraController: NSObject {
|
|
200
204
|
|
|
205
|
+
@objc(getPhotosCount:rejecter:)
|
|
206
|
+
func getPhotosCount(_ resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) -> Void{
|
|
207
|
+
resolver(ReplateCameraView.totalPhotosTaken)
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
@objc(isScanComplete:rejecter:)
|
|
211
|
+
func isScanComplete(_ resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) -> Void{
|
|
212
|
+
resolver(ReplateCameraView.photosFromDifferentAnglesTaken == 144)
|
|
213
|
+
}
|
|
214
|
+
|
|
201
215
|
@objc(takePhoto:rejecter:)
|
|
202
216
|
func takePhoto(_ resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) -> Void {
|
|
203
217
|
|
|
@@ -335,10 +349,16 @@ class ReplateCameraController: NSObject {
|
|
|
335
349
|
let sphereIndex = Int(floor(angleToAnchor/5))
|
|
336
350
|
var mesh: ModelEntity?
|
|
337
351
|
if(deviceTargetInFocus == 1 && !ReplateCameraView.upperSpheresSet[sphereIndex]){
|
|
338
|
-
ReplateCameraView.upperSpheresSet[sphereIndex]
|
|
352
|
+
if(!ReplateCameraView.upperSpheresSet[sphereIndex]){
|
|
353
|
+
ReplateCameraView.upperSpheresSet[sphereIndex] = true
|
|
354
|
+
ReplateCameraView.photosFromDifferentAnglesTaken += 1
|
|
355
|
+
}
|
|
339
356
|
mesh = ReplateCameraView.spheresModels[72+sphereIndex]
|
|
340
357
|
}else if(deviceTargetInFocus == 0 && !ReplateCameraView.lowerSpheresSet[sphereIndex]){
|
|
341
|
-
ReplateCameraView.lowerSpheresSet[sphereIndex]
|
|
358
|
+
if(!ReplateCameraView.lowerSpheresSet[sphereIndex]){
|
|
359
|
+
ReplateCameraView.lowerSpheresSet[sphereIndex] = true
|
|
360
|
+
ReplateCameraView.photosFromDifferentAnglesTaken += 1
|
|
361
|
+
}
|
|
342
362
|
mesh = ReplateCameraView.spheresModels[sphereIndex]
|
|
343
363
|
}
|
|
344
364
|
if (mesh != nil){
|
package/lib/commonjs/index.js
CHANGED
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ReplateCameraView = void 0;
|
|
7
|
+
exports.getPhotosCount = getPhotosCount;
|
|
8
|
+
exports.isScanComplete = isScanComplete;
|
|
7
9
|
exports.takePhoto = takePhoto;
|
|
8
10
|
var _reactNative = require("react-native");
|
|
9
11
|
const LINKING_ERROR = `The package 'replate-camera' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
@@ -22,4 +24,10 @@ const ReplateCameraModule = _reactNative.NativeModules.ReplateCameraController ?
|
|
|
22
24
|
function takePhoto() {
|
|
23
25
|
return ReplateCameraModule.takePhoto();
|
|
24
26
|
}
|
|
27
|
+
function getPhotosCount() {
|
|
28
|
+
return ReplateCameraModule.getPhotosCount();
|
|
29
|
+
}
|
|
30
|
+
function isScanComplete() {
|
|
31
|
+
return ReplateCameraModule.isScanComplete();
|
|
32
|
+
}
|
|
25
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","ComponentName","ReplateCameraView","exports","UIManager","getViewManagerConfig","requireNativeComponent","Error","ReplateCameraModule","NativeModules","ReplateCameraController","Proxy","get","takePhoto"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","ComponentName","ReplateCameraView","exports","UIManager","getViewManagerConfig","requireNativeComponent","Error","ReplateCameraModule","NativeModules","ReplateCameraController","Proxy","get","takePhoto","getPhotosCount","isScanComplete"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,MAAMC,aAAa,GAChB,yEAAwE,GACzEC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAQjC,MAAMC,aAAa,GAAG,mBAAmB;AAElC,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAC5BE,sBAAS,CAACC,oBAAoB,CAACJ,aAAa,CAAC,IAAI,IAAI,GACjD,IAAAK,mCAAsB,EAAqBL,aAAa,CAAC,GACzD,MAAM;EACJ,MAAM,IAAIM,KAAK,CAACX,aAAa,CAAC;AAChC,CAAC;AAEP,MAAMY,mBAAmB,GAAGC,0BAAa,CAACC,uBAAuB,GAC7DD,0BAAa,CAACC,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIL,KAAK,CAACX,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASiB,SAASA,CAAA,EAAoB;EAC3C,OAAOL,mBAAmB,CAACK,SAAS,CAAC,CAAC;AACxC;AAEO,SAASC,cAAcA,CAAA,EAAoB;EAChD,OAAON,mBAAmB,CAACM,cAAc,CAAC,CAAC;AAC7C;AAEO,SAASC,cAAcA,CAAA,EAAqB;EACjD,OAAOP,mBAAmB,CAACO,cAAc,CAAC,CAAC;AAC7C","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -15,4 +15,10 @@ const ReplateCameraModule = NativeModules.ReplateCameraController ? NativeModule
|
|
|
15
15
|
export function takePhoto() {
|
|
16
16
|
return ReplateCameraModule.takePhoto();
|
|
17
17
|
}
|
|
18
|
+
export function getPhotosCount() {
|
|
19
|
+
return ReplateCameraModule.getPhotosCount();
|
|
20
|
+
}
|
|
21
|
+
export function isScanComplete() {
|
|
22
|
+
return ReplateCameraModule.isScanComplete();
|
|
23
|
+
}
|
|
18
24
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["requireNativeComponent","UIManager","Platform","NativeModules","LINKING_ERROR","select","ios","default","ComponentName","ReplateCameraView","getViewManagerConfig","Error","ReplateCameraModule","ReplateCameraController","Proxy","get","takePhoto"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SACEA,sBAAsB,EACtBC,SAAS,EACTC,QAAQ,EAERC,aAAa,QACR,cAAc;AAErB,MAAMC,aAAa,GAChB,yEAAwE,GACzEF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAQjC,MAAMC,aAAa,GAAG,mBAAmB;AAEzC,OAAO,MAAMC,iBAAiB,GAC5BR,SAAS,CAACS,oBAAoB,CAACF,aAAa,CAAC,IAAI,IAAI,GACjDR,sBAAsB,CAAqBQ,aAAa,CAAC,GACzD,MAAM;EACJ,MAAM,IAAIG,KAAK,CAACP,aAAa,CAAC;AAChC,CAAC;AAEP,MAAMQ,mBAAmB,GAAGT,aAAa,CAACU,uBAAuB,GAC7DV,aAAa,CAACU,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIJ,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASY,SAASA,CAAA,EAAoB;EAC3C,OAAOJ,mBAAmB,CAACI,SAAS,CAAC,CAAC;AACxC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["requireNativeComponent","UIManager","Platform","NativeModules","LINKING_ERROR","select","ios","default","ComponentName","ReplateCameraView","getViewManagerConfig","Error","ReplateCameraModule","ReplateCameraController","Proxy","get","takePhoto","getPhotosCount","isScanComplete"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SACEA,sBAAsB,EACtBC,SAAS,EACTC,QAAQ,EAERC,aAAa,QACR,cAAc;AAErB,MAAMC,aAAa,GAChB,yEAAwE,GACzEF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAQjC,MAAMC,aAAa,GAAG,mBAAmB;AAEzC,OAAO,MAAMC,iBAAiB,GAC5BR,SAAS,CAACS,oBAAoB,CAACF,aAAa,CAAC,IAAI,IAAI,GACjDR,sBAAsB,CAAqBQ,aAAa,CAAC,GACzD,MAAM;EACJ,MAAM,IAAIG,KAAK,CAACP,aAAa,CAAC;AAChC,CAAC;AAEP,MAAMQ,mBAAmB,GAAGT,aAAa,CAACU,uBAAuB,GAC7DV,aAAa,CAACU,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIJ,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASY,SAASA,CAAA,EAAoB;EAC3C,OAAOJ,mBAAmB,CAACI,SAAS,CAAC,CAAC;AACxC;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAoB;EAChD,OAAOL,mBAAmB,CAACK,cAAc,CAAC,CAAC;AAC7C;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAqB;EACjD,OAAON,mBAAmB,CAACM,cAAc,CAAC,CAAC;AAC7C","ignoreList":[]}
|
|
@@ -5,5 +5,7 @@ type ReplateCameraProps = {
|
|
|
5
5
|
};
|
|
6
6
|
export declare const ReplateCameraView: import("react-native").HostComponent<ReplateCameraProps> | (() => never);
|
|
7
7
|
export declare function takePhoto(): Promise<string>;
|
|
8
|
+
export declare function getPhotosCount(): Promise<number>;
|
|
9
|
+
export declare function isScanComplete(): Promise<boolean>;
|
|
8
10
|
export {};
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAQtB,KAAK,kBAAkB,GAAG;IAExB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAIF,eAAO,MAAM,iBAAiB,0EAKvB,CAAC;AAaR,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAE3C"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAQtB,KAAK,kBAAkB,GAAG;IAExB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAIF,eAAO,MAAM,iBAAiB,0EAKvB,CAAC;AAaR,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAE3C;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAEjD"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -41,3 +41,11 @@ const ReplateCameraModule = NativeModules.ReplateCameraController
|
|
|
41
41
|
export function takePhoto(): Promise<string> {
|
|
42
42
|
return ReplateCameraModule.takePhoto();
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
export function getPhotosCount(): Promise<number> {
|
|
46
|
+
return ReplateCameraModule.getPhotosCount();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function isScanComplete(): Promise<boolean> {
|
|
50
|
+
return ReplateCameraModule.isScanComplete();
|
|
51
|
+
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
@objc(ReplateCameraController)
|
|
2
|
-
class ReplateCameraController: NSObject {
|
|
3
|
-
|
|
4
|
-
@objc(takePhoto:rejecter:)
|
|
5
|
-
func takePhoto(_ resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) -> Void {
|
|
6
|
-
print("Take photo")
|
|
7
|
-
resolver("Photo taken")
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@objc
|
|
11
|
-
func constantsToExport() -> [String: Any]! {
|
|
12
|
-
return ["someKey": "someValue"]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
}
|