TECA
teca_uniform_cartesian_mesh.h
1 #ifndef teca_uniform_cartesian_mesh_h
2 #define teca_uniform_cartesian_mesh_h
3 
4 #include "teca_uniform_cartesian_mesh_fwd.h"
5 #include "teca_mesh.h"
6 
9 {
10 public:
11  TECA_DATASET_STATIC_NEW(teca_uniform_cartesian_mesh)
12  TECA_DATASET_NEW_INSTANCE()
13  TECA_DATASET_NEW_COPY()
14 
15  virtual ~teca_uniform_cartesian_mesh() = default;
16 
17  // set/get metadata
18  TECA_DATASET_METADATA(time, double, 1)
19  TECA_DATASET_METADATA(time_step, unsigned long, 1)
20  TECA_DATASET_METADATA(spacing, double, 3)
21  TECA_DATASET_METADATA(origin, double, 3)
22  TECA_DATASET_METADATA(extent, unsigned long, 6)
23  TECA_DATASET_METADATA(local_extent, unsigned long, 6)
24 
25  // return a unique string identifier
26  std::string get_class_name() const override
27  { return "teca_uniform_cartesian_mesh"; }
28 
29  // return a unique integer identifier
30  int get_type_code() const override;
31 
32  // copy data and metadata. shallow copy uses reference
33  // counting, while copy duplicates the data.
34  void copy(const const_p_teca_dataset &) override;
35  void shallow_copy(const p_teca_dataset &) override;
36 
37  // swap internals of the two objects
38  void swap(p_teca_dataset &) override;
39 
40 protected:
42 };
43 
44 #endif
teca_mesh
a base class for geometric data
Definition: teca_mesh.h:17
teca_uniform_cartesian_mesh
data on a uniform cartesian mesh
Definition: teca_uniform_cartesian_mesh.h:9