![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: tableFn1D.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef Dt1DTableFn_H_ 00013 #define Dt1DTableFn_H_ 00014 00015 #include <stdio.h> 00016 #include <vlutil/vlMachineTypes.h> 00017 #include "vrfutil/baseTableFn.h" 00018 #include "vrfutil/rwReal.h" 00019 #include "vrfutil/nLenRealVec.h" 00020 00028 00029 #include "vrfutil/vrfutilDefines.h" 00030 class DT_DLL_vrfutil Dt1DTableFn : public DtBaseTableFunction 00031 { 00032 public: 00033 00035 Dt1DTableFn(); 00036 00038 Dt1DTableFn(const DtString& name, DtReaderWriterRegistry* 00039 parentRegistry = NULL); 00040 Dt1DTableFn(const DtSymbolString& name, DtReaderWriterRegistry* 00041 parentRegistry = NULL); 00042 00044 virtual ~Dt1DTableFn(); 00045 00047 Dt1DTableFn(const Dt1DTableFn& orig); 00048 00050 Dt1DTableFn(const DtString& name, const Dt1DTableFn& orig, 00051 DtReaderWriterRegistry* parentRegistry = NULL); 00052 Dt1DTableFn(const DtSymbolString& name, const Dt1DTableFn& orig, 00053 DtReaderWriterRegistry* parentRegistry = NULL); 00054 00056 Dt1DTableFn& operator=(const Dt1DTableFn& orig); 00057 00059 virtual bool init(const DtReal value); 00060 00064 virtual bool init( 00065 const DtU32 n, const DtReal * domain, const DtReal * data); 00066 00068 virtual bool init(const DtU32 n, 00069 const DtNLengthRealVector & domain, 00070 const DtNLengthRealVector & data); 00071 00075 virtual const char* readerWriterType() const; 00076 00077 private: 00080 using DtBaseTableFunction::init; 00081 00082 public: 00083 00085 virtual DtReal lookup(DtReal coordinate1,...) const; 00086 virtual DtReal lookup(const DtReal * coordinates) const; 00087 00089 virtual DtReal integrate(DtReal lower, DtReal upper,...) const; 00090 00092 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00093 const DtVariableBindingsList& variableBindings); 00094 00096 virtual void putData(FILE * fp, int indentLevel=0); 00097 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00098 const DtVariableBindingsList& variableBindings); 00099 00100 protected: 00101 00105 DtU32 findIndex(DtReal num) const; 00106 00107 protected: 00108 00109 DtNLengthRealVector myData; 00110 DtNLengthRealVector myDomain; 00111 DtNLengthRealVector myCollimatedData; 00112 DtReal * mySlope; 00113 00114 }; 00115 00116 #endif