Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::Displaypipe Class Reference

#include <displaypipe.h>

Inheritance diagram for simthlib::Displaypipe:

Inheritance graph
[legend]
List of all members.

Public Types

enum  Interface_Mode { FIRST, SECOND, BOTH }
enum  View_Mode {
  COMPLEX, PHASE, COMPLEX_EQUALIZE, PHASE_EQUALIZE,
  PHASE_POLAR, CYLINDRICAL, CYLINDRICAL_ANIMATED, NO_DISPLAY,
  ABS, RE, IM, AMPL
}

Public Member Functions

 Displaypipe (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
 ~Displaypipe ()
virtual void updateInputLengths ()
virtual void updateOutputLengths ()
virtual void endOfSimulation ()
void print (std::ostream &os) const

Static Public Member Functions

static void init (const std::string &filename, simth::Device **dev, simth::DeviceSystemIntf *sysPtr, int ID, const std::string &regionQualifier="")
static void init (simth::DeviceFactory &registration)

Protected Member Functions

std::string filename () const
bool saveData () const
void writeToGnuplot (const std::string &piped_text)
void writeToGnuplot (const std::ostringstream &ostr)
std::string writeLabelUsing (const std::string &ylabel, const std::string &usingstr, const std::string &name)
std::string writeLabelUsing (const std::string &ylabel, const std::string &usingstr, const std::vector< std::string > &names)

Protected Attributes

FILE * gnuplotProcess
bool suppressMonitor

Related Functions

(Note that these are not member functions.)

 propertylist_Displaypipe (not_a_function)

Classes

struct  Range

Detailed Description

A class that displays an on-line display, i.e. an animation, of continuously updated sequences.

This class has a whole lot of different parameters.

The file names for the temporary files that hold the data are chosen according to the "output_file:" parameter with some suffixed numbers. Note: If you are running simthetic from some network file system, you should make sure to specify some local file name here, because otherwise the network file system will cause quite a bunch of flickering.

This class is an abstract class since the pure virtual function process() of its parent class (simth::Device) is not implemented. To make an instance of a display pipe with a distinct input sequence type use the derived template class DisplayPipeSeqT<class T>.

Recently added are:

linestyle (string): Useful values are "points" (default), "linespoints", "lines", but "impulses", "dots", "steps" and many others exist as well.

linewidth: The line width relative to the default width. Note: This parameter is only allowed to be greater than one when the actual linestyle uses lines. I.e. for "linespoints" this is allowed, but for "points" it is not.

pointsize: The point size relative to the default pointsize. Note: This parameter is only allowed to be greater than one when the actual linestyle uses points. I.e. for "linespoints" this is allowed, but for "lines" it is not.


Member Enumeration Documentation

enum simthlib::Displaypipe::Interface_Mode
 

Enumeration values:
FIRST 
SECOND 
BOTH 

enum simthlib::Displaypipe::View_Mode
 

Enumeration values:
COMPLEX 
PHASE 
COMPLEX_EQUALIZE 
PHASE_EQUALIZE 
PHASE_POLAR 
CYLINDRICAL 
CYLINDRICAL_ANIMATED 
NO_DISPLAY 
ABS 
RE 
IM 
AMPL 


Constructor & Destructor Documentation

simthlib::Displaypipe::Displaypipe int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl
 

Constructor that can take, beside the device ID and and the system pointer, a string that specifies a file the display data is stored. For the default value, that is an empty string, the data is only stored in a file existing temporarily.

simthlib::Displaypipe::~Displaypipe  ) 
 


Member Function Documentation

virtual void simthlib::Displaypipe::endOfSimulation  )  [virtual]
 

Reimplemented from simth::Device.

std::string simthlib::Displaypipe::filename  )  const [inline, protected]
 

static void simthlib::Displaypipe::init simth::DeviceFactory registration  )  [static]
 

static void simthlib::Displaypipe::init const std::string &  filename,
simth::Device **  dev,
simth::DeviceSystemIntf sysPtr,
int  ID,
const std::string &  regionQualifier = ""
[static]
 

void simthlib::Displaypipe::print std::ostream &  os  )  const [virtual]
 

Reimplemented from simth::Device.

Reimplemented in simthlib::DisplaypipeSeqT< seqT >.

bool simthlib::Displaypipe::saveData  )  const [inline, protected]
 

virtual void simthlib::Displaypipe::updateInputLengths  )  [virtual]
 

Implements simth::Device.

virtual void simthlib::Displaypipe::updateOutputLengths  )  [virtual]
 

Implements simth::Device.

std::string simthlib::Displaypipe::writeLabelUsing const std::string &  ylabel,
const std::string &  usingstr,
const std::vector< std::string > &  names
[protected]
 

std::string simthlib::Displaypipe::writeLabelUsing const std::string &  ylabel,
const std::string &  usingstr,
const std::string &  name
[protected]
 

void simthlib::Displaypipe::writeToGnuplot const std::ostringstream &  ostr  )  [protected]
 

void simthlib::Displaypipe::writeToGnuplot const std::string &  piped_text  )  [protected]
 


Friends And Related Function Documentation

propertylist_Displaypipe not_a_function   )  [related]
 

These are the properties of class Displaypipe . This list is auto-generated from the XML-Devicelist of this device by means of an XSLT transformation script.

Description of this device in the XML file: Base class for an online display of a sequence, i.e. a continuously updated picture of that sequence.

Note that this class also has the Properties of its base classes. The direct base class is simth::Device ; direct link to its propertylist should be propertylist_Device(). The list below usually includes the properties that have been inherited from the base classes; the properties which belong only to this class can be found at the end of this list.

output_file
<string>, default "" -- This is the base file name for the temporary files that hold the data. If this is empty, a temporary filename will be used. If there is more than one plot here, the file names are created from this name with some suffixed numbers. Note: If you are running simthetic from some network file system, you should make sure to specify some local file name here, because otherwise the network file system will cause quite a bunch of flickering.

input_ports
<unsigned>, default "1" -- The number of input ports.

display_mode
<enum>, default "complex" -- The type of display.

suppress_monitor
<bool>, default "false" -- If true, then only the output-file for gnuplot is written but nothing is being displayed. It is possible to run gnuplot with the output file at a later point in time, so that you can view the results later.

geometry
<string>, default "600x400" -- Geometry of the window to be opened. The format is exactly the one as with standard X(1) applications. E.g. 500x400 is a window 500 pixels wide and 400 high, or 500x400+50+0 the same at 50 pixels towards right and 0 pixels down from the upper left corner of the screen.

title
<string>, default "" -- The user-supplied title of the gnuplot plot.

titles
<list_string>, default "" -- Space-separated list of titles as shown in the legend for all different plots.

waitforkey
<bool>, default "true" -- If true, then wait for a key-press on stdin before closing this display window (i.e. terminating the corresponding gnuplot process). If false, simply terminate gnuplot. Useful when you have a lot of gnuplot windows.

linestyle
<enum>, default "linespoints" -- The style how the data should be plotted

linewidth
<unsigned>, default "1" -- The width of the lines. Note: This parameter is only allowed to be greater than one when the actual linestyle uses lines. I.e. for linespoints this is allowed, but for points it is not.

pointsize
<unsigned>, default "1" -- The size of the points. Note: This parameter is only allowed to be greater than one when the actual linestyle uses points. I.e. for linespoints this is allowed, but for lines it is not.

autoscale
<bool>, default "true" -- If true, then all axes will be automatically scaled. If false, either any of the more specialized autoscale options will have the noted axes autoscaled, or the range options will specify the exact range of display.

autoscalex
<bool>, default "false" -- Only active if autoscale is false. If true, the x axis will be automatically scaled. If false, the xrange options are active.

autoscaley
<bool>, default "false" -- Only active if autoscale is false. If true, the y axis will be automatically scaled. If false, the yrange options are active.

autoscalez
<bool>, default "false" -- Only active if autoscale is false. If true, the z axis will be automatically scaled. If false, the zrange options are active.

xrange
<double>, default "10" -- Only active if autoscale is false. Specifies the range of the x axis, i.e. from negative this value to positive this value. If unchanged, the _lower and _upper options are active.

yrange
<double>, default "10" -- Only active if autoscale is false. Specifies the range of the y axis, i.e. from negative this value to positive this value. If unchanged, the _lower and _upper options are active.

zrange
<double>, default "10" -- Only active if autoscale is false. Specifies the range of the z axis, i.e. from negative this value to positive this value. If unchanged, the _lower and _upper options are active.

xrange_lower
<double>, default "-10" -- Only active if autoscale is false. Specifies the lower end of the x axis.

xrange_upper
<double>, default "10" -- Only active if autoscale is false. Specifies the upper end of the x axis.

yrange_lower
<double>, default "-10" -- Only active if autoscale is false. Specifies the lower end of the y axis.

yrange_upper
<double>, default "10" -- Only active if autoscale is false. Specifies the upper end of the y axis.

zrange_lower
<double>, default "-10" -- Only active if autoscale is false. Specifies the lower end of the z axis.

zrange_upper
<double>, default "10" -- Only active if autoscale is false. Specifies the upper end of the z axis.

24 properties in this class.


Member Data Documentation

FILE* simthlib::Displaypipe::gnuplotProcess [protected]
 

bool simthlib::Displaypipe::suppressMonitor [protected]
 


Generated on Tue Aug 9 14:38:04 2005 for simtheticlib by  doxygen 1.4.1