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

src/DataSource/ACLVISDataConnect.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 /***************************************************************************
00003  *
00004  * The IPPL Framework
00005  * 
00006  *
00007  * Visit http://people.web.psi.ch/adelmann/ for more details
00008  *
00009  ***************************************************************************/
00010 
00011 #ifndef ACLVIS_DATA_CONNECT_H
00012 #define ACLVIS_DATA_CONNECT_H
00013 
00014 /***********************************************************************
00015  * 
00016  * ACLVISDataConnect represents a single connection to an ACLVIS display
00017  * window.  This window can have multipple data objects displayed within
00018  * it.  Only 'send' connections can be made to it.  When constructed, it
00019  * creates a new window, and readies it for new data.
00020  *
00021  ***********************************************************************/
00022 
00023 // include files
00024 #include "DataSource/DataConnect.h"
00025 
00026 // forward declarations
00027 class VizTool;
00028 
00029 
00030 class ACLVISDataConnect : public DataConnect {
00031 
00032 public:
00033   // constructor: the name for the window, and the number of nodes to use
00034   ACLVISDataConnect(const char *, int = 0);
00035 
00036   // destructor: shut down the connection
00037   virtual ~ACLVISDataConnect();
00038 
00039   //
00040   // methods specific to this type of DataConnect
00041   //
00042 
00043   // return the ACLVIS connection object
00044   VizTool *getConnection() const { return Connection; }
00045 
00046   //
00047   // DataConnect virtual methods
00048   //
00049 
00050   // are we currently connected to a receiver?
00051   virtual bool connected() const;
00052 
00053   // allow all connections to perform an interactive action.  An optional
00054   // command string can be supplied; if it is null, it will be ignored.
00055   // For ACLVIS, since interact passes control on to the graphics window,
00056   // we only want to call interact for the first connected item, instead
00057   // of for all of them, since that one interact will affect all the connected
00058   // (well, displayed) elements.
00059   virtual void interact(const char * = 0, DataConnect * = 0);
00060 
00061 private:
00062   // the ACLVIS connection object
00063   VizTool *Connection;
00064 
00065   // have we initialized the ACLVIS code yet?
00066   static bool ACLVISInitialized;
00067 };
00068 
00069 #endif // ACLVIS_DATA_CONNECT_H
00070 
00071 /***************************************************************************
00072  * $RCSfile: ACLVISDataConnect.h,v $   $Author: adelmann $
00073  * $Revision: 1.1.1.1 $   $Date: 2003/01/23 07:40:24 $
00074  * IPPL_VERSION_ID: $Id: ACLVISDataConnect.h,v 1.1.1.1 2003/01/23 07:40:24 adelmann Exp $ 
00075  ***************************************************************************/

Generated on Fri Nov 2 01:25:55 2007 for IPPL by doxygen 1.3.5