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 ***************************************************************************/