Source
PlotLogMessage* locateRange( int plotIterIndex, const casacore::Vector<PlotRegion> & regions,
//# PlotMSPlot.h: High level plot concept across potentially multiple objects.
//# Copyright (C) 2009
//# Associated Universities, Inc. Washington DC, USA.
//#
//# This library is free software; you can redistribute it and/or modify it
//# under the terms of the GNU Library General Public License as published by
//# the Free Software Foundation; either version 2 of the License, or (at your
//# option) any later version.
//#
//# This library is distributed in the hope that it will be useful, but WITHOUT
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
//# License for more details.
//#
//# You should have received a copy of the GNU Library General Public License
//# along with this library; if not, write to the Free Software Foundation,
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
//#
//# Correspondence concerning AIPS++ should be addressed as follows:
//# Internet email: aips2-request@nrao.edu.
//# Postal address: AIPS++ Project Office
//# National Radio Astronomy Observatory
//# 520 Edgemont Road
//# Charlottesville, VA 22903-2475 USA
//#
//# $Id: $
namespace casa {
//# Forward declarations
class PlotMSPages;
class PlotMSCacheBase;
class PMS_PP_Cache;
class PMS_PP_Canvas;
class PMS_PP_Axes;
class PMS_PP_Iteration;
class PMS_PP_MSData;
class PMS_PP_Display;
// Class for a single "plot" concept. Generally speaking this one
// plot handles one data source across potentially many scatter plots and
// canvases, separated by whatever criteria the subclasses decide on. The
// class PlotMSPlot handles interfacing with the rest of PlotMS and casacore::MS file and
// selection, and provides some useful members and methods for subclasses.
class PlotMSPlot : public PlotMSParametersWatcher {
public:
// Static //
// Returns a new instance of PlotMSPlotParameters suitable for use with
// this class, using the given PlotMS parent.
static PlotMSPlotParameters makeParameters(PlotMSApp* plotms);
// Updates the given PlotMSPlotParameters to be suitable for use with this
// class, using the given PlotMS parent.
static void makeParameters(PlotMSPlotParameters& params, PlotMSApp* plotms);
void customizeAutoSymbol( const PlotSymbolPtr& baseSymbol, casacore::uInt dataSize );
void customizeOverlaySymbol( const PlotSymbolPtr& baseSymbol, casacore::uInt dataSize );
// Non-Static //
// Constructor which takes the parent PlotMS object. Starts out with
// default data parameters.
PlotMSPlot(PlotMSApp* parent);
// Destructor.
~PlotMSPlot();
void resize(PlotMSPages&, casacore::uInt rows, casacore::uInt cols);
// Simple class to hold parameter to resume updating after a threaded
// cache loading
class TCLParams {
public:
// Parameters
// <group>
bool releaseWhenDone;
bool updateCanvas;
bool updateDisplay;
bool endCacheLog;