[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-physics / third-party / bullet3 / src / BulletSoftBody / BulletReducedDeformableBody / btReducedDeformableBodyHelpers.h
1 #ifndef BT_REDUCED_SOFT_BODY_HELPERS_H
2 #define BT_REDUCED_SOFT_BODY_HELPERS_H
3
4 #include "btReducedDeformableBody.h"
5 #include <string>
6
7 struct btReducedDeformableBodyHelpers
8 {
9         // create a reduced deformable object
10         static btReducedDeformableBody* createReducedDeformableObject(btSoftBodyWorldInfo& worldInfo, const std::string& file_path, const std::string& vtk_file, const int num_modes, bool rigid_only);
11         // read in geometry info from Vtk file
12   static btReducedDeformableBody* createFromVtkFile(btSoftBodyWorldInfo& worldInfo, const char* vtk_file);
13         // read in all reduced files
14         static void readReducedDeformableInfoFromFiles(btReducedDeformableBody* rsb, const char* file_path);
15         // read in a binary vector
16         static void readBinaryVec(btReducedDeformableBody::tDenseArray& vec, const unsigned int n_size, const char* file);
17         // read in a binary matrix
18         static void readBinaryMat(btReducedDeformableBody::tDenseMatrix& mat, const unsigned int n_modes, const unsigned int n_full, const char* file);
19         
20         // calculate the local inertia tensor for a box shape reduced deformable object
21         static void calculateLocalInertia(btVector3& inertia, const btScalar mass, const btVector3& half_extents, const btVector3& margin);
22 };
23
24
25 #endif // BT_REDUCED_SOFT_BODY_HELPERS_H