LCOV - code coverage report
Current view: top level - graphics/GenericPlotter - PlotFactory.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 0 156 0.0 %
Date: 2024-12-11 20:54:31 Functions: 0 136 0.0 %

          Line data    Source code
       1             : //# PlotFactory.cc
       2             : //# Copyright (C) 2009
       3             : //# Associated Universities, Inc. Washington DC, USA.
       4             : //#
       5             : //# This library is free software; you can redistribute it and/or modify it
       6             : //# under the terms of the GNU Library General Public License as published by
       7             : //# the Free Software Foundation; either version 2 of the License, or (at your
       8             : //# option) any later version.
       9             : //#
      10             : //# This library is distributed in the hope that it will be useful, but WITHOUT
      11             : //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      12             : //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
      13             : //# License for more details.
      14             : //#
      15             : //# You should have received a copy of the GNU Library General Public License
      16             : //# along with this library; if not, write to the Free Software Foundation,
      17             : //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
      18             : //#
      19             : //# Correspondence concerning AIPS++ should be addressed as follows:
      20             : //#        Internet email: casa-feedback@nrao.edu.
      21             : //#        Postal address: AIPS++ Project Office
      22             : //#                        National Radio Astronomy Observatory
      23             : //#                        520 Edgemont Road
      24             : //#                        Charlottesville, VA 22903-2475 USA
      25             : //#
      26             : //# $Id: $
      27             : #include <graphics/GenericPlotter/PlotFactory.h>
      28             : 
      29             : using namespace casacore;
      30             : namespace casa {
      31             : 
      32             : /////////////////////////////
      33             : // PLOTFACTORY DEFINITIONS //
      34             : /////////////////////////////
      35             : 
      36           0 : PlotFactory::PlotFactory() { }
      37             : 
      38           0 : PlotFactory::~PlotFactory() { }
      39             : 
      40             : 
      41           0 : PlotterPtr PlotFactory::plotter(PlotCanvasPtr canvas,const String& windowTitle,
      42             :         bool showGUI, int logEventFlags, bool smartDelete) {
      43           0 :     PlotterPtr p = plotter(windowTitle, false, showGUI, logEventFlags,
      44           0 :                            smartDelete);
      45           0 :     if(!canvas.null()) p->setCanvasLayout(new PlotLayoutSingle(canvas));
      46           0 :     return p;
      47           0 : }
      48             : 
      49             : 
      50           0 : MaskedScatterPlotPtr PlotFactory::maskedPlot(PlotMaskedPointDataPtr data,
      51             :         const String& title, bool smartDelete) const {
      52           0 :     return scatterPlot(data, title, smartDelete); }
      53             : 
      54           0 : ErrorPlotPtr PlotFactory::errorPlot(PlotErrorDataPtr data,
      55             :         const String& title, bool smartDelete) const {
      56           0 :     return scatterPlot(data, title, smartDelete); }
      57             : 
      58           0 : ColoredPlotPtr PlotFactory::coloredPlot(PlotBinnedDataPtr data,
      59             :         const String& title, bool smartDelete) const {
      60           0 :     return scatterPlot(data, title, smartDelete); }
      61             : 
      62           0 : BarPlotPtr PlotFactory::histogramPlot(PlotSingleDataPtr data,
      63             :         unsigned int numBins, const String& title, bool smartDelete) const {
      64           0 :     return barPlot(new PlotHistogramData(data, numBins), title, smartDelete); }
      65             : 
      66           0 : RasterPlotPtr PlotFactory::contourPlot(PlotRasterDataPtr data,
      67             :         const std::vector<double>& contours, const String& title,
      68             :         PlotRasterData::Format format, bool smartDelete) const {
      69           0 :     RasterPlotPtr p = rasterPlot(data, title, format, smartDelete);
      70           0 :     p->setContourLines(contours);
      71           0 :     return p;
      72           0 : }
      73             : 
      74           0 : RasterPlotPtr PlotFactory::spectrogramPlot(PlotRasterDataPtr data,
      75             :         const String& title, bool smartDelete) const{
      76           0 :     return rasterPlot(data, title, PlotRasterData::SPECTROGRAM, smartDelete); }
      77             : 
      78           0 : RasterPlotPtr PlotFactory::contouredSpectrogramPlot(PlotRasterDataPtr data,
      79             :         const std::vector<double>& cont, const String& title,bool smartDelete)const{
      80           0 :     RasterPlotPtr p = rasterPlot(data, title, PlotRasterData::SPECTROGRAM,
      81           0 :                                  smartDelete);
      82           0 :     p->setContourLines(cont);
      83           0 :     return p;
      84           0 : }
      85             : 
      86           0 : PlotAnnotationPtr PlotFactory::annotation(const String& text, double x,
      87             :         double y, bool smartDelete) const {
      88           0 :     return annotation(text, PlotCoordinate(x, y, PlotCoordinate::WORLD),
      89           0 :                       smartDelete);
      90             : }
      91             : 
      92           0 : PlotShapeRectanglePtr PlotFactory::shapeRectangle(double left, double top,
      93             :         double right, double bottom, bool smartDelete) const {
      94           0 :     return shapeRectangle(PlotCoordinate(left, top, PlotCoordinate::WORLD),
      95           0 :             PlotCoordinate(right, bottom, PlotCoordinate::WORLD),
      96           0 :             smartDelete);
      97             : }
      98             : 
      99           0 : PlotShapeEllipsePtr PlotFactory::shapeEllipse(double x, double y,
     100             :         double xRadius, double yRadius, bool smartDelete) const {
     101           0 :     return shapeEllipse(PlotCoordinate(x, y, PlotCoordinate::WORLD),
     102           0 :             PlotCoordinate(xRadius, yRadius, PlotCoordinate::WORLD),
     103           0 :             smartDelete);
     104             : }
     105             : 
     106           0 : PlotShapePolygonPtr PlotFactory::shapePolygon(const std::vector<double>& x,
     107             :         const std::vector<double>& y, bool smartDelete) const {
     108           0 :     std::vector<PlotCoordinate> c(min((uInt)x.size(), (uInt)y.size()));
     109           0 :     for(unsigned int i = 0; i < c.size(); i++)
     110           0 :         c[i] = PlotCoordinate(x[i], y[i], PlotCoordinate::WORLD);
     111           0 :     return shapePolygon(c, smartDelete);
     112           0 : }
     113             : 
     114           0 : PlotShapeArrowPtr PlotFactory::shapeArrow(double fromX, double fromY,
     115             :         double toX, double toY, PlotShapeArrow::Style fromArrow,
     116             :         PlotShapeArrow::Style toArrow, bool smartDelete) const {
     117           0 :     return shapeArrow(PlotCoordinate(fromX, fromY, PlotCoordinate::WORLD),
     118           0 :                       PlotCoordinate(toX, toY, PlotCoordinate::WORLD),
     119           0 :                       fromArrow, toArrow, smartDelete);
     120             : }
     121             : 
     122           0 : PlotShapeArrowPtr PlotFactory::shapeLineSegment(const PlotCoordinate& from,
     123             :         const PlotCoordinate& to, bool smartDelete) const {
     124           0 :     return shapeArrow(from, to, PlotShapeArrow::NOARROW,
     125           0 :                       PlotShapeArrow::NOARROW, smartDelete);
     126             : }
     127             : 
     128           0 : PlotShapeArrowPtr PlotFactory::shapeLineSegment(double fromX, double fromY,
     129             :         double toX, double toY, bool smartDelete) const {
     130           0 :     return shapeArrow(PlotCoordinate(fromX, fromY, PlotCoordinate::WORLD),
     131           0 :                       PlotCoordinate(toX, toY, PlotCoordinate::WORLD),
     132             :                       PlotShapeArrow::NOARROW, PlotShapeArrow::NOARROW,
     133           0 :                       smartDelete);
     134             : }
     135             : 
     136           0 : PlotShapePathPtr PlotFactory::shapePath(const std::vector<double>& x,
     137             :         const std::vector<double>& y, bool smartDelete) const {
     138           0 :     std::vector<PlotCoordinate> c(min((uInt)x.size(), (uInt)y.size()));
     139           0 :     for(unsigned int i = 0; i < c.size(); i++)
     140           0 :         c[i] = PlotCoordinate(x[i], y[i], PlotCoordinate::WORLD);
     141           0 :     return shapePath(c, smartDelete);
     142           0 : }
     143             : 
     144           0 : PlotPointPtr PlotFactory::point(double x, double y, bool smartDelete) const {
     145           0 :     return point(PlotCoordinate(x, y, PlotCoordinate::WORLD),smartDelete); }
     146             : 
     147           0 : PlotPointPtr PlotFactory::point(float x, float y, bool smartDelete) const {
     148           0 :     return point(PlotCoordinate(x, y, PlotCoordinate::WORLD),smartDelete); }
     149             : 
     150           0 : PlotPointPtr PlotFactory::point(int x, int y, bool smartDelete) const {
     151           0 :     return point(PlotCoordinate(x, y, PlotCoordinate::WORLD),smartDelete); }
     152             : 
     153           0 : PlotPointPtr PlotFactory::point(unsigned int x, unsigned int y,
     154             :         bool smartDelete) const {
     155           0 :     return point(PlotCoordinate(x, y, PlotCoordinate::WORLD),smartDelete); }
     156             : 
     157             : 
     158           0 : PlotColorPtr PlotFactory::color(const PlotColorPtr copy,
     159             :         bool smartDelete) const {
     160           0 :     if(!copy.null()) return color(*copy, smartDelete);
     161           0 :     else             return copy;
     162             : }
     163             : 
     164           0 : PlotFontPtr PlotFactory::font(const PlotFontPtr copy, bool smartDelete) const {
     165           0 :     if(!copy.null()) return font(*copy, smartDelete);
     166           0 :     else             return copy;
     167             : }
     168             : 
     169           0 : PlotAreaFillPtr PlotFactory::areaFill(const PlotAreaFillPtr copy,
     170             :         bool smartDelete) const {
     171           0 :     if(!copy.null()) return areaFill(*copy, smartDelete);
     172           0 :     else             return copy;
     173             : }
     174             : 
     175           0 : PlotLinePtr PlotFactory::line(const PlotLinePtr copy, bool smartDelete) const {
     176           0 :     if(!copy.null()) return line(*copy, smartDelete);
     177           0 :     else             return copy;
     178             : }
     179             : 
     180           0 : PlotSymbolPtr PlotFactory::symbol(char sym, bool smartDelete) const {
     181           0 :     PlotSymbolPtr s = symbol(PlotSymbol::CHARACTER, smartDelete);
     182           0 :     s->setSymbol(sym);
     183           0 :     return s;
     184           0 : }
     185             : 
     186           0 : PlotSymbolPtr PlotFactory::createSymbol (const String& descriptor,
     187             :                 Int size, const String& color,
     188             :         const String& fillPattern, bool outline ){
     189           0 :         PlotSymbolPtr ps = symbol(PlotSymbol::NOSYMBOL);
     190           0 :         ps->setSymbol( descriptor );
     191           0 :         ps->setSize( size, size );
     192           0 :         ps->setColor( color );
     193           0 :         PlotAreaFillPtr paf = areaFill(color, PlotAreaFill::NOFILL);
     194           0 :         paf ->setPattern( fillPattern );
     195           0 :         ps->setAreaFill( paf );
     196           0 :         if(outline) {
     197           0 :                 ps->setLine("black");
     198             :         }
     199           0 :         return ps;
     200           0 : }
     201             : 
     202           0 : PlotSymbolPtr PlotFactory::uSymbol(unsigned short unicode,
     203             :         bool smartDelete) const {
     204           0 :     PlotSymbolPtr s = symbol(PlotSymbol::CHARACTER, smartDelete);
     205           0 :     s->setUSymbol(unicode);
     206           0 :     return s;
     207           0 : }
     208             : 
     209           0 : PlotSymbolPtr PlotFactory::symbol(const PlotSymbolPtr copy,
     210             :         bool smartDelete) const {
     211           0 :     if(!copy.null()) return symbol(*copy, smartDelete);
     212           0 :     else             return copy;
     213             : }
     214             : 
     215             : 
     216             : 
     217           0 : PlotStandardMouseToolGroupPtr   PlotFactory::standardMouseTools(
     218             :         ToolCode activeTool, 
     219             :         bool smartDelete) const    {
     220             :             
     221           0 :     PlotSelectToolPtr sel = selectTool();
     222           0 :     sel->setSelectLine(line("black", PlotLine::SOLID, 1.0));
     223           0 :     sel->setRectLine(line("black", PlotLine::SOLID, 1.0));
     224           0 :     sel->setRectFill(areaFill("black", PlotAreaFill::MESH3));
     225             :     return PlotStandardMouseToolGroupPtr(new PlotStandardMouseToolGroup(
     226           0 :             sel, zoomTool(), panTool(), flagAllTool(), trackerTool(), activeTool),
     227           0 :             smartDelete);
     228           0 : }
     229             : 
     230             : 
     231             : 
     232             : 
     233           0 : PlotStandardMouseToolGroupPtr   PlotFactory::standardMouseTools(
     234             :         PlotAxis xAxis,
     235             :         PlotAxis yAxis, 
     236             :         PlotCoordinate::System sys,
     237             :         ToolCode activeTool, 
     238             :         bool smartDelete) const    {
     239             : 
     240           0 :     PlotSelectToolPtr sel = selectTool(xAxis, yAxis, sys);
     241           0 :     sel->setSelectLine(line("black", PlotLine::SOLID, 1.0));
     242           0 :     sel->setSubtractLine(line("violet", PlotLine::DASHED, 2.0));   //DSW: if compiles ok, change to #9020C8
     243           0 :     sel->setRectLine(line("black", PlotLine::SOLID, 1.0));
     244           0 :     sel->setRectFill(areaFill("black", PlotAreaFill::MESH3));
     245             :     return PlotStandardMouseToolGroupPtr(new PlotStandardMouseToolGroup(
     246           0 :             sel, zoomTool(xAxis, yAxis, sys), panTool(xAxis, yAxis, sys),
     247           0 :             flagAllTool(xAxis, yAxis, sys),
     248           0 :             trackerTool(xAxis, yAxis, sys), activeTool), smartDelete);
     249           0 : }
     250             : 
     251           0 : PlotSelectToolPtr PlotFactory::selectTool(bool smartDelete) const {
     252           0 :     return PlotSelectToolPtr(new PlotSelectTool(), smartDelete); }
     253             : 
     254           0 : PlotZoomToolPtr PlotFactory::zoomTool(bool smartDelete) const { 
     255           0 :     return PlotZoomToolPtr(new PlotZoomTool(), smartDelete); }
     256             : 
     257           0 : PlotPanToolPtr PlotFactory::panTool(bool smartDelete) const {
     258           0 :     return PlotPanToolPtr(new PlotPanTool(), smartDelete); }
     259             : 
     260           0 : PlotFlagAllToolPtr PlotFactory::flagAllTool(bool smartDelete) const {
     261           0 :     return PlotFlagAllToolPtr(new PlotFlagAllTool(), smartDelete); }
     262             : 
     263           0 : PlotTrackerToolPtr PlotFactory::trackerTool(bool smartDelete) const {
     264           0 :     return PlotTrackerToolPtr(new PlotTrackerTool(), smartDelete); }
     265             : 
     266           0 : PlotSelectToolPtr PlotFactory::selectTool(PlotAxis xAxis, PlotAxis yAxis,
     267             :         PlotCoordinate::System system, bool smartDelete) const {
     268           0 :     return PlotSelectToolPtr(new PlotSelectTool(xAxis, yAxis, system),
     269           0 :             smartDelete);
     270             : }
     271             : 
     272           0 : PlotZoomToolPtr PlotFactory::zoomTool(PlotAxis xAxis, PlotAxis yAxis,
     273             :         PlotCoordinate::System system, bool smartDelete) const {
     274           0 :     return PlotZoomToolPtr(new PlotZoomTool(xAxis, yAxis, system),
     275           0 :             smartDelete);
     276             : }
     277             : 
     278           0 : PlotPanToolPtr PlotFactory::panTool(PlotAxis xAxis, PlotAxis yAxis,
     279             :         PlotCoordinate::System system, bool smartDelete) const {
     280             :     
     281             :     (void)smartDelete;
     282           0 :     return PlotPanToolPtr(new PlotPanTool(xAxis, yAxis, system), false); }
     283             : 
     284           0 : PlotFlagAllToolPtr PlotFactory::flagAllTool(PlotAxis xAxis, PlotAxis yAxis,
     285             :         PlotCoordinate::System system, bool smartDelete) const {
     286           0 :     return PlotFlagAllToolPtr(new PlotFlagAllTool(xAxis, yAxis, system),
     287           0 :         smartDelete);
     288             : }
     289             : 
     290           0 : PlotTrackerToolPtr PlotFactory::trackerTool(PlotAxis xAxis, PlotAxis yAxis,
     291             :         PlotCoordinate::System system, bool smartDelete) const {
     292           0 :     return PlotTrackerToolPtr(new PlotTrackerTool(xAxis, yAxis, system),
     293           0 :             smartDelete);
     294             : }
     295             : 
     296             : 
     297             : // Macro for method definitions for PF_DATA_DEC declarations.
     298             : #define PF_DATA_DEF(TYPE)                                                     \
     299             : PlotPointDataPtr PlotFactory::data(TYPE *& y, unsigned int n,                 \
     300             :         bool shouldDelete) const {                                            \
     301             :     return new PlotPointDataImpl< TYPE >(y, n, shouldDelete); }               \
     302             :                                                                               \
     303             : PlotPointDataPtr PlotFactory::data(Vector< TYPE >& y,                         \
     304             :         bool shouldDelete) const {                                            \
     305             :     return new PlotPointDataImpl< TYPE >(y, shouldDelete); }                  \
     306             :                                                                               \
     307             : PlotPointDataPtr PlotFactory::data(std::vector< TYPE >& y,                    \
     308             :         bool shouldDelete) const {                                            \
     309             :     return new PlotPointDataImpl< TYPE >(y, shouldDelete); }                  \
     310             :                                                                               \
     311             : PlotPointDataPtr PlotFactory::data(TYPE *& x, TYPE *& y, unsigned int n,      \
     312             :         bool shouldDelete) const {                                            \
     313             :     return new PlotPointDataImpl< TYPE >(x, y, n, shouldDelete); }            \
     314             :                                                                               \
     315             : PlotPointDataPtr PlotFactory::data(Vector< TYPE >& x, Vector< TYPE >& y,      \
     316             :         bool shouldDelete) const {                                            \
     317             :     return new PlotPointDataImpl< TYPE >(x, y, shouldDelete); }               \
     318             :                                                                               \
     319             : PlotPointDataPtr PlotFactory::data(std::vector< TYPE >& x, std::vector< TYPE >& y,      \
     320             :         bool shouldDelete) const {                                            \
     321             :     return new PlotPointDataImpl< TYPE >(x, y, shouldDelete); }               \
     322             :                                                                               \
     323             : PlotSingleDataPtr PlotFactory::singleData(TYPE *& data, unsigned int n,       \
     324             :         bool shouldDelete) const {                                            \
     325             :     return new PlotSingleDataImpl< TYPE >(data, n, shouldDelete); }           \
     326             :                                                                               \
     327             : PlotSingleDataPtr PlotFactory::singleData(Vector< TYPE >& data,               \
     328             :         bool shouldDelete) const {                                            \
     329             :     return new PlotSingleDataImpl< TYPE >(data, shouldDelete); }              \
     330             :                                                                               \
     331             : PlotSingleDataPtr PlotFactory::singleData(std::vector< TYPE >& data,               \
     332             :         bool shouldDelete) const {                                            \
     333             :     return new PlotSingleDataImpl< TYPE >(data, shouldDelete); }              \
     334             :                                                                               \
     335             : PlotPointDataPtr PlotFactory::histogramData(TYPE *& data, unsigned int n,     \
     336             :         unsigned int numBins, bool shouldDel) const {                         \
     337             :     return new PlotHistogramData(singleData(data, n, shouldDel), numBins); }  \
     338             :                                                                               \
     339             : PlotPointDataPtr PlotFactory::histogramData(Vector< TYPE >& data,             \
     340             :         unsigned int numBins, bool shouldDel) const {                         \
     341             :     return new PlotHistogramData(singleData(data, shouldDel), numBins); }     \
     342             :                                                                               \
     343             : PlotPointDataPtr PlotFactory::histogramData(std::vector< TYPE >& data,             \
     344             :         unsigned int numBins, bool shouldDel) const {                         \
     345             :     return new PlotHistogramData(singleData(data, shouldDel), numBins); }     \
     346             :                                                                               \
     347             : PlotMaskedPointDataPtr PlotFactory::data(TYPE *& x, TYPE*& y, bool*& mask,    \
     348             :         unsigned int n, bool shouldDelete) const {                            \
     349             :     return new PlotMaskedPointDataImpl< TYPE >(x, y, mask, n, shouldDelete); }\
     350             :                                                                               \
     351             : PlotMaskedPointDataPtr PlotFactory::data(Vector< TYPE >& x, Vector< TYPE >& y,\
     352             :         Vector<bool>& mask, bool shouldDelete) const {                        \
     353             :     return new PlotMaskedPointDataImpl< TYPE >(x, y, mask, shouldDelete); }   \
     354             :                                                                               \
     355             : PlotMaskedPointDataPtr PlotFactory::data(std::vector< TYPE >& x, std::vector< TYPE >& y,\
     356             :         std::vector<bool>& mask, bool shouldDelete) const {                        \
     357             :     return new PlotMaskedPointDataImpl< TYPE >(x, y, mask, shouldDelete); }   \
     358             :                                                                               \
     359             : PlotErrorDataPtr PlotFactory::data(TYPE *& x, TYPE *& y, unsigned int n,      \
     360             :         TYPE xLeftError, TYPE xRightError, TYPE yBottomError, TYPE yTopError, \
     361             :         bool shouldDelete) const {                                            \
     362             :     return new PlotScalarErrorDataImpl< TYPE >(x, y, n, xLeftError,           \
     363             :             xRightError, yBottomError, yTopError, shouldDelete); }            \
     364             :                                                                               \
     365             : PlotErrorDataPtr PlotFactory::data(Vector< TYPE >& x, Vector< TYPE >& y,      \
     366             :         TYPE xLeftError, TYPE xRightError, TYPE yBottomError, TYPE yTopError, \
     367             :         bool shouldDelete) const {                                            \
     368             :     return new PlotScalarErrorDataImpl< TYPE >(x, y, xLeftError,              \
     369             :             xRightError, yBottomError, yTopError, shouldDelete); }            \
     370             :                                                                               \
     371             : PlotErrorDataPtr PlotFactory::data(std::vector< TYPE >& x, std::vector< TYPE >& y,      \
     372             :         TYPE xLeftError, TYPE xRightError, TYPE yBottomError, TYPE yTopError, \
     373             :         bool shouldDelete) const {                                            \
     374             :     return new PlotScalarErrorDataImpl< TYPE >(x, y, xLeftError,              \
     375             :             xRightError, yBottomError, yTopError, shouldDelete); }            \
     376             :                                                                               \
     377             : PlotErrorDataPtr PlotFactory::data(TYPE *& x, TYPE *& y, TYPE *& xLeftError,  \
     378             :         TYPE *& xRightError, TYPE *& yBottomError, TYPE *& yTopError,         \
     379             :         unsigned int n, bool shouldDelete) const {                            \
     380             :     return new PlotErrorDataImpl< TYPE >(x, y, xLeftError, xRightError,       \
     381             :             yBottomError, yTopError, n, shouldDelete); }                      \
     382             :                                                                               \
     383             : PlotErrorDataPtr PlotFactory::data(Vector< TYPE >& x, Vector< TYPE >& y,      \
     384             :         Vector< TYPE >& xLeftError, Vector< TYPE >& xRightError,              \
     385             :         Vector< TYPE >& yBottomError, Vector< TYPE >& yTopError,              \
     386             :         bool shouldDelete) const {                                            \
     387             :     return new PlotErrorDataImpl< TYPE >(x, y, xLeftError, xRightError,       \
     388             :             yBottomError, yTopError, shouldDelete); }                         \
     389             :                                                                               \
     390             : PlotErrorDataPtr PlotFactory::data(std::vector< TYPE >& x, std::vector< TYPE >& y,      \
     391             :         std::vector< TYPE >& xLeftError, std::vector< TYPE >& xRightError,              \
     392             :         std::vector< TYPE >& yBottomError, std::vector< TYPE >& yTopError,              \
     393             :         bool shouldDelete) const {                                            \
     394             :     return new PlotErrorDataImpl< TYPE >(x, y, xLeftError, xRightError,       \
     395             :             yBottomError, yTopError, shouldDelete); }                         \
     396             :                                                                               \
     397             : PlotRasterDataPtr PlotFactory::data(Matrix< TYPE >& data,                     \
     398             :         bool shouldDelete) const {                                            \
     399             :     return new PlotRasterMatrixData< TYPE >(data, shouldDelete); }            \
     400             :                                                                               \
     401             : PlotRasterDataPtr PlotFactory::data(Matrix< TYPE >& data, double fromX,       \
     402             :         double toX, double fromY, double toY, bool shouldDelete) const {      \
     403             :     PlotRasterMatrixData< TYPE >* d = new PlotRasterMatrixData< TYPE > (      \
     404             :             data, shouldDelete);                                              \
     405             :     d->setXRange(fromX, toX);                                                 \
     406             :     d->setYRange(fromY, toY);                                                 \
     407             :     return d;                                                                 \
     408             : }
     409             :     
     410           0 : PF_DATA_DEF(double)
     411             : 
     412           0 : PF_DATA_DEF(float)
     413             : 
     414           0 : PF_DATA_DEF(int)
     415             : 
     416           0 : PF_DATA_DEF(unsigned int)
     417             :     
     418           0 : PlotPointDataPtr PlotFactory::histogramData(PlotSingleDataPtr data,
     419             :         unsigned int numBins) const {
     420           0 :     return new PlotHistogramData(data, numBins); }
     421             : 
     422             : }

Generated by: LCOV version 1.16