00001 //-------------------------------------------------------------------- 00002 // 00003 // File: TxNldIfc.h 00004 // 00005 // Purpose: 00006 // Pure virtual interface to define the interaction with a non- 00007 // linear dynamical scientific and engineering model needed 00008 // by Tech-X QScimpl graphics package. This interface does not 00009 // depend on QT. 00010 // 00011 // Version: $Id: TxNldIfc.h,v 1.5 2001/12/07 00:14:47 kgl Exp $ 00012 // 00013 // Copyright (c) 2000 by Tech-X Corporation. All rights reserved. 00014 // 00015 //-------------------------------------------------------------------- 00016 00017 #ifndef TX_NLD_IFC_H 00018 #define TX_NLD_IFC_H 00019 00020 #include <TxModelIfc.h> 00021 00022 // txmath includes 00023 #include <TxAttributeSet.h> 00024 00025 // system 00026 #include <cmath> 00027 00038 class TxNldIfc : public TxModelIfc { 00039 00040 public: 00041 00047 virtual TXSTD::string getFileExt() const = 0; 00048 00053 virtual TXSTD::string getInputFileName() = 0; 00054 00062 virtual int write(ostream& ostrm) const = 0; 00063 00072 virtual int read(istream& fl) const = 0; 00073 00079 virtual int getDimension() const = 0; 00080 00086 virtual const char* getLabel(int i) = 0; 00087 00094 virtual double getCompMin(int i) const = 0; 00095 00102 virtual double getCompMax(int i) const = 0; 00103 00110 virtual double getPlotMin(int i) const = 0; 00111 00118 virtual double getPlotMax(int i) const = 0; 00119 00128 virtual int advance(double *p, int dim=0) = 0; 00129 00133 virtual vector<TxAttributeSet*> getViewMenuAttribs() = 0; 00134 00138 virtual vector<TxAttributeSet*> getViewMenuDataAttribs() = 0; 00139 00143 virtual vector<TxAttributeSet*> getEditMenuAttribs() = 0; 00144 00148 virtual vector<TxAttributeSet*> getParamsMenuAttribs() = 0; 00149 00153 virtual void updateModelAttribute(TxAttributeSet* attrib) = 0; 00154 00158 virtual void updateViewAttribs(TxAttributeSet *window, TxAttributeSet *data) = 0; 00159 00160 00161 protected: 00162 00163 00164 private: 00165 00166 }; 00167 00168 #endif // TX_NLD_IFC_H
Copyright Tech-X Corporation, all rights reserved.