source: Sophya/trunk/SophyaPI/PIext/pintuple.h@ 2524

Last change on this file since 2524 was 2524, checked in by cmv, 22 years ago

OptionToString dans NTuple et NTuple3D cmv 23/03/04

File size: 2.7 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2// Module PI : Peida Interactive PINTuple et PINTupleWdg
3// Traceur d objet de type NTupleInterface
4
5#ifndef PINTUPLE_H
6#define PINTUPLE_H
7
8#include "ntupintf.h"
9#include "pidrawer.h"
10
11class PINTuple : public PIDrawer {
12public:
13 PINTuple(NTupleInterface* nt, bool ad);
14 virtual ~PINTuple();
15
16
17 virtual void Draw(PIGraphicUC* g, double xmin, double ymin, double xmax, double ymax);
18 virtual void UpdateLimits();
19
20 virtual void SelectXY(const char* px, const char* py);
21 virtual void SelectWt(const char* pw=NULL);
22 virtual void SelectErrBar(const char* erbx=NULL, const char* erby=NULL);
23 virtual void SelectLabel(const char* plabel=NULL);
24
25 inline void ConnectPoints(bool fg=false) { connectPts = fg; }
26
27 // Gestion de la representation de poids
28 inline void UseSizeScale(bool fg=true, int nbins=5)
29 { mrkSzScale = fg; if (nbins>0) nWbins = nbins; }
30 inline void UseColorScale(bool fg=true) { colorScale = fg; }
31
32 inline bool GetSizeScale(int& nbins)
33 { nbins = nWbins; return mrkSzScale; }
34 inline bool GetColScale() { return colorScale; }
35
36 inline void SetStats(bool fg=true) { stats = fg; }
37 inline void SetStatPosOffset(float ofx=-0.01, float ofy=-0.01)
38 {spoX=ofx; spoY=ofy; }
39
40 virtual void AppendTextInfo(string& info, double xmin, double ymin, double xmax, double ymax);
41
42// Methode de decodage des options
43 virtual int DecodeOptionString(vector<string> & opt, bool rmdecopt=true);
44 virtual int OptionToString(vector<string> & opt) const;
45// Texte d'aide des options disponibles
46 virtual void GetOptionsHelpInfo(string& info);
47
48// Renvoie une distance au point x,y
49 virtual double GetDistanceToPoint(double x, double y);
50
51protected:
52 NTupleInterface* mNT;
53 bool mAdDO;
54 int xK, yK; // Index du nom de variable en X/Y ds le ntuple
55 int xebK, yebK; // Index du nom de variable en ErrBarX/Y ds le ntuple
56 int wK; // Index du nom de variable poids
57 int lK; // Index du nom de variable label (affiche en texte)
58 double wMin, wMax; // Valeurs de poids min/max
59 bool mrkSzScale; // true -> Taille de markers variable suivant poids
60 int nWbins; // Nombre de bins taille de marker variable
61 bool colorScale; // true -> Couleur de marker variable suivant poids
62 bool stats; // true -> indication du nb de points
63 bool connectPts; // true -> les points sont relies par une ligne
64 float spoX, spoY; // Stat pos offset par rapport a position defaut
65 long NptDraw; // nombre de points effectivement dessines dans la fenetre
66};
67
68#endif
69
70
71
72
Note: See TracBrowser for help on using the repository browser.