1 #ifndef teca_cartesian_mesh_subset_h
2 #define teca_cartesian_mesh_subset_h
4 #include "teca_shared_object.h"
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
7 #include "teca_variant_array_fwd.h"
34 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
35 TECA_SET_ALGORITHM_PROPERTIES()
40 TECA_ALGORITHM_PROPERTY(std::vector<double>, bounds);
42 void set_bounds(
double low_x,
double high_x,
43 double low_y,
double high_y,
double low_z,
double high_z)
44 { this->set_bounds({low_x, high_x, low_y, high_y, low_z, high_z}); }
50 TECA_ALGORITHM_PROPERTY(
bool, cover_bounds)
58 const std::vector<teca_metadata> &input_md)
override;
60 std::vector<teca_metadata> get_upstream_request(
62 const std::vector<teca_metadata> &input_md,
65 const_p_teca_dataset execute(
67 const std::vector<const_p_teca_dataset> &input_data,
71 std::vector<double> bounds;
75 std::vector<unsigned long> extent;