This header includes the functions to bind the JSON information to the MbsInfos structure. More...
Go to the source code of this file.
Functions | |
int | mbs_json_inertia (JsonNode *bdy_node, MbsInfoBody *mbs_info_body, int mission) |
Translate the inertia key of a node from array (3,3) in node to array (6) in info. More... | |
JsonNode * | load_and_create_json (const char *mbs_json_filename, int *err) |
int | mbs_info_json_binder (MbsInfos *mbs_infos, JsonNode *node, int mission) |
Read or update the information from root node to all MbsInfo. More... | |
int | mbs_info_body_json_binder (MbsInfoBody *mbs_info_body, JsonNode *node, int mission) |
Read or update the information from body node to its MbsInfo. More... | |
int | mbs_info_tree_json_binder (MbsInfos *mbs_infos, JsonNode *node, int mission) |
Read or update the information from tree node to all MbsInfos. More... | |
int | mbs_info_bodytree_json_binder (MbsInfos *mbs_infos, JsonNode *node, int mission) |
Read or update the information in tree->bodies node to MbsInfoBase fields. More... | |
int | mbs_info_base_json_binder (MbsInfoBase *mbs_info_base, JsonNode *node, int mission) |
Read or update the information in base node to MbsInfoBase. More... | |
int | mbs_info_ref_point_json_binder (MbsInfoRefPoint *mbs_info_ref_point, JsonNode *node, int mission) |
int | mbs_info_coordinates_json_binder (double *coordinates_pointer, JsonNode *node, int mission) |
int | mbs_info_point_json_binder (MbsInfoPoint *mbs_info_point, JsonNode *node, int mission) |
int | mbs_info_ball_json_binder (MbsInfoBall *mbs_info_ball, JsonNode *node, int mission) |
Read or update a ball json node with the infos. More... | |
int | mbs_info_rod_json_binder (MbsInfoRod *mbs_info_rod, JsonNode *node, int mission) |
Read or update a rod json node with the infos. More... | |
int | mbs_info_solid_json_binder (MbsInfoSolid *mbs_info_solid, JsonNode *node, int mission) |
Read or update a solid cut json node with the infos. More... | |
int | mbs_info_cuts_json_binder (MbsInfoCuts *mbs_info_cuts, JsonNode *node, int mission) |
Read or update the cuts list json node with the infos. More... | |
int | mbs_info_parameter_json_binder (MbsInfoParameter *mbs_info_parameter, JsonNode *node, int mission) |
Read or update a user model parameter json node with the infos. More... | |
int | mbs_info_user_model_json_binder (MbsInfoUserModel *mbs_info_user_model, JsonNode *node, int mission) |
Read or update a user model json node with the infos. More... | |
int | mbs_info_user_models_json_binder (MbsInfoUserModels *mbs_info_user_models, JsonNode *node, int mission) |
Read or update the user models list json node with the infos. More... | |
int | mbs_info_user_IO_json_binder (MbsInfoUserIO *mbs_info_user_IO, JsonNode *node, int mission) |
int | mbs_info_user_IOs_json_binder (MbsInfoUserIOs *mbs_info_user_IOs, JsonNode *node, int mission) |
int | mbs_info_user_cstr_json_binder (MbsInfoUserCstr *mbs_info_user_cstr, JsonNode *node, int mission) |
int | mbs_info_link_json_binder (MbsInfoLink *mbs_info_link, JsonNode *node, int mission) |
Read or update a link (point to point or 3D) json node with the infos. More... | |
int | mbs_info_links_json_binder (MbsInfoLinks *mbs_info_links, JsonNode *node, int mission) |
Read or update a links list json node with the infos. More... | |
int | mbs_info_links3d_json_binder (MbsInfoLinks *mbs_info_links, JsonNode *node, int mission) |
int | mbs_info_sensor_json_binder (MbsInfoSensor *mbs_info_sensor, JsonNode *node, int mission) |
Read or update a sensor json node with the infos. More... | |
int | mbs_info_sensors_json_binder (MbsInfos *mbs_info, JsonNode *node, int mission) |
Read or update a sensors list json node with the infos. More... | |
int | mbs_info_extforce_json_binder (MbsInfoExtforce *mbs_info_extf, JsonNode *node, int mission) |
Read or update a external force json node with the infos. More... | |
int | mbs_info_extforces_json_binder (MbsInfos *mbs_info, JsonNode *node, int mission) |
Read or update a external forces list json node with the infos. More... | |
int | mbs_info_point_list_json_binder (MbsInfoPoint ***point_list, JsonNode *node, int mission, char *body_name, int *n_point) |
Link between points array value and all "points" key of a Json object node. More... | |
int | mbs_info_joint_json_binder (MbsInfoJoint *mbs_info_joint, JsonNode *node, int mission, int verbose) |
Read or update the information in joints node to MbsInfoBase, MbsInfoJoints. More... | |
int | mbs_info_joints_list_json_binder (MbsInfos *mbs_infos, JsonNode *joints_node, int mission) |
To Be Defined. More... | |
int | mbs_body_joint_recursive_linker (MbsInfos *mbs_info, int *ind_body_joint, int mission, int body_index) |
int | mbs_tree_cleaner (MbsInfos *mbs_info, int mission) |
Correct the parents of joints. More... | |
int | mbs_info_json_linker (MbsInfos *mbs_info, int mission) |
int | mbs_json_axis (JsonNode *axis_node, int *axis_int, int mission) |
Read or update the information in an axis node with an integer. More... | |
int | mbs_json_joint_nature (JsonNode *nature_node, int *nature_int, int mission) |
Read or update the information in an joint nature node with an integer. More... | |
int | mbs_info_init_and_binderJSON (MbsInfos *mbs_infos, const char *mbs_json_name, int mission) |
Init and bind the MBs information contained in the .json file It calls mbs_info_init_and_binderJSON_rtn. More... | |
JsonNode * | mbs_info_init_and_binderJSON_rtn (MbsInfos *mbs_infos, const char *mbs_json_name, int *err, int mission) |
Init and bind the MBS information contained in the .json file Returns a newly allocated JsonNode. ! Freeing the memory must be done after, by the caller. More... | |
This header includes the functions to bind the JSON information to the MbsInfos structure.
Declaration of mbs utilities function for json manipulations.
JsonNode* load_and_create_json | ( | const char * | mbs_json_filename, |
int * | err | ||
) |
int mbs_body_joint_recursive_linker | ( | MbsInfos * | mbs_info, |
int * | ind_body_joint, | ||
int | mission, | ||
int | body_index | ||
) |
int mbs_info_ball_json_binder | ( | MbsInfoBall * | mbs_info_ball, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a ball json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
ball_info | The info of the ball. |
ball_node | The json node of the ball (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_base_json_binder | ( | MbsInfoBase * | mbs_info_base, |
JsonNode * | base_node, | ||
int | mission | ||
) |
Read or update the information in base node to MbsInfoBase.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
mbs_info_base | The MbsInfo structure. |
base_node | The Json node of the base. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
Read or update the information in base node to MbsInfoBase.
int mbs_info_body_json_binder | ( | MbsInfoBody * | mbs_info_body, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update the information from body node to its MbsInfo.
A wanring message is printed if the inertia matrix in Json node is not symmetric.
mbs_info_body | The MbsInfo structure of the body. |
body_node | The Json node of the body (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
Read or update the information in tree->bodies node to MbsInfoBase fields.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
mbs_infos | The MbsInfo structure. |
bdies_node | The Json node of the bodies in the tree. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_coordinates_json_binder | ( | double * | coordinates_pointer, |
JsonNode * | node, | ||
int | mission | ||
) |
int mbs_info_cuts_json_binder | ( | MbsInfoCuts * | mbs_info_cuts, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update the cuts list json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
mbs_info_cuts | The Info for the cuts |
node | The cuts json node (an array). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_extforce_json_binder | ( | MbsInfoExtforce * | mbs_info_extf, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a external force json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
force_info | The Info for the sensor. |
force_node | The sensor json node (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
Read or update a external forces list json node with the infos.
mbs_info | The Info for the project. |
forces_node | The sensors json node (a JSON_ARRAY). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_init_and_binderJSON | ( | MbsInfos * | mbs_infos, |
const char * | mbs_json_name, | ||
int | mission | ||
) |
Init and bind the MBs information contained in the .json file It calls mbs_info_init_and_binderJSON_rtn.
[in,out] | mbs_infos | The MbsInfos structure, already allocated. |
mbs_json_name | The filename of the json to be opened. | |
[in] | mission | The mission, implemented are MBS_INFO_READER (not yet and MBS_INFO_UPDATER). |
JsonNode* mbs_info_init_and_binderJSON_rtn | ( | MbsInfos * | mbs_infos, |
const char * | mbs_json_name, | ||
int * | err, | ||
int | mission | ||
) |
Init and bind the MBS information contained in the .json file Returns a newly allocated JsonNode. ! Freeing the memory must be done after, by the caller.
[in,out] | mbs_infos | The MbsInfos structure, already allocated. |
mbs_json_name | The filename of the json to be opened. | |
[in,out] | err | The error, MBS_INFO_SUCCESS, MBS_INFO_WARNING or MBS_INFO_FAILURE (negative in case of failure) |
[in] | mission | The mission, implemented are MBS_INFO_READER (not yet and MBS_INFO_UPDATER). |
int mbs_info_joint_json_binder | ( | MbsInfoJoint * | mbs_info_joint, |
JsonNode * | node, | ||
int | mission, | ||
int | verbose | ||
) |
Read or update the information in joints node to MbsInfoBase, MbsInfoJoints.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
mbs_infos | The MbsInfo structure. | |
joints_node | The Json joints node. | |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. | |
[in] | verbose | Verbosity level, from only errors (0) to full verbose (2). |
To Be Defined.
mbs_infos | The MbsInfos structure. |
joints_node | The Json joints node. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
Read or update the information from root node to all MbsInfo.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
mbs_infos | The MbsInfo structure. |
root_node | The Json node of the base. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_json_linker | ( | MbsInfos * | mbs_info, |
int | mission | ||
) |
int mbs_info_link_json_binder | ( | MbsInfoLink * | mbs_info_link, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a link (point to point or 3D) json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
link_info | The Info for the link. |
link_node | The link json node (an object). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_links3d_json_binder | ( | MbsInfoLinks * | mbs_info_links, |
JsonNode * | node, | ||
int | mission | ||
) |
int mbs_info_links_json_binder | ( | MbsInfoLinks * | mbs_info_links, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a links list json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
link_info | The Info for the links. |
link_node | The links json node (an array). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_parameter_json_binder | ( | MbsInfoParameter * | mbs_info_parameter, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a user model parameter json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
param_info | The Info for the parameter. |
param_node | The node of parameter (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_point_json_binder | ( | MbsInfoPoint * | mbs_info_point, |
JsonNode * | node, | ||
int | mission | ||
) |
int mbs_info_point_list_json_binder | ( | MbsInfoPoint *** | point_list, |
JsonNode * | node, | ||
int | mission, | ||
char * | body_name, | ||
int * | n_point | ||
) |
Link between points array value and all "points" key of a Json object node.
Support READER, UPDATER and COUNTER mission.
point_list | pointer to the point list array, the array (point_list[0] can be NULL for READER and COUNTER missions. In case of READER mission, the array is allocated, a warning is printed if the pointer was not NULL; |
node | The Json node being a JSON_OBJECT containing a "points" key. |
mission | The mission, not-implemented mission print a warning but returns success code. |
body_name | The name of the body. |
n_point | The current size of the point list array. It is set during COUNTER and READER mission. It must matche the JSCON_ARRAY size for UPDATER mision |
int mbs_info_ref_point_json_binder | ( | MbsInfoRefPoint * | mbs_info_ref_point, |
JsonNode * | node, | ||
int | mission | ||
) |
int mbs_info_rod_json_binder | ( | MbsInfoRod * | mbs_info_rod, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a rod json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
rod_info | The info of the rod. |
rod_node | The json node of the rod (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_sensor_json_binder | ( | MbsInfoSensor * | mbs_info_sensor, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a sensor json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
sensor_info | The Info for the sensor. |
sensor_node | The sensor json node (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
Read or update a sensors list json node with the infos.
mbs_info | The Info for the project. |
sensors_node | The sensors json node (a JSON_ARRAY). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_solid_json_binder | ( | MbsInfoSolid * | mbs_info_solid, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a solid cut json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
solid_info | The info of the solid cut. |
solid_node | The json node of the solid cut (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
Read or update the information from tree node to all MbsInfos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
mbs_infos | The MbsInfo structure. |
tree_node | The Json node of the tree. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_user_cstr_json_binder | ( | MbsInfoUserCstr * | mbs_info_user_cstr, |
JsonNode * | node, | ||
int | mission | ||
) |
int mbs_info_user_IO_json_binder | ( | MbsInfoUserIO * | mbs_info_user_IO, |
JsonNode * | node, | ||
int | mission | ||
) |
int mbs_info_user_IOs_json_binder | ( | MbsInfoUserIOs * | mbs_info_user_IOs, |
JsonNode * | node, | ||
int | mission | ||
) |
mbs_strcmp((const char*)cur_node->key, "user_variable"))
int mbs_info_user_model_json_binder | ( | MbsInfoUserModel * | mbs_info_user_model, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update a user model json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
um_info | The Info for the user model. |
um_node | The node of user model (a JSON_OBJECT). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_info_user_models_json_binder | ( | MbsInfoUserModels * | mbs_info_user_models, |
JsonNode * | node, | ||
int | mission | ||
) |
Read or update the user models list json node with the infos.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
ums_info | The Info for the user models. |
ums_node | The node of users models (a JSON_ARRAY). |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_json_axis | ( | JsonNode * | axis_node, |
int * | axis_int, | ||
int | mission | ||
) |
Read or update the information in an axis node with an integer.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
Reading an unknow axis return a MBS_INFO_WARNING (with default value 0). Setting an unknow axis return a MBS_INFO_FAILURE (as no corresponding string is defined).
axis_node | The Json axis node. |
axis_int | The pointer to the integer corresponding to the axis. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_json_inertia | ( | JsonNode * | bdy_node, |
MbsInfoBody * | mbs_info_body, | ||
int | mission | ||
) |
Translate the inertia key of a node from array (3,3) in node to array (6) in info.
Fore READER mission the upper triangle of the inertia matrix is considered. If the matrix was not symmetric warnings are raised.
bdy_node | The Json node containing the body. |
mbs_info_body | The mbs informations body structure. If its intertia pointer is NULL, it will be allocated for READER mission only. |
key | The key of the json node to be used (to be read or set), if NULL the node is the array. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_json_joint_nature | ( | JsonNode * | nature_node, |
int * | nature_int, | ||
int | mission | ||
) |
Read or update the information in an joint nature node with an integer.
Non-implemented missions raise a message and return a MBS_INFO_WARNING.
Reading an unknow joint nature return a MBS_INFO_WARNING (with default value 0). Setting an unknow joint nature return a MBS_INFO_FAILURE (as no corresponding string is defined).
nature_node | The Json nature node. |
nature_int | The pointer to the integer corresponding to the nature. |
mission | The mission, implemented are MBS_INFO_READER and MBS_INFO_UPDATER. |
int mbs_tree_cleaner | ( | MbsInfos * | mbs_info, |
int | mission | ||
) |
Correct the parents of joints.
If a joint (called P) is the parent of a body and at the same time the parent of one (or more) joints (called C) the tree is modified. All joints "C" will have as parent the body origin point.
A failure occurs either if at least one of the followong:
[in,out] | mbs_info | The multibody system. |
[in] | mission | The function only do something with the MBS_INFO_READER value. |