Struct Cells

Inheritance Relationships

Base Type

Struct Documentation

struct Cells : public f2c::types::Geometries<Cells, OGRMultiPolygon, wkbMultiPolygon, Cell>

Public Functions

Cells()
explicit Cells(const OGRGeometry *geom)
explicit Cells(const Cell &c)
~Cells() = default
void getGeometry(size_t i, Cell &cell)
void getGeometry(size_t i, Cell &cell) const
Cell getGeometry(size_t i)
const Cell getGeometry(size_t i) const
void setGeometry(size_t i, const Cell &cell)
const Cell getCell(size_t i) const
const LinearRing getCellBorder(size_t i) const
const LinearRing getInteriorRing(size_t i_cell, size_t i_ring) const
void operator*=(double b)
void addGeometry(const Cell &c)
void addRing(size_t i, const LinearRing &ring)
size_t size() const
bool isConvex() const
Cell convexHull() const
Cells intersection(const Cell &c) const
Cells intersection(const Cells &c) const
Cells difference(const Cell &c) const
Cells difference(const Cells &c) const
Cells unionOp(const Cell &c) const
Cells unionOp(const Cells &c) const
Cells unionCascaded() const
Cells splitByLine(const LineString &line) const
Cells splitByLine(const MultiLineString &lines) const
LineString createSemiLongLine(const Point &point, double angle) const
LineString createStraightLongLine(const Point &point, double angle) const
MultiLineString getLinesInside(const LineString &line) const
MultiLineString getLinesInside(const MultiLineString &lines) const
Cells getCellsInside(const Cells &cell) const
bool isPointInBorder(const Point &p) const
bool isPointIn(const Point &p) const
const Cell getCellWherePoint(const Point &p) const
LineString createLineUntilBorder(const f2c::types::Point &p, double ang) const
Cells buffer(double width) const
Point closestPointOnBorderTo(const Point &p) const
double area() const

Compute area of the geometry.

Cells clone() const
Cells simplify(double d_tol) const
Iterator begin()
ConstIterator begin() const
ConstIterator begin(const Cells *poSelf)
Iterator end()
ConstIterator end() const
ConstIterator end(const Cells *poSelf)
const Cell operator[](int i) const
const Cell at(int i) const
const Cell back() const
Cells &append(const Cells &other)
std::shared_ptr<OGRMultiPolygon> operator->()
std::shared_ptr<const OGRMultiPolygon> operator->() const
OGRMultiPolygon *get()
const OGRMultiPolygon *get() const
bool operator!=(const Geometry<OGRMultiPolygon, R> &geom2) const
bool operator==(const Geometry<OGRMultiPolygon, R> &geom2) const
double getDimMinX() const

Get the minimum x value of the geometry.

double getDimMaxX() const

Get the maximum x value of the geometry.

double getDimMinY() const

Get the minimum y value of the geometry.

double getDimMaxY() const

Get the maximum y value of the geometry.

double getHeight() const

Get the height of the geometry.

double getWidth() const

Get the width of the geometry.

double getMinSafeLength() const

Get the manhattan distance of the diagonal of the rectangle that cover the geometry.

A circle from any point of the geometry and with this distance as radius can be created and it will, at least, crosses the geometry.

double distance(const Geometry<T2, R2> &p) const

Compute shortest distance between this and another geometry.

bool disjoint(const Geometry<T2, R2> &geom) const

Check if this and another geometry are disjoint.

bool crosses(const Geometry<T2, R2> &geom) const

Check if this and another geometry cross.

bool touches(const Geometry<T2, R2> &geom) const

Check if this and another geometry touch each other.

bool within(const Geometry<T2, R2> &geom) const

Check if this geometry is inside another geometry.

bool intersects(const Geometry<T2, R2> &geom) const

Check if this and another geometry intersects.

bool isEmpty() const
std::string exportToWkt() const
void importFromWkt(const std::string &text)
std::string exportToGML() const
std::string exportToKML() const
std::string exportToJson() const
OGRGeometry *OGRBuffer(double dfDist, int side = 0) const

Public Static Functions

static Cells intersection(const Cell &cell, const Cell &c)
template<class T, OGRwkbGeometryType R>
static Cells buffer(const Geometry<T, R> &geom, double width, int side = 0)
static double mod_2pi(double val)

Transform from \( [-\inf, \inf) \) to \( [0, 2\pi) \) applying \(2\pi\) modulus.

Returns:

value modulus in the range of \( [0, 2\pi) \)

static double mod(double a, double b)
static double getAngContinuity(double prev_val, double val)
static std::vector<double> getAngContinuity(const std::vector<double> &val)
static double getAngleDiffAbs(double a, double b)

Compute the smallest difference between two angles.

Parameters:
  • a – first angle

  • b – second angle

Returns:

difference between both angles

static double getAngleAvg(double a, double b)

Get the angle that is between a and b in the shortest direction.