Fix transform issue of skinned mesh
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / public-api / loader / skinning-details.h
index d754f0c..59f778a 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef DALI_SCENE3D_LOADER_SKINNING_DETAILS_H_
 #define DALI_SCENE3D_LOADER_SKINNING_DETAILS_H_
 /*
- * 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.
  *
  */
 
-// INTERNAL INCLUDES
-#include "dali-scene3d/public-api/api.h"
-
 // EXTERNAL INCLUDES
+#include <dali/public-api/rendering/shader.h>
+#include <dali/public-api/animation/constraint.h>
 #include <string>
-#include "dali/public-api/rendering/shader.h"
 
-namespace Dali
-{
-namespace Scene3D
-{
-namespace Loader
+// INTERNAL INCLUDES
+#include <dali-scene3d/public-api/api.h>
+#include <dali-scene3d/public-api/loader/index.h>
+#include <dali-scene3d/public-api/model-components/model-primitive.h>
+
+namespace Dali::Scene3D::Loader
 {
 struct DALI_SCENE3D_API Skinning
 {
+public:
+  struct BoneData
+  {
+    Dali::Scene3D::ModelPrimitive primitive;
+    Dali::Constraint              constraint;
+    Scene3D::Loader::Index        boneIndex;
+    std::string                   propertyName;
+    Matrix                        inverseMatrix;
+  };
+
   /*
    * @brief Upper limit on the number of joints supported.
    */
@@ -45,8 +54,6 @@ struct DALI_SCENE3D_API Skinning
   Skinning() = delete;
 };
 
-} // namespace Loader
-} // namespace Scene3D
-} // namespace Dali
+} // namespace Dali::Scene3D::Loader
 
 #endif // DALI_SCENE3D_LOADER_SKINNING_DETAILS_H_