68 updateFrame(imgBGR, intrinsic,
true, imgBGR.cols, imgBGR.rows);
92 std::string deviceId =
"ARKit";
95 float focalLengthPix = -1.f;
96 if (!
_frame->intrinsics.empty())
98 focalLengthPix = 0.5 * (
_frame->intrinsics.at<
double>(0, 0) +
_frame->intrinsics.at<
double>(1, 1));
105 Utils::warnMsg(
"SENSiOSARKit",
"retrieveCaptureProperties: Could not retrieve a valid frame!", __LINE__, __FILE__);
120 bool provideIntrinsics)
SENSCameraFacing
Definition of camera facing.
High Resolution Timer class using C++11.
SENSCameraConfig _config
indicates what is currently running
SENSFrameBasePtr latestFrame() override
Get the latest captured frame. If no frame was captured the frame will be empty (null).
SENSCaptureProps _captureProperties
SENSFrameBasePtr _frame
current frame
std::atomic< bool > _started
flags if camera was started
void updateFrame(cv::Mat bgrImg, cv::Mat intrinsics, int width, int height, bool intrinsicsChanged)
void processStart()
call from start function to do startup preprocessing
const SENSCameraFacing & facing() const
void add(int widthPix, int heightPix, float focalLengthPix)
bool containsDeviceId(const std::string &deviceId) const
const SENSCameraDeviceProps * camPropsForDeviceId(const std::string &deviceId) const
void retrieveCaptureProperties()
bool update(cv::Mat &pose) override
bool isAvailable() override
bool init(unsigned int textureId=0, bool retrieveCpuImg=false, int targetWidth=-1) override
const SENSCaptureProps & captureProperties() override
Get SENSCaptureProps which contains necessary information about all available camera devices and thei...
const SENSCameraConfig & start(std::string deviceId, const SENSCameraStreamConfig &streamConfig, bool provideIntrinsics) override
SENSiOSARCoreDelegate * _arcoreDelegate
int run(Config config)
App::run implementation from App.h for the Emscripten platform.
void warnMsg(const char *tag, const char *msg, const int line, const char *file)
Platform independent warn message output.
void log(const char *tag, const char *format,...)
logs a formatted string platform independently