static void init_cog(t_topology * /* top */, int /* npar */, gmx_ana_selparam_t *param, void *data) { t_methoddata_pos *d = (t_methoddata_pos *)data; d->flags = (param[0].flags & SPAR_DYNAMIC) ? POS_DYNAMIC : 0; d->pc = d->pcc->createCalculation(d->bPBC ? POS_ALL_PBC : POS_ALL, d->flags); gmx_ana_poscalc_set_maxindex(d->pc, &d->g); }
/*! * \param[in] top Topology data structure. * \param[in] npar Not used. * \param[in] param Not used. * \param[in,out] data Should point to \c t_methoddata_pos. * \returns 0 on success, a non-zero error code on error. */ static int init_cog(t_topology *top, int npar, gmx_ana_selparam_t *param, void *data) { t_methoddata_pos *d = (t_methoddata_pos *)data; int rc; d->flags = (param[0].flags & SPAR_DYNAMIC) ? POS_DYNAMIC : 0; rc = gmx_ana_poscalc_create(&d->pc, d->pcc, d->bPBC ? POS_ALL_PBC : POS_ALL, d->flags); if (rc != 0) { return rc; } gmx_ana_poscalc_set_maxindex(d->pc, &d->g); return 0; }
static void init_kwpos(t_topology * /* top */, int /* npar */, gmx_ana_selparam_t *param, void *data) { t_methoddata_pos *d = (t_methoddata_pos *)data; if (!(param[0].flags & SPAR_DYNAMIC)) { d->flags &= ~(POS_DYNAMIC | POS_MASKONLY); } else if (!(d->flags & POS_MASKONLY)) { d->flags |= POS_DYNAMIC; } d->pc = d->pcc->createCalculationFromEnum(d->type, d->flags); gmx_ana_poscalc_set_maxindex(d->pc, &d->g); }
/*! * \param[in] top Not used. * \param[in] npar Not used. * \param[in] param Not used. * \param[in,out] data Should point to \c t_methoddata_pos. * \returns 0 on success, a non-zero error code on error. * * The \c t_methoddata_pos::type field should have been initialized * externally using _gmx_selelem_set_kwpos_type(). */ static int init_kwpos(t_topology *top, int npar, gmx_ana_selparam_t *param, void *data) { t_methoddata_pos *d = (t_methoddata_pos *)data; int rc; if (!(param[0].flags & SPAR_DYNAMIC)) { d->flags &= ~(POS_DYNAMIC | POS_MASKONLY); } else if (!(d->flags & POS_MASKONLY)) { d->flags |= POS_DYNAMIC; } rc = gmx_ana_poscalc_create_enum(&d->pc, d->pcc, d->type, d->flags); if (rc != 0) { return rc; } gmx_ana_poscalc_set_maxindex(d->pc, &d->g); return 0; }