28 #ifndef CAMERAARCORE_H_ 29 #define CAMERAARCORE_H_ 40 #include <boost/thread/mutex.hpp> 43 #include <arcore_c_api.h> 44 #include <camera/NdkCameraDevice.h> 45 #include <camera/NdkCameraManager.h> 46 #include <media/NdkImageReader.h> 47 #include <android/native_window.h> 54 const float * pointCloudData,
59 std::vector<cv::KeyPoint> * kpts = 0,
60 std::vector<cv::Point3f> * kpts3D = 0);
63 CameraARCore(
void* env,
void* context,
void* activity,
bool depthFromMotion =
false,
bool smoothing =
false);
75 virtual bool init(
const std::string & calibrationFolder =
".",
const std::string & cameraName =
"");
void imageCallback(AImageReader *reader)
ArCameraIntrinsics * arCameraIntrinsics_
bool updateOcclusionImage_
void getVPMatrices(glm::mat4 &view, glm::mat4 &projection) const
void updateOcclusionImage(bool enabled)
const cv::Mat & getOcclusionImage(CameraModel *model=0) const
virtual SensorData captureImage(CameraInfo *info=0)
static constexpr int kNumVertices
virtual void capturePoseOnly()
const float * uvsTransformed() const
virtual std::string getSerial() const
float transformed_uvs_[BackgroundRenderer::kNumVertices *2]
CameraModel occlusionModel_
rtabmap::Transform getPoseAtTimestamp(double timestamp)
static LaserScan scanFromPointCloudData(const float *pointCloudData, int points, const Transform &pose, const CameraModel &model, const cv::Mat &rgb, std::vector< cv::KeyPoint > *kpts=0, std::vector< cv::Point3f > *kpts3D=0)
virtual bool init(const std::string &calibrationFolder=".", const std::string &cameraName="")
GLuint getTextureId() const
glm::mat4 projectionMatrix_
bool uvsInitialized() const
CameraARCore(void *env, void *context, void *activity, bool depthFromMotion=false, bool smoothing=false)
virtual void setScreenRotationAndSize(ScreenRotation colorCameraToDisplayRotation, int width, int height)