Struct LinearRing

Inheritance Relationships

Base Type

Struct Documentation

struct LinearRing : public f2c::types::Geometries<LinearRing, OGRLinearRing, wkbLinearRing, Point>

Public Functions

LinearRing()
explicit LinearRing(const std::vector<Point> &ps)
explicit LinearRing(const std::initializer_list<Point> &ps)
void operator*=(double b)
double getX(size_t i) const
double getY(size_t i) const
double getZ(size_t i) const
double length() const
void reversePoints()
size_t size() const
void getGeometry(size_t i, Point &point)
void getGeometry(size_t i, Point &point) const
Point getGeometry(size_t i)
const Point getGeometry(size_t i) const
void setGeometry(size_t i, const Point &p)
void addPoint(double x, double y, double z = 0)
void addPoint(const Point &p)
void addGeometry(const Point &p)
const Point startPoint() const
const Point endPoint() const
bool isClockwise() const
bool isClosed() const
LinearRing &closeRing()
Point closestPointTo(const Point &p) const
double area() const

Compute area of the geometry.

LinearRing clone() const
LinearRing simplify(double d_tol) const
Iterator begin()
ConstIterator begin() const
ConstIterator begin(const LinearRing *poSelf)
Iterator end()
ConstIterator end() const
ConstIterator end(const LinearRing *poSelf)
const Point operator[](int i) const
const Point at(int i) const
const Point back() const
LinearRing &append(const LinearRing &other)
std::shared_ptr<OGRLinearRing> operator->()
std::shared_ptr<const OGRLinearRing> operator->() const
OGRLinearRing *get()
const OGRLinearRing *get() const
bool operator!=(const Geometry<OGRLinearRing, R> &geom2) const
bool operator==(const Geometry<OGRLinearRing, 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 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.