Biorbd
ModelReader.h
1 #ifndef BIORBD_UTILS_READ_H
2 #define BIORBD_UTILS_READ_H
3 
4 #include <vector>
5 #include "biorbdConfig.h"
6 
7 namespace biorbd {
8 class Model;
9 
10 namespace rigidbody {
11 class GeneralizedCoordinates;
12 class Mesh;
13 }
14 
15 namespace utils {
16 class Path;
17 class String;
18 class Vector3d;
19 class Vector;
20 class SpatialVector;
21 }
22 
26 class BIORBD_API Reader
27 {
28 public:
33  static biorbd::Model readModelFile(
34  const biorbd::utils::Path &path);
35 
42  static void readModelFile(
43  const biorbd::utils::Path &path,
44  biorbd::Model *model);
45 
51  static std::vector<std::vector<biorbd::utils::Vector3d>> readMarkerDataFile(
52  const utils::Path &path);
53 
59  static std::vector<biorbd::rigidbody::GeneralizedCoordinates> readQDataFile(
60  const biorbd::utils::Path &path);
61 
67  static std::vector<biorbd::utils::Vector> readActivationDataFile(
68  const biorbd::utils::Path &path);
69 
75  static std::vector<biorbd::utils::Vector> readTorqueDataFile(
76  const biorbd::utils::Path &path);
77 
83  static std::vector<biorbd::utils::Vector> readGroundReactionForceDataFile(
84  const biorbd::utils::Path &path);
85 
95  static void readViconForceFile(
96  const biorbd::utils::Path &path,
97  std::vector<std::vector<unsigned int>> &frame,
98  std::vector<unsigned int> &frequency,
99  std::vector<std::vector<biorbd::utils::Vector3d>> &force,
100  std::vector<std::vector<biorbd::utils::Vector3d>> &moment,
101  std::vector<std::vector<biorbd::utils::Vector3d>> &cop);
102 
108  static std::vector<std::vector<biorbd::utils::SpatialVector>>
109  readViconForceFile(
110  const biorbd::utils::String &path);
111 
121  static std::vector<std::vector<biorbd::utils::Vector3d>>
122  readViconMarkerFile(
123  const biorbd::utils::Path &path,
124  int nFramesToGet =-1);
125 
140  static std::vector<std::vector<biorbd::utils::Vector3d>> readViconMarkerFile(
141  const biorbd::utils::Path &path,
142  std::vector<biorbd::utils::String> &markOrder,
143  int nFramesToGet = -1);
144 
150  static biorbd::rigidbody::Mesh readMeshFileBiorbdSegments(
151  const biorbd::utils::Path& path);
152 
158  static biorbd::rigidbody::Mesh readMeshFilePly(
159  const biorbd::utils::Path& path);
160 
166  static biorbd::rigidbody::Mesh readMeshFileObj(
167  const biorbd::utils::Path& path);
168 
169 #ifdef MODULE_VTP_FILES_READER
170  static biorbd::rigidbody::Mesh readMeshFileVtp(
176  const biorbd::utils::Path& path);
177 #endif
178 
179 };
180 
181 }
182 
183 #endif // BIORBD_UTILS_READ_H
biorbd::rigidbody::Mesh
A class that holds the geometry of a segment.
Definition: Mesh.h:21
biorbd::Model
The actual musculoskeletal model that holds everything in biorbd.
Definition: BiorbdModel.h:78
biorbd::Reader
Reader for bioMod files.
Definition: ModelReader.h:27
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition: String.h:17
biorbd::utils::Path
Collection of methods to manipulate path.
Definition: Path.h:17