source: anuga_work/development/anugavis/src/sww_file.hh @ 5600

Last change on this file since 5600 was 5600, checked in by jack, 16 years ago

More restructuring to use boost::shared_ptr.

File size: 1.1 KB
Line 
1#ifndef SWW_FILE_HH
2#define SWW_FILE_HH
3
4/* A simple read-only wrapper around the NetCDF C calls, since it's
5   difficult to build the C++ binding on Win32 (further, it fails its
6   test suite. */
7#ifdef HAVE_CONFIG_H
8#  include "config.h"
9#endif
10#include <string>
11#ifdef HAVE_SYS_TYPES_H
12#  include <sys/types.h>
13#endif
14#include <boost/shared_array.hpp>
15
16using boost::shared_array;
17using std::string;
18
19class SWWFile{
20  friend class HeightQuantity;
21public:
22  SWWFile(const string &file_name);
23  ~SWWFile(void);
24  int nc_inq_varndims_by_name(const string &name) const;
25private:
26  void nc_get_var_float_by_name(const string &name, float array[]) const;
27  void nc_get_var_int_by_name(const string &name, int array[]) const;
28  size_t nc_inq_dimlen_by_name(const string &name) const;
29  void compute_extents(void);
30  int netcdf_id;
31  int number_of_points;
32  int number_of_timesteps;
33  int number_of_vertices;
34  int number_of_volumes;
35  shared_array<float> x;
36  shared_array<float> y;
37  shared_array<int> volumes;
38  float minX;
39  float maxX;
40  float minY;
41  float maxY;
42};
43
44#endif
Note: See TracBrowser for help on using the repository browser.