Update Colvars library to version 2018-10-16
This commit is contained in:
@ -82,6 +82,14 @@ int colvarscript::run(int objc, unsigned char *const objv[])
|
||||
|
||||
int error_code = COLVARS_OK;
|
||||
|
||||
// If command is found in map, execute it
|
||||
std::string const cmd_key("cv_"+cmd);
|
||||
if (comm_str_map.count(cmd_key) > 0) {
|
||||
error_code |= (*(comm_fns[comm_str_map[cmd_key]]))(
|
||||
reinterpret_cast<void *>(this), objc, objv);
|
||||
return error_code;
|
||||
}
|
||||
|
||||
if (cmd == "colvar") {
|
||||
if (objc < 3) {
|
||||
result = "Missing parameters\n" + help_string();
|
||||
@ -295,11 +303,12 @@ int colvarscript::proc_colvar(colvar *cv, int objc, unsigned char *const objv[])
|
||||
}
|
||||
|
||||
if (subcmd == "delete") {
|
||||
size_t i;
|
||||
for (i = 0; i < cv->biases.size(); i++) {
|
||||
while (cv->biases.size() > 0) {
|
||||
size_t i = cv->biases.size()-1;
|
||||
cvm::log("Warning: before deleting colvar " + cv->name
|
||||
+ ", deleting parent bias " + cv->biases[i]->name);
|
||||
delete cv->biases[i];
|
||||
}
|
||||
cv->biases.clear();
|
||||
// colvar destructor is tasked with the cleanup
|
||||
delete cv;
|
||||
// TODO this could be done by the destructors
|
||||
@ -373,6 +382,23 @@ int colvarscript::proc_colvar(colvar *cv, int objc, unsigned char *const objv[])
|
||||
return COLVARS_OK;
|
||||
}
|
||||
|
||||
if (subcmd == "modifycvcs") {
|
||||
if (objc < 4) {
|
||||
result = "cvcflags: missing parameter: vector of strings";
|
||||
return COLVARSCRIPT_ERROR;
|
||||
}
|
||||
std::vector<std::string> const confs(proxy->script_obj_to_str_vector(objv[3]));
|
||||
cvm::increase_depth();
|
||||
int res = cv->update_cvc_config(confs);
|
||||
cvm::decrease_depth();
|
||||
if (res != COLVARS_OK) {
|
||||
result = "Error setting CVC flags";
|
||||
return COLVARSCRIPT_ERROR;
|
||||
}
|
||||
result = "0";
|
||||
return COLVARS_OK;
|
||||
}
|
||||
|
||||
if ((subcmd == "get") || (subcmd == "set") || (subcmd == "state")) {
|
||||
return proc_features(cv, objc, objv);
|
||||
}
|
||||
@ -547,6 +573,8 @@ std::string colvarscript::help_string() const
|
||||
Managing the Colvars module:\n\
|
||||
configfile <file name> -- read configuration from a file\n\
|
||||
config <string> -- read configuration from the given string\n\
|
||||
getconfig -- get the module's configuration string\n\
|
||||
resetindexgroups -- clear the index groups loaded so far\n\
|
||||
reset -- delete all internal configuration\n\
|
||||
delete -- delete this Colvars module instance\n\
|
||||
version -- return version of Colvars code\n\
|
||||
@ -579,6 +607,7 @@ Accessing collective variables:\n\
|
||||
colvar <name> gettotalforce -- return total force of colvar <name>\n\
|
||||
colvar <name> getconfig -- return config string of colvar <name>\n\
|
||||
colvar <name> cvcflags <fl> -- enable or disable cvcs according to 0/1 flags\n\
|
||||
colvar <name> modifycvcs <str> -- pass new config strings to each CVC\n\
|
||||
colvar <name> get <f> -- get the value of the colvar feature <f>\n\
|
||||
colvar <name> set <f> <val> -- set the value of the colvar feature <f>\n\
|
||||
\n\
|
||||
|
||||
Reference in New Issue
Block a user