\section{A\-I\-D\-A\-:\-:I\-Plotter Class Reference}
\label{classAIDA_1_1IPlotter}\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}}


User level interface to plotter.  




{\ttfamily \#include $<$I\-Plotter.\-h$>$}

Inheritance diagram for A\-I\-D\-A\-:\-:I\-Plotter\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classAIDA_1_1IPlotter}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-I\-Plotter} ()\label{classAIDA_1_1IPlotter_ad83a29910caba590e5026dc7b75619f1}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual {\bf I\-Plotter\-Region} $\ast$ {\bf create\-Region} (double x=0, double y=0, double w=1.\-0, double h=1.\-0)=0
\begin{DoxyCompactList}\small\item\em Region management methods. \end{DoxyCompactList}\item 
virtual bool {\bf create\-Regions} (int columns=1, int rows=1, int index=0)=0
\begin{DoxyCompactList}\small\item\em Create a grid of regions. \end{DoxyCompactList}\item 
virtual {\bf I\-Plotter\-Region} \& {\bf current\-Region} () const =0
\item 
virtual int {\bf current\-Region\-Number} () const =0
\item 
virtual int {\bf number\-Of\-Regions} () const =0
\item 
virtual bool {\bf set\-Current\-Region\-Number} (int index)=0\label{classAIDA_1_1IPlotter_a65a310f47982a28647cab4e72aa21bf8}

\begin{DoxyCompactList}\small\item\em Set current region by giving its index [0,n-\/1]. \end{DoxyCompactList}\item 
virtual {\bf I\-Plotter\-Region} \& {\bf next} ()=0
\begin{DoxyCompactList}\small\item\em Set current region to be the \char`\"{}next\char`\"{} one. \end{DoxyCompactList}\item 
virtual {\bf I\-Plotter\-Region} $\ast$ {\bf region} (int index) const =0
\item 
virtual void {\bf destroy\-Regions} ()=0\label{classAIDA_1_1IPlotter_afacab16f8b0763b225bd29aa86080c7e}

\begin{DoxyCompactList}\small\item\em Destroy regions. \end{DoxyCompactList}\item 
virtual void {\bf clear\-Regions} ()=0
\begin{DoxyCompactList}\small\item\em Clear all regions. \end{DoxyCompactList}\item 
virtual bool {\bfseries set\-Parameter} (const std\-::string \&parameter, const std\-::string \&options=\char`\"{}\char`\"{})=0\label{classAIDA_1_1IPlotter_af4863f330f37364850e096b2dfb7f2c8}

\item 
virtual std\-::string {\bf parameter\-Value} (const std\-::string \&parameter) const =0
\begin{DoxyCompactList}\small\item\em Get value of a parameter. \end{DoxyCompactList}\item 
virtual std\-::vector$<$ std\-::string $>$ {\bfseries available\-Parameter\-Options} (const std\-::string \&parameter) const =0\label{classAIDA_1_1IPlotter_a9766e88952b3bff1c4cbc085d1c743ec}

\item 
virtual std\-::vector$<$ std\-::string $>$ {\bfseries available\-Parameters} () const =0\label{classAIDA_1_1IPlotter_a39a2dbac024495478b9c716e76f58480}

\item 
virtual bool {\bf show} ()=0\label{classAIDA_1_1IPlotter_a2f225b79dc4fdccace10b62b6ff83f03}

\begin{DoxyCompactList}\small\item\em Map the plotter on the screen. \end{DoxyCompactList}\item 
virtual bool {\bf refresh} ()=0
\begin{DoxyCompactList}\small\item\em Refresh the screen window(s). \end{DoxyCompactList}\item 
virtual bool {\bf hide} ()=0\label{classAIDA_1_1IPlotter_a9b7d2c6645356e3f4ec60320b5ba2919}

\begin{DoxyCompactList}\small\item\em Unmap the plotter on the screen. \end{DoxyCompactList}\item 
virtual bool {\bf interact} ()=0
\begin{DoxyCompactList}\small\item\em Give control to the plotter G\-U\-I. \end{DoxyCompactList}\item 
virtual bool {\bf write\-To\-File} (const std\-::string \&filename, const std\-::string \&type=\char`\"{}\char`\"{})=0
\begin{DoxyCompactList}\small\item\em Produce an output file. \end{DoxyCompactList}\item 
virtual void {\bf set\-Title} (const std\-::string \&title)=0\label{classAIDA_1_1IPlotter_a6864a2dd7d1f0efea64c76a40e311c5c}

\begin{DoxyCompactList}\small\item\em Set the global title of the plotter (page). \end{DoxyCompactList}\item 
virtual {\bf I\-Title\-Style} \& {\bf title\-Style} ()=0\label{classAIDA_1_1IPlotter_ae5bbdd2517b8106c930a6a571ab23e61}

\begin{DoxyCompactList}\small\item\em Get/set title style. \end{DoxyCompactList}\item 
virtual void {\bfseries set\-Title\-Style} (const {\bf I\-Title\-Style} \&style)=0\label{classAIDA_1_1IPlotter_aa9a4f14908be5db2a024cc33452f47f5}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
User level interface to plotter. 

This \doxyref{I\-Plotter}{p.}{classAIDA_1_1IPlotter} interface assumes the handling of multiple plotting regions. Then the \doxyref{I\-Plotter}{p.}{classAIDA_1_1IPlotter} should be seen as a \char`\"{}page\char`\"{} managing multiple drawing region. It assumes that a \char`\"{}current\char`\"{} region mechanism is used.

The keyword \char`\"{}region\char`\"{} is borrowed from the Open\-Inventor terminology (viewing region).

See also the \doxyref{I\-Plotter\-Region}{p.}{classAIDA_1_1IPlotterRegion} for more comments.

\begin{DoxyAuthor}{Author}
The \doxyref{A\-I\-D\-A}{p.}{namespaceAIDA} team ({\tt http\-://aida.\-freehep.\-org/}) 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!clear\-Regions@{clear\-Regions}}
\index{clear\-Regions@{clear\-Regions}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{clear\-Regions}]{\setlength{\rightskip}{0pt plus 5cm}virtual void A\-I\-D\-A\-::\-I\-Plotter\-::clear\-Regions (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a368c1697c65db51d66491eeb4465f38f}


Clear all regions. 

It does not reset the number and position of regions. This can be done through a destroy\-Regions. 

Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a0ced580a32e4ff115ed29ed6ef4c5797}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!create\-Region@{create\-Region}}
\index{create\-Region@{create\-Region}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{create\-Region}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf I\-Plotter\-Region}$\ast$ A\-I\-D\-A\-::\-I\-Plotter\-::create\-Region (
\begin{DoxyParamCaption}
\item[{double}]{x = {\ttfamily 0}, }
\item[{double}]{y = {\ttfamily 0}, }
\item[{double}]{w = {\ttfamily 1.0}, }
\item[{double}]{h = {\ttfamily 1.0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a570b1fb9d0cf93dbb5ffa09c301662a3}


Region management methods. 

Create a new region. 
\begin{DoxyParams}{Parameters}
{\em x,y,w,h} & Position and size in normal coordinates that is to say between 0 and 1. Then a region with (x=0,y=0,w=1,h=1) maps the full page. \char`\"{}x\char`\"{} goes left to right. \char`\"{}y\char`\"{} bottom to top. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly created region. Return null in case not failure. Note that the plotter manages the regions ; user does not have to delete a region object directly. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a6222a4ac9e454eb220f20dba80a92e07}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!create\-Regions@{create\-Regions}}
\index{create\-Regions@{create\-Regions}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{create\-Regions}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\-I\-D\-A\-::\-I\-Plotter\-::create\-Regions (
\begin{DoxyParamCaption}
\item[{int}]{columns = {\ttfamily 1}, }
\item[{int}]{rows = {\ttfamily 1}, }
\item[{int}]{index = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_ae68feb2d7676732da037da4bd78f9fdd}


Create a grid of regions. 

By default the current region is the top left one (with index 0). Region are indexed from zero, with increasing order left to right, top to bottom. 
\begin{DoxyParams}{Parameters}
{\em index} & Set the current region. \\
\hline
\end{DoxyParams}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a293e809e6af73d38aca624c84d5930a6}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!current\-Region@{current\-Region}}
\index{current\-Region@{current\-Region}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{current\-Region}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf I\-Plotter\-Region}\& A\-I\-D\-A\-::\-I\-Plotter\-::current\-Region (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a27a7179cdebb2aab8b8185333d91e00e}
\begin{DoxyReturn}{Returns}
The current region. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a5ce4e1adfa255564efaf198ebd0d30ef}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!current\-Region\-Number@{current\-Region\-Number}}
\index{current\-Region\-Number@{current\-Region\-Number}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{current\-Region\-Number}]{\setlength{\rightskip}{0pt plus 5cm}virtual int A\-I\-D\-A\-::\-I\-Plotter\-::current\-Region\-Number (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a0f444d8035e1f683a51e72d5ed04fcfd}
\begin{DoxyReturn}{Returns}
The current region index. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_ac48a298bff9f0dc8b613d807dbc03071}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!interact@{interact}}
\index{interact@{interact}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{interact}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\-I\-D\-A\-::\-I\-Plotter\-::interact (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_ab7af9c2f62f3a629965bbd34dcf35de6}


Give control to the plotter G\-U\-I. 

The plotter must be able to return from this function from a user action in its G\-U\-I. 

Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_ac81e59130d5ffdba9e20fa07d65441bf}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!next@{next}}
\index{next@{next}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{next}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf I\-Plotter\-Region}\& A\-I\-D\-A\-::\-I\-Plotter\-::next (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a219832b84a6a03c085025487d3e58c55}


Set current region to be the \char`\"{}next\char`\"{} one. 

If exceeding the number of regions, the current region index return to 0. \begin{DoxyReturn}{Returns}
The new current region. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_aea6de442cf009374543aea68b3f541e4}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!number\-Of\-Regions@{number\-Of\-Regions}}
\index{number\-Of\-Regions@{number\-Of\-Regions}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{number\-Of\-Regions}]{\setlength{\rightskip}{0pt plus 5cm}virtual int A\-I\-D\-A\-::\-I\-Plotter\-::number\-Of\-Regions (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a3d3e56ed6bd6c20d437355a7795afc62}
\begin{DoxyReturn}{Returns}
The number of regions. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a563e7c0da6341317780a50863693b925}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!parameter\-Value@{parameter\-Value}}
\index{parameter\-Value@{parameter\-Value}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{parameter\-Value}]{\setlength{\rightskip}{0pt plus 5cm}virtual std\-::string A\-I\-D\-A\-::\-I\-Plotter\-::parameter\-Value (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{parameter}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a222594de7b8a1f9c2399d9020d87680b}


Get value of a parameter. 


\begin{DoxyParams}{Parameters}
{\em param\-Name} & Name of the parameter. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the value. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a8e6e9f94f648010b24f869284c149f96}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!refresh@{refresh}}
\index{refresh@{refresh}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{refresh}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\-I\-D\-A\-::\-I\-Plotter\-::refresh (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_af2267a3dc242f06c9f4c1b5964012c4d}


Refresh the screen window(s). 

Used when a plotted data analysis object received new data. 

Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a149082b0a9137fe43a54b1f6c8e9415c}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!region@{region}}
\index{region@{region}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{region}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf I\-Plotter\-Region}$\ast$ A\-I\-D\-A\-::\-I\-Plotter\-::region (
\begin{DoxyParamCaption}
\item[{int}]{index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a26142f51e169a8ec3e33b54993be9a01}
\begin{DoxyReturn}{Returns}
A region, knowing its index. 
\end{DoxyReturn}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a9c194521be8859ccf5508a927597c4fa}.

\index{A\-I\-D\-A\-::\-I\-Plotter@{A\-I\-D\-A\-::\-I\-Plotter}!write\-To\-File@{write\-To\-File}}
\index{write\-To\-File@{write\-To\-File}!AIDA::IPlotter@{A\-I\-D\-A\-::\-I\-Plotter}}
\subsubsection[{write\-To\-File}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\-I\-D\-A\-::\-I\-Plotter\-::write\-To\-File (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{filename, }
\item[{const std\-::string \&}]{type = {\ttfamily \char`\"{}\char`\"{}}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classAIDA_1_1IPlotter_a9c7c48d01275b40520b1af67d895545c}


Produce an output file. 


\begin{DoxyParams}{Parameters}
{\em type} & A string to describe the type of the output \-: \char`\"{}\-P\-S\char`\"{} or \char`\"{}\-Post\-Script\char`\"{} for Post\-Script, \char`\"{}\-J\-P\-E\-G\char`\"{} for J\-P\-E\-G. If nothing is given, the type is guessed from the given file name suffix (.ps for Post\-Script, .jpg for J\-P\-E\-G, etc...). \\
\hline
\end{DoxyParams}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Plotter\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IPlotterROOT_a44b3fea7db2777739745b2b37b3b0cb4}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
I\-Plotter.\-h\end{DoxyCompactItemize}
