atlas::mesh::PartitionPolygon class

Polygon class that holds the boundary of a mesh partition.

Base classes

class atlas::util::PartitionPolygon

Public types

using PointsXY = std::vector<Point2>
using PointsLonLat = std::vector<Point2>
using edge_set_t = std::set<edge_t, typename edge_t::LessThan>
using container_t = std::vector<idx_t>

Constructors, destructors, conversion operators

PartitionPolygon(const detail::MeshImpl& mesh, idx_t halo)
Construct "size" polygon.
Polygon()
Polygon(const edge_set_t&)
operator bool() const

Public functions

auto halo() const -> idx_t override
Return value of halo.
auto footprint() const -> size_t override
Return the memory footprint of the Polygon.
void outputPythonScript(const eckit::PathName&, const eckit::Configuration& = util::NoConfig()) const override
Output a python script that plots the partition.
auto xy() const -> PointsXY override
All (x,y) coordinates defining a polygon. Last point should match first.
auto lonlat() const -> PointsXY override
All (lon,lat) coordinates defining a polygon. Last point should match first.
void allGather(util::PartitionPolygons&) const override
auto inscribedDomain() const -> const RectangleXY& virtual
Return inscribed rectangular domain (not rotated)
auto json(const eckit::Configuration& = util::NoConfig()) const -> std::string virtual
Output a JSON file with partition polygons.
auto operator+=(const Polygon&) -> Polygon&
auto assign(T... args) -> T
auto at(T... args) -> T
auto back(T... args) -> T
auto begin(T... args) -> T
auto capacity(T... args) -> T
auto cbegin(T... args) -> T
auto cend(T... args) -> T
auto clear(T... args) -> T
auto crbegin(T... args) -> T
auto crend(T... args) -> T
auto data(T... args) -> T
auto emplace(T... args) -> T
auto emplace_back(T... args) -> T
auto empty(T... args) -> T
auto end(T... args) -> T
auto erase(T... args) -> T
auto front(T... args) -> T
auto get_allocator(T... args) -> T
auto insert(T... args) -> T
auto max_size(T... args) -> T
auto operator[](T... args) -> T
auto pop_back(T... args) -> T
auto push_back(T... args) -> T
auto rbegin(T... args) -> T
auto rend(T... args) -> T
auto reserve(T... args) -> T
auto resize(T... args) -> T
auto shrink_to_fit(T... args) -> T
auto size(T... args) -> T
auto swap(T... args) -> T

Friends

auto operator<<(std::ostream& s, const PartitionPolygon& p) -> std::ostream&

Typedef documentation

using atlas::mesh::PartitionPolygon::PointsXY = std::vector<Point2>

using atlas::mesh::PartitionPolygon::PointsLonLat = std::vector<Point2>

using atlas::mesh::PartitionPolygon::edge_set_t = std::set<edge_t, typename edge_t::LessThan>

using atlas::mesh::PartitionPolygon::container_t = std::vector<idx_t>

Function documentation

atlas::mesh::PartitionPolygon::Polygon()

atlas::mesh::PartitionPolygon::Polygon(const edge_set_t&)

atlas::mesh::PartitionPolygon::operator bool() const

const RectangleXY& atlas::mesh::PartitionPolygon::inscribedDomain() const virtual

Return inscribed rectangular domain (not rotated)

std::string atlas::mesh::PartitionPolygon::json(const eckit::Configuration& = util::NoConfig()) const virtual

Output a JSON file with partition polygons.

Polygon& atlas::mesh::PartitionPolygon::operator+=(const Polygon&)