[dali_2.3.20] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / public-api / loader / bvh-loader.h
1 #ifndef DALI_SCENE3D_LOADER_BVH_LOADER_H
2 #define DALI_SCENE3D_LOADER_BVH_LOADER_H
3
4 /*
5  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali-scene3d/public-api/loader/animation-definition.h>
23
24 namespace Dali::Scene3D::Loader
25 {
26 /**
27  * @brief Loads motion capture data from bvh file format.
28  *
29  * @SINCE_2_1.32
30  * @param[in] path The file path.
31  * @param[in] animationName Name of the motion capture animation
32  * @param[in] useRootTranslationOnly True to use only root translation with rotation animation.
33  * @param[in] scale The scale factor to set on the position property manually.
34  * @return AnimationDefinition that includes joint animation information.
35  */
36 DALI_SCENE3D_API AnimationDefinition LoadBvh(const std::string& path, const std::string& animationName, bool useRootTranslationOnly, const Vector3& scale = Vector3::ONE);
37
38 /**
39  * @brief Loads motion capture data from bvh data stream.
40  *
41  * @SINCE_2_2.23
42  * @param[in] rawBuffer The bvh buffer.
43  * @param[in] rawBufferLength The length of buffer.
44  * @param[in] animationName Name of the motion capture animation
45  * @param[in] useRootTranslationOnly True to use only root translation with rotation animation.
46  * @param[in] scale The scale factor to set on the position property manually.
47  * @return AnimationDefinition that includes joint animation information.
48  */
49 DALI_SCENE3D_API AnimationDefinition LoadBvhFromBuffer(const uint8_t* rawBuffer, int rawBufferLength, const std::string& animationName, bool useRootTranslationOnly, const Vector3& scale = Vector3::ONE);
50
51 } // namespace Dali::Scene3D::Loader
52
53 #endif // DALI_SCENE3D_LOADER_BVH_LOADER_H