1 #ifndef teca_curvilinear_mesh_h
2 #define teca_curvilinear_mesh_h
4 #include "teca_config.h"
15 TECA_DATASET_NEW_INSTANCE()
16 TECA_DATASET_NEW_COPY()
21 std::
string get_class_name()
const override
22 {
return "teca_curvilinear_mesh"; }
25 int get_type_code()
const override;
28 TECA_DATASET_METADATA(whole_extent,
unsigned long, 6)
29 TECA_DATASET_METADATA(extent,
unsigned long, 6)
30 TECA_DATASET_METADATA(bounds,
double, 6)
31 TECA_DATASET_METADATA(periodic_in_x,
int, 1)
32 TECA_DATASET_METADATA(periodic_in_y,
int, 1)
33 TECA_DATASET_METADATA(periodic_in_z,
int, 1)
34 TECA_DATASET_METADATA(x_coordinate_variable, std::
string, 1)
35 TECA_DATASET_METADATA(y_coordinate_variable, std::
string, 1)
36 TECA_DATASET_METADATA(z_coordinate_variable, std::
string, 1)
37 TECA_DATASET_METADATA(t_coordinate_variable, std::
string, 1)
40 unsigned long get_number_of_points() const override;
43 unsigned long get_number_of_cells() const override;
47 {
return m_coordinate_arrays->get(
"x"); }
50 {
return m_coordinate_arrays->get(
"x"); }
54 {
return m_coordinate_arrays->get(
"y"); }
57 {
return m_coordinate_arrays->get(
"y"); }
61 {
return m_coordinate_arrays->get(
"z"); }
64 {
return m_coordinate_arrays->get(
"z"); }
67 void set_x_coordinates(
const std::string &name,
70 void set_y_coordinates(
const std::string &name,
73 void set_z_coordinates(
const std::string &name,
77 void copy(
const const_p_teca_dataset &other,
78 allocator alloc = allocator::malloc)
override;
87 void swap(
const p_teca_dataset &)
override;
107 p_teca_array_collection m_coordinate_arrays;
Serialize objects into a binary stream.
Definition: teca_binary_stream.h:17
Data on a physically uniform curvilinear mesh.
Definition: teca_curvilinear_mesh.h:12
void copy(const const_p_teca_dataset &other, allocator alloc=allocator::malloc) override
void copy_metadata(const const_p_teca_dataset &other) override
copy metadata. always a deep copy.
int to_stream(teca_binary_stream &) const override
serialize the dataset to the given stream for I/O or communication
int to_stream(std::ostream &) const override
send to stream in a human readable representation
int from_stream(teca_binary_stream &) override
deserialize the dataset from the given stream for I/O or communication
void shallow_copy(const p_teca_dataset &other) override
void swap(const p_teca_dataset &) override
swap internals of the two objects
virtual int from_stream(teca_binary_stream &)
deserialize the dataset from the given stream for I/O or communication
A base class for geometric data.
Definition: teca_mesh.h:20
p_teca_error_handler error_handler TECA_EXPORT
The global error handler instance.
std::shared_ptr< teca_variant_array > p_teca_variant_array
Definition: teca_variant_array.h:27
std::shared_ptr< const teca_variant_array > const_p_teca_variant_array
Definition: teca_variant_array.h:27