示例#1
0
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);
}
示例#2
0
/*!
 * \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;
}
示例#3
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);
}
示例#4
0
/*!
 * \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;
}