#ifndef ossimVpfAnnotationSource_HEADER #define ossimVpfAnnotationSource_HEADER #include #include #include #include #include #include class ossimVpfAnnotationFeatureInfo; class ossimVpfAnnotationSource : public ossimGeoAnnotationSource { public: ossimVpfAnnotationSource(); virtual bool open(); virtual bool open(const ossimFilename& file); virtual bool isOpen()const; virtual void close(); virtual ossimFilename getFilename()const; virtual void computeBoundingRect(); virtual void transformObjects(ossimImageGeometry* geom=0); virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=NULL)const; virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=NULL); virtual void drawAnnotations(ossimRefPtr tile); virtual void getAllFeatures(std::vector& features); virtual void setAllFeatures(const std::vector& features); protected: virtual ~ossimVpfAnnotationSource(); ossimVpfDatabase theDatabase; ossimFilename theFilename; std::vector theLibraryInfo; std::vector theFeatureList; void deleteAllLibraries(); bool openDatabase(const ossimFilename& file); }; #endif