Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HW2DReader.h

00001 #ifndef HW2DREADER_H
00002 #define HW2DREADER_H
00003 
00004 #include "HW2DReaderCommon.h"
00005 
00006 #include "dwf/dwfx/Constants.h"
00007 
00008 class HW2DReader : public WT_FileExt
00009 {
00010 public:
00011     HW2DReader(
00012         DWFInputStream * rW2DStream, 
00013         HInputHandlerOptions * pInputHandlerOptions, 
00014         HC_KEY model_key, 
00015         bool rebaseModel, 
00016         HInputHandler * m);
00017 
00018     HW2DReader(
00019         DWFToolkit::DWFResource * pResource, 
00020         HInputHandlerOptions * pInputHandlerOptions, 
00021         HC_KEY model_key, 
00022         bool rebaseModel, 
00023         HInputHandler * m);
00024 
00025     virtual ~HW2DReader() { delete m_pReaderCommon; }
00026 
00027     void init();
00028     void GetExtents(double & x, double & y);
00029     WT_Result read(double z_separation, double depth_range) { return m_pReaderCommon->read(z_separation, depth_range); }
00030 
00031     WT_Result process_stream_close() { return m_pReaderCommon->process_stream_close(); }
00032     WT_Result process_stream_end_seek(){ return m_pReaderCommon->process_stream_end_seek(); }
00033     WT_Result process_stream_open(){ return m_pReaderCommon->process_stream_open(); }
00034     WT_Result process_stream_read(int desired_bytes, int & bytes_read, void * buffer)
00035     { return m_pReaderCommon->process_stream_read(desired_bytes, bytes_read, buffer); }
00036     WT_Result process_stream_seek(int distance, int & amount_seeked)
00037     { return m_pReaderCommon->process_stream_seek (distance, amount_seeked); }
00038     WT_Result process_stream_tell(unsigned long * current_file_pointer_position)
00039     { return m_pReaderCommon->process_stream_tell (current_file_pointer_position); }
00040     WT_Result process_stream_write(int size, void const * buffer)
00041     { return m_pReaderCommon->process_stream_write(size, buffer); }
00042 
00043 private:
00044     HW2DReaderCommon * m_pReaderCommon;
00045 };
00046 
00047 #ifndef DWFIO_SUPPORT_ONLY_LEGACY_VERSIONS
00048 #include "Access.h"
00049 #include "dwf/XAML/XamlFile.h"
00050 class HW2DReaderXaml : public WT_XAML_File //WT_FileExt
00051 {
00052 public:
00053     HW2DReaderXaml(
00054         DWFToolkit::DWFResource * pResource,
00055         DWFToolkit::DWFSection * pSection,
00056         HInputHandlerOptions * pInputHandlerOptions,
00057         HC_KEY model_key, 
00058         bool rebaseModel,
00059         HInputHandler * m,
00060         bool is_dwfx);
00061 
00062     virtual ~HW2DReaderXaml();
00063 
00064     void init();
00065 
00066     WT_Result read(double z_separation, double depth_range) { return m_pReaderCommon->read(z_separation, depth_range); }
00067     
00068     WT_Result process_stream_close() { return m_pReaderCommon->process_stream_close(); }
00069     WT_Result process_stream_end_seek() { return m_pReaderCommon->process_stream_end_seek(); }
00070     WT_Result process_stream_open() { return m_pReaderCommon->process_stream_open(); }
00071     WT_Result process_stream_read(int desired_bytes, int & bytes_read, void * buffer)
00072     { return m_pReaderCommon->process_stream_read(desired_bytes, bytes_read, buffer); }
00073     WT_Result process_stream_seek(int distance, int & amount_seeked)
00074     { return m_pReaderCommon->process_stream_seek (distance, amount_seeked); }
00075     WT_Result process_stream_tell(unsigned long * current_file_pointer_position)
00076     { return m_pReaderCommon->process_stream_tell (current_file_pointer_position); }
00077     WT_Result process_stream_write(int size, void const * buffer)
00078     { return m_pReaderCommon->process_stream_write(size, buffer); }
00079 
00080 private:
00081     HW2DReaderCommon * m_pReaderCommon;
00082     Access * m_pAccess;
00083 };
00084 #endif
00085 
00086 #endif //HW2DREADER_H