View& Views::addFinishView(const std::string& name, const std::string& output) { if (isUsedOutput(output)) { throw utils::ArgError(fmt( _("Output '%1%' of view '%2%' is already used")) % output % name); } return add(View(name, View::FINISH, output)); }
View& Views::addTimedView(const std::string& name, double timestep, const std::string& output) { if (isUsedOutput(output)) { throw utils::ArgError(fmt( _("Output '%1%' of view '%2%' is already used")) % output % name); } return add(View(name, View::TIMED, output, timestep)); }
View& Views::addEventView(const std::string& name, View::Type type, const std::string& output, bool enable) { if (isUsedOutput(output)) { throw utils::ArgError( (fmt(_("Output '%1%' of view '%2%' is already used")) % output % name).str()); } return add(View(name, type, output, 0.0, enable)); }