2013-11-10 16:03:07 +00:00
|
|
|
#include "Camera_Test.h"
|
|
|
|
CPPUNIT_TEST_SUITE_REGISTRATION(Camera_Test);
|
2013-04-27 19:41:57 +00:00
|
|
|
|
2013-11-10 16:03:07 +00:00
|
|
|
#include "camera.h"
|
2013-04-27 19:41:57 +00:00
|
|
|
|
2013-11-10 16:03:07 +00:00
|
|
|
void Camera_Test::test_camera_definition()
|
2013-04-27 19:41:57 +00:00
|
|
|
{
|
|
|
|
CameraDefinition* cam;
|
|
|
|
cam = cameraCreateDefinition();
|
|
|
|
|
|
|
|
cameraSetLocationCoords(cam, 0.0, 1.0, 1.0);
|
|
|
|
cameraSetTargetCoords(cam, 0.0, 0.0, 0.0);
|
|
|
|
|
2013-05-18 21:43:19 +00:00
|
|
|
ck_assert_vector_values(cameraGetLocation(cam), 0.0, 1.0, 1.0);
|
|
|
|
ck_assert_vector_values(cameraGetTarget(cam), 0.0, 0.0, 0.0);
|
2013-04-27 19:41:57 +00:00
|
|
|
|
|
|
|
cameraDeleteDefinition(cam);
|
|
|
|
}
|
|
|
|
|
2013-11-10 16:03:07 +00:00
|
|
|
void Camera_Test::test_camera_projection()
|
2013-06-11 10:07:17 +00:00
|
|
|
{
|
|
|
|
CameraDefinition* cam;
|
|
|
|
cam = cameraCreateDefinition();
|
|
|
|
|
|
|
|
cameraSetLocationCoords(cam, 0.0, 1.0, 1.0);
|
|
|
|
cameraSetTargetCoords(cam, 0.0, 0.0, 0.0);
|
|
|
|
|
|
|
|
/* Test the reversibility of projection */
|
|
|
|
Vector3 point = cameraProject(cam, v3(12.0, 5.2, -6.3));
|
|
|
|
point = cameraUnproject(cam, point);
|
|
|
|
ck_assert_vector_values(point, 12.0, 5.2, -6.3);
|
2013-06-13 15:37:29 +00:00
|
|
|
point = cameraProject(cam, v3(-25.1, 8.3, 1.3));
|
|
|
|
point = cameraUnproject(cam, point);
|
|
|
|
ck_assert_vector_values(point, -25.1, 8.3, 1.3);
|
2013-06-11 10:07:17 +00:00
|
|
|
|
|
|
|
cameraDeleteDefinition(cam);
|
|
|
|
}
|
|
|
|
|
2013-11-10 16:03:07 +00:00
|
|
|
void Camera_Test::test_camera_depth()
|
2013-06-11 10:07:17 +00:00
|
|
|
{
|
|
|
|
CameraDefinition* cam;
|
|
|
|
cam = cameraCreateDefinition();
|
|
|
|
|
|
|
|
cameraSetLocationCoords(cam, 0.0, 0.0, 0.0);
|
|
|
|
cameraSetTargetCoords(cam, 1.0, 0.0, 0.0);
|
|
|
|
|
|
|
|
/* Test the real depth getter */
|
|
|
|
Vector3 point = cameraProject(cam, v3(12.5, 0.0, 0.0));
|
|
|
|
ck_assert_double_eq(cameraGetRealDepth(cam, point), 12.5);
|
2013-06-13 15:37:29 +00:00
|
|
|
point = cameraProject(cam, v3(12.5, 8.0, -3.0));
|
|
|
|
ck_assert_double_eq(cameraGetRealDepth(cam, point), 12.5);
|
|
|
|
point = cameraProject(cam, v3(12.5, 12.0, 58.0));
|
|
|
|
ck_assert_double_eq(cameraGetRealDepth(cam, point), 12.5);
|
2013-06-11 10:07:17 +00:00
|
|
|
|
|
|
|
cameraDeleteDefinition(cam);
|
|
|
|
}
|