TECA
The Toolkit for Extreme Climate Analysis
teca_mesh Class Referenceabstract

A base class for geometric data. More...

#include <teca_mesh.h>

Inheritance diagram for teca_mesh:
Collaboration diagram for teca_mesh:

Classes

struct  impl_t
 

Public Member Functions

void set_time (const std::vector< double > &vals)
 
int get_time (std::vector< double > &vals) const
 
void set_time (const p_teca_variant_array &vals)
 
int get_time (p_teca_variant_array vals) const
 
void set_time (const std::initializer_list< double > &l)
 
void set_time (const double *vals)
 
int get_time (double *vals) const
 
void set_time (const double &val_1)
 
int get_time (double &val_1) const
 
void set_calendar (const std::vector< std::string > &vals)
 
int get_calendar (std::vector< std::string > &vals) const
 
void set_calendar (const p_teca_variant_array &vals)
 
int get_calendar (p_teca_variant_array vals) const
 
void set_calendar (const std::initializer_list< std::string > &l)
 
void set_calendar (const std::string *vals)
 
int get_calendar (std::string *vals) const
 
void set_calendar (const std::string &val_1)
 
int get_calendar (std::string &val_1) const
 
void set_time_units (const std::vector< std::string > &vals)
 
int get_time_units (std::vector< std::string > &vals) const
 
void set_time_units (const p_teca_variant_array &vals)
 
int get_time_units (p_teca_variant_array vals) const
 
void set_time_units (const std::initializer_list< std::string > &l)
 
void set_time_units (const std::string *vals)
 
int get_time_units (std::string *vals) const
 
void set_time_units (const std::string &val_1)
 
int get_time_units (std::string &val_1) const
 
void set_time_step (const std::vector< unsigned long > &vals)
 
int get_time_step (std::vector< unsigned long > &vals) const
 
void set_time_step (const p_teca_variant_array &vals)
 
int get_time_step (p_teca_variant_array vals) const
 
void set_time_step (const std::initializer_list< unsigned long > &l)
 
void set_time_step (const unsigned long *vals)
 
int get_time_step (unsigned long *vals) const
 
void set_time_step (const unsigned long &val_1)
 
int get_time_step (unsigned long &val_1) const
 
void set_attributes (const std::vector< teca_metadata > &vals)
 
int get_attributes (std::vector< teca_metadata > &vals) const
 
void set_attributes (const p_teca_variant_array &vals)
 
int get_attributes (p_teca_variant_array vals) const
 
void set_attributes (const std::initializer_list< teca_metadata > &l)
 
void set_attributes (const teca_metadata *vals)
 
int get_attributes (teca_metadata *vals) const
 
void set_attributes (const teca_metadata &val_1)
 
int get_attributes (teca_metadata &val_1) const
 
p_teca_array_collection & get_arrays (int centering)
 
const_p_teca_array_collection get_arrays (int centering) const
 
virtual unsigned long get_number_of_points () const =0
 get the number of points in the mesh More...
 
virtual unsigned long get_number_of_cells () const =0
 get the number of cells in the mesh More...
 
bool empty () const noexcept override
 return true if the dataset is empty. More...
 
void copy (const const_p_teca_dataset &) override
 
void shallow_copy (const p_teca_dataset &) override
 
void append_arrays (const const_p_teca_mesh &)
 
void shallow_append_arrays (const p_teca_mesh &)
 
void swap (const p_teca_dataset &) override
 swap internals of the two objects More...
 
int to_stream (teca_binary_stream &) const override
 
int from_stream (teca_binary_stream &) override
 
int to_stream (std::ostream &) const override
 stream to/from human readable representation More...
 
int from_stream (std::istream &) override
 
point centered data
p_teca_array_collection & get_point_arrays ()
 
const_p_teca_array_collection get_point_arrays () const
 
cell centered data
p_teca_array_collection & get_cell_arrays ()
 
const_p_teca_array_collection get_cell_arrays () const
 
edge centered data
p_teca_array_collection & get_x_edge_arrays ()
 
const_p_teca_array_collection get_x_edge_arrays () const
 
p_teca_array_collection & get_y_edge_arrays ()
 
const_p_teca_array_collection get_y_edge_arrays () const
 
p_teca_array_collection & get_z_edge_arrays ()
 
const_p_teca_array_collection get_z_edge_arrays () const
 
face centered data
p_teca_array_collection & get_x_face_arrays ()
 
const_p_teca_array_collection get_x_face_arrays () const
 
p_teca_array_collection & get_y_face_arrays ()
 
const_p_teca_array_collection get_y_face_arrays () const
 
p_teca_array_collection & get_z_face_arrays ()
 
const_p_teca_array_collection get_z_face_arrays () const
 
non-geometric data
p_teca_array_collection & get_information_arrays ()
 
const_p_teca_array_collection get_information_arrays () const
 
- Public Member Functions inherited from teca_dataset
void set_index_request_key (const std::vector< std::string > &vals)
 
int get_index_request_key (std::vector< std::string > &vals) const
 
void set_index_request_key (const p_teca_variant_array &vals)
 
int get_index_request_key (p_teca_variant_array vals) const
 
void set_index_request_key (const std::initializer_list< std::string > &l)
 
void set_index_request_key (const std::string *vals)
 
int get_index_request_key (std::string *vals) const
 
void set_index_request_key (const std::string &val_1)
 
int get_index_request_key (std::string &val_1) const
 
virtual int get_request_index (long &val) const
 
virtual int set_request_index (const std::string &key, long val)
 
virtual int set_request_index (long val)
 
 operator bool () const noexcept
 
virtual p_teca_dataset new_instance () const =0
 
virtual p_teca_dataset new_copy () const =0
 
virtual p_teca_dataset new_shallow_copy ()=0
 
virtual std::string get_class_name () const =0
 
virtual int get_type_code () const =0
 
virtual void copy_metadata (const const_p_teca_dataset &other)
 
virtual teca_metadataget_metadata () noexcept
 
virtual const teca_metadataget_metadata () const noexcept
 
virtual void set_metadata (const teca_metadata &md)
 

Public Attributes

std::shared_ptr< impl_tm_impl
 

Additional Inherited Members

- Protected Member Functions inherited from teca_dataset
 teca_dataset (const teca_dataset &)=delete
 
 teca_dataset (const teca_dataset &&)=delete
 
void operator= (const p_teca_dataset &other)=delete
 
void operator= (p_teca_dataset &&other)=delete
 
- Protected Attributes inherited from teca_dataset
teca_metadatametadata
 

Detailed Description

A base class for geometric data.

The mesh declares containers for typical geometrically associated data such as point, cell, face and edge centered data arrays and defines the APIs for accessing them. APIs for accessing common metadata such as time related metadata are declared here.

Member Function Documentation

◆ append_arrays()

void teca_mesh::append_arrays ( const const_p_teca_mesh &  )

append array based data from another mesh. No consistency checks are performed.

◆ copy()

void teca_mesh::copy ( const const_p_teca_dataset &  )
overridevirtual

copy data and metadata. shallow copy uses reference counting, while copy duplicates the data.

Reimplemented from teca_dataset.

Reimplemented in teca_uniform_cartesian_mesh.

◆ empty()

bool teca_mesh::empty ( ) const
overridevirtualnoexcept

return true if the dataset is empty.

Reimplemented from teca_dataset.

◆ get_cell_arrays()

p_teca_array_collection& teca_mesh::get_cell_arrays ( )
inline

returns the array collection for edge centered data

◆ get_information_arrays()

p_teca_array_collection& teca_mesh::get_information_arrays ( )
inline

returns the array collection for uncentered data

◆ get_number_of_cells()

virtual unsigned long teca_mesh::get_number_of_cells ( ) const
pure virtual

get the number of cells in the mesh

Implemented in teca_arakawa_c_grid, teca_cartesian_mesh, teca_curvilinear_mesh, and teca_uniform_cartesian_mesh.

◆ get_number_of_points()

virtual unsigned long teca_mesh::get_number_of_points ( ) const
pure virtual

get the number of points in the mesh

Implemented in teca_arakawa_c_grid, teca_cartesian_mesh, teca_curvilinear_mesh, and teca_uniform_cartesian_mesh.

◆ get_point_arrays()

p_teca_array_collection& teca_mesh::get_point_arrays ( )
inline

returns the array collection for point centered data

◆ get_x_edge_arrays()

p_teca_array_collection& teca_mesh::get_x_edge_arrays ( )
inline

returns the array collection for edge centered data

◆ get_x_face_arrays()

p_teca_array_collection& teca_mesh::get_x_face_arrays ( )
inline

returns the array collection for face centered data

◆ swap()

void teca_mesh::swap ( const p_teca_dataset &  )
overridevirtual

swap internals of the two objects

Reimplemented from teca_dataset.

Reimplemented in teca_uniform_cartesian_mesh.

◆ to_stream() [1/2]

int teca_mesh::to_stream ( std::ostream &  ) const
overridevirtual

stream to/from human readable representation

Reimplemented from teca_dataset.

◆ to_stream() [2/2]

int teca_mesh::to_stream ( teca_binary_stream ) const
overridevirtual

serialize the dataset to/from the given stream for I/O or communication

Reimplemented from teca_dataset.


The documentation for this class was generated from the following file: