diff --git a/WebARKit/WebARKitCamera.cpp b/WebARKit/WebARKitCamera.cpp index f5ec434..e6ae4ff 100644 --- a/WebARKit/WebARKitCamera.cpp +++ b/WebARKit/WebARKitCamera.cpp @@ -33,4 +33,12 @@ void WebARKitCamera::printSettings() { printf(" [%.2f %.2f %.2f]\n", cmat[6], cmat[7], cmat[8]); printf("WebARKit: kc = [%.4f %.4f %.4f %.4f %.4f %.4f]\n", kc[0], kc[1], kc[2], kc[3], kc[4], kc[5]); }; + +std::array WebARKitCamera::getCameraData() const { + return cmat; +} + +std::array WebARKitCamera::getDistortionCoefficients() const { + return kc; +} } // namespace webarkit \ No newline at end of file diff --git a/WebARKit/include/WebARKitCamera.h b/WebARKit/include/WebARKitCamera.h index e4213b8..98824c1 100644 --- a/WebARKit/include/WebARKitCamera.h +++ b/WebARKit/include/WebARKitCamera.h @@ -10,13 +10,17 @@ class WebARKitCamera { ~WebARKitCamera(); bool setupCamera(int width, int height); + void printSettings(); + std::array getCameraData() const; + + std::array getDistortionCoefficients() const; + + private: int xsize, ysize; std::array cmat; std::array kc; - - private: double focal_length; double diagonal_image_size; double diagonal_fov_degrees; diff --git a/tests/webarkit_test.cc b/tests/webarkit_test.cc index 08986d1..e829673 100644 --- a/tests/webarkit_test.cc +++ b/tests/webarkit_test.cc @@ -1,6 +1,7 @@ #include #include #include +#include #include class WebARKitEnumTest : public testing::TestWithParam> {}; @@ -61,6 +62,25 @@ TEST(WebARKitConfigTest, TestBlurSize) { EXPECT_EQ(expected_blur_size.height, blurSize.height); } +TEST(WebARKitConfigTest, TestPIConstant) { + double internal_m_pi = 3.14159265358979323846; + EXPECT_EQ(internal_m_pi, m_pi); +} + +TEST(WebARKitCameraTest, TestCamera) { + int width = 640; + int height = 480; + webarkit::WebARKitCamera camera; + EXPECT_TRUE(camera.setupCamera(width, height)); + std::array camera_mat = camera.getCameraData(); + EXPECT_EQ(camera_mat[0], 571.25920269684582); + EXPECT_EQ(camera_mat[2], 320.0); + EXPECT_EQ(camera_mat[4], 571.25920269684582); + EXPECT_EQ(camera_mat[5], 240.0); + EXPECT_EQ(camera_mat[8], 1.0); + camera.printSettings(); +} + // Check WebARKitManager initialisation. TEST(WebARKitTest, InitialiseBaseAkazeTest) { // Create a WebARKitManager object