Adding ViroKit. Needs AWSCore :(
This commit is contained in:
78
mobile/ios/ViroKit.framework/Headers/VROARCamera.h
Normal file
78
mobile/ios/ViroKit.framework/Headers/VROARCamera.h
Normal file
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// VROARCamera.h
|
||||
// ViroKit
|
||||
//
|
||||
// Created by Raj Advani on 6/6/17.
|
||||
// Copyright © 2017 Viro Media. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef VROARCamera_h
|
||||
#define VROARCamera_h
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
class VROViewport;
|
||||
class VROMatrix4f;
|
||||
class VROVector3f;
|
||||
class VROFieldOfView;
|
||||
|
||||
enum class VROARTrackingState {
|
||||
Unavailable,
|
||||
Limited,
|
||||
Normal,
|
||||
};
|
||||
|
||||
/*
|
||||
Provides reasons for why we are in Limited tracking state.
|
||||
*/
|
||||
enum class VROARTrackingStateReason {
|
||||
None,
|
||||
ExcessiveMotion,
|
||||
InsufficientFeatures
|
||||
};
|
||||
|
||||
/*
|
||||
Contains information about the current camera position and imaging
|
||||
characteristics. Updated periodically by the VROARSession.
|
||||
*/
|
||||
class VROARCamera {
|
||||
public:
|
||||
|
||||
VROARCamera() {}
|
||||
virtual ~VROARCamera() {}
|
||||
|
||||
/*
|
||||
Get the quality of the tracking. If we are in limited tracking state,
|
||||
getLimitedTrackingStateReason() will return the reason for this state.
|
||||
*/
|
||||
virtual VROARTrackingState getTrackingState() const = 0;
|
||||
virtual VROARTrackingStateReason getLimitedTrackingStateReason() const = 0;
|
||||
|
||||
/*
|
||||
Get the position and rotation of the user in world space. These values
|
||||
are derived from the AR camera's extrinsic matrix, acquired via visual and
|
||||
inertial algorithms. They can be used to construct the view matrix for the
|
||||
renderer.
|
||||
*/
|
||||
virtual VROMatrix4f getRotation() const = 0;
|
||||
virtual VROVector3f getPosition() const = 0;
|
||||
|
||||
/*
|
||||
Get the projection matrix needed to render a 3D scene to match the image
|
||||
captured by this AR camera. The returned matrix is a concatenation of the
|
||||
AR camera's intrinsic matrix (3D space --> 2D space) and the renderer's
|
||||
orthographic projection matrix (2D space --> normalized device space).
|
||||
This function should also output the field of view in the provided output
|
||||
variable.
|
||||
*/
|
||||
virtual VROMatrix4f getProjection(VROViewport viewport, float near, float far, VROFieldOfView *outFOV) const = 0;
|
||||
|
||||
/*
|
||||
Get the image size (width, height) for the camera. Stored in the
|
||||
vector's x and y components.
|
||||
*/
|
||||
virtual VROVector3f getImageSize() const = 0;
|
||||
|
||||
};
|
||||
|
||||
#endif /* VROARCamera_h */
|
||||
Reference in New Issue
Block a user