Hdf4File.h

Go to the documentation of this file.
00001 /*
00002  * The information in this file is
00003  * Copyright(c) 2007 Ball Aerospace & Technologies Corporation
00004  * and is subject to the terms and conditions of the
00005  * GNU Lesser General Public License Version 2.1
00006  * The license text is available from   
00007  * http://www.gnu.org/licenses/lgpl.html
00008  */
00009 
00010 #ifndef HDF4FILE_H
00011 #define HDF4FILE_H
00012 
00013 #include <string>
00014 #include <vector>
00015 
00016 #include "Hdf4Element.h"
00017 
00018 class Hdf4Dataset;
00019 class Hdf4Group;
00020 
00021 /**
00022  * The HDF File is provided as an abstraction of the structure of the HDF File
00023  * on disk without requiring the HDF libraries installed.
00024  */
00025 class Hdf4File : public Hdf4Element
00026 {
00027 public:
00028    /**
00029     * Creates an Hdf4File with a given filename.
00030     *
00031     * @param  name
00032     *         The name of the HDF file on disk.
00033     */
00034    explicit Hdf4File(const std::string& name);
00035 
00036    /**
00037     * Destroys the Hdf4File object.
00038     */
00039    ~Hdf4File();
00040 
00041    /**
00042     * Returns a pointer to the file's 'root group' object.
00043     *
00044     * @return A pointer to the %Hdf4File's root group object. Cannot be NULL.
00045     */
00046    virtual Hdf4Group* getRootGroup() const;
00047 
00048 private:
00049    const Hdf4Dataset* mpActiveDataset;
00050    Hdf4Group* mpRootGroup;
00051 };
00052 
00053 #endif

Software Development Kit - Opticks 4.9.0 Build 16218