57 ostream& os = out.os();
62 string mark = iorheo::getmark(os);
66 for (; idx < b.n_field(); ++idx)
if (mark == b[idx].first)
break;
67 check_macro (idx < b.n_field(),
"mark `" << mark <<
"' not found in branch");
70 b._u_range.first = std::min (b._u_range.first, uh.
min());
71 b._u_range.second = std::max (b._u_range.second, uh.
max());
75 size_t branch_counter = iorheo::getbranch_counter(os);
76 iorheo::setbranch_counter(os, branch_counter+1);
77 bool skipvtk = iorheo::getskipvtk(os);
79 bool clean = iorheo::getclean(os);
80 string basename = iorheo::getbasename(os);
81 if (basename ==
"") basename =
"output";
84 string data_file_name = tmp + basename +
"-" + std::to_string(b._count_value) +
".vtk";
85 ofstream
vtk (data_file_name.c_str());
87 bool verbose = iorheo::getverbose(clog);
88 verbose && clog <<
"! file `" << data_file_name <<
"' created" << endl;
108 if (b.n_field() == 0) {
112 ostream& os = out.os();
117 popt.
mark = iorheo::getmark(os);
119 if (popt.
mark ==
"") {
120 popt.
mark = b[0].first;
122 for (; idx < b.n_field(); ++idx)
if (popt.
mark == b[idx].first)
break;
123 check_macro (idx < b.n_field(),
"mark `" << popt.
mark <<
"' not found in branch");
127 bool is_scalar = (valued ==
"scalar");
129 popt.
fill = iorheo::getfill(os);
130 popt.
elevation = iorheo::getelevation(os);
131 popt.
color = iorheo::getcolor(os);
132 popt.
gray = iorheo::getgray(os);
134 popt.
showlabel = iorheo::getshowlabel(os);
135 popt.
stereo = iorheo::getstereo(os);
136 popt.
volume = iorheo::getvolume(os);
138 popt.
cut = iorheo::getcut(os);
139 popt.
grid = iorheo::getgrid(os);
140 popt.
format = iorheo::getimage_format(os);
141 popt.
scale = iorheo::getvectorscale(os);
142 popt.
origin = iofem::getorigin(os);
143 popt.
normal = iofem::getnormal(os);
147 popt.
isovalue = iorheo::getisovalue(os);
148 popt.
label = iorheo::getlabel(os);
152 size_type map_dim = omega.map_dimension();
155#if (_RHEOLEF_PARAVIEW_VERSION_MAJOR >= 5) && (_RHEOLEF_PARAVIEW_VERSION_MINOR >= 5)
165 popt.
f_min = b._u_range.first;
166 popt.
f_max = b._u_range.second;
170 bool verbose = iorheo::getverbose(os);
171 bool clean = iorheo::getclean(os);
172 bool execute = iorheo::getexecute(os);
173 bool skipvtk = iorheo::getskipvtk(os);
175 if (skipvtk || !clean) tmp =
"";
176 string clean_filelist;
177 string basename = iorheo::getbasename(os);
178 if (basename ==
"") basename =
"output";
179 std::string py_name = tmp+basename +
".py";
180 clean_filelist = clean_filelist +
" " + py_name;
181 ofstream py (py_name.c_str());
182 if (verbose) clog <<
"! file \"" << py_name <<
"\" created.\n";
186 string i_vtk_name = tmp + basename +
"-" + std::to_string(i) +
".vtk";
187 string opt_coma = (i+1 != popt.
branch_size) ?
", " :
"";
188 py <<
"\"" << i_vtk_name +
"\"" + opt_coma;
189 if (!skipvtk) clean_filelist = clean_filelist +
" " + i_vtk_name;
193 <<
"paraview_branch_" << valued <<
"(paraview, \"" << tmp+basename <<
"\", filelist, opt)" << endl
203 string prog = (popt.
format ==
"") ?
"paraview --script=" :
"pvbatch --use-offscreen-rendering ";
205 if (popt.
format !=
"") command =
"DISPLAY=:0.0 " + command;
206 if (popt.
stereo && popt.
format ==
"") command = command +
" --stereo";
207 if (verbose) clog <<
"! " << command << endl;
208 status = system (command.c_str());
214 command =
"/bin/rm -f " + clean_filelist;
215 if (verbose) clog <<
"! " << command << endl;
216 status = system (command.c_str());
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")