libspatialindex API Reference
(git-trunk)
|
#include <LineSegment.h>
Public Member Functions | |
LineSegment () | |
LineSegment (const double *startPoint, const double *endPoint, uint32_t dimension) | |
LineSegment (const Point &startPoint, const Point &endPoint) | |
LineSegment (const LineSegment &l) | |
~LineSegment () override | |
virtual LineSegment & | operator= (const LineSegment &p) |
virtual bool | operator== (const LineSegment &p) const |
LineSegment * | clone () override |
uint32_t | getByteArraySize () override |
void | loadFromByteArray (const uint8_t *data) override |
void | storeToByteArray (uint8_t **data, uint32_t &length) override |
bool | intersectsShape (const IShape &in) const override |
bool | containsShape (const IShape &in) const override |
bool | touchesShape (const IShape &in) const override |
void | getCenter (Point &out) const override |
uint32_t | getDimension () const override |
void | getMBR (Region &out) const override |
double | getArea () const override |
double | getMinimumDistance (const IShape &in) const override |
virtual bool | intersectsLineSegment (const LineSegment &l) const |
virtual bool | intersectsRegion (const Region &p) const |
virtual double | getMinimumDistance (const Point &p) const |
virtual double | getRelativeMinimumDistance (const Point &p) const |
virtual double | getRelativeMaximumDistance (const Region &r) const |
virtual double | getAngleOfPerpendicularRay () |
virtual void | makeInfinite (uint32_t dimension) |
virtual void | makeDimension (uint32_t dimension) |
Public Member Functions inherited from Tools::IObject | |
virtual | ~IObject ()=default |
Public Member Functions inherited from SpatialIndex::IShape | |
~IShape () override=default | |
Public Member Functions inherited from Tools::ISerializable | |
virtual | ~ISerializable ()=default |
Public Attributes | |
uint32_t | m_dimension {0} |
double * | m_pStartPoint {nullptr} |
double * | m_pEndPoint {nullptr} |
Static Protected Member Functions | |
static double | doubleAreaTriangle (const Point &a, const Point &b, const Point &c) |
static bool | leftOf (const Point &a, const Point &b, const Point &c) |
static bool | collinear (const Point &a, const Point &b, const Point &c) |
static bool | between (const Point &a, const Point &b, const Point &c) |
static bool | between (double a, double b, double c) |
static bool | intersectsProper (const Point &a, const Point &b, const Point &c, const Point &d) |
static bool | intersects (const Point &a, const Point &b, const Point &c, const Point &d) |
Friends | |
class | Region |
class | Point |
SIDX_DLL std::ostream & | operator<< (std::ostream &os, const LineSegment &pt) |
Definition at line 32 of file LineSegment.h.
|
default |
LineSegment::LineSegment | ( | const double * | startPoint, |
const double * | endPoint, | ||
uint32_t | dimension | ||
) |
Definition at line 39 of file LineSegment.cc.
References m_dimension, m_pEndPoint, and m_pStartPoint.
Definition at line 50 of file LineSegment.cc.
References m_dimension, SpatialIndex::Point::m_dimension, SpatialIndex::Point::m_pCoords, m_pEndPoint, and m_pStartPoint.
LineSegment::LineSegment | ( | const LineSegment & | l | ) |
Definition at line 66 of file LineSegment.cc.
References m_dimension, m_pEndPoint, and m_pStartPoint.
|
override |
Definition at line 77 of file LineSegment.cc.
References m_pEndPoint, and m_pStartPoint.
Definition at line 454 of file LineSegment.cc.
References collinear(), and SpatialIndex::Point::m_pCoords.
Referenced by intersects().
|
staticprotected |
Definition at line 467 of file LineSegment.cc.
|
overridevirtual |
Implements Tools::IObject.
Definition at line 119 of file LineSegment.cc.
References LineSegment().
Definition at line 439 of file LineSegment.cc.
References doubleAreaTriangle().
Referenced by between(), and intersectsProper().
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 175 of file LineSegment.cc.
|
staticprotected |
Definition at line 427 of file LineSegment.cc.
References SpatialIndex::Point::m_pCoords.
Referenced by collinear(), and leftOf().
|
virtual |
Definition at line 377 of file LineSegment.cc.
References m_dimension, m_pEndPoint, M_PI_2, and m_pStartPoint.
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 221 of file LineSegment.cc.
|
overridevirtual |
Implements Tools::ISerializable.
Definition at line 127 of file LineSegment.cc.
References m_dimension.
Referenced by storeToByteArray().
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 187 of file LineSegment.cc.
References m_dimension, m_pEndPoint, m_pStartPoint, and Point.
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 201 of file LineSegment.cc.
References m_dimension.
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 206 of file LineSegment.cc.
References m_dimension, m_pEndPoint, m_pStartPoint, and Region.
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 226 of file LineSegment.cc.
|
virtual |
Definition at line 247 of file LineSegment.cc.
References m_dimension, SpatialIndex::Point::m_pCoords, m_pEndPoint, and m_pStartPoint.
|
virtual |
Definition at line 348 of file LineSegment.cc.
References getRelativeMinimumDistance(), m_dimension, SpatialIndex::Region::m_pHigh, SpatialIndex::Region::m_pLow, and Point.
|
virtual |
Definition at line 312 of file LineSegment.cc.
References m_dimension, SpatialIndex::Point::m_pCoords, m_pEndPoint, and m_pStartPoint.
Referenced by getRelativeMaximumDistance().
|
staticprotected |
Definition at line 472 of file LineSegment.cc.
References between(), and intersectsProper().
Referenced by intersectsLineSegment().
|
virtual |
Definition at line 290 of file LineSegment.cc.
References intersects(), m_dimension, m_pEndPoint, m_pStartPoint, and Point.
Referenced by intersectsShape().
|
staticprotected |
Definition at line 444 of file LineSegment.cc.
References collinear(), and leftOf().
Referenced by intersects().
|
virtual |
Definition at line 275 of file LineSegment.cc.
References SpatialIndex::Region::intersectsLineSegment(), m_dimension, and SpatialIndex::Region::m_dimension.
Referenced by intersectsShape().
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 162 of file LineSegment.cc.
References intersectsLineSegment(), and intersectsRegion().
Referenced by SpatialIndex::Region::intersectsLineSegment().
Definition at line 434 of file LineSegment.cc.
References doubleAreaTriangle().
Referenced by intersectsProper().
|
overridevirtual |
Implements Tools::ISerializable.
Definition at line 132 of file LineSegment.cc.
References m_dimension, m_pEndPoint, m_pStartPoint, and makeDimension().
|
virtual |
Definition at line 408 of file LineSegment.cc.
References m_dimension, m_pEndPoint, and m_pStartPoint.
Referenced by loadFromByteArray(), makeInfinite(), and operator=().
|
virtual |
Definition at line 398 of file LineSegment.cc.
References m_dimension, m_pEndPoint, m_pStartPoint, and makeDimension().
|
virtual |
Definition at line 83 of file LineSegment.cc.
References m_dimension, m_pEndPoint, m_pStartPoint, and makeDimension().
|
virtual |
Definition at line 95 of file LineSegment.cc.
References m_dimension, m_pEndPoint, and m_pStartPoint.
|
overridevirtual |
Implements Tools::ISerializable.
Definition at line 145 of file LineSegment.cc.
References getByteArraySize(), m_dimension, m_pEndPoint, and m_pStartPoint.
|
overridevirtual |
Implements SpatialIndex::IShape.
Definition at line 180 of file LineSegment.cc.
|
friend |
|
friend |
Definition at line 85 of file LineSegment.h.
Referenced by getCenter(), getRelativeMaximumDistance(), and intersectsLineSegment().
|
friend |
Definition at line 84 of file LineSegment.h.
Referenced by getMBR().
uint32_t SpatialIndex::LineSegment::m_dimension {0} |
Definition at line 80 of file LineSegment.h.
Referenced by getAngleOfPerpendicularRay(), getByteArraySize(), getCenter(), getDimension(), getMBR(), getMinimumDistance(), getRelativeMaximumDistance(), getRelativeMinimumDistance(), SpatialIndex::Region::intersectsLineSegment(), intersectsLineSegment(), intersectsRegion(), LineSegment(), loadFromByteArray(), makeDimension(), makeInfinite(), SpatialIndex::operator<<(), operator=(), operator==(), and storeToByteArray().
double* SpatialIndex::LineSegment::m_pEndPoint {nullptr} |
Definition at line 82 of file LineSegment.h.
Referenced by SpatialIndex::Ball::containsLineSegment(), getAngleOfPerpendicularRay(), getCenter(), getMBR(), getMinimumDistance(), getRelativeMinimumDistance(), SpatialIndex::Region::intersectsLineSegment(), intersectsLineSegment(), LineSegment(), loadFromByteArray(), makeDimension(), makeInfinite(), SpatialIndex::operator<<(), operator=(), operator==(), storeToByteArray(), and ~LineSegment().
double* SpatialIndex::LineSegment::m_pStartPoint {nullptr} |
Definition at line 81 of file LineSegment.h.
Referenced by SpatialIndex::Ball::containsLineSegment(), getAngleOfPerpendicularRay(), getCenter(), getMBR(), getMinimumDistance(), getRelativeMinimumDistance(), SpatialIndex::Region::intersectsLineSegment(), intersectsLineSegment(), LineSegment(), loadFromByteArray(), makeDimension(), makeInfinite(), SpatialIndex::operator<<(), operator=(), operator==(), storeToByteArray(), and ~LineSegment().