[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / public-api / loader / mesh-geometry.h
1 #ifndef DALI_SCENE3D_LOADER_MESH_GEOMETRY_H
2 #define DALI_SCENE3D_LOADER_MESH_GEOMETRY_H
3 /*
4  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 // EXTERNAL INCLUDES
21 #include <dali/public-api/rendering/geometry.h>
22 #include <dali/public-api/rendering/texture.h>
23
24 // INTERNAL INCLUDES
25 #include <dali-scene3d/public-api/api.h>
26 #include <dali-scene3d/public-api/model-components/model-primitive.h>
27
28 namespace Dali::Scene3D::Loader
29 {
30 struct DALI_SCENE3D_API MeshGeometry
31 {
32   Geometry       geometry;                    ///< The array of vertices. @SINCE_2_0.7
33   Texture        blendShapeGeometry;          ///< The array of vertices of the different blend shapes encoded inside a texture with power of two dimensions. @SINCE_2_0.7
34   Vector<float>  blendShapeUnnormalizeFactor; ///< Factor used to unnormalize the geometry of the blend shape. @SINCE_2_0.7
35   unsigned int   blendShapeBufferOffset{0};   ///< Offset used to calculate the start of each blend shape. @SINCE_2_0.20
36 };
37
38 } // namespace Dali::Scene3D::Loader
39
40 #endif // DALI_SCENE3D_LOADER_MESH_GEOMETRY_H