Robotran C Documentation
Functions
mbs_project_fct_ptr.c File Reference
#include "mbs_data.h"
#include "mbs_define.h"
#include "mbs_message.h"
#include "mbs_errors_names.h"
#include "mbs_sensor_struct.h"
#include "mbs_project_interface.h"
#include "realtime.h"
#include <math.h>

Functions

int mbs_call_link (double **frc, double **trq, double *Flnk, double *Z, double *Zd, MbsData *s, double tsim)
 Symbolic link forces function declaration. More...
 
int mbs_call_link3D (double **frc, double **trq, MbsData *s, double tsim)
 Symbolic link 3D forces function declaration. More...
 
int mbs_call_extforces (double **frc, double **trq, MbsData *s, double tsim)
 Symbolic external forces function declaration. More...
 
int mbs_call_accelred (MbsData *s, double tsim)
 Symbolic reduced acceleration function declaration. More...
 
int mbs_call_dirdyna (double **M, double *c, MbsData *s, double tsim)
 Symbolic direct dynamic function declaration. More...
 
int mbs_call_invdyna (double *Q, MbsData *s, double tsim)
 Symbolic inverse dynamic function declaration. More...
 
int mbs_call_cons_hJ (double *h, double **Jac, MbsData *s, double tsim)
 Symbolic constraints function declaration. More...
 
int mbs_call_cons_jdqd (double *Jdqd, MbsData *s, double tsim)
 Symbolic jdqd function declaration. More...
 
int mbs_call_sensor (MbsSensor *sens, MbsData *s, int isens)
 Declaration of the symbolic function computing all fields of a sensor. More...
 
int mbs_call_gensensor (MbsSensor *sens, MbsData *s, int isens)
 Declaration of the symbolic function computing all fields of a sensor located at a body origin. More...
 
int mbs_call_check_symbolic (MbsData *s)
 Call the symbolic checking function, see mbs_check_symbolic(). More...
 
int mbs_call_invdynared_dq (MbsData *s, double tsim)
 Compute the stiffness matrix of the system. More...
 
int mbs_call_invdynared_dqd (MbsData *s, double tsim)
 Compute the damping matrix of the system. More...
 
int mbs_call_invdynared_dqdd (MbsData *s, double tsim)
 Compute the reduced mass matrix of the system. More...
 
int mbs_call_invdynared_dp (MbsData *s, double tsim)
 
double * user_call_JointForces (MbsData *s, double tsim)
 Module redirection for user joint force function, see user_JointForces(). More...
 
double * user_call_Link3DForces (double PxF[4], double RxF[4][4], double VxF[4], double OMxF[4], double AxF[4], double OMPxF[4], MbsData *s, double tsim, int ixF)
 Module redirection for user link 3D function, see user_Link3DForces(). More...
 
double user_call_LinkForces (double Z, double Zd, MbsData *s, double tsim, int ilnk)
 Module redirection for user link force function, see user_LinkForces(). More...
 
double * user_call_ExtForces (double PxF[4], double RxF[4][4], double VxF[4], double OMxF[4], double AxF[4], double OMPxF[4], MbsData *s, double tsim, int ixF)
 Module redirection for the computation of external forces, see user_DrivenJoints(). More...
 
int user_call_Derivative (MbsData *s)
 Module redirection for the time derivative of the user state variables, see user_Derivative() however the return differs. More...
 
int user_call_DrivenJoints (MbsData *s, double tsim)
 Module redirection for the computation of driven joints, see user_DrivenJoints() however the return differs. More...
 
int user_call_cons_hJ (double *h, double **Jac, MbsData *s, double tsim)
 Module redirection for user joint force function, see user_cons_hJ() however the return differs. More...
 
int user_call_cons_jdqd (double *jdqd, MbsData *s, double tsim)
 Module redirection for jdqd term of the user-specified constraints, see user_cons_jdqd() however the return differs. More...
 
int user_call_cons_J_accelred (MbsData *s, double tsim)
 Module redirection for accelred user-specified constraints function, see user_cons_J_accelred(). More...
 
double * user_call_JointForces_dq (MbsData *s, double tsim, int ixJ)
 Module redirection for user function, see user_JointForces_dq(). More...
 
double * user_call_JointForces_dqd (MbsData *s, double tsim, int ixJ)
 Module redirection for user function, see user_JointForces_dqd(). More...
 
double * user_call_JointForces_dqdd (MbsData *s, double tsim, int ixJ)
 Module redirection for user function, see user_call_JointForces_dqdd(). More...
 
double * user_call_JointForces_dp (MbsData *s, double tsim)
 Module redirection for user function, see user_JointForces_dp(). More...
 
double user_call_LinkForces_dq (double Z, double d_Z, double Zd, double d_Zd, MbsData *s, double tsim, int i_link, int index)
 Module redirection for user function, see user_LinkForces_dq(). More...
 
double user_call_LinkForces_dqd (double Z, double d_Z, double Zd, double d_Zd, MbsData *s, double tsim, int i_link, int index)
 Module redirection for user function, see user_LinkForces_dqd(). More...
 
double user_call_LinkForces_dqdd (double Z, double d_Z, double Zd, double d_Zd, MbsData *s, double tsim, int i_link, int index)
 Module redirection for user function, see user_LinkForces_dqdd(). More...
 
double user_call_LinkForces_dp (double Z, double d_Z, double Zd, double d_Zd, MbsData *s, double tsim, int i_link)
 Module redirection for user function, see user_LinkForces_dp(). More...
 
double * user_call_ExtForces_dq (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_force, int i_joint)
 Module redirection for user function, see user_call_ExtForces_dq(). More...
 
double * user_call_ExtForces_dqd (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_force, int i_joint)
 Module redirection for user function, see user_ExtForces_dqd(). More...
 
double * user_call_ExtForces_dqdd (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_force, int i_joint)
 Module redirection for user function, see user_ExtForces_dqdd(). More...
 
double * user_call_ExtForces_dp (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_force)
 Module redirection for user function, see user_ExtForces_dp(). More...
 
double * user_call_Link3DForces_dq (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d, int i_param)
 Module redirection for user function, see user_Link3DForces_dq(). More...
 
double * user_call_Link3DForces_dqd (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d, int i_param)
 Module redirection for user function, see user_Link3DForces_dqd(). More...
 
double * user_call_Link3DForces_dqdd (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d, int i_param)
 Module redirection for user function, see user_Link3DForces_dqdd(). More...
 
double * user_call_Link3DForces_dp (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d)
 Module redirection for user function, see user_Link3DForces_dp(). More...
 
void user_call_dirdyn_init (MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Module redirection for user own dirdyn initialization function, see user_dirdyn_init(). More...
 
void user_call_dirdyn_loop (MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Module redirection for user own dirdyn loop function, see user_dirdyn_loop(). More...
 
void user_call_dirdyn_finish (MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Module redirection for user own dirdyn finish function, see user_dirdyn_finish(). More...
 
void user_call_invdyn_init (MbsData *mbs_data, MbsInvdyn *mbs_invd)
 Module redirection for user own dirdyn initialization function, see user_dirdyn_init(). More...
 
void user_call_invdyn_loop (MbsData *mbs_data, MbsInvdyn *mbs_invd)
 Module redirection for user own dirdyn loop function, see user_dirdyn_loop(). More...
 
void user_call_invdyn_finish (MbsData *mbs_data, MbsInvdyn *mbs_invd)
 Module redirection for user own dirdyn finish function, see user_dirdyn_finish(). More...
 
void user_call_equil_init (MbsData *mbs_data, MbsEquil *mbs_equil)
 Module redirection for user own equilibrium initialization function, see user_equil_init(). More...
 
void user_call_equil_loop (MbsData *mbs_data, MbsEquil *mbs_equil)
 Module redirection for user own equil loop function, see user_equil_loop(). More...
 
void user_call_equil_finish (MbsData *mbs_data, MbsEquil *mbs_equil)
 Module redirection for user own equil finish function, see user_equil_finish(). More...
 
void user_call_equil_fxe (MbsData *mbs_data, double *f)
 Module redirection for user own equilibrium equations function, see user_equil_fxe(). More...
 
void user_call_realtime_options (MbsData *mbs_data, Realtime_option *options)
 
void user_call_keyboard (MbsData *mbs_data, Simu_realtime *realtime, int cur_t_usec, const Uint8 *keystates)
 
void user_call_realtime_plot (MbsData *mbs_data)
 
void user_call_joystick_axes (MbsData *mbs_data, Simu_realtime *realtime, int nb_joysticks)
 
void user_call_joystick_buttons (MbsData *mbs_data, int buttonID)
 
void user_call_realtime_visu (MbsData *mbs_data, int nb_models, int *nb_q, double **q_vec)
 Redirection to the user-specified user function of realtime visualization. More...
 
void user_call_synch_outputs (MbsData *mbs_data)
 

Detailed Description

Define template functions that call the user and symbolic function stored via pointers in the MbsData structure

Date
23/06/2016
Author
Nicolas Docquier

Function Documentation

◆ mbs_call_accelred()

int mbs_call_accelred ( MbsData s,
double  tsim 
)

Symbolic reduced acceleration function declaration.

The arguments are the same for the module redirection function mbs_call_accelred() and the generated symbolic function mbs_accelred().

Parameters
[in,out]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
Positive or null for success, negative in case of error.

◆ mbs_call_check_symbolic()

int mbs_call_check_symbolic ( MbsData s)

Call the symbolic checking function, see mbs_check_symbolic().

Only the number of elements are checked, if topology has changed (at constant number of elements) no error is detected.

Parameters
[in,out]sThe MbsData structure of the model, MbsData::flag_stop is raised in case of error.
Returns
Status code (macro):
  • MBS_INFO_SUCCESS: No fatal error detected;
  • MBS_INFO_WARNING: Symbolic function does not exists;
  • MBS_INFO_ERROR: Symbolic files are not compatible;

◆ mbs_call_cons_hJ()

int mbs_call_cons_hJ ( double *  h,
double **  Jac,
MbsData s,
double  tsim 
)

Symbolic constraints function declaration.

The arguments are the same for the module redirection function mbs_call_cons_hJ() and the generated symbolic function mbs_cons_hJ().

Parameters
[out]hThe loops constraint vector, see MbsAux::h.
[out]JacThe Jacobian of loops constraint vector, see MbsAux::Jac.
[in]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 for success, negative in case of error.

◆ mbs_call_cons_jdqd()

int mbs_call_cons_jdqd ( double *  Jdqd,
MbsData s,
double  tsim 
)

Symbolic jdqd function declaration.

The arguments are the same for the module redirection function mbs_call_cons_jdqd() and the generated symbolic function mbs_cons_jdqd(). However the return differs.

Parameters
[out]JdqdThe jdqd term of loops constraint, see MbsAux::jdqd.
[in]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 for success, negative in case of error.

◆ mbs_call_dirdyna()

int mbs_call_dirdyna ( double **  M,
double *  c,
MbsData s,
double  tsim 
)

Symbolic direct dynamic function declaration.

The arguments are the same for the module redirection function mbs_call_dirdyna() and the generated symbolic function mbs_dirdyna(). However the return differs.

Parameters
[out]MThe mass matrix of the model, see MbsAux::M.
[out]cThe non-linear components of the equation of the model, see MbsAux::c.
[in,out]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 if success, -1 in case of error.

◆ mbs_call_extforces()

int mbs_call_extforces ( double **  frc,
double **  trq,
MbsData s,
double  tsim 
)

Symbolic external forces function declaration.

The arguments are the same for the module redirection function mbs_call_extforces() and the generated symbolic function mbs_extforces(). However the return differs.

Parameters
[out]frcComponents of the resultant external forces, see MbsData::frc.
[out]trqComponents of the resultant external torquess, see MbsData::trc.
[in]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 for success, negative in case of error.

◆ mbs_call_gensensor()

int mbs_call_gensensor ( MbsSensor sens,
MbsData s,
int  isens 
)

Declaration of the symbolic function computing all fields of a sensor located at a body origin.

The arguments are the same for the module redirection function mbs_call_gensensor() and the generated symbolic function mbs_gensensor(). However the return differs.

Parameters
[in,out]sensPointer to the MbsSensor structure to compute.
[in]spointer to the MbsData structure of the model related to the sensor.
[in]isensthe ID of the sensor, for Force sensor the id has to be incremented by MbsData::Nsensor.
Returns
0 for success, negative in case of error.

◆ mbs_call_invdyna()

int mbs_call_invdyna ( double *  Qq,
MbsData s,
double  tsim 
)

Symbolic inverse dynamic function declaration.

The arguments are the same for the module redirection function mbs_call_invdyna() and the generated symbolic function mbs_invdyna(). However the return differs.

Parameters
[out]QqThe dynamic vector of the model, see MbsAux::phi.
[in,out]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 if success, -1 in case of error.

◆ mbs_call_invdynared_dp()

int mbs_call_invdynared_dp ( MbsData s,
double  tsim 
)

◆ mbs_call_invdynared_dq()

int mbs_call_invdynared_dq ( MbsData s,
double  tsim 
)

Compute the stiffness matrix of the system.

The stiffness matrix is stored in MbsData::mbs_dp->K.

Parameters
[in,out]spointer to the MbsData structure of the model
[in]tsimthe current time of the simulation.
Returns
The status, <0 in case of failure.

◆ mbs_call_invdynared_dqd()

int mbs_call_invdynared_dqd ( MbsData s,
double  tsim 
)

Compute the damping matrix of the system.

The damping matrix is stored in MbsData::mbs_dp->G.

Parameters
[in,out]spointer to the MbsData structure of the model
[in]tsimthe current time of the simulation.
Returns
The status, <0 in case of failure.

◆ mbs_call_invdynared_dqdd()

int mbs_call_invdynared_dqdd ( MbsData s,
double  tsim 
)

Compute the reduced mass matrix of the system.

The mass matrix is stored in MbsData::mbs_dp->M.

Parameters
[in,out]spointer to the MbsData structure of the model
[in]tsimthe current time of the simulation.
Returns
The status, <0 in case of failure.

◆ mbs_call_link()

int mbs_call_link ( double **  frc,
double **  trq,
double *  Flnk,
double *  Z,
double *  Zd,
MbsData s,
double  tsim 
)

Symbolic link forces function declaration.

The arguments are the same for the module redirection function mbs_call_link() and the generated symbolic function mbs_link(). However the return differs.

Parameters
[out]frcComponents of the resultant external forces, see MbsData::frc.
[out]trqComponents of the resultant external torquess, see MbsData::trc.
[out]FlnkThe forces in the links, see MbsData::Fl
[out]ZThe distances between of the points the links, see MbsData::Z
[out]ZdThe velocities between of the points the links, see MbsData::Zd
[in]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 for success, negative in case of error.

◆ mbs_call_link3D()

int mbs_call_link3D ( double **  frc,
double **  trq,
MbsData s,
double  tsim 
)

Symbolic link 3D forces function declaration.

The arguments are the same for the module redirection function mbs_call_link3D() and the generated symbolic function mbs_link3D(). However the return differs.

Parameters
[out]frcComponents of the resultant external forces, see MbsData::frc.
[out]trqComponents of the resultant external torquess, see MbsData::trc.
[in]sThe MbsData structure of the model.
[in]tsimThe current time.
Returns
0 for success, negative in case of error.

◆ mbs_call_sensor()

int mbs_call_sensor ( MbsSensor sens,
MbsData s,
int  isens 
)

Declaration of the symbolic function computing all fields of a sensor.

The function can be called for both "classical" and "external force" sensors.

The arguments are the same for the module redirection function mbs_call_sensor() and the generated symbolic function mbs_sensor(). However the return differs.

Parameters
[in,out]sensPointer to the MbsSensor structure to compute.
[in]spointer to the MbsData structure of the model related to the sensor.
[in]isensthe ID of the sensor, for Force sensor the id has to be incremented by MbsData::Nsensor.
Returns
0 for success, negative in case of error.

◆ user_call_cons_hJ()

int user_call_cons_hJ ( double *  h,
double **  Jac,
MbsData s,
double  tsim 
)

Module redirection for user joint force function, see user_cons_hJ() however the return differs.

Returns
0 for success, negative in case of error.

◆ user_call_cons_J_accelred()

int user_call_cons_J_accelred ( MbsData s,
double  tsim 
)

Module redirection for accelred user-specified constraints function, see user_cons_J_accelred().

◆ user_call_cons_jdqd()

int user_call_cons_jdqd ( double *  jdqd,
MbsData s,
double  tsim 
)

Module redirection for jdqd term of the user-specified constraints, see user_cons_jdqd() however the return differs.

Returns
0 for success, negative in case of error.

◆ user_call_Derivative()

int user_call_Derivative ( MbsData s)

Module redirection for the time derivative of the user state variables, see user_Derivative() however the return differs.

Returns
0 for success, negative in case of error.

◆ user_call_dirdyn_finish()

void user_call_dirdyn_finish ( MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Module redirection for user own dirdyn finish function, see user_dirdyn_finish().

◆ user_call_dirdyn_init()

void user_call_dirdyn_init ( MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Module redirection for user own dirdyn initialization function, see user_dirdyn_init().

◆ user_call_dirdyn_loop()

void user_call_dirdyn_loop ( MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Module redirection for user own dirdyn loop function, see user_dirdyn_loop().

◆ user_call_DrivenJoints()

int user_call_DrivenJoints ( MbsData s,
double  tsim 
)

Module redirection for the computation of driven joints, see user_DrivenJoints() however the return differs.

Returns
0 for success, negative in case of error.

◆ user_call_equil_finish()

void user_call_equil_finish ( MbsData mbs_data,
MbsEquil mbs_equil 
)

Module redirection for user own equil finish function, see user_equil_finish().

◆ user_call_equil_fxe()

void user_call_equil_fxe ( MbsData mbs_data,
double *  f 
)

Module redirection for user own equilibrium equations function, see user_equil_fxe().

◆ user_call_equil_init()

void user_call_equil_init ( MbsData mbs_data,
MbsEquil mbs_equil 
)

Module redirection for user own equilibrium initialization function, see user_equil_init().

◆ user_call_equil_loop()

void user_call_equil_loop ( MbsData mbs_data,
MbsEquil mbs_equil 
)

Module redirection for user own equil loop function, see user_equil_loop().

◆ user_call_ExtForces()

double* user_call_ExtForces ( double  PxF[4],
double  RxF[4][4],
double  VxF[4],
double  OMxF[4],
double  AxF[4],
double  OMPxF[4],
MbsData s,
double  tsim,
int  ixF 
)

Module redirection for the computation of external forces, see user_DrivenJoints().

◆ user_call_ExtForces_dp()

double* user_call_ExtForces_dp ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_force 
)

Module redirection for user function, see user_ExtForces_dp().

◆ user_call_ExtForces_dq()

double* user_call_ExtForces_dq ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_force,
int  i_joint 
)

Module redirection for user function, see user_call_ExtForces_dq().

◆ user_call_ExtForces_dqd()

double* user_call_ExtForces_dqd ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_force,
int  i_joint 
)

Module redirection for user function, see user_ExtForces_dqd().

◆ user_call_ExtForces_dqdd()

double* user_call_ExtForces_dqdd ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_force,
int  i_joint 
)

Module redirection for user function, see user_ExtForces_dqdd().

◆ user_call_invdyn_finish()

void user_call_invdyn_finish ( MbsData mbs_data,
MbsInvdyn mbs_invd 
)

Module redirection for user own dirdyn finish function, see user_dirdyn_finish().

◆ user_call_invdyn_init()

void user_call_invdyn_init ( MbsData mbs_data,
MbsInvdyn mbs_invd 
)

Module redirection for user own dirdyn initialization function, see user_dirdyn_init().

◆ user_call_invdyn_loop()

void user_call_invdyn_loop ( MbsData mbs_data,
MbsInvdyn mbs_invd 
)

Module redirection for user own dirdyn loop function, see user_dirdyn_loop().

◆ user_call_JointForces()

double* user_call_JointForces ( MbsData s,
double  tsim 
)

Module redirection for user joint force function, see user_JointForces().

◆ user_call_JointForces_dp()

double* user_call_JointForces_dp ( MbsData s,
double  tsim 
)

Module redirection for user function, see user_JointForces_dp().

◆ user_call_JointForces_dq()

double* user_call_JointForces_dq ( MbsData s,
double  tsim,
int  ixJ 
)

Module redirection for user function, see user_JointForces_dq().

◆ user_call_JointForces_dqd()

double* user_call_JointForces_dqd ( MbsData s,
double  tsim,
int  ixJ 
)

Module redirection for user function, see user_JointForces_dqd().

◆ user_call_JointForces_dqdd()

double* user_call_JointForces_dqdd ( MbsData s,
double  tsim,
int  ixJ 
)

Module redirection for user function, see user_call_JointForces_dqdd().

◆ user_call_joystick_axes()

void user_call_joystick_axes ( MbsData mbs_data,
Simu_realtime realtime,
int  nb_joysticks 
)

◆ user_call_joystick_buttons()

void user_call_joystick_buttons ( MbsData mbs_data,
int  buttonID 
)

◆ user_call_keyboard()

void user_call_keyboard ( MbsData mbs_data,
Simu_realtime realtime,
int  cur_t_usec,
const Uint8 keystates 
)

◆ user_call_Link3DForces()

double* user_call_Link3DForces ( double  PxF[4],
double  RxF[4][4],
double  VxF[4],
double  OMxF[4],
double  AxF[4],
double  OMPxF[4],
MbsData s,
double  tsim,
int  ixF 
)

Module redirection for user link 3D function, see user_Link3DForces().

◆ user_call_Link3DForces_dp()

double* user_call_Link3DForces_dp ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_link3d 
)

Module redirection for user function, see user_Link3DForces_dp().

◆ user_call_Link3DForces_dq()

double* user_call_Link3DForces_dq ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_link3d,
int  i_param 
)

Module redirection for user function, see user_Link3DForces_dq().

◆ user_call_Link3DForces_dqd()

double* user_call_Link3DForces_dqd ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_link3d,
int  i_param 
)

Module redirection for user function, see user_Link3DForces_dqd().

◆ user_call_Link3DForces_dqdd()

double* user_call_Link3DForces_dqdd ( double  PxF[4],
double  d_PxF[4],
double  RxF[4][4],
double  d_RxF[4][4],
double  VxF[4],
double  d_VxF[4],
double  OMxF[4],
double  d_OMxF[4],
double  AxF[4],
double  d_AxF[4],
double  OMPxF[4],
double  d_OMPxF[4],
MbsData s,
double  tsim,
int  i_link3d,
int  i_param 
)

Module redirection for user function, see user_Link3DForces_dqdd().

◆ user_call_LinkForces()

double user_call_LinkForces ( double  Z,
double  Zd,
MbsData s,
double  tsim,
int  ilnk 
)

Module redirection for user link force function, see user_LinkForces().

Returns
The force in the current link force or NAN if the user linkforce function is missing.

◆ user_call_LinkForces_dp()

double user_call_LinkForces_dp ( double  Z,
double  d_Z,
double  Zd,
double  d_Zd,
MbsData s,
double  tsim,
int  i_link 
)

Module redirection for user function, see user_LinkForces_dp().

◆ user_call_LinkForces_dq()

double user_call_LinkForces_dq ( double  Z,
double  d_Z,
double  Zd,
double  d_Zd,
MbsData s,
double  tsim,
int  i_link,
int  index 
)

Module redirection for user function, see user_LinkForces_dq().

◆ user_call_LinkForces_dqd()

double user_call_LinkForces_dqd ( double  Z,
double  d_Z,
double  Zd,
double  d_Zd,
MbsData s,
double  tsim,
int  i_link,
int  index 
)

Module redirection for user function, see user_LinkForces_dqd().

◆ user_call_LinkForces_dqdd()

double user_call_LinkForces_dqdd ( double  Z,
double  d_Z,
double  Zd,
double  d_Zd,
MbsData s,
double  tsim,
int  i_link,
int  index 
)

Module redirection for user function, see user_LinkForces_dqdd().

◆ user_call_realtime_options()

void user_call_realtime_options ( MbsData mbs_data,
Realtime_option options 
)

◆ user_call_realtime_plot()

void user_call_realtime_plot ( MbsData mbs_data)

◆ user_call_realtime_visu()

void user_call_realtime_visu ( MbsData mbs_data,
int  nb_models,
int *  nb_q,
double **  q_vec 
)

Redirection to the user-specified user function of realtime visualization.

If the user function is not defined (NULL function pointer) the default behaviour is to set the current joint coordinates to the visualisation pipe. The default behaviour is only called if a single animated model is loaded.

Parameters
[in]mbs_dataThe multibody system related to the visualisation.
[in]nb_modelsThe number of the system in the visualusation.
[in]nb_qNumber of element to be provided for each system.
[in]nb_qvec The pipe containing the value provided to each system.

◆ user_call_synch_outputs()

void user_call_synch_outputs ( MbsData mbs_data)