00001 // @(#)root/histpainter:$Id: TGraph2DPainter.h,v 1.00 00002 // Author: Olivier Couet 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TGraph2DPainter 00013 #define ROOT_TGraph2DPainter 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TGraph2DPainter // 00019 // // 00020 // helper class to draw 2D graphs // 00021 // // 00022 ////////////////////////////////////////////////////////////////////////// 00023 00024 #ifndef ROOT_Object 00025 #include "TObject.h" 00026 #endif 00027 00028 class TGraph2D; 00029 class TGraphDelaunay; 00030 class TList; 00031 00032 class TGraph2DPainter : public TObject { 00033 00034 protected: 00035 00036 Double_t *fX; //!Pointer to fGraph2D->fX 00037 Double_t *fY; //!Pointer to fGraph2D->fY 00038 Double_t *fZ; //!Pointer to fGraph2D->fZ 00039 Double_t *fXN; //!Pointer to fDelaunay->fXN 00040 Double_t *fYN; //!Pointer to fDelaunay->fYN 00041 Double_t *fEX; //!Pointer to fGraph2D->fXE 00042 Double_t *fEY; //!Pointer to fGraph2D->fYE 00043 Double_t *fEZ; //!Pointer to fGraph2D->fZE 00044 Double_t fXNmin; //!Equal to fDelaunay->fXNmin 00045 Double_t fXNmax; //!Equal to fDelaunay->fXNmax 00046 Double_t fYNmin; //!Equal to fDelaunay->fYNmin 00047 Double_t fYNmax; //!Equal to fDelaunay->fYNmax 00048 Double_t fXmin; //! 00049 Double_t fXmax; //! 00050 Double_t fYmin; //! fGraph2D->fHistogram limits 00051 Double_t fYmax; //! 00052 Double_t fZmin; //! 00053 Double_t fZmax; //! 00054 Int_t fNpoints; //!Equal to fGraph2D->fNpoints 00055 Int_t fNdt; //!Equal to fDelaunay->fNdt 00056 Int_t *fPTried; //!Pointer to fDelaunay->fPTried 00057 Int_t *fNTried; //!Pointer to fDelaunay->fNTried 00058 Int_t *fMTried; //!Pointer to fDelaunay->fMTried 00059 00060 TGraphDelaunay *fDelaunay; // Pointer to the TGraphDelaunay to be painted 00061 TGraph2D *fGraph2D; // Pointer to the TGraph2D in fDelaunay 00062 00063 void FindTriangles(); 00064 void PaintLevels(Int_t *T, Double_t *x, Double_t *y, Int_t nblev=0, Double_t *glev=0); 00065 void PaintPolyMarker0(Int_t n, Double_t *x, Double_t *y); 00066 00067 public: 00068 00069 TGraph2DPainter(); 00070 TGraph2DPainter(TGraphDelaunay *gd); 00071 00072 virtual ~TGraph2DPainter(); 00073 00074 TList *GetContourList(Double_t contour); 00075 void Paint(Option_t *option); 00076 void PaintContour(Option_t *option); 00077 void PaintErrors(Option_t *option); 00078 void PaintPolyMarker(Option_t *option); 00079 void PaintPolyLine(Option_t *option); 00080 void PaintTriangles(Option_t *option); 00081 00082 ClassDef(TGraph2DPainter,0) // TGraph2D painter 00083 }; 00084 00085 #endif