Template Struct Geometry

Inheritance Relationships

Derived Type

Struct Documentation

template<class T, OGRwkbGeometryType R>
struct Geometry

Subclassed by f2c::types::Geometries< SAMETYPE, T, R, CHILDRENTYPE >

Public Functions

Geometry()
explicit Geometry(const T &g)
explicit Geometry(std::shared_ptr<T> g)
explicit Geometry(T *g, EmptyDestructor)
explicit Geometry(const T *g)
explicit Geometry(OGRGeometry *g, EmptyDestructor)
explicit Geometry(const OGRGeometry *g)
~Geometry()
explicit Geometry(const Geometry &g)
Geometry(Geometry &&g)
Geometry &operator=(Geometry &&g)
Geometry &operator=(const Geometry &g)
std::shared_ptr<T> operator->()
std::shared_ptr<const T> operator->() const
T *get()
const T *get() const
bool operator!=(const Geometry<T, R> &geom2) const
bool operator==(const Geometry<T, 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.

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

Compute shortest distance between this and another geometry.

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

Check if this and another geometry are disjoint.

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

Check if this and another geometry cross.

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

Check if this and another geometry touch each other.

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

Check if this geometry is inside another geometry.

template<class T2, OGRwkbGeometryType R2>
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.

Protected Functions

template<typename To, typename From>
inline To downCast(From *f) const

Protected Attributes

std::shared_ptr<T> data_

Protected Static Functions

template<typename RetType>
static RetType destroyResGeom(OGRGeometry*)