00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef FLTCOPY_H
00020 #define FLTCOPY_H
00021
00022 #include "pandatoolbase.h"
00023
00024 #include "cvsCopy.h"
00025
00026 #include "dSearchPath.h"
00027 #include "pointerTo.h"
00028
00029 #include "pset.h"
00030
00031 class FltRecord;
00032 class FltTexture;
00033 class FltExternalReference;
00034
00035
00036
00037
00038
00039
00040
00041 class FltCopy : public CVSCopy {
00042 public:
00043 FltCopy();
00044
00045 void run();
00046
00047 protected:
00048 virtual bool copy_file(const Filename &source, const Filename &dest,
00049 CVSSourceDirectory *dir, void *extra_data,
00050 bool new_file);
00051
00052 private:
00053 enum FileType {
00054 FT_flt,
00055 FT_texture
00056 };
00057
00058 class ExtraData {
00059 public:
00060 FileType _type;
00061 FltTexture *_texture;
00062 };
00063
00064 bool copy_flt_file(const Filename &source, const Filename &dest,
00065 CVSSourceDirectory *dir);
00066 bool copy_texture(const Filename &source, const Filename &dest,
00067 CVSSourceDirectory *dir, FltTexture *tex,
00068 bool new_file);
00069
00070
00071 typedef pset< PT(FltExternalReference) > Refs;
00072 typedef pset< PT(FltTexture) > Textures;
00073
00074 void scan_flt(FltRecord *record, Refs &refs, Textures &textures);
00075 };
00076
00077 #endif