#include "mbs_data.h"
Go to the source code of this file.
Functions | |
void | mbs_set_nb_userc (MbsData *mbs_data, int Nuserc) |
Set the number of user constraints and update the related structures. More... | |
void | mbs_set_qu (MbsData *mbs_data, int qu) |
set a variable to independent partition More... | |
void | mbs_set_qv (MbsData *mbs_data, int qv) |
set a variable to dependent partition More... | |
void | mbs_set_qdriven (MbsData *mbs_data, int qdriven) |
set a variable to driven partition More... | |
void | mbs_set_qlocked (MbsData *mbs_data, int qlocked) |
set a variable to locked partition More... | |
void | mbs_set_qa (MbsData *mbs_data, int qa) |
set a variable to actuated partition More... | |
void | mbs_unset_qa (MbsData *mbs_data, int qa) |
unset a variable from the actuated partition More... | |
void | mbs_empty_qa (MbsData *mbs_data) |
Remove all joints from the actuated partition. More... | |
void | print_mbs_q_all (MbsData *mbs_data) |
print the vectors qu, qv, qc, qdriven and qlocked More... | |
void | print_mbs_q_vec (int *q_vec, int nq) |
print a vector of indexes with first elem in brackets More... | |
int | add_mbs_q_elem (int *q_vec, int nq, int new_q) |
add a new index in a q vector It does not modify the vector and vector size if the index is already in the q vector. More... | |
int | remove_mbs_q_elem (int *q_vec, int nq, int old_q) |
remove an old index in a q vector It does not modify the vector and vector size if the index is not in the q vector. More... | |
void | udpate_nq (MbsData *mbs_data, int new_nqu, int new_nqv, int new_nqc, int new_nqdriven, int new_nqlocked) |
DEPRECATED; do not use: update the nq variables, SHOULD not be used The function still works, however the number of joint of a specific nature should have been updated at the same time as the nature of the joint was changed. More... | |
int | mbs_set_module_option (int **i_vec1_opt_dest, int *vec_indices_input, int n_indices) |
allow to set the int indices contained in vec_indices_input inside the already allocated i_vec1_opt_dest (int*) i_vec1_opt_dest[0] = n_indices; i_vec1_opt_dest[1] = vec_indices_input[1]; ... More... | |
Creation date: 11/06/2015
(c) Universite catholique de Louvain
int add_mbs_q_elem | ( | int * | q_vec, |
int | nq, | ||
int | new_q | ||
) |
add a new index in a q vector It does not modify the vector and vector size if the index is already in the q vector.
[in,out] | q_vec | original q vector, have to be initialized at size njoint |
[in] | nq | number of elements in the original vector |
[in] | new_q | new index to add |
void mbs_empty_qa | ( | MbsData * | mbs_data | ) |
Remove all joints from the actuated partition.
[in,out] | mbs_data | MbsData structure to modify |
This function must be called after mbs_load()
int mbs_set_module_option | ( | int ** | i_vec1_opt_dest, |
int * | vec_indices_input, | ||
int | n_indices | ||
) |
allow to set the int indices contained in vec_indices_input inside the already allocated i_vec1_opt_dest (int*) i_vec1_opt_dest[0] = n_indices; i_vec1_opt_dest[1] = vec_indices_input[1]; ...
[in,out] | i_vec1_opt_dest | ptr to the already allocated vector. Will be reallocated (get_i_vec_1(n_indices)). |
[in] | vec_indices_input | the vector containing the indice to copy/paste (static memory) |
[in] | n_indices | the size of the vector vec_indices_input |
void mbs_set_nb_userc | ( | MbsData * | mbs_data, |
int | Nuserc | ||
) |
Set the number of user constraints and update the related structures.
[in,out] | mbs_data | MbsData structure to modify |
[in] | Nuserc | number of user constraints |
This function must be called between mbs_load() and mbs_new_part() in 'main.c'
void mbs_set_qa | ( | MbsData * | mbs_data, |
int | qa | ||
) |
set a variable to actuated partition
[in,out] | mbs_data | MbsData structure to modify |
[in] | qa | variable to set to actuated |
This function must be called after mbs_load()
void mbs_set_qdriven | ( | MbsData * | mbs_data, |
int | qdriven | ||
) |
set a variable to driven partition
[in,out] | mbs_data | MbsData structure to modify |
[in] | qdriven | variable to set to driven |
This function must be called between mbs_load() and mbs_new_part() in 'main.c'
void mbs_set_qlocked | ( | MbsData * | mbs_data, |
int | qlocked | ||
) |
set a variable to locked partition
[in,out] | mbs_data | MbsData structure to modify |
[in] | qlocked | variable to set to locked |
This function must be called between mbs_load() and mbs_new_part() in 'main.c'
void mbs_set_qu | ( | MbsData * | mbs_data, |
int | qu | ||
) |
set a variable to independent partition
[in,out] | mbs_data | MbsData structure to modify |
[in] | qu | variable to set to independent |
This function must be called between mbs_load() and mbs_new_part() in 'main.c'
void mbs_set_qv | ( | MbsData * | mbs_data, |
int | qv | ||
) |
set a variable to dependent partition
[in,out] | mbs_data | MbsData structure to modify |
[in] | qv | variable to set to dependent |
This function must be called between mbs_load() and mbs_new_part() in 'main.c'
void mbs_unset_qa | ( | MbsData * | mbs_data, |
int | qa | ||
) |
unset a variable from the actuated partition
[in,out] | mbs_data | MbsData structure to modify |
[in] | qa | variable to unset form the actuated partition |
This function must be called after mbs_load()
void print_mbs_q_all | ( | MbsData * | mbs_data | ) |
print the vectors qu, qv, qc, qdriven and qlocked
[in] | mbs_data | MbsData structure to modify |
void print_mbs_q_vec | ( | int * | q_vec, |
int | nq | ||
) |
print a vector of indexes with first elem in brackets
[in] | q_vec | vector to print |
[in] | nq | size of the vector - 1 |
int remove_mbs_q_elem | ( | int * | q_vec, |
int | nq, | ||
int | old_q | ||
) |
remove an old index in a q vector It does not modify the vector and vector size if the index is not in the q vector.
[in,out] | q_vec | original q vector, have to be initialized at size njoint |
[in] | nq | number of elements in the original vector |
[in] | old_q | old index to remove |
void udpate_nq | ( | MbsData * | mbs_data, |
int | new_nqu, | ||
int | new_nqv, | ||
int | new_nqc, | ||
int | new_nqdriven, | ||
int | new_nqlocked | ||
) |
DEPRECATED; do not use: update the nq variables, SHOULD not be used The function still works, however the number of joint of a specific nature should have been updated at the same time as the nature of the joint was changed.
[in,out] | mbs_data | MbsData structure to modify |
[in] | new_nqu | the new number of independent joints |
[in] | new_nqv | the new number of dependent joints |
[in] | new_nqc | the new number of driven and locked joints |
[in] | new_nqdriven | the new number of driven joint |
[in] | new_nqlocked | the new number of locked joint |