CrossNeighboursTextFileWriter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef CROSSNEIGHBOURSTEXTFILEWRITER_DEFINED
00009 #define CROSSNEIGHBOURSTEXTFILEWRITER_DEFINED
00010
00011 #include "Datum.h"
00012 #include "FileObjectWriter.h"
00013 #include "FileUtil.h"
00014 #include "ObjectPairWriter.h"
00015
00016 class Object;
00017
00019
00023 class CrossNeighboursTextFileWriter : public ObjectPairWriter
00024 {
00025 public:
00030 CrossNeighboursTextFileWriter(char const* aFileNameStr,
00031 bool aIsLarge = false);
00032 virtual ~CrossNeighboursTextFileWriter() {}
00033
00035 virtual void open();
00036
00038 virtual void close();
00039
00044 virtual void write(Object const* aExternObjectPtr,
00045 Object const* aMainObjectPtr)
00046 {
00047 Datum const* mainDatumPtr = (Datum const*) aMainObjectPtr;
00048 Datum const* externDatumPtr = (Datum const*) aExternObjectPtr;
00049 double distanceMins = aMainObjectPtr->gcDistanceMins(*aExternObjectPtr);
00050 fprintf(mFilePtr, "%llu, ", mainDatumPtr->getId());
00051 fprintf(mFilePtr, "%llu, ", externDatumPtr->getId());
00052 fprintf(mFilePtr, "%.8f\n", distanceMins);
00053 }
00054
00055 protected:
00056 FILE* mFilePtr;
00057 char const* mFileNameStr;
00058 bool mIsLarge;
00059
00060 private:
00061
00062 CrossNeighboursTextFileWriter();
00063 CrossNeighboursTextFileWriter(CrossNeighboursTextFileWriter const& aCopy);
00064 CrossNeighboursTextFileWriter& operator=(CrossNeighboursTextFileWriter const& aCopy);
00065 };
00066
00067 #endif