utColladaExportCamera.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*
  2. * ColladaCameraExporter.cpp
  3. *
  4. * Created on: May 17, 2015
  5. * Author: wise
  6. */
  7. #include "UnitTestPCH.h"
  8. #include <assimp/cexport.h>
  9. #include <assimp/Exporter.hpp>
  10. #include <assimp/Importer.hpp>
  11. #include <assimp/scene.h>
  12. #ifndef ASSIMP_BUILD_NO_EXPORT
  13. class ColladaExportCamera : public ::testing::Test {
  14. public:
  15. virtual void SetUp()
  16. {
  17. ex = new Assimp::Exporter();
  18. im = new Assimp::Importer();
  19. }
  20. virtual void TearDown()
  21. {
  22. delete ex;
  23. delete im;
  24. }
  25. protected:
  26. Assimp::Exporter* ex;
  27. Assimp::Importer* im;
  28. };
  29. // ------------------------------------------------------------------------------------------------
  30. TEST_F(ColladaExportCamera, testExportCamera)
  31. {
  32. const char* file = "cameraExp.dae";
  33. const aiScene* pTest = im->ReadFile("../test/models/Collada/cameras.dae",0);
  34. ASSERT_TRUE(pTest!=NULL);
  35. ASSERT_TRUE(pTest->HasCameras());
  36. EXPECT_EQ(AI_SUCCESS,ex->Export(pTest,"collada",file));
  37. const aiScene* imported = im->ReadFile(file,0);
  38. ASSERT_TRUE(imported!=NULL);
  39. EXPECT_TRUE(imported->HasCameras());
  40. EXPECT_EQ(pTest->mNumCameras,imported->mNumCameras);
  41. for(size_t i=0; i< pTest->mNumCameras;i++){
  42. const aiCamera *orig = pTest->mCameras[i];
  43. const aiCamera *read = imported->mCameras[i];
  44. EXPECT_TRUE(orig->mName==read->mName);
  45. EXPECT_FLOAT_EQ(orig->mHorizontalFOV,read->mHorizontalFOV);
  46. EXPECT_FLOAT_EQ(orig->mClipPlaneNear,read->mClipPlaneNear);
  47. EXPECT_FLOAT_EQ(orig->mClipPlaneFar,read->mClipPlaneFar);
  48. EXPECT_FLOAT_EQ(orig->mPosition.x,read->mPosition.x);
  49. EXPECT_FLOAT_EQ(orig->mPosition.y,read->mPosition.y);
  50. EXPECT_FLOAT_EQ(orig->mPosition.z,read->mPosition.z);
  51. }
  52. }
  53. #endif