Robotran C Documentation
mbs_xml_binder_private.h
Go to the documentation of this file.
1 /*
2  This header includes the functions to bind the XML information to the MbsInfos structure
3  @Date Nov 2022 (modification)
4  @Author Robotran Team
5 */
6 
7 #ifndef MBS_INFO_XML_BINDER_PRIVATE_h
8 #define MBS_INFO_XML_BINDER_PRIVATE_h
9 
10 #include <libxml/tree.h>
11 #include <libxml/parser.h>
12 #include "mbs_binder_public.h"
13 #include "useful_functions.h"
14 
15 int mbs_info_coordinates_xml_binder(double *coordinates_pointer, xmlNodePtr node, int mission);
16 int mbs_info_sensor_xml_binder(MbsInfoSensor *mbs_info_sensor, xmlNodePtr node, int mission);
17 int mbs_info_extforce_xml_binder(MbsInfoExtforce *mbs_info_extforce, xmlNodePtr node, int mission);
18 int mbs_info_joint_xml_binder(MbsInfoJoint *mbs_info_joint, xmlNodePtr node, int mission);
19 int mbs_info_joint_list_xml_binder(MbsInfoJoint **joint_list, xmlNodePtr node, int mission);
20 int mbs_info_point_xml_binder(MbsInfoPoint *mbs_info_point, xmlNodePtr node, int mission);
21 int mbs_info_point_list_xml_binder(MbsInfoPoint **mbs_info_point_list, xmlNodePtr node, int mission, char *body_name);
22 int mbs_info_ref_point_xml_binder(MbsInfoRefPoint* mbs_info_ref_point, xmlNodePtr node, int mission);
23 int mbs_info_base_xml_binder(MbsInfoBase *mbs_info_base, xmlNodePtr node, int mission);
24 int mbs_info_body_xml_binder(MbsInfoBody *mbs_info_body, xmlNodePtr node, int mission);
25 int mbs_info_bodytree_xml_binder(MbsInfoBodytree *mbs_info_bodytree, xmlNodePtr node, int mission);
26 int mbs_info_ball_xml_binder(MbsInfoBall *mbs_info_ball, xmlNodePtr node, int mission);
27 int mbs_info_rod_xml_binder(MbsInfoRod *mbs_info_rod, xmlNodePtr node, int mission);
28 int mbs_info_solid_xml_binder(MbsInfoSolid *mbs_info_solid, xmlNodePtr node, int mission);
29 int mbs_info_cuts_xml_binder(MbsInfoCuts *mbs_info_cuts, xmlNodePtr node, int mission);
30 int mbs_info_link_xml_binder(MbsInfoLink *mbs_info_link, xmlNodePtr node, int mission);
31 int mbs_info_links_xml_binder(MbsInfoLinks *mbs_info_links, xmlNodePtr node, int mission);
32 int mbs_info_parameter_xml_binder(MbsInfoParameter *mbs_info_parameter, xmlNodePtr node, int mission);
33 int mbs_info_user_model_xml_binder(MbsInfoUserModel *mbs_info_user_model, xmlNodePtr node, int mission);
34 int mbs_info_user_models_xml_binder(MbsInfoUserModels *mbs_info_user_models, xmlNodePtr node, int mission);
35 int mbs_info_user_IOs_xml_binder(MbsInfoUserIOs *mbs_info_user_IOs, xmlNodePtr node, int mission);
36 int mbs_info_mbsDescR7_binder(MbsInfos *mbs_infos, xmlNodePtr node, int mission);
37 int mbs_info_init_and_binderXML(MbsInfos *mbs_infos, const char* mbs_xml_name, int mission);
38 
39 #endif
MbsInfoBodytree::qdriven
int * qdriven
Definition: mbs_binder_public.h:190
MbsInfoOpti::n_d_related
int n_d_related
Definition: mbs_binder_public.h:379
MbsInfoOpti::n_d_simplified
int n_d_simplified
Definition: mbs_binder_public.h:367
MbsInfoCuts::n_rod
int n_rod
Definition: mbs_binder_public.h:241
MbsInfoBall::endpoint1
MbsInfoRefPoint * endpoint1
Definition: mbs_binder_public.h:204
MbsInfos::cuts
MbsInfoCuts * cuts
Definition: mbs_binder_public.h:388
mbs_info_init_and_binderJSON
int mbs_info_init_and_binderJSON(MbsInfos *mbs_infos, const char *mbs_json_name, int mission)
Definition: mbs_load_json.c:128
MbsInfoPoint::pt
double * pt
Array with the coordinates (x, y, z) of the point relative to the origin of the body expressed in the...
Definition: mbs_binder_public.h:98
MbsInfoExtforce::name
char * name
Definition: mbs_binder_public.h:78
mbs_new_info_body
MbsInfoBody * mbs_new_info_body(void)
Definition: mbs_loader_public.c:567
mbs_delete_infos
void mbs_delete_infos(MbsInfos *mbs_infos)
Definition: mbs_loader_public.c:1163
MbsInfoParameter::structure_name
char * structure_name
Name of the structure, filled if the parameter is a structure.
Definition: mbs_binder_public.h:319
MbsInfoExtforce::Vit
int Vit
1 if the computation of the sensor linear velocity has been asked, 0 otherwise.
Definition: mbs_binder_public.h:84
MbsInfoBall::endpoint2
MbsInfoRefPoint * endpoint2
Definition: mbs_binder_public.h:205
find_joint_in_bodytree
MbsInfoJoint * find_joint_in_bodytree(MbsInfos *mbs_infos, char *jointname)
Definition: mbs_loader_public.c:1243
MbsInfos::n_state
int n_state
Definition: mbs_binder_public.h:409
MbsInfoBodytree
Definition: mbs_binder_public.h:169
set_double_xlm_node
int set_double_xlm_node(xmlNodePtr in_node, double value)
SET functions ///////////////////////.
Definition: mbs_xml_binder.c:92
MbsInfoRefPoint::bodyname
char * bodyname
Name of the body that bear the reference point (origin of the joint chain until first body encounter)...
Definition: mbs_binder_public.h:49
mbs_info_user_IOs_xml_binder
int mbs_info_user_IOs_xml_binder(MbsInfoUserIOs *mbs_info_user_IOs, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1389
MbsInfoDData::d_opti
double d_opti
result value of optimization
Definition: mbs_binder_public.h:32
MbsInfoRod::name
char * name
Definition: mbs_binder_public.h:213
get_char_cpy
char * get_char_cpy(const char *fmt,...)
Copy the provided formatted string into a newly allocated memory.
Definition: useful_functions.c:191
MbsInfoBodytree::n_qv
int n_qv
Definition: mbs_binder_public.h:180
MBS_INFO_INIT
#define MBS_INFO_INIT
Definition: mbs_binder_public.h:18
MbsInfoParameter::value_list
double * value_list
Vector (index starting at 1) containing the values retrieved from the multibody file.
Definition: mbs_binder_public.h:289
mbs_new_info_joint
MbsInfoJoint * mbs_new_info_joint(void)
Definition: mbs_loader_public.c:522
MbsInfoParameter::name
char * name
Name of the parameter in the user model.
Definition: mbs_binder_public.h:274
mbs_load_libraries.h
get_string_xml_attr
char * get_string_xml_attr(xmlAttrPtr in_node)
Definition: mbs_xml_binder.c:67
useful_functions.h
MbsInfos::state_list
MbsInfoParameter ** state_list
Definition: mbs_binder_public.h:411
MbsInfoUserIOs::n_out
int n_out
Definition: mbs_binder_public.h:360
mbs_new_info_bodytree
MbsInfoBodytree * mbs_new_info_bodytree(void)
Definition: mbs_loader_public.c:623
mbs_delete_info_body
void mbs_delete_info_body(MbsInfoBody *mbs_info_body, void *all_joints_lists)
Definition: mbs_loader_public.c:590
mbs_delete_info_parameter
void mbs_delete_info_parameter(MbsInfoParameter *mbs_info_parameter)
Definition: mbs_loader_public.c:941
MbsInfoRefPoint
Structure defining the parent point of a body.
Definition: mbs_binder_public.h:47
MbsInfoJoint::qdd0
double qdd0
Initial acceleration of the joint.
Definition: mbs_binder_public.h:130
MbsInfoOpti::d_forced_list
MbsInfoDData ** d_forced_list
Definition: mbs_binder_public.h:371
mbs_info_user_model_xml_binder
int mbs_info_user_model_xml_binder(MbsInfoUserModel *mbs_info_user_model, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1258
mbs_delete_info_ref_point
void * mbs_delete_info_ref_point(MbsInfoRefPoint *mbs_info_ref_point)
Definition: mbs_loader_public.c:356
mbs_info_ref_point_xml_binder
int mbs_info_ref_point_xml_binder(MbsInfoRefPoint *mbs_info_ref_point, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:565
MbsInfoExtforce::joint_parent
char * joint_parent
parent joint of the current body (NULL if it is a parent point)
Definition: mbs_binder_public.h:80
MbsInfos::base
MbsInfoBase * base
Definition: mbs_binder_public.h:386
MbsInfoOpti::n_d_optimized
int n_d_optimized
Definition: mbs_binder_public.h:373
mbs_info_sensor_xml_binder
int mbs_info_sensor_xml_binder(MbsInfoSensor *mbs_info_sensor, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:193
mbs_error_msg
void mbs_error_msg(char *msg,...)
Send an error message.
Definition: mbs_message.c:102
MbsInfoBase::n_base_point
int n_base_point
Number of point of interest (extremities of joint bearing a sensor plus anchor point) defined on the ...
Definition: mbs_binder_public.h:115
mbs_delete_info_ball
void mbs_delete_info_ball(MbsInfoBall *mbs_info_ball)
Definition: mbs_loader_public.c:699
mbs_delete_info_solid
void mbs_delete_info_solid(MbsInfoSolid *mbs_info_solid)
Definition: mbs_loader_public.c:769
MbsInfoPoint::body_name
char * body_name
Name of the body holding the point.
Definition: mbs_binder_public.h:97
mbs_new_info_solid
MbsInfoSolid * mbs_new_info_solid(void)
Definition: mbs_loader_public.c:754
MbsInfos::mbsfile
char * mbsfile
Definition: mbs_binder_public.h:393
get_dvec_0
double * get_dvec_0(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 0
Definition: mbs_1D_array.c:880
_MBS_ERR_LOW_FILES
#define _MBS_ERR_LOW_FILES
Low Level error number Error during opening/writing files = -9.
Definition: mbs_errors_names.h:147
MbsInfoUserIOs::user_IO_list
MbsInfoUserIO ** user_IO_list
Definition: mbs_binder_public.h:361
mbs_info_cuts_xml_binder
int mbs_info_cuts_xml_binder(MbsInfoCuts *mbs_info_cuts, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:923
MbsInfoJoint
This structure contains all informations about a joint.
Definition: mbs_binder_public.h:122
MbsInfoDData::MBSdata_d_ptr
double * MBSdata_d_ptr
link in the creation of mbs_data
Definition: mbs_binder_public.h:40
MbsInfoDData::is_related
int is_related
unrelated = 0, master = 1, equal salve = 2, opposite slave = 3
Definition: mbs_binder_public.h:35
MbsInfoCuts
Definition: mbs_binder_public.h:238
free_ivec_0
void free_ivec_0(int *vec)
release memory for a vector of integers, starting with index 0
Definition: mbs_1D_array.c:415
mbs_info_mbsDescR7_binder
int mbs_info_mbsDescR7_binder(MbsInfos *mbs_infos, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1442
MBS_INFO_FAILURE
#define MBS_INFO_FAILURE
Definition: mbs_binder_public.h:22
mbs_new_info_links
MbsInfoLinks * mbs_new_info_links(void)
Definition: mbs_loader_public.c:870
MbsInfoExtforce::Omp
int Omp
1 if the computation of the sensor angular acceleration has been asked, 0 otherwise.
Definition: mbs_binder_public.h:87
mbs_binder_private.h
mbs_info_rod_xml_binder
int mbs_info_rod_xml_binder(MbsInfoRod *mbs_info_rod, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:820
MbsInfoExtforce::Om
int Om
1 if the computation of the sensor angular velocity has been asked, 0 otherwise.
Definition: mbs_binder_public.h:85
MbsInfoBodytree::n_qrot
int n_qrot
Definition: mbs_binder_public.h:195
mbs_strcmp
int mbs_strcmp(const char *__s1, const char *__s2)
Compare two char with strcmp.
Definition: useful_functions.c:261
MbsInfoDData::d_max
double d_max
bounds values for optimization
Definition: mbs_binder_public.h:31
MBS_INFO_SUCCESS
#define MBS_INFO_SUCCESS
Definition: mbs_binder_public.h:20
MbsInfoExtforce::parent_point
MbsInfoRefPoint * parent_point
parent point of the sensor (only for JSON loading ST 12072022) (NULL if it is a parent joint)
Definition: mbs_binder_public.h:79
MbsInfoParameter::d_value
MbsInfoDData ** d_value
d_data for the value.
Definition: mbs_binder_public.h:308
MbsInfoBase::gravity
double * gravity
Array with the component (x, y, z) of the gravity vector expressed in the inertial frame.
Definition: mbs_binder_public.h:114
MbsInfoCuts::n_ball
int n_ball
Definition: mbs_binder_public.h:240
MbsInfoBody::mass
double mass
Mass of the body.
Definition: mbs_binder_public.h:160
MbsInfoBodytree::qu
int * qu
Definition: mbs_binder_public.h:178
cmp_string_xml_attr
int cmp_string_xml_attr(xmlAttrPtr in_node, const char *string)
other functions /////////////////////
Definition: mbs_xml_binder.c:110
MbsInfoRod::symmetric_rod_name
char * symmetric_rod_name
Definition: mbs_binder_public.h:222
mbs_new_info_parameter
MbsInfoParameter * mbs_new_info_parameter(void)
Definition: mbs_loader_public.c:914
MbsInfoBodytree::n_joint
int n_joint
Definition: mbs_binder_public.h:174
mbs_new_info_sensor
MbsInfoSensor * mbs_new_info_sensor(void)
Definition: mbs_loader_public.c:376
mbs_delete_info_joint
void * mbs_delete_info_joint(MbsInfoJoint *mbs_info_joint)
Definition: mbs_loader_public.c:550
MbsInfoUserIO::size
int size
type=1: in ; type=2
Definition: mbs_binder_public.h:353
MbsInfoSensor::Acc
int Acc
1 if the computation of the sensor linear acceleration has been asked, 0 otherwise.
Definition: mbs_binder_public.h:67
mbs_info_parameter_xml_binder
int mbs_info_parameter_xml_binder(MbsInfoParameter *mbs_info_parameter, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1080
MbsInfos
Definition: mbs_binder_public.h:384
mbs_new_info_link
MbsInfoLink * mbs_new_info_link(void)
Definition: mbs_loader_public.c:840
mbs_info_bodytree_xml_binder
int mbs_info_bodytree_xml_binder(MbsInfoBodytree *mbs_info_bodytree, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:722
mbs_load_json.h
This header includes the functions to bind the JSON information to the MbsInfos structure.
mbs_info_user_IOs_xml_binder
int mbs_info_user_IOs_xml_binder(MbsInfoUserIOs *mbs_info_user_IOs, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1389
MbsInfoUserIO::type
int type
Definition: mbs_binder_public.h:352
mbs_new_info_base
MbsInfoBase * mbs_new_info_base(void)
Definition: mbs_loader_public.c:491
mbs_info_base_xml_binder
int mbs_info_base_xml_binder(MbsInfoBase *mbs_info_base, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:587
MbsInfoPoint::name
char * name
Name of the point.
Definition: mbs_binder_public.h:96
mbs_new_info_sensor
MbsInfoSensor * mbs_new_info_sensor(void)
Definition: mbs_loader_public.c:376
mbs_info_user_IO_xml_binder
int mbs_info_user_IO_xml_binder(MbsInfoUserIO *mbs_info_user_IO, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1341
find_joint_with_parent_in_joint_list
MbsInfoJoint * find_joint_with_parent_in_joint_list(MbsInfos *mbs_infos, char *jointname)
Definition: mbs_loader_public.c:1273
MbsInfoPoint::sensor
MbsInfoSensor * sensor
Pointer to a sensor structure if a sensor is defined on the point.
Definition: mbs_binder_public.h:100
mbs_new_info_bodytree
MbsInfoBodytree * mbs_new_info_bodytree(void)
Definition: mbs_loader_public.c:623
mbs_info_joint_xml_binder
int mbs_info_joint_xml_binder(MbsInfoJoint *mbs_info_joint, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:281
mbs_info_ball_xml_binder
int mbs_info_ball_xml_binder(MbsInfoBall *mbs_info_ball, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:762
mbs_info_extforce_xml_binder
int mbs_info_extforce_xml_binder(MbsInfoExtforce *mbs_info_extforce, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:239
mbs_new_infos
MbsInfos * mbs_new_infos(void)
Definition: mbs_loader_public.c:1124
MBS_INFO_COUNTER
#define MBS_INFO_COUNTER
Definition: mbs_binder_public.h:17
MbsInfoBase::base_point_list
MbsInfoPoint ** base_point_list
Array of pointers to the MDS_point_strct describing each point of the MBS.
Definition: mbs_binder_public.h:116
MbsInfoJoint::name
char * name
Name of the joint.
Definition: mbs_binder_public.h:124
mbs_info_rod_xml_binder
int mbs_info_rod_xml_binder(MbsInfoRod *mbs_info_rod, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:820
MbsInfoBodytree::qv
int * qv
Definition: mbs_binder_public.h:181
mbs_info_user_models_xml_binder
int mbs_info_user_models_xml_binder(MbsInfoUserModels *mbs_info_user_models, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1301
MbsInfoSolid
Definition: mbs_binder_public.h:227
mbs_new_info_user_IO
MbsInfoUserIO * mbs_new_info_user_IO(void)
Definition: mbs_loader_public.c:1037
mbs_new_info_joint
MbsInfoJoint * mbs_new_info_joint(void)
Definition: mbs_loader_public.c:522
MBS_INFO_READER
#define MBS_INFO_READER
Definition: mbs_binder_public.h:14
MbsInfoCuts::rod_list
MbsInfoRod ** rod_list
Definition: mbs_binder_public.h:245
MbsInfoUserModel
Definition: mbs_binder_public.h:334
MbsInfoPoint::symmetric_point_name
char * symmetric_point_name
Definition: mbs_binder_public.h:105
mbs_new_info_rod
MbsInfoRod * mbs_new_info_rod(void)
Definition: mbs_loader_public.c:716
MbsInfoBodytree::qa
int * qa
Definition: mbs_binder_public.h:193
mbs_new_info_body
MbsInfoBody * mbs_new_info_body(void)
Definition: mbs_loader_public.c:567
MbsInfos::extforce_point_list
int * extforce_point_list
Definition: mbs_binder_public.h:407
mbs_info_updater
int mbs_info_updater(MbsInfos *mbs_infos, const char *mbs_filename)
Definition: mbs_loader_public.c:53
MbsInfoUserModel::parameter_list
MbsInfoParameter ** parameter_list
Definition: mbs_binder_public.h:338
mbs_binder_public.h
MbsInfoBodytree::qc
int * qc
Definition: mbs_binder_public.h:184
MbsInfoBody::point_list
MbsInfoPoint ** point_list
Array of pointers to the MDS_point_strct describing each point of current body.
Definition: mbs_binder_public.h:165
mbs_delete_info_base
void mbs_delete_info_base(MbsInfoBase *mbs_info_base)
Definition: mbs_loader_public.c:504
mbs_new_info_user_IOs
MbsInfoUserIOs * mbs_new_info_user_IOs(void)
Definition: mbs_loader_public.c:1055
mbs_new_info_ball
MbsInfoBall * mbs_new_info_ball(void)
Definition: mbs_loader_public.c:684
mbs_new_info_solid
MbsInfoSolid * mbs_new_info_solid(void)
Definition: mbs_loader_public.c:754
MbsInfoBody::inertia
double * inertia
Array with the inertia tensor (Ixx, Ixy, Ixz, Iyy, Iyz, Izz) of the body relative to the center of ma...
Definition: mbs_binder_public.h:162
mbs_info_init_and_binderXML
int mbs_info_init_and_binderXML(MbsInfos *mbs_infos, const char *mbs_xml_name, int mission)
Definition: mbs_xml_binder.c:1561
mbs_new_info_cuts
MbsInfoCuts * mbs_new_info_cuts(void)
Definition: mbs_loader_public.c:787
MbsInfoJoint::symmetric_joint_name
char * symmetric_joint_name
the name of the symmetric joint (filed if master, NULL if slave or non symetric)
Definition: mbs_binder_public.h:136
mbs_new_info_ball
MbsInfoBall * mbs_new_info_ball(void)
Definition: mbs_loader_public.c:684
mbs_info_coordinates_xml_binder
int mbs_info_coordinates_xml_binder(double *coordinates_pointer, xmlNodePtr node, int mission)
Binders /////////////////////////////.
Definition: mbs_xml_binder.c:149
mbs_msg
void mbs_msg(char *msg,...)
Send a message.
Definition: mbs_message.c:76
MbsInfoJoint::actuated
int actuated
For inverse dynamic only: 1 if actuated, 0 otherwise.
Definition: mbs_binder_public.h:132
mbs_info_cuts_xml_binder
int mbs_info_cuts_xml_binder(MbsInfoCuts *mbs_info_cuts, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:923
MbsInfoExtforce::Pos
int Pos
1 if the computation of the sensor position has been asked, 0 otherwise.
Definition: mbs_binder_public.h:82
MbsInfoJoint::d_qf
MbsInfoDData * d_qf
d_data for the forced q
Definition: mbs_binder_public.h:134
MbsInfoBodytree::qlocked
int * qlocked
Definition: mbs_binder_public.h:187
MbsInfoBodytree::n_qa
int n_qa
Definition: mbs_binder_public.h:192
MbsInfoBall::name
char * name
Definition: mbs_binder_public.h:202
mbs_delete_info_user_IO
void mbs_delete_info_user_IO(MbsInfoUserIO *mbs_info_user_IO)
Definition: mbs_loader_public.c:1049
MbsInfos::sensor_list
MbsInfoSensor ** sensor_list
Pointer to a list of sensor.
Definition: mbs_binder_public.h:418
MbsInfoParameter::type
int type
Type of the parameter between 1 and 7.
Definition: mbs_binder_public.h:276
mbs_new_info_extforce
MbsInfoExtforce * mbs_new_info_extforce(void)
Definition: mbs_loader_public.c:404
get_string_xml_node
char * get_string_xml_node(xmlNodePtr in_node)
Definition: mbs_xml_binder.c:50
MbsInfoJoint::qd0
double qd0
Initial velocity of the joint.
Definition: mbs_binder_public.h:129
MbsInfoSensor::joint_parent
char * joint_parent
parent joint of the current body (NULL if it is a parent point)
Definition: mbs_binder_public.h:61
mbs_info_sensor_xml_binder
int mbs_info_sensor_xml_binder(MbsInfoSensor *mbs_info_sensor, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:193
mbs_info_coordinates_xml_binder
int mbs_info_coordinates_xml_binder(double *coordinates_pointer, xmlNodePtr node, int mission)
Binders /////////////////////////////.
Definition: mbs_xml_binder.c:149
MbsInfos::user_IOs
MbsInfoUserIOs * user_IOs
Definition: mbs_binder_public.h:391
MbsInfoParameter
Description of a user model parameter loaded from the mbs file.
Definition: mbs_binder_public.h:272
mbs_new_info_links
MbsInfoLinks * mbs_new_info_links(void)
Definition: mbs_loader_public.c:870
mbs_info_solid_xml_binder
int mbs_info_solid_xml_binder(MbsInfoSolid *mbs_info_solid, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:865
mbs_delete_info_link
void mbs_delete_info_link(MbsInfoLink *mbs_info_link)
Definition: mbs_loader_public.c:853
MbsInfoSensor::Om
int Om
1 if the computation of the sensor angular velocity has been asked, 0 otherwise.
Definition: mbs_binder_public.h:66
MbsInfoParameter::structure_header
char * structure_header
Header name with path (relative or absolute) of header describing a structure parameter.
Definition: mbs_binder_public.h:321
MbsInfoParameter::val_ptr
void * val_ptr
Pointer to the memory storing the value.
Definition: mbs_binder_public.h:293
MbsInfoUserModel::n_parameter
int n_parameter
Definition: mbs_binder_public.h:337
MbsInfoParameter::symmetric_parameter_name
char * symmetric_parameter_name
The name of the symmetric parameter.
Definition: mbs_binder_public.h:314
MbsInfoExtforce::Acc
int Acc
1 if the computation of the sensor linear acceleration has been asked, 0 otherwise.
Definition: mbs_binder_public.h:86
MbsInfoSolid::endpoint2
MbsInfoRefPoint * endpoint2
Definition: mbs_binder_public.h:232
MbsInfoJoint::type
int type
Joint type: T1=1, T2=2, T3=3, R1=4, R2=5, R3=6.
Definition: mbs_binder_public.h:125
mbs_new_info_extforce
MbsInfoExtforce * mbs_new_info_extforce(void)
Definition: mbs_loader_public.c:404
mbs_new_info_point
MbsInfoPoint * mbs_new_info_point(void)
Definition: mbs_loader_public.c:431
mbs_new_info_d_data
MbsInfoDData * mbs_new_info_d_data(void)
Definition: mbs_loader_public.c:320
MbsInfoSolid::ignore
int * ignore
Definition: mbs_binder_public.h:234
MbsInfoUserIOs
Definition: mbs_binder_public.h:357
get_double_xlm_node
double get_double_xlm_node(xmlNodePtr in_node)
Definition: mbs_xml_binder.c:39
MbsInfoUserIO::name
char * name
Definition: mbs_binder_public.h:351
MbsInfoOpti::d_resulting_list
MbsInfoDData ** d_resulting_list
Definition: mbs_binder_public.h:377
free_dvec_1
void free_dvec_1(double *vec)
release memory for a vector of doubles, starting at index 1
Definition: mbs_1D_array.c:901
MbsInfoUserIOs::n_user_IO
int n_user_IO
Definition: mbs_binder_public.h:359
mbs_delete_info_point
void * mbs_delete_info_point(MbsInfoPoint *mbs_info_point)
Definition: mbs_loader_public.c:457
MbsInfos::n_state_value
int n_state_value
Definition: mbs_binder_public.h:410
mbs_new_info_user_IO
MbsInfoUserIO * mbs_new_info_user_IO(void)
Definition: mbs_loader_public.c:1037
MbsInfoJoint::is_symmmetric
int is_symmmetric
asymmetric = 0, symmetric master = 1, symmetric salve = 2
Definition: mbs_binder_public.h:135
mbs_delete_info_d_data
void mbs_delete_info_d_data(MbsInfoDData *mbs_info_d_data)
Definition: mbs_loader_public.c:340
mbs_new_info_d_data
MbsInfoDData * mbs_new_info_d_data(void)
Definition: mbs_loader_public.c:320
mbs_delete_info_rod
void mbs_delete_info_rod(MbsInfoRod *mbs_info_rod)
Definition: mbs_loader_public.c:736
MbsInfoSolid::name
char * name
Definition: mbs_binder_public.h:229
MbsInfoBodytree::n_qc
int n_qc
Definition: mbs_binder_public.h:183
mbs_new_info_ref_point
MbsInfoRefPoint * mbs_new_info_ref_point(void)
Definition: mbs_loader_public.c:345
MbsInfoPoint::is_symmmetric
int is_symmmetric
Definition: mbs_binder_public.h:104
mbs_info_joint_list_xml_binder
int mbs_info_joint_list_xml_binder(MbsInfoJoint **joint_list, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:458
find_body_in_bodytree
MbsInfoBody * find_body_in_bodytree(MbsInfos *mbs_infos, char *bodyname)
Definition: mbs_loader_public.c:1227
mbs_new_info_base
MbsInfoBase * mbs_new_info_base(void)
Definition: mbs_loader_public.c:491
MbsInfoJoint::parent
MbsInfoRefPoint * parent
Definition: mbs_binder_public.h:142
MbsInfoOpti
Definition: mbs_binder_public.h:365
mbs_info_mbsDescR7_binder
int mbs_info_mbsDescR7_binder(MbsInfos *mbs_infos, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1442
mbs_new_info_user_model
MbsInfoUserModel * mbs_new_info_user_model(void)
Definition: mbs_loader_public.c:974
MbsInfoOpti::d_optimized_list
MbsInfoDData ** d_optimized_list
Definition: mbs_binder_public.h:374
MbsInfos::n_sensor
int n_sensor
Definition: mbs_binder_public.h:403
mbs_new_info_user_models
MbsInfoUserModels * mbs_new_info_user_models(void)
Definition: mbs_loader_public.c:1004
MbsInfoOpti::d_simplified_list
MbsInfoDData ** d_simplified_list
Definition: mbs_binder_public.h:368
MbsInfoBodytree::body_list
MbsInfoBody ** body_list
Definition: mbs_binder_public.h:172
MbsInfoBody::n_point
int n_point
Number of point defined on the body.
Definition: mbs_binder_public.h:164
MbsInfoSensor::Pos
int Pos
1 if the computation of the sensor position has been asked, 0 otherwise.
Definition: mbs_binder_public.h:63
MbsInfoBody
This structure contains all informations about a body.
Definition: mbs_binder_public.h:150
mbs_info_links_xml_binder
int mbs_info_links_xml_binder(MbsInfoLinks *mbs_info_links, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1025
MbsInfoRod::is_symmmetric
int is_symmmetric
Definition: mbs_binder_public.h:221
mbs_new_info_ref_point
MbsInfoRefPoint * mbs_new_info_ref_point(void)
Definition: mbs_loader_public.c:345
MbsInfoOpti::n_d_forced
int n_d_forced
Definition: mbs_binder_public.h:370
MbsInfoBodytree::n_qu
int n_qu
Definition: mbs_binder_public.h:177
MbsInfoBodytree::n_qdriven
int n_qdriven
Definition: mbs_binder_public.h:189
mbs_xml_binder_private.h
MbsInfoPoint::extforce
MbsInfoExtforce * extforce
Pointer to an external force sensor structure if it is defined on the point.
Definition: mbs_binder_public.h:101
mbs_info_parameter_xml_binder
int mbs_info_parameter_xml_binder(MbsInfoParameter *mbs_info_parameter, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1080
MbsInfos::links
MbsInfoLinks * links
Definition: mbs_binder_public.h:389
find_xmlNodePtr
xmlNodePtr find_xmlNodePtr(xmlNodePtr node, char *name)
Definition: mbs_xml_binder.c:121
mbs_message.h
mbs_info_point_list_xml_binder
int mbs_info_point_list_xml_binder(MbsInfoPoint **mbs_info_point_list, xmlNodePtr node, int mission, char *body_name)
Definition: mbs_xml_binder.c:532
MbsInfoPoint::d_pt
MbsInfoDData ** d_pt
Definition: mbs_binder_public.h:103
MbsInfoOpti::d_related_list
MbsInfoDData ** d_related_list
Definition: mbs_binder_public.h:380
mbs_delete_info_user_IOs
void mbs_delete_info_user_IOs(MbsInfoUserIOs *mbs_info_user_IOs)
Definition: mbs_loader_public.c:1068
MbsInfoSensor::name
char * name
Name of the sensor.
Definition: mbs_binder_public.h:59
mbs_delete_info_bodytree
void mbs_delete_info_bodytree(MbsInfoBodytree *mbs_info_bodytree, void *all_joints_lists)
Definition: mbs_loader_public.c:658
mbs_info_base_xml_binder
int mbs_info_base_xml_binder(MbsInfoBase *mbs_info_base, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:587
mbs_loader.h
mbs_info_links_xml_binder
int mbs_info_links_xml_binder(MbsInfoLinks *mbs_info_links, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1025
mbs_delete_info_extforce
void mbs_delete_info_extforce(MbsInfoExtforce *mbs_info_extforce)
Definition: mbs_loader_public.c:423
mbs_info_link_xml_binder
int mbs_info_link_xml_binder(MbsInfoLink *mbs_info_link, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:991
mbs_new_info_parameter
MbsInfoParameter * mbs_new_info_parameter(void)
Definition: mbs_loader_public.c:914
MbsInfoCuts::n_solid
int n_solid
Definition: mbs_binder_public.h:242
get_ivec_0
int * get_ivec_0(int l_v)
create (with memory allocation) a vector (length l_v) of integers, starting at index 0
Definition: mbs_1D_array.c:399
MbsInfoUserIO
Definition: mbs_binder_public.h:349
MbsInfoBody::joint_parent
char * joint_parent
parent joint of the current body (NULL if it is a parent point)
Definition: mbs_binder_public.h:155
get_int_xlm_attr
int get_int_xlm_attr(xmlAttrPtr in_node)
Definition: mbs_xml_binder.c:28
MbsInfoOpti::n_d_resulting
int n_d_resulting
Definition: mbs_binder_public.h:376
MbsInfoRod
Definition: mbs_binder_public.h:211
MbsInfoParameter::n_value
int n_value
Number of values in the parameter.
Definition: mbs_binder_public.h:287
MbsInfoUserModels::n_user_model
int n_user_model
Definition: mbs_binder_public.h:344
MbsInfoBody::com
double * com
Array with the coordinate (x, y, z) of the center of mass of the body relative to the origin of the b...
Definition: mbs_binder_public.h:161
MbsInfoSensor
This structure contains all information about a sensor defined on the MBS structure.
Definition: mbs_binder_public.h:57
mbs_delete_info_user_models
void mbs_delete_info_user_models(MbsInfoUserModels *mbs_info_user_models)
Definition: mbs_loader_public.c:1015
MbsInfoJoint::symb_q
int symb_q
Flag to generate symbol for position.
Definition: mbs_binder_public.h:138
mbs_info_structurer
void mbs_info_structurer(MbsInfos *mbs_infos)
Definition: mbs_loader_public.c:90
MbsInfoDData
Definition: mbs_binder_public.h:26
MbsInfoParameter::structure_lutfile
char * structure_lutfile
File and path (relative or absolute) to the file containing the Look-up-Table dats.
Definition: mbs_binder_public.h:328
MbsInfoBodytree::n_qlocked
int n_qlocked
Definition: mbs_binder_public.h:186
mbs_delete_info_user_model
void mbs_delete_info_user_model(MbsInfoUserModel *mbs_info_user_model)
Definition: mbs_loader_public.c:986
mbs_info_body_xml_binder
int mbs_info_body_xml_binder(MbsInfoBody *mbs_info_body, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:624
mbs_info_point_xml_binder
int mbs_info_point_xml_binder(MbsInfoPoint *mbs_info_point, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:490
MbsInfos::opti
MbsInfoOpti * opti
Definition: mbs_binder_public.h:413
MbsInfoJoint::nature
int nature
Nature of the joint: independent=1, dependent=2, driven=3, locked=4.
Definition: mbs_binder_public.h:126
MbsInfos::point_list
MbsInfoPoint ** point_list
Definition: mbs_binder_public.h:398
MbsInfoBall::ignore
int * ignore
Definition: mbs_binder_public.h:207
MbsInfoBase
Structure handling the informations defined on the base of the MBS.
Definition: mbs_binder_public.h:112
MbsInfoSensor::Rot
int Rot
1 if the computation of the sensor rotation matrix has been asked, 0 otherwise.
Definition: mbs_binder_public.h:64
mbs_new_info_point
MbsInfoPoint * mbs_new_info_point(void)
Definition: mbs_loader_public.c:431
get_string_xml_node_2
int get_string_xml_node_2(char **string_ptr, xmlNodePtr in_node)
Definition: mbs_xml_binder.c:78
MbsInfoPoint
This structure handle everything that a point on a MBS structure can handle (sensor,...
Definition: mbs_binder_public.h:94
MbsInfos::n_joint
int n_joint
Definition: mbs_binder_public.h:417
mbs_info_body_xml_binder
int mbs_info_body_xml_binder(MbsInfoBody *mbs_info_body, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:624
mbs_info_link_xml_binder
int mbs_info_link_xml_binder(MbsInfoLink *mbs_info_link, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:991
mbs_delete_info_sensor
void mbs_delete_info_sensor(MbsInfoSensor *mbs_info_sensor)
Definition: mbs_loader_public.c:396
MbsInfoDData::d_0
double d_0
initial value for optimization
Definition: mbs_binder_public.h:29
MbsInfoRefPoint::pointname
char * pointname
Name of the reference point on the previous body.
Definition: mbs_binder_public.h:50
MbsInfoRod::endpoint1
MbsInfoRefPoint * endpoint1
Definition: mbs_binder_public.h:215
mbs_free
void * mbs_free(void *__ptr)
Free the pointor ptr and set it to NULL.
Definition: useful_functions.c:17
mbs_delete_info_opti
void mbs_delete_info_opti(MbsInfoOpti *mbs_info_opti)
Definition: mbs_loader_public.c:1111
MbsInfoJoint::children_body
MbsInfoBody * children_body
Body direct children of the joint.
Definition: mbs_binder_public.h:144
MbsInfoCuts::solid_list
MbsInfoSolid ** solid_list
Definition: mbs_binder_public.h:246
MbsInfoBodytree::qrot
int * qrot
Definition: mbs_binder_public.h:196
MbsInfoSolid::endpoint1
MbsInfoRefPoint * endpoint1
Definition: mbs_binder_public.h:231
MbsInfoDData::d_type
int d_type
other = 0; simplified = 1, forced = 2, optimized = 3, resulting = 4, related = 5,
Definition: mbs_binder_public.h:28
mbs_info_joint_xml_binder
int mbs_info_joint_xml_binder(MbsInfoJoint *mbs_info_joint, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:281
MbsInfos::bodytree
MbsInfoBodytree * bodytree
Definition: mbs_binder_public.h:387
mbs_new_info_user_IOs
MbsInfoUserIOs * mbs_new_info_user_IOs(void)
Definition: mbs_loader_public.c:1055
mbs_info_solid_xml_binder
int mbs_info_solid_xml_binder(MbsInfoSolid *mbs_info_solid, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:865
mbs_info_init_and_binderXML
int mbs_info_init_and_binderXML(MbsInfos *mbs_infos, const char *mbs_xml_name, int mission)
Definition: mbs_xml_binder.c:1561
mbs_info_reader
MbsInfos * mbs_info_reader(const char *mbs_filename)
Read the mbs file to retrieve size informations (number of joints...).
Definition: mbs_loader_public.c:12
MbsInfoRod::length
double length
Definition: mbs_binder_public.h:218
mbs_info_ref_point_xml_binder
int mbs_info_ref_point_xml_binder(MbsInfoRefPoint *mbs_info_ref_point, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:565
MbsInfoUserModels::user_model_list
MbsInfoUserModel ** user_model_list
Definition: mbs_binder_public.h:345
mbs_new_info_user_model
MbsInfoUserModel * mbs_new_info_user_model(void)
Definition: mbs_loader_public.c:974
mbs_delete_info_links
void mbs_delete_info_links(MbsInfoLinks *mbs_info_links)
Definition: mbs_loader_public.c:884
MbsInfoCuts::ball_list
MbsInfoBall ** ball_list
Definition: mbs_binder_public.h:244
mbs_new_info_cuts
MbsInfoCuts * mbs_new_info_cuts(void)
Definition: mbs_loader_public.c:787
MbsInfoBall
Definition: mbs_binder_public.h:200
mbs_new_info_opti
MbsInfoOpti * mbs_new_info_opti(void)
Definition: mbs_loader_public.c:1090
MbsInfoBody::joint_list
MbsInfoJoint ** joint_list
Array of pointers to the MDS_joint_strct describing each joint leaving the body.
Definition: mbs_binder_public.h:158
MbsInfoSensor::parent_point
MbsInfoRefPoint * parent_point
parent point of the sensor (only for JSON loading ST 12072022) (NULL if it is a parent joint)
Definition: mbs_binder_public.h:60
MbsInfoExtforce::Rot
int Rot
1 if the computation of the sensor rotation matrix has been asked, 0 otherwise.
Definition: mbs_binder_public.h:83
get_dvec_1
double * get_dvec_1(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 1
Definition: mbs_1D_array.c:885
mbs_new_info_user_models
MbsInfoUserModels * mbs_new_info_user_models(void)
Definition: mbs_loader_public.c:1004
MbsInfoDData::d_ptr
double * d_ptr
Definition: mbs_binder_public.h:38
MbsInfoBodytree::n_body
int n_body
Definition: mbs_binder_public.h:171
get_int_xlm_node
int get_int_xlm_node(xmlNodePtr in_node)
GET functions ///////////////////////.
Definition: mbs_xml_binder.c:17
free_dvec_0
void free_dvec_0(double *vec)
release memory for a vector of doubles, starting at index 0
Definition: mbs_1D_array.c:896
mbs_info_bodytree_xml_binder
int mbs_info_bodytree_xml_binder(MbsInfoBodytree *mbs_info_bodytree, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:722
MbsInfoRod::endpoint2
MbsInfoRefPoint * endpoint2
Definition: mbs_binder_public.h:216
MbsInfos::user_models
MbsInfoUserModels * user_models
Definition: mbs_binder_public.h:390
MbsInfoJoint::q0
double q0
Initial position of the joint.
Definition: mbs_binder_public.h:128
mbs_info_user_models_xml_binder
int mbs_info_user_models_xml_binder(MbsInfoUserModels *mbs_info_user_models, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1301
MbsInfoDData::d_min
double d_min
bounds values for optimization
Definition: mbs_binder_public.h:30
MbsInfoJoint::symb_qdd
int symb_qdd
Flag to generate symbol for acceleration.
Definition: mbs_binder_public.h:140
MbsInfos::extforce_list
MbsInfoExtforce ** extforce_list
Pointer to a list of external force sensor.
Definition: mbs_binder_public.h:419
mbs_info_joint_list_xml_binder
int mbs_info_joint_list_xml_binder(MbsInfoJoint **joint_list, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:458
MbsInfoUserModel::name
char * name
Definition: mbs_binder_public.h:336
mbs_info_extforce_xml_binder
int mbs_info_extforce_xml_binder(MbsInfoExtforce *mbs_info_extforce, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:239
MbsInfoJoint::joint_parent
char * joint_parent
Definition: mbs_binder_public.h:143
MbsInfoBody::name
char * name
Name of the body.
Definition: mbs_binder_public.h:152
MbsInfoParameter::flag_PRJPATH
int flag_PRJPATH
Flag to indicate that the path to the data file start from the project path (stored as "PRJPATH" in m...
Definition: mbs_binder_public.h:326
MBS_INFO_UPDATER
#define MBS_INFO_UPDATER
Definition: mbs_binder_public.h:15
mbs_info_ball_xml_binder
int mbs_info_ball_xml_binder(MbsInfoBall *mbs_info_ball, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:762
MbsInfoBodytree::joint_list
MbsInfoJoint ** joint_list
Definition: mbs_binder_public.h:175
MbsInfoRod::d_length
MbsInfoDData * d_length
Definition: mbs_binder_public.h:220
MbsInfos::mbsname
char * mbsname
Definition: mbs_binder_public.h:394
MbsInfos::padversion
char * padversion
Definition: mbs_binder_public.h:395
find_joint_in_joint_list
MbsInfoJoint * find_joint_in_joint_list(MbsInfos *mbs_infos, char *jointname)
Definition: mbs_loader_public.c:1258
mbs_info_point_list_xml_binder
int mbs_info_point_list_xml_binder(MbsInfoPoint **point_list, xmlNodePtr node, int mission, char *body_name)
Definition: mbs_xml_binder.c:532
MbsInfos::n_extforce
int n_extforce
Definition: mbs_binder_public.h:406
MbsInfos::n_point
int n_point
Definition: mbs_binder_public.h:397
mbs_new_info_link
MbsInfoLink * mbs_new_info_link(void)
Definition: mbs_loader_public.c:840
MbsInfoParameter::is_symmmetric
int is_symmmetric
asymmetric = 0, symmetric master = 1, symmetric salve = 2.
Definition: mbs_binder_public.h:312
MbsInfoBody::point_parent
MbsInfoRefPoint * point_parent
Description of the parent point of the current body. (NULL if it is a parent joint)
Definition: mbs_binder_public.h:154
MbsInfoUserIOs::n_in
int n_in
Definition: mbs_binder_public.h:360
MbsInfos::sensor_point_list
int * sensor_point_list
Definition: mbs_binder_public.h:404
mbs_new_info_rod
MbsInfoRod * mbs_new_info_rod(void)
Definition: mbs_loader_public.c:716
mbs_warning_msg
void mbs_warning_msg(char *msg,...)
Send a warning message.
Definition: mbs_message.c:89
mbs_delete_info_cuts
void mbs_delete_info_cuts(MbsInfoCuts *mbs_info_cuts)
Definition: mbs_loader_public.c:803
mbs_info_point_xml_binder
int mbs_info_point_xml_binder(MbsInfoPoint *mbs_info_point, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:490
MbsInfoDData::master_d_ptr
struct MbsInfoDData * master_d_ptr
Definition: mbs_binder_public.h:36
MbsInfoUserModels
Definition: mbs_binder_public.h:342
MbsInfoSensor::Omp
int Omp
1 if the computation of the sensor angular acceleration has been asked, 0 otherwise.
Definition: mbs_binder_public.h:68
mbs_info_user_model_xml_binder
int mbs_info_user_model_xml_binder(MbsInfoUserModel *mbs_info_user_model, xmlNodePtr node, int mission)
Definition: mbs_xml_binder.c:1258
MbsInfoJoint::symb_qd
int symb_qd
Flag to generate symbol for velocity.
Definition: mbs_binder_public.h:139
mbs_errors_names.h
MbsInfoSensor::Vit
int Vit
1 if the computation of the sensor linear velocity has been asked, 0 otherwise.
Definition: mbs_binder_public.h:65
MbsInfos::all_joint_list
MbsInfoJoint ** all_joint_list
Definition: mbs_binder_public.h:416
MbsInfoExtforce
This structure contains all information about an external force sensor defined on the MBS structure.
Definition: mbs_binder_public.h:76
MbsInfoSensor::Jac
int Jac
1 if the computation of the sensor Jacobian ( ) has been asked, 0 otherwise.
Definition: mbs_binder_public.h:69
MbsInfoBody::n_joint
int n_joint
Number of joints leaving the body.
Definition: mbs_binder_public.h:157