| 3696 | { "idedge", &typeid(bool)}, |
| 3697 | { "lw", &typeid(double)}, |
| 3698 | { "palette", &typeid(KNM<double>*)} |
| 3699 | //---------------------------------------------------------------------- |
| 3700 | // If you add new options, modify PLOTPDF_NOPTIONS in global namspace |
| 3701 | //---------------------------------------------------------------------- |
| 3702 | //{ "nbarrow", &typeid(long)}, // not implemented |
| 3703 | //{ "varrow", &typeid(KN<double>*)}, // not implemented |
| 3704 | }; |
| 3705 | |
| 3706 | AnyType PLOTPDF_Op::operator()(Stack stack) const |
| 3707 | { |
| 3708 | // options |
| 3709 | const long draw_pane_size = arg(0,stack,PLOTPDFVAR::DEFAULT_PAGESIZE); |
| 3710 | const double aspectratio = arg(1,stack,PLOTPDFVAR::DEFAULT_ASPECTRATIO); |
| 3711 | const double fontscale = arg(2,stack,1.0); |
| 3712 | const KN<double> *const viso = arg(3,stack,reinterpret_cast<KN<double>*>(0)); |
| 3713 | const long nbiso = arg(4,stack,PLOTPDFVAR::DEFAULT_ISOLINES); |
| 3714 | const long nbfill = arg(5,stack,PLOTPDFVAR::DEFAULT_FILL_COLORS); |
| 3715 | const KN<double> *const frange = arg(6,stack,reinterpret_cast<KN<double>*>(0)); |
| 3716 | const bool gray = arg(7,stack,PLOTPDFVAR::DEFAULT_MONOCHROME); |
| 3717 | const bool bw = arg(8,stack,PLOTPDFVAR::DEFAULT_MONOCHROME); |
| 3718 | const bool legend = arg(9,stack,PLOTPDFVAR::DEFAULT_SHOW_LEGEND); |
| 3719 | const double withmesh = arg(10,stack,PLOTPDFVAR::DEFAULT_WITHMESH); |
| 3720 | const bool mesh = arg(11,stack,PLOTPDFVAR::DEFAULT_SHOW_MESH); |
| 3721 | const bool index = arg(12,stack,PLOTPDFVAR::DEFAULT_SHOW_INDEX); |
| 3722 | const bool belabel = arg(13,stack,PLOTPDFVAR::DEFAULT_SHOW_BELABEL); |
| 3723 | const bool isoline = arg(14,stack,PLOTPDFVAR::DEFAULT_SHOW_ISOLINE); |
| 3724 | const bool fill = arg(15,stack,PLOTPDFVAR::DEFAULT_SHOW_FILL); |
| 3725 | const std::string fetype = get_string(stack,nargs[16],PLOTPDFVAR::DEFAULT_FETYPE); |
| 3726 | const std::string title = get_string(stack,nargs[17],PLOTPDFVAR::AppName); |
| 3727 | const std::string comment = get_string(stack,nargs[18],""); |
| 3728 | const KN<double> *const fmargin = arg(19,stack,reinterpret_cast<KN<double>*>(0)); |
| 3729 | const long prec = arg(20,stack,PLOTPDFVAR::DEFAULT_PRECISION_LEGEND); |
| 3730 | const bool logscale = arg(21,stack,PLOTPDFVAR::DEFAULT_LOGSCALE); |
| 3731 | const bool zabs = arg(22,stack,PLOTPDFVAR::DEFAULT_ZABS); |
| 3732 | const bool zreal = arg(23,stack,PLOTPDFVAR::DEFAULT_ZREAL); |
| 3733 | const bool zimag = arg(24,stack,PLOTPDFVAR::DEFAULT_ZIMAG); |
| 3734 | const bool zarg = arg(25,stack,PLOTPDFVAR::DEFAULT_ZARG); |
| 3735 | const double arrow_scale = arg(26,stack,PLOTPDFVAR::DEFAULT_ARROW_SCALE); |
| 3736 | const double ahead_scale = arg(27,stack,PLOTPDFVAR::DEFAULT_AHEAD_SCALE); |
| 3737 | const bool unit_arrow = arg(28,stack,PLOTPDFVAR::DEFAULT_UNIT_ARROW); |
| 3738 | const bool idcell = arg(29,stack,PLOTPDFVAR::DEFAULT_SHOW_IDCELL); |
| 3739 | const bool idvert = arg(30,stack,PLOTPDFVAR::DEFAULT_SHOW_IDVERT); |
| 3740 | const bool idedge = arg(31,stack,PLOTPDFVAR::DEFAULT_SHOW_IDEDGE); |
| 3741 | const double linewidth = arg(32,stack,PLOTPDFVAR::DEFAULT_LINEWIDTH); |
| 3742 | //const KNM<double> *const RGBpalette = arg(33,stack,reinterpret_cast<KNM<double>*>(nullptr)); |
| 3743 | const KNM<double> *const RGBpalette = nargs[33]? |
| 3744 | GetAny<KNM<double>*>((*nargs[33])(stack)): nullptr; |
| 3745 | //const long nbarrow = arg(34,stack,PLOTPDFVAR::DEFAULT_ARROW_COLORS); |
| 3746 | //const KN<double> *const varrow = arg(35,stack,reinterpret_cast<KN<double>*>(0)); |
| 3747 | const long nbarrow = PLOTPDFVAR::DEFAULT_ARROW_COLORS; |
| 3748 | const KN<double> *const varrow = reinterpret_cast<KN<double>*>(0); |
| 3749 | |
| 3750 | if( verbosity >= 90 ){ |
| 3751 | |
| 3752 | // invoked by FreeFem++-nw -v 90 users.edp |
| 3753 | |
| 3754 | std::cout << "plotPDF:options -------------------------" << std::endl; |
| 3755 | std::cout << "plotPDF:option: pagesize=" << draw_pane_size << std::endl; |
no test coverage detected