| 1419 | st << "Q\n"; |
| 1420 | |
| 1421 | return; |
| 1422 | } |
| 1423 | |
| 1424 | void plot_P1_isoline( std::stringstream &Content, const Fem2D::Mesh &Th, const KN<double> &f_P1, |
| 1425 | const KNM<double> &palette, |
| 1426 | const int sizex, const int sizey, const double scale, const double ar, |
| 1427 | const double x0, const double y0, const double y1, |
| 1428 | const int marginl, const int marginb, |
| 1429 | const double textfontsize, const bool monochrome, |
| 1430 | const bool legend, const int prec, const bool logscale, |
| 1431 | const double withmesh, |
| 1432 | const int NISOLINES, const KN<double>*const viso, |
| 1433 | const double linewidth ) |
| 1434 | { |
| 1435 | //------------------------------ |
| 1436 | // values in plot |
| 1437 | //------------------------------ |
| 1438 | const double fmax = (viso)? viso->max(): f_P1.max(); |
| 1439 | const double fmin = (viso)? viso->min(): f_P1.min(); |
| 1440 | std::vector<double> isoline_val; |
| 1441 | |
| 1442 | find_isoline_values( isoline_val, fmax, fmin, NISOLINES, viso, logscale ); |
| 1443 | |
| 1444 | // color/gray-scale range to plot |
| 1445 | #if 0 |
| 1446 | // If user specifies an irrelevant color range (in viso array), |
| 1447 | const double cmax = *max_element( isoline_val.begin(), isoline_val.end() ); |
| 1448 | const double cmin = *min_element( isoline_val.begin(), isoline_val.end() ); |
| 1449 | #else |
| 1450 | // map color/grayscale range to function values |
| 1451 | const double cmax = fmax; |
| 1452 | const double cmin = fmin; |
| 1453 | #endif |
| 1454 | |
| 1455 | std::stringstream &st = Content; |
| 1456 | st.str(""); |
| 1457 | |
| 1458 | if( 0 < withmesh ) |
| 1459 | overlayMesh( st, Th, withmesh, scale, ar, x0, y0, marginl, marginb ); |
| 1460 | |
| 1461 | plot_P1_isoline_body( st, Th, f_P1, isoline_val, cmin, cmax, palette, scale, ar, x0, y0, |
| 1462 | marginl, marginb, monochrome, logscale, NISOLINES, linewidth ); |
| 1463 | |
| 1464 | if( legend ) |
| 1465 | drawLegend_contour( st, isoline_val, prec, palette, cmin, cmax, |
| 1466 | monochrome, logscale, sizex, textfontsize, scale, |
| 1467 | y1, y0, marginl, marginb); |
| 1468 | |
| 1469 | drawBoundary( st, Th, scale, ar, x0, y0, marginl, marginb ); |
| 1470 | |
| 1471 | return; |
| 1472 | } |
no test coverage detected