36#ifndef DOXYGEN_SHOULD_SKIP_THIS
41#include <visp3/core/vpColor.h>
42#include <visp3/core/vpImage.h>
44#include <visp3/core/vpMouseButton.h>
45#include <visp3/gui/vpPlotCurve.h>
47#include <visp3/core/vpHomogeneousMatrix.h>
48#include <visp3/core/vpRect.h>
50#include <visp3/core/vpCameraParameters.h>
51#include <visp3/core/vpPoint.h>
53#if defined(VISP_HAVE_DISPLAY)
74 unsigned int curveNbr;
75 vpPlotCurve *curveList;
76 bool scaleInitialized;
89 vpImagePoint dTopLeft;
95 vpImagePoint dTopLeft3D;
101 vpCameraParameters cam;
102 vpHomogeneousMatrix cMo;
103 vpHomogeneousMatrix cMf;
125 vpImagePoint old_iPr;
126 vpImagePoint old_iPz;
138 unsigned int gridThickness;
169 virtual ~vpPlotGraph();
171 bool check3Dline(vpImagePoint &iP1, vpImagePoint &iP2);
172 bool check3Dpoint(vpImagePoint &iP);
173 void clearGraphZone(vpImage<unsigned char> &I);
174 void computeGraphParameters();
175 void computeGraphParameters3D();
177 void initGraph(
unsigned int nbCurve);
178 void initSize(vpImagePoint topLeft,
unsigned int width,
unsigned int height,
unsigned int margei,
179 unsigned int margej);
180 void initScale(vpImage<unsigned char> &I,
double xmin,
double xmax,
int nbDivx,
double ymin,
double ymax,
int nbDivy,
182 void initScale(vpImage<unsigned char> &I,
double xmin,
double xmax,
int nbDivx,
double ymin,
double ymax,
int nbDivy,
183 double zmin,
double zmax,
int nbDivz,
bool gx,
bool gy);
185 void displayGrid(vpImage<unsigned char> &I);
186 void displayUnit(vpImage<unsigned char> &I);
187 void displayTitle(vpImage<unsigned char> &I);
188 void displayLegend(vpImage<unsigned char> &I);
189 void displayGrid3D(vpImage<unsigned char> &I);
193 bool getPixelValue(vpImage<unsigned char> &I, vpImagePoint &iP);
198 void plot(vpImage<unsigned char> &I,
unsigned int curveNb,
double x,
double y);
200 void replot(vpImage<unsigned char> &I);
201 void replot3D(vpImage<unsigned char> &I);
203 void rescalex(
unsigned int side,
double extremity);
204 void rescaley(
unsigned int side,
double extremity);
205 void rescalez(
unsigned int side,
double extremity);
207 void resetPointList(
unsigned int curveNum);
209 void setCurveColor(
unsigned int curveNum,
const vpColor &color);
210 void setCurveThickness(
unsigned int curveNum,
unsigned int thickness);
211 void setGridThickness(
unsigned int thickness) { this->gridThickness = thickness; };
212 void setLegend(
unsigned int curveNum,
const std::string &legend);
213 void setTitle(
const std::string &title);
214 void setUnitX(
const std::string &unitx);
215 void setUnitY(
const std::string &unity);
216 void setUnitZ(
const std::string &unitz);