/usr/include/magics/MagPlus.h is in libmagics++-dev 2.26.2-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | #ifndef MagPlus_H
#define MagPlus_H
#include <magics.h>
#include "DriverManager.h"
// undefine the macro ABS because it is defined in mars.h and will be redefined
// by Terralib (only an big issue on AIX)
#undef ABS
#include "OutputHandler.h"
#include "RootSceneNode.h"
#include "MagicsEvent.h"
#include "MagRequest.h"
#ifdef MAGICS_QT
class QGraphicsScene;
#endif
namespace magics {
#ifdef MAGICS_QT
class QtDriver;
#endif
class FortranViewNodeWrapper;
class MultiVisdef;
class MagPlus : public stack<BasicSceneObject*>
{
public:
MagPlus();
~MagPlus() {}
void execute(MagRequest&);
static void decode(MagRequest&, const string&);
void registerObserver(MagicsObserver* observer) { observers_.push_back(observer); }
void unregisterObserver(MagicsObserver* observer);
//! Notify drivers about an event (GUI -> Qt)
void notifyDrivers(MagicsEvent& event) { drivers_.dispatch(&MagicsEvent::notify, event); }
//! Notify the magicsobservers about an event in the QtDriverObserver (Qt -> GUI)
void notify(MagicsEvent&);
#ifdef MAGICS_QT
//! Set the QGraphicsScene for the Qt driver
void setQtScene(QGraphicsScene*);
#endif
protected:
vector<MagicsObserver*> observers_;
vector<BasicSceneObject*> foreground_;
typedef bool (MagPlus::*ObjectCreator)(magics::MagRequest&);
typedef Data* (MagPlus::*DataCreator)(magics::MagRequest&);
static map<string, ObjectCreator > driverCreators_;
static map<string, DataCreator > dataCreators_;
static map<string, ObjectCreator > sceneCreators_;
static map<string, ObjectCreator > sceneUpdators_;
map<string, ObjectCreator >* sceneHandler_;
map<int, FortranViewNodeWrapper* > pages_;
void setIconInfo(magics::MagRequest&, MetviewIcon&);
bool page(magics::MagRequest&);
bool newpage(magics::MagRequest&);
bool page_update(magics::MagRequest&);
bool superpage(magics::MagRequest&);
bool cartesian(magics::MagRequest&);
bool coastlines(magics::MagRequest&);
bool cartesianGrid(magics::MagRequest&);
bool tephiGrid(magics::MagRequest&);
bool taylorGrid(magics::MagRequest&);
bool tephigrid(magics::MagRequest&);
bool oldcoastlines(magics::MagRequest&);
bool axis(magics::MagRequest&);
bool grib(magics::MagRequest&);
bool geojson(magics::MagRequest&);
bool gribloop(magics::MagRequest&);
bool rasterloop(magics::MagRequest&);
bool dataloop(magics::MagRequest&);
bool bufr(magics::MagRequest&);
bool visdef(magics::MagRequest&);
#ifdef HAVE_ODB
bool geoodb(magics::MagRequest&);
bool xyodb(magics::MagRequest&);
#endif
bool netcdf(magics::MagRequest&);
Data* createnetcdf(magics::MagRequest&);
bool geopoints(magics::MagRequest&);
Data* createGeopoints(magics::MagRequest&);
bool raster(magics::MagRequest&);
bool input(magics::MagRequest&);
bool table(magics::MagRequest&);
bool binning(magics::MagRequest&);
bool contour(magics::MagRequest&);
bool symbol(magics::MagRequest&);
bool wind(magics::MagRequest&);
bool import(magics::MagRequest&);
bool obs(magics::MagRequest&);
bool graph(magics::MagRequest&);
bool multi(magics::MagRequest&);
bool ptext(magics::MagRequest&);
bool text(magics::MagRequest&);
bool legend(magics::MagRequest&);
bool ignore(magics::MagRequest&);
bool device(magics::MagRequest&);
bool qtdriver(magics::MagRequest&);
bool pdfdriver(magics::MagRequest&);
bool pngdriver(magics::MagRequest&);
bool svgdriver(magics::MagRequest&);
bool kmldriver(magics::MagRequest&);
bool geojsondriver(magics::MagRequest&);
bool psdriver(magics::MagRequest&);
bool epsdriver(magics::MagRequest&);
RootSceneNode* root_;
DriverManager drivers_;
OutputHandler output_;
int superpage_;
bool geographical_;
MagicsMode mode_;
enum MetviewMode {creation, update };
MetviewMode mvMode_;
FortranViewNodeWrapper* page_;
vector<Visdef*>* currentMulti_;
#ifdef MAGICS_QT
//! Keep the instance of the QtDrver!
QtDriver* qtDriver_;
QGraphicsScene * qtScene_;
#endif
};
} // namespace magics
#endif
|