atlas
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
atlas::grid::detail::grid::Grid Class Referenceabstract
Inheritance diagram for atlas::grid::detail::grid::Grid:
Inheritance graph
[legend]
Collaboration diagram for atlas::grid::detail::grid::Grid:
Collaboration graph
[legend]

Classes

class  IteratorLonLat
 
class  IteratorT
 
class  IteratorXY
 

Public Types

using Projection = atlas::Projection
 
using Domain = atlas::Domain
 
using Config = atlas::util::Config
 
using Spec = atlas::util::Config
 
using uid_t = std::string
 
using hash_t = std::string
 

Public Member Functions

 Grid ()
 ctor (default)
 
virtual ~Grid ()
 dtor
 
virtual std::string name () const =0
 Human readable name (may not be unique)
 
virtual std::string type () const =0
 
virtual uid_t uid () const
 Unique grid id Computed from the hash. More...
 
virtual void hash (eckit::Hash &) const =0
 Adds to the hash the information that makes this Grid unique.
 
std::string hash () const
 
const Domaindomain () const
 
virtual RectangularLonLatDomain lonlatBoundingBox () const =0
 
virtual size_t footprint () const
 
const Projectionprojection () const
 
virtual idx_t size () const =0
 
virtual Spec spec () const =0
 
virtual std::unique_ptr< IteratorXYxy_begin () const =0
 
virtual std::unique_ptr< IteratorXYxy_end () const =0
 
virtual std::unique_ptr< IteratorLonLatlonlat_begin () const =0
 
virtual std::unique_ptr< IteratorLonLatlonlat_end () const =0
 
void attachObserver (GridObserver &) const
 
void detachObserver (GridObserver &) const
 
virtual Config meshgenerator () const
 
virtual Config partitioner () const
 

Static Public Member Functions

static const Gridcreate (const Config &)
 
static const Gridcreate (const std::string &name)
 
static const Gridcreate (const std::string &name, const Config &)
 
static const Gridcreate (const Grid &, const Domain &)
 

Protected Member Functions

virtual void print (std::ostream &) const =0
 Fill provided me.
 

Protected Attributes

Projection projection_
 
Domain domain_
 
std::vector< GridObserver * > grid_observers_
 

Friends

std::ostream & operator<< (std::ostream &s, const Grid &p)
 

Member Function Documentation

◆ domain()

const Domain& atlas::grid::detail::grid::Grid::domain ( ) const
inline
Returns
area represented by the grid

◆ hash()

std::string atlas::grid::detail::grid::Grid::hash ( ) const
Returns
the hash of the information that makes this Grid unique

◆ lonlatBoundingBox()

virtual RectangularLonLatDomain atlas::grid::detail::grid::Grid::lonlatBoundingBox ( ) const
pure virtual
Returns
parallel/meridian limits containing the grid

Implemented in atlas::grid::detail::grid::CubedSphere, and atlas::grid::detail::grid::Structured.

◆ projection()

const Projection& atlas::grid::detail::grid::Grid::projection ( ) const
inline
Returns
projection (mapping between geographic coordinates and grid coordinates)

◆ size()

virtual idx_t atlas::grid::detail::grid::Grid::size ( ) const
pure virtual
Returns
number of grid points
Note
This methods should have constant access time, if necessary derived

Implemented in atlas::grid::detail::grid::Structured, atlas::grid::detail::grid::CubedSphere, and atlas::grid::detail::grid::Unstructured.

◆ uid()

Grid::uid_t atlas::grid::detail::grid::Grid::uid ( ) const
virtual

Unique grid id Computed from the hash.

Can be used to compare 2 grids.


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