documentation

vlSDK_Apple.h
Go to the documentation of this file.
1 //
2 // vlSDK_Apple.h
3 // VisionLib Objective-C Interface
4 //
5 // Created by Timo Engelke on 02.11.16.
6 // Copyright © 2016-2018 Visometry GmbH. All rights reserved.
7 //
8 // Version 0.4
9 //
10 
34 #ifndef vlSDK_APPLE_h
35 #define vlSDK_APPLE_h
36 
37 #import <Foundation/Foundation.h>
38 #if defined(__arm__) || defined(__arm64__)
39 #define vlSDKFOR_IPHONE
40 #endif
41 
42 #ifdef vlSDKFOR_IPHONE
43 #import <UIKit/UIKit.h>
44 #endif
45 
46 #import <Metal/Metal.h>
47 #import <CoreImage/CoreImage.h>
48 
49 /*
50 @interface vlCameraDevice:NSObject {
51 @public
52  NSString *deviceID;
53  NSString *internalID;
54  NSString *cameraName;
55  NSString *position;
56  NSString *prefRes;
57 }
58 @end
59 
60 @interface vlDeviceInfo:NSObject {
61 @public
62  NSString *os;
63  NSString *manufacture;
64  NSString *model;
65  NSString *modelVersion;
66  NSString *unifiedID;
67  NSString *internalModelID;
68  NSString *appID;
69  int numberOfProcessors;
70  int nativeResX;
71  int nativeResY;
72  int currentDisplayOrientation;
73  bool usingEventLogger;
74  bool cameraAllowed;
75  NSArray<vlCameraDevice *> *availableCameras;
76 }
77  @end
78 */
79 
87 FOUNDATION_EXPORT @interface vlModelProperties:NSObject {
88 @public
89 
91  bool enabled;
92 
94  NSString *modelHash;
95 
97  NSString *name;
98 
100  NSString *uri;
101 
103  bool occluder;
104 
107 
110 }
111 /*@property (atomic, assign) bool enabled;
112 @property (nonatomic, retain) NSString * _Nonnull modelHash;
113 @property (nonatomic, retain) NSString *_Nonnull name;
114 @property (nonatomic, assign) bool occluder;
115 @property (nonatomic, assign) int subMeshCount;
116 @property (nonatomic, assign) int triangleCount;
117 @property (nonatomic, retain) NSString *_Nonnull uri;
118 */
119 - (NSString *)toString;
120 @end
121 
122 FOUNDATION_EXPORT @interface vlTrackingIssue:NSObject {
123 @public
124  NSString *info;
125  int code;
126  int level;
127 }
128 @end
129 
130 FOUNDATION_EXPORT @interface vlTrackingIssues:NSObject {
131 @public
132  NSArray<vlTrackingIssue *> *issues;
133  NSString *message;
134 }
136 -(BOOL)hasCode:(int)code;
137 
138 @end
139 
147 FOUNDATION_EXPORT @protocol vlFrameListenerInterface <NSObject>
148 
149 @optional
150 
151 //
152 
159 -(NSMutableData * _Nonnull )onGetDebugImageBufferWithWidth:(int)width andHeight:(int)height andBytesPerPixel:(int)bytesPerPixel;
160 
169 -(void)onRawDebugImageBuffer:(NSData * _Nonnull)data withWidth:(int)width andHeight:(int)height andBytesPerPixel:(int)bytesPerPixel;
170 
177 -(void)onMetalDebugImageTexture:(_Nonnull id<MTLTexture>)texture withRotationMatrix:(float * _Nonnull)m;
178 
185 -(void)onCGDebugImageRef:(CGImageRef _Nonnull)texture withRotationMatrix:(float * _Nonnull)m;
186 
187 
188 
196 -(NSMutableData * _Nonnull )onGetImageBufferWithWidth:(int)width andHeight:(int)height andBytesPerPixel:(int)bytesPerPixel;
197 
206 -(void)onRawImageBuffer:(NSData * _Nonnull)data withWidth:(int)width andHeight:(int)height andBytesPerPixel:(int)bytesPerPixel;
207 
216 -(void)onMetalImageTexture:(_Nonnull id<MTLTexture>)texture withRotationMatrix:(float * _Nonnull)m;
217 
226 -(void)onCGImageRef:(CGImageRef _Nonnull)texture withRotationMatrix:(float * _Nonnull)m;
227 
228 
230 
235 -(void)onTrackerInitialized:(bool)worked;
236 
245 -(void)onTrackerInitializedWithWarningIssues:(vlTrackingIssues* _Nullable)warnings andErrors:(vlTrackingIssues* _Nullable)errors;
246 
252 -(void)onExtrinsicData:(float * _Nonnull)data isValid:(bool)valid;
253 
258 -(void)onIntrinsicData:(float * _Nonnull)data;
259 
269 -(void)onIntrinsicDataWithWidth:(float)width height:(float)height cx:(float)cx cy:(float)cy fx:(float)fx fy:(float)fy;
270 
277 -(void)onLog:(NSString * _Nonnull)logString;
278 
283 -(void)onTrackingPaused:(BOOL)worked;
284 
288 -(void)onSteppedFrame;
289 
311 -(void)onTrackingInformation:(NSDictionary* _Nonnull)info;
312 
316 -(void)onInitPose:(float * _Nonnull)t andQ:(float* _Nonnull)q;
317 
321 -(void)onInitPoseMatrix:(float * _Nonnull)m;
322 
327 -(void)onResetTracking:(BOOL)hard;
328 
329 
331 
336 -(void) onCalibrationResults:(NSString * _Nullable)json;
337 
338 
344 -(void) onGetAttribute:(NSString *_Nonnull)name withValue:(NSString *_Nonnull)value;
345 
346 
347 -(void)onModelProperties:(NSArray<vlModelProperties*>* _Nonnull)info;
348 -(void)onModelRemoved:(NSString * _Nullable)json withError:(NSString * _Nullable)errorJson;
349 -(void)onRawModelAdded:(NSString * _Nullable)json withError:(NSString * _Nullable)errorJson;
350 @end
351 
352 
357 FOUNDATION_EXPORT @interface vlSDK : NSObject {
358 }
359 
366 -(id _Nonnull) initTrackerWithURI:(NSString* _Nonnull)uri andDelegate:(id _Nullable)delegate;
367 
382 -(id _Nonnull) initTrackerWithURI:(NSString* _Nonnull)uri andDelegate:(_Nullable id)delegate withOptions:(NSDictionary * _Nullable)options;
383 
384 
388 - (void) dealloc;
389 
393 - (void) shutDown;
394 
401 -(void) process;
402 
407 -(void)step;
408 
413 -(BOOL) isPaused;
414 
415 
420 -(void) pause:(BOOL)enable;
421 
425 -(void) run;
426 
430 -(void) stop;
431 -(void) start;
432 
433 #ifdef vlSDKFOR_IPHONE
434 
435 
439 -(void) setDeviceOrientation:(UIDeviceOrientation)orientation withWidth:(int)width andHeight:(int)height;
440 #else
441 
445 -(void) windowResized:(CGSize)size;
446 
447 #endif
448 
453 -(void) setLogLevel:(int)level;
454 
459 -(void) setFPS:(unsigned int)fps;
460 
467 -(void) setNearPlane:(float)near andFarPlane:(float)far;
468 
474 -(void) setInitPose:(float * _Nonnull)t andQ:(float* _Nonnull)q;
475 
480 -(void) setInitPoseFromMatrix:(float * _Nonnull)m;
481 
483 
488 -(void) configureExtrinsicCameraInverted:(BOOL)invert;
489 
493 -(void) resetSoft;
494 
500 -(void) resetHard;
501 
505 -(void) getInitPose;
506 
512 -(BOOL) getLastExtrinsic:(float * _Nonnull)m;
513 
519 -(void) applyInitPoseCorrectionWithAxis:(float* _Nonnull)axis andAngle:(float)angle;
520 
527 -(void) getInitPoseCorrectionWithAxis:(float* _Nonnull)axis andAngle:(float* _Nonnull)angle;
528 
536 -(BOOL) enableDebugImage:(NSString * _Nullable)debugImageName;
537 
538 #ifdef vlSDKFOR_IPHONE
539 
542 -(void)startAlignInitPoseWithSensor;
543 
547 -(void)stopAlignInitPoseWithSensor;
548 #endif
549 
550 #ifdef vlSDKFOR_IPHONE
551 
555 -(UIImage * _Nullable)getLastImage;
556 #else
557 
561 -(NSImage * _Nullable) getLastImage;
562 
563 #endif
564 
571 -(void)setAttributeCommand:(NSString * _Nonnull)attribute withFloatValue:(float)value;
572 
579 -(void)setAttributeCommand:(NSString * _Nonnull)attribute withStringValue:(NSString * _Nonnull)value;
580 
586 -(void)getAttributeRequest:(NSString * _Nonnull)attribute;
587 
588 
594 -(void)setCalibrationCommand:(NSString * _Nonnull)command;
595 
601 -(void)writeCalibrationDB:(NSString * _Nonnull)uri;
602 
609 -(NSString * _Nullable)getTrackerType;
610 
624 -(void)writeInitData:(NSString *_Nonnull)uri;
625 
626 
627 
628 
639 -(void)readInitData:(NSString *_Nonnull)uri;
640 
646 -(void)resetInitData;
647 
648 
654 -(void)setModel:(NSString *_Nonnull)name property:(NSString *_Nonnull)property state:(bool)enable;
655 
656 
657 
663 -(void)requestModelProperties;
664 
670 -(void)requestModelData:(NSString*_Nonnull)name withOptions:(NSString *_Nonnull)options;
671 
672 
678 -(void)removeModel:(NSString*_Nonnull)nameURI;
679 
717 -(BOOL)addRawModelWithStruct:(NSString *_Nonnull)struc andData:(NSData*_Nonnull)data;
718 
719 
720 -(void)pushJsonAndBinaryCommand:(NSString *_Nonnull)struc andData:(NSData*_Nonnull)data;
721 -(void)pushJsonCommand:(NSString *_Nonnull)json;
722 -(void)writeLineModelData:(NSString *_Nonnull)uri;
723 -(void)readLineModelData:(NSString *_Nonnull)uri;
724 
725 @end
726 
727 
728 #endif /* vlSDK_APPLE_h */
729 
int subMeshCount
Stats of the model regarding the number of mehes.
Definition: vlSDK_Apple.h:106
NSString * info
Definition: vlSDK_Apple.h:124
NSString * modelHash
The model hash code for licensing of the model.
Definition: vlSDK_Apple.h:94
Definition: vlSDK_Apple.h:130
NSString * message
Definition: vlSDK_Apple.h:133
int code
Definition: vlSDK_Apple.h:125
bool enabled
If the model is expected to be shown.
Definition: vlSDK_Apple.h:91
bool occluder
If the model will occlude other parts as an invisible part.
Definition: vlSDK_Apple.h:103
NSArray< vlTrackingIssue * > * issues
Definition: vlSDK_Apple.h:132
Definition: vlSDK_Apple.h:122
Convenient function for using the vlSDK in a simple manner. The vlSDK wrapper uses the C-Interface a...
Definition: vlSDK_Apple.h:357
int level
Definition: vlSDK_Apple.h:126
NSString * name
The name which has either been automatically assigned, or is coming from the model definitions...
Definition: vlSDK_Apple.h:97
int triangleCount
Stats of the model regarding the number of triangles used.
Definition: vlSDK_Apple.h:109
NSString * uri
The URI of the object that has been referenced.
Definition: vlSDK_Apple.h:100
Properties of models managed by the visionlib. The model properties can be queried by calling request...
Definition: vlSDK_Apple.h:87