This update contains several fixes and small new features or usability improvements. Descriptions and authorship information can be accessed from the pull requests listed below. Skip the zero-step also when multiple run commands are executed in sequence (@giacomofiorin) https://github.com/Colvars/colvars/pull/357 Do not accumulate data at step 0 (@giacomofiorin) https://github.com/Colvars/colvars/pull/345 Support for symmetry permutations of atoms in RMSD (@jhenin) https://github.com/Colvars/colvars/pull/344 Detect new grid parameters (@jhenin) https://github.com/Colvars/colvars/pull/341 Only access the output streams in non-threaded regions (@giacomofiorin) https://github.com/Colvars/colvars/pull/338 Fix incomplete setting of default colvarsRestartFrequency (@giacomofiorin) https://github.com/Colvars/colvars/pull/334 Fix typo (@e-kwsm) https://github.com/Colvars/colvars/pull/333 Convert the input keyword to lowercase in read_state_data_key (@HanatoK) https://github.com/Colvars/colvars/pull/332 Implement reflecting b.c. for ext Lagrangian (@jhenin) https://github.com/Colvars/colvars/pull/329
50 lines
2.0 KiB
C++
50 lines
2.0 KiB
C++
// -*- c++ -*-
|
|
|
|
// This file is part of the Collective Variables module (Colvars).
|
|
// The original version of Colvars and its updates are located at:
|
|
// https://github.com/Colvars/colvars
|
|
// Please update all Colvars source files before making any changes.
|
|
// If you wish to distribute your changes, please submit them to the
|
|
// Colvars repository at GitHub.
|
|
|
|
|
|
#include <vector>
|
|
#include <cstdlib>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#include "colvarproxy.h"
|
|
#include "colvardeps.h"
|
|
#include "colvarscript.h"
|
|
#include "colvarscript_commands.h"
|
|
|
|
|
|
|
|
// Instantiate the body of all colvar-specific script commands
|
|
|
|
#define CVSCRIPT_COMM_FN(COMM,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY) \
|
|
int CVSCRIPT_COMM_FNAME(COMM)(void *pobj, \
|
|
int objc, unsigned char *const objv[]) \
|
|
{ \
|
|
if (cvm::debug()) { \
|
|
cvm::log("Executing script function \""+std::string(#COMM)+"\""); \
|
|
} \
|
|
colvarscript *script = colvarscript_obj(); \
|
|
script->clear_str_result(); \
|
|
if (script->check_colvar_cmd_nargs(#COMM, \
|
|
objc, N_ARGS_MIN, N_ARGS_MAX) != \
|
|
COLVARSCRIPT_OK) { \
|
|
return COLVARSCRIPT_ERROR; \
|
|
} \
|
|
colvar *this_colvar = colvar_obj(pobj); \
|
|
FN_BODY; \
|
|
}
|
|
#undef CVSCRIPT
|
|
#define CVSCRIPT(COMM,HELP,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY) \
|
|
CVSCRIPT_COMM_FN(COMM,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY)
|
|
|
|
#include "colvarscript_commands_colvar.h"
|
|
|
|
#undef CVSCRIPT_COMM_FN
|
|
#undef CVSCRIPT
|