00001 /* 00002 * $Id: hippoTestOpenGL.cxx,v 1.4 2004/11/22 16:58:16 barrand Exp $ 00003 * 00004 */ 00005 00006 #include "controllers/DisplayController.h" 00007 #include "plotters/PlotterBase.h" 00008 #include "datasrcs/NTupleController.h" 00009 #include "datasrcs/NTuple.h" 00010 00011 #include "OpenGL/OpenGLApp.h" 00012 #include "OpenGL/OpenGLWindow.h" 00013 00014 #include <iostream> 00015 00016 int main ( int /*argc*/, char** /*argv*/) 00017 { 00018 OpenGLApp openGLApp; 00019 if(!openGLApp.initialize()) return 0; 00020 00021 NTupleController* ntupleController = NTupleController::instance(); 00022 const std::string filename( "aptuple.tnt" ); 00023 DataSource* ntuple = ntupleController->createNTuple(filename); 00024 if(!ntuple) { 00025 std::cout << "Can't open " << filename << std::endl; 00026 return 0; 00027 } 00028 00029 DisplayController* displayController = DisplayController::instance(); 00030 00031 00032 /* 00033 {// First view : 00034 std::vector<std::string> bindings; 00035 bindings.push_back("Category"); 00036 //bindings.push_back("Age"); 00037 PlotterBase* plotter = displayController->createDisplay("Histogram", 00038 *ntuple, 00039 bindings); 00040 //plotter->autoScale(); 00041 //plotter->setRange("x",0.0,30000.); 00042 OpenGLWindow* view = new OpenGLWindow(openGLApp.getXDisplay(), 00043 openGLApp.getXColormap(), 00044 openGLApp.getXVisualInfo(), 00045 openGLApp.getGLXContext()); 00046 00047 view->setPlotter(plotter); 00048 openGLApp.fViews.push_back(view);} 00049 */ 00050 00051 {// Second view : 00052 std::vector<std::string> bindings; 00053 bindings.push_back("Category"); 00054 //bindings.push_back("Age"); 00055 bindings.push_back("Cost"); 00056 PlotterBase* plotter = displayController->createDisplay("Contour Plot", 00057 *ntuple, 00058 bindings); 00059 //plotter->autoScale(); 00060 //plotter->setRange("x",0.0,30000.); 00061 OpenGLWindow* view = new OpenGLWindow(openGLApp.getXDisplay(), 00062 openGLApp.getXColormap(), 00063 openGLApp.getXVisualInfo(), 00064 openGLApp.getGLXContext()); 00065 00066 view->setPlotter(plotter); 00067 openGLApp.fViews.push_back(view);} 00068 00069 int status = openGLApp.exec(); 00070 00071 //FIXME 00072 //delete plotter; 00073 //delete view; 00074 00075 return status; 00076 }