[dali_2.1.32] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / public-api / loader / mesh-geometry.h
1 #ifndef DALI_SCENE3D_LOADERER_MESH_GEOMETRY_H
2 #define DALI_SCENE3D_LOADERER_MESH_GEOMETRY_H
3 /*
4  * Copyright (c) 2022 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 // INTERNAL INCLUDES
21 #include "dali-scene3d/public-api/api.h"
22
23 // EXTERNAL INCLUDES
24 #include "dali/public-api/rendering/geometry.h"
25 #include "dali/public-api/rendering/texture.h"
26
27 namespace Dali
28 {
29 namespace Scene3D
30 {
31 namespace Loader
32 {
33 struct DALI_SCENE3D_API MeshGeometry
34 {
35   Geometry      geometry;                    ///< The array of vertices.
36   Texture       blendShapeGeometry;          ///< The array of vertices of the different blend shapes encoded inside a texture with power of two dimensions.
37   Vector<float> blendShapeUnnormalizeFactor; ///< Factor used to unnormalize the geometry of the blend shape.
38   unsigned int  blendShapeBufferOffset{0};   ///< Offset used to calculate the start of each blend shape.
39 };
40
41 } // namespace Loader
42 } // namespace Scene3D
43 } // namespace Dali
44
45 #endif // DALI_SCENE3D_LOADERER_MESH_GEOMETRY_H