00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __IVF_ARCHIVE_INPUT_H__
00025 #define __IVF_ARCHIVE_INPUT_H__
00026
00027 #include <Inventor/SoInput.h>
00028
00029 class CArchive ;
00030 class CFile ;
00031 class SoDEPRECATED CIvfArchiveInput : public SoInput {
00054 public:
00055
00059 CIvfArchiveInput() ;
00060
00064 CIvfArchiveInput(CArchive *ar) ;
00065
00066
00070 virtual ~CIvfArchiveInput() ;
00071
00075 virtual SbBool get(char &c);
00076
00081 virtual SbBool read(char &c);
00082
00087 virtual SbBool read(SbString &s);
00088
00093 virtual SbBool read(SbName &n, SbBool validIdent = FALSE);
00094
00099 virtual SbBool read(int &i);
00100
00105 virtual SbBool read(unsigned int &i);
00106
00111 virtual SbBool read(short &s);
00112
00117 virtual SbBool read(unsigned short &s);
00118
00123 virtual SbBool read(float &f);
00124
00129 virtual SbBool read(double &d);
00130
00135 virtual SbBool readBinaryArray(int32_t *l, int length);
00136
00141 virtual SbBool readBinaryArray(float *f, int length);
00142
00147 virtual SbBool readBinaryArray(double *d, int length);
00148
00152 virtual SbBool eof() const;
00153
00157 virtual void putBack(char c);
00158
00162 virtual void putBack(const char *string);
00163
00164
00168 virtual SbBool getASCIIFile(char &c);
00169
00170
00171 private:
00172 SbBool readInteger(int32_t &l);
00173 SbBool readUnsignedInteger(uint32_t &l);
00174 SbBool readReal(double &d);
00175
00176
00177 private:
00178 CArchive *m_pAr ;
00179 CFile *m_pFile ;
00180 SbBool isEof ;
00181 int nBackCharIndex ;
00182 int nMaxBackChar ;
00183 char *backChar ;
00184
00185 SbBool openFromArchive(SbBool okIfNotFound);
00186 void findFromArchive() ;
00187 void initFromArchive(
00188 SbBool openedHere,
00189 SbDict *refDict = NULL);
00190
00191
00192
00193 } ;
00194
00195 #endif
00196
00197