![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vpfIndexTable.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef DtVpfIndextable_h 00010 #define DtVpfIndextable_h 00011 00014 00015 00016 #include <vector> 00017 #include <fstream> 00018 00019 #include <vlutil/vlString.h> 00020 #include "vmap/vmapDefines.h" 00021 00022 //forward defs 00023 class DtVpfTable; 00024 00025 struct DT_DLL_vmap DtVpfIndexValue 00026 { 00027 int offset; 00028 int length; 00029 }; 00030 00031 class DT_DLL_vmap DtVpfIndexTable 00032 { 00033 //don't want these inadvertently copied 00034 private: 00035 DtVpfIndexTable(const DtVpfIndexTable& indexTable); 00036 DtVpfIndexTable& operator=(const DtVpfIndexTable& indexTable); 00037 00038 public: 00039 DtVpfIndexTable(DtVpfTable* table); 00040 ~DtVpfIndexTable(); 00041 00042 virtual const DtVpfIndexValue* index(const unsigned int indexNumber) const; 00043 virtual int headerSize() const {return myDataTableHeaderSize;} 00044 virtual int numberIndexes() const {return myNumberIndexes;} 00045 00046 virtual bool readIndexFile(); 00047 00048 protected: 00049 DtVpfTable* myTable; 00050 DtString myFileName; 00051 std::vector<DtVpfIndexValue> myIndexes; 00052 int myCurrentIndex; 00053 00054 int myNumberIndexes; 00055 int myDataTableHeaderSize; 00056 }; 00057 00058 #endif 00059