utColladaExportLight.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 ColladaExportLight : 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(ColladaExportLight, testExportLight)
  31. {
  32. const char* file = "cameraExp.dae";
  33. const aiScene* pTest = im->ReadFile("../test/models/Collada/lights.dae",0);
  34. ASSERT_TRUE(pTest!=NULL);
  35. ASSERT_TRUE(pTest->HasLights());
  36. EXPECT_EQ(AI_SUCCESS,ex->Export(pTest,"collada",file));
  37. EXPECT_EQ(AI_SUCCESS,ex->Export(pTest,"collada","/home/wise/lightsExp.dae"));
  38. const aiScene* imported = im->ReadFile(file,0);
  39. ASSERT_TRUE(imported!=NULL);
  40. EXPECT_TRUE(imported->HasLights());
  41. EXPECT_EQ(pTest->mNumLights,imported->mNumLights);
  42. for(size_t i=0; i< pTest->mNumLights;i++){
  43. const aiLight *orig = pTest->mLights[i];
  44. const aiLight *read = imported->mLights[i];
  45. EXPECT_TRUE(orig->mName==read->mName);
  46. EXPECT_EQ(orig->mType,read->mType);
  47. EXPECT_FLOAT_EQ(orig->mAttenuationConstant,read->mAttenuationConstant);
  48. EXPECT_FLOAT_EQ(orig->mAttenuationLinear,read->mAttenuationLinear);
  49. EXPECT_FLOAT_EQ(orig->mAttenuationQuadratic,read->mAttenuationQuadratic);
  50. EXPECT_FLOAT_EQ(orig->mColorAmbient.r,read->mColorAmbient.r);
  51. EXPECT_FLOAT_EQ(orig->mColorAmbient.g,read->mColorAmbient.g);
  52. EXPECT_FLOAT_EQ(orig->mColorAmbient.b,read->mColorAmbient.b);
  53. EXPECT_FLOAT_EQ(orig->mColorDiffuse.r,read->mColorDiffuse.r);
  54. EXPECT_FLOAT_EQ(orig->mColorDiffuse.g,read->mColorDiffuse.g);
  55. EXPECT_FLOAT_EQ(orig->mColorDiffuse.b,read->mColorDiffuse.b);
  56. EXPECT_FLOAT_EQ(orig->mColorSpecular.r,read->mColorSpecular.r);
  57. EXPECT_FLOAT_EQ(orig->mColorSpecular.g,read->mColorSpecular.g);
  58. EXPECT_FLOAT_EQ(orig->mColorSpecular.b,read->mColorSpecular.b);
  59. EXPECT_NEAR(orig->mAngleInnerCone,read->mAngleInnerCone,0.001);
  60. EXPECT_NEAR(orig->mAngleOuterCone,read->mAngleOuterCone,0.001);
  61. }
  62. }
  63. #endif