[dali_2.3.24] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-scene3d / utc-Dali-MeshDefinition.cpp
index 5ee5617..ba67d42 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,8 +17,8 @@
 
 #include <vector>
 
-#include <dali-scene3d/public-api/loader/mesh-definition.h>
 #include <dali-scene3d/public-api/loader/buffer-definition.h>
+#include <dali-scene3d/public-api/loader/mesh-definition.h>
 #include <dali-test-suite-utils.h>
 
 using namespace Dali;
@@ -28,14 +28,14 @@ int UtcDaliMeshDefinitionBlobApplyMinMaxBothMinMaxApplied(void)
 {
   using Container = std::vector<float>;
 
-  Container buffer = { 4.0f, 6.0f, 8.0f, 10.0f, 12.0f };
-  Container minValues = { 5.0f };
-  Container maxValues = { 10.0f };
-  Container result = {5.0f, 6.0f, 8.0f, 10.0f, 10.0f};
+  Container buffer    = {4.0f, 6.0f, 8.0f, 10.0f, 12.0f};
+  Container minValues = {5.0f};
+  Container maxValues = {10.0f};
+  Container result    = {5.0f, 6.0f, 8.0f, 10.0f, 10.0f};
 
   MeshDefinition::Blob::ApplyMinMax(minValues, maxValues, 5, buffer.data());
 
-  for( auto i = 0u; i < result.size(); ++i)
+  for(auto i = 0u; i < result.size(); ++i)
   {
     DALI_TEST_EQUALS(buffer[i], result[i], TEST_LOCATION);
   }
@@ -47,14 +47,14 @@ int UtcDaliMeshDefinitionBlobApplyMinMaxOnlyMin(void)
 {
   using Container = std::vector<float>;
 
-  Container buffer = { 4.0f, 6.0f, 8.0f, 10.0f, 12.0f };
-  Container minValues = { 5.0f };
+  Container buffer    = {4.0f, 6.0f, 8.0f, 10.0f, 12.0f};
+  Container minValues = {5.0f};
   Container maxValues = {};
-  Container result = {5.0f, 6.0f, 8.0f, 10.0f, 12.0f};
+  Container result    = {5.0f, 6.0f, 8.0f, 10.0f, 12.0f};
 
   MeshDefinition::Blob::ApplyMinMax(minValues, maxValues, 5, buffer.data());
 
-  for( auto i = 0u; i < result.size(); ++i)
+  for(auto i = 0u; i < result.size(); ++i)
   {
     DALI_TEST_EQUALS(buffer[i], result[i], TEST_LOCATION);
   }
@@ -66,14 +66,14 @@ int UtcDaliMeshDefinitionBlobApplyMinMaxOnlyMax(void)
 {
   using Container = std::vector<float>;
 
-  Container buffer = { 4.0f, 6.0f, 8.0f, 10.0f, 12.0f };
-  Container minValues = { };
-  Container maxValues = { 10.0f };
-  Container result = {4.0f, 6.0f, 8.0f, 10.0f, 10.0f};
+  Container buffer    = {4.0f, 6.0f, 8.0f, 10.0f, 12.0f};
+  Container minValues = {};
+  Container maxValues = {10.0f};
+  Container result    = {4.0f, 6.0f, 8.0f, 10.0f, 10.0f};
 
   MeshDefinition::Blob::ApplyMinMax(minValues, maxValues, 5, buffer.data());
 
-  for( auto i = 0u; i < result.size(); ++i)
+  for(auto i = 0u; i < result.size(); ++i)
   {
     DALI_TEST_EQUALS(buffer[i], result[i], TEST_LOCATION);
   }
@@ -85,14 +85,14 @@ int UtcDaliMeshDefinitionBlobApplyMinMaxBothEmpty(void)
 {
   using Container = std::vector<float>;
 
-  Container buffer = { 4.0f, 6.0f, 8.0f, 10.0f, 12.0f };
+  Container buffer = {4.0f, 6.0f, 8.0f, 10.0f, 12.0f};
   Container minValues;
   Container maxValues;
   Container result = {4.0f, 6.0f, 8.0f, 10.0f, 12.0f};
 
   MeshDefinition::Blob::ApplyMinMax(minValues, maxValues, 5, buffer.data());
 
-  for( auto i = 0u; i < result.size(); ++i)
+  for(auto i = 0u; i < result.size(); ++i)
   {
     DALI_TEST_EQUALS(buffer[i], result[i], TEST_LOCATION);
   }
@@ -116,17 +116,17 @@ int UtcDaliMeshDefinitionByteSkinWeight(void)
   meshDefinition.mPositions =
     MeshDefinition::Accessor{
       std::move(MeshDefinition::Blob{0, 12, 0, (uint16_t)12, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0};
-  meshDefinition.mJoints0 =
+  meshDefinition.mJoints.push_back(
     MeshDefinition::Accessor{
-      std::move(MeshDefinition::Blob{0, 16, 0, (uint16_t)16, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0};
-  meshDefinition.mWeights0 =
+      std::move(MeshDefinition::Blob{0, 16, 0, (uint16_t)16, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0});
+  meshDefinition.mWeights.push_back(
     MeshDefinition::Accessor{
-      std::move(MeshDefinition::Blob{0, 8, 0, (uint16_t)8, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0};
+      std::move(MeshDefinition::Blob{0, 8, 0, (uint16_t)8, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0});
 
   MeshDefinition::RawData rawData = meshDefinition.LoadRaw("", buffers);
 
   DALI_TEST_EQUALS(rawData.mAttribs.size(), 4, TEST_LOCATION);
-  DALI_TEST_EQUALS(rawData.mAttribs[3].mName, "aWeights", TEST_LOCATION);
+  DALI_TEST_EQUALS(rawData.mAttribs[3].mName, "aWeights0", TEST_LOCATION);
   DALI_TEST_EQUALS(rawData.mAttribs[3].mNumElements, 2, TEST_LOCATION);
   float* value = reinterpret_cast<float*>(rawData.mAttribs[3].mData.data());
   for(uint32_t i = 0; i < rawData.mAttribs[3].mNumElements * 4; ++i)
@@ -139,7 +139,7 @@ int UtcDaliMeshDefinitionByteSkinWeight(void)
 
 int UtcDaliMeshDefinitionShortSkinWeight(void)
 {
-    float data8[8] = {0.062516, 0.098634, 0.749752, 0.936492, 0.741207, 0.379873, 0.392386, 0.380468};
+  float data8[8] = {0.062516, 0.098634, 0.749752, 0.936492, 0.741207, 0.379873, 0.392386, 0.380468};
 
   BufferDefinition bufferDefinition;
   bufferDefinition.mUri        = "data:application/base64,ARBAGe+/ve+/vT9hc2RmYXNkZmFzZGZhc2RmYXNkZmE=";
@@ -153,17 +153,17 @@ int UtcDaliMeshDefinitionShortSkinWeight(void)
   meshDefinition.mPositions =
     MeshDefinition::Accessor{
       std::move(MeshDefinition::Blob{0, 12, 0, (uint16_t)12, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0};
-  meshDefinition.mJoints0 =
+  meshDefinition.mJoints.push_back(
     MeshDefinition::Accessor{
-      std::move(MeshDefinition::Blob{0, 16, 0, (uint16_t)16, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0};
-  meshDefinition.mWeights0 =
+      std::move(MeshDefinition::Blob{0, 16, 0, (uint16_t)16, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0});
+  meshDefinition.mWeights.push_back(
     MeshDefinition::Accessor{
-      std::move(MeshDefinition::Blob{0, 16, 0, (uint16_t)16, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0};
+      std::move(MeshDefinition::Blob{0, 16, 0, (uint16_t)16, std::vector<float>(), std::vector<float>()}), std::move(sparseBlob), 0});
 
   MeshDefinition::RawData rawData = meshDefinition.LoadRaw("", buffers);
 
   DALI_TEST_EQUALS(rawData.mAttribs.size(), 4, TEST_LOCATION);
-  DALI_TEST_EQUALS(rawData.mAttribs[3].mName, "aWeights", TEST_LOCATION);
+  DALI_TEST_EQUALS(rawData.mAttribs[3].mName, "aWeights0", TEST_LOCATION);
   DALI_TEST_EQUALS(rawData.mAttribs[3].mNumElements, 2, TEST_LOCATION);
   float* value = reinterpret_cast<float*>(rawData.mAttribs[3].mData.data());
   for(uint32_t i = 0; i < rawData.mAttribs[3].mNumElements * 4; ++i)