|
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().