Commit a521e8c9 authored by Olivier Lantsoght's avatar Olivier Lantsoght

[Load][Doc] MbsInfoParameter fully documented.

parent e26e1198
......@@ -237,26 +237,67 @@ typedef struct MbsInfoLinks
} MbsInfoLinks;
/*! @brief Description of a user model parameter loaded from the mbs file.
*/
typedef struct MbsInfoParameter
{
char *name;
int type; //!< scalar=1 ; vector=2 ; lut1D=3 ; lut2D=4 ; state=5 ; structure=6 : integer=7
int n_value;
double *value_list;
/** pointer to the memory storing the value in the UserModel structure (redundant with MbsInfoDData **d_value but simpler) **/
void* val_ptr;
MbsInfoDData **d_value; // d_data for the value
int is_symmmetric; // asymmetric = 0, symmetric master = 1, symmetric salve = 2
char *symmetric_parameter_name; // the name of the symmetric parameter (filed if master, NULL if slave or non symetric)
/** if user model param is a structure name */
char* structure_name;
char* structure_header;
/** if user model param is a lut1D or lut2D name */
int flag_PRJPATH;
char* structure_lutfile;
char *name; //!< Name of the parameter in the user model.
int type; //!< Type of the parameter between 1 and 7.
//!< Valid values are:
//!< - 1: scalar (one value);
//!< - 2: vector (one or multiple values);
//!< - 3: 1D Look-Up-Table;
//!< - 4: 2D Look-Up-Table;
//!< - 5: user state (one or multiple values);
//!< - 6: structure;
//!< - 7: integer (one value).
//!<
//!< Each parameter may have zero, one or more values.
int n_value; //!< Number of value in the parameter.
double *value_list; //!< Vector (index starting at 1) containing the values
//!< retrieved from the multibody file.
//!< Intergers are interpreted as double during loading.
void* val_ptr; //!< Pointer to the memory storing the value.
//!< The destination of the pointer differs according to parameter type:
//!< - Scalars and integers: the value of the parameter;
//!< - Vectors and states: the begining of the dvec_1 of the value (value_list[0])
//!< - Other: NULL, as value_list is NULL.
//!<
//!< This destination is updated by the function mbs_bind_user_model:
//!< - Scalars, vectors, states and integers : same behavior
//!< but pointing the memory in MbsData.user_model
//!< - 1D LUT: points the MbsLut1D structure in MbsData.user_model.
//!< - 2D LUT: points the MbsLut2D structure in MbsData.user_model.
//!< - structure: points the structure in MbsData.user_model.
/* probably members only used in the past fo optimization purpose */
MbsInfoDData **d_value; //!< d_data for the value.
// d_value seems to be unused in MBsysC (structure only initialized).
// According to the MbsInfoDData contents, it seems to be used for optimization purpose.
int is_symmmetric; //!< asymmetric = 0, symmetric master = 1, symmetric salve = 2.
// is_symmmetric seems to be unused in MBsysC (initialized at 0).
char *symmetric_parameter_name; //!< The name of the symmetric parameter.
//!< Filled if master, NULL if slave or non symetric.
// symmetric_parameter_name seems to be unused in MBsysC (initialized at NULL).
/* if user model param is a structure name */
char* structure_name; //!< Name of the structure, filled if the parameter is a structure.
//!< NULL if the parameter is not a structure.
char* structure_header; //!< Header name with path (relative or absolute) of
//!< header describing a structure parameter.
//!< NULL if the parameter is not a structure.
/* if user model param is a lut1D or lut2D name */
int flag_PRJPATH; //!< Flag to indicate that the path to the data file start
//!< from the project path (stored as "PRJPATH" in mbs file).
char* structure_lutfile; //!< File and path (relative or absolute) to the file
//!< containing the Look-up-Table datas.
//!< NULL if the parameter is not a 1D or 2D Look-up-Table.
} MbsInfoParameter;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment