QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
SpatialIndex::LineSegment Class Reference

#include <LineSegment.h>

Inheritance diagram for SpatialIndex::LineSegment:
Tools::IObject SpatialIndex::IShape Tools::ISerializable

Public Member Functions

virtual LineSegmentclone ()
 
virtual bool containsShape (const IShape &in) const
 
virtual double getAngleOfPerpendicularRay ()
 
virtual double getArea () const
 
virtual uint32_t getByteArraySize ()
 
virtual void getCenter (Point &out) const
 
virtual uint32_t getDimension () const
 
virtual void getMBR (Region &out) const
 
virtual double getMinimumDistance (const IShape &in) const
 
virtual double getMinimumDistance (const Point &p) const
 
virtual double getRelativeMaximumDistance (const Region &r) const
 
virtual double getRelativeMinimumDistance (const Point &p) const
 
virtual bool intersectsLineSegment (const LineSegment &l) const
 
virtual bool intersectsRegion (const Region &p) const
 
virtual bool intersectsShape (const IShape &in) const
 
 LineSegment ()
 
 LineSegment (const double *startPoint, const double *endPoint, uint32_t dimension)
 
 LineSegment (const LineSegment &l)
 
 LineSegment (const Point &startPoint, const Point &endPoint)
 
virtual void loadFromByteArray (const byte *data)
 
virtual void makeDimension (uint32_t dimension)
 
virtual void makeInfinite (uint32_t dimension)
 
virtual LineSegmentoperator= (const LineSegment &p)
 
virtual bool operator== (const LineSegment &p) const
 
virtual void storeToByteArray (byte **data, uint32_t &length)
 
virtual bool touchesShape (const IShape &in) const
 
virtual ~LineSegment ()
 
- Public Member Functions inherited from Tools::IObject
virtual ~IObject ()
 
- Public Member Functions inherited from SpatialIndex::IShape
virtual ~IShape ()
 
- Public Member Functions inherited from Tools::ISerializable
virtual ~ISerializable ()
 

Public Attributes

uint32_t m_dimension
 
double * m_pEndPoint
 
double * m_pStartPoint
 

Static Protected Member Functions

static bool between (const Point &a, const Point &b, const Point &c)
 
static bool between (double a, double b, double c)
 
static bool collinear (const Point &a, const Point &b, const Point &c)
 
static double doubleAreaTriangle (const Point &a, const Point &b, const Point &c)
 
static bool intersects (const Point &a, const Point &b, const Point &c, const Point &d)
 
static bool intersectsProper (const Point &a, const Point &b, const Point &c, const Point &d)
 
static bool leftOf (const Point &a, const Point &b, const Point &c)
 

Friends

SIDX_DLL std::ostream & operator<< (std::ostream &os, const LineSegment &pt)
 
class Point
 
class Region
 

Constructor & Destructor Documentation

◆ LineSegment() [1/4]

SpatialIndex::LineSegment::LineSegment ( )

◆ LineSegment() [2/4]

SpatialIndex::LineSegment::LineSegment ( const double * startPoint,
const double * endPoint,
uint32_t dimension )

◆ LineSegment() [3/4]

SpatialIndex::LineSegment::LineSegment ( const Point & startPoint,
const Point & endPoint )

◆ LineSegment() [4/4]

SpatialIndex::LineSegment::LineSegment ( const LineSegment & l)

◆ ~LineSegment()

virtual SpatialIndex::LineSegment::~LineSegment ( )
virtual

Member Function Documentation

◆ between() [1/2]

static bool SpatialIndex::LineSegment::between ( const Point & a,
const Point & b,
const Point & c )
staticprotected

◆ between() [2/2]

static bool SpatialIndex::LineSegment::between ( double a,
double b,
double c )
staticprotected

◆ clone()

virtual LineSegment * SpatialIndex::LineSegment::clone ( )
virtual

Implements Tools::IObject.

◆ collinear()

static bool SpatialIndex::LineSegment::collinear ( const Point & a,
const Point & b,
const Point & c )
staticprotected

◆ containsShape()

virtual bool SpatialIndex::LineSegment::containsShape ( const IShape & in) const
virtual

Implements SpatialIndex::IShape.

◆ doubleAreaTriangle()

static double SpatialIndex::LineSegment::doubleAreaTriangle ( const Point & a,
const Point & b,
const Point & c )
staticprotected

◆ getAngleOfPerpendicularRay()

virtual double SpatialIndex::LineSegment::getAngleOfPerpendicularRay ( )
virtual

◆ getArea()

virtual double SpatialIndex::LineSegment::getArea ( ) const
virtual

Implements SpatialIndex::IShape.

◆ getByteArraySize()

virtual uint32_t SpatialIndex::LineSegment::getByteArraySize ( )
virtual

Implements Tools::ISerializable.

◆ getCenter()

virtual void SpatialIndex::LineSegment::getCenter ( Point & out) const
virtual

Implements SpatialIndex::IShape.

◆ getDimension()

virtual uint32_t SpatialIndex::LineSegment::getDimension ( ) const
virtual

Implements SpatialIndex::IShape.

◆ getMBR()

virtual void SpatialIndex::LineSegment::getMBR ( Region & out) const
virtual

Implements SpatialIndex::IShape.

◆ getMinimumDistance() [1/2]

virtual double SpatialIndex::LineSegment::getMinimumDistance ( const IShape & in) const
virtual

Implements SpatialIndex::IShape.

◆ getMinimumDistance() [2/2]

virtual double SpatialIndex::LineSegment::getMinimumDistance ( const Point & p) const
virtual

◆ getRelativeMaximumDistance()

virtual double SpatialIndex::LineSegment::getRelativeMaximumDistance ( const Region & r) const
virtual

◆ getRelativeMinimumDistance()

virtual double SpatialIndex::LineSegment::getRelativeMinimumDistance ( const Point & p) const
virtual

◆ intersects()

static bool SpatialIndex::LineSegment::intersects ( const Point & a,
const Point & b,
const Point & c,
const Point & d )
staticprotected

◆ intersectsLineSegment()

virtual bool SpatialIndex::LineSegment::intersectsLineSegment ( const LineSegment & l) const
virtual

◆ intersectsProper()

static bool SpatialIndex::LineSegment::intersectsProper ( const Point & a,
const Point & b,
const Point & c,
const Point & d )
staticprotected

◆ intersectsRegion()

virtual bool SpatialIndex::LineSegment::intersectsRegion ( const Region & p) const
virtual

◆ intersectsShape()

virtual bool SpatialIndex::LineSegment::intersectsShape ( const IShape & in) const
virtual

Implements SpatialIndex::IShape.

◆ leftOf()

static bool SpatialIndex::LineSegment::leftOf ( const Point & a,
const Point & b,
const Point & c )
staticprotected

◆ loadFromByteArray()

virtual void SpatialIndex::LineSegment::loadFromByteArray ( const byte * data)
virtual

Implements Tools::ISerializable.

◆ makeDimension()

virtual void SpatialIndex::LineSegment::makeDimension ( uint32_t dimension)
virtual

◆ makeInfinite()

virtual void SpatialIndex::LineSegment::makeInfinite ( uint32_t dimension)
virtual

◆ operator=()

virtual LineSegment & SpatialIndex::LineSegment::operator= ( const LineSegment & p)
virtual

◆ operator==()

virtual bool SpatialIndex::LineSegment::operator== ( const LineSegment & p) const
virtual

◆ storeToByteArray()

virtual void SpatialIndex::LineSegment::storeToByteArray ( byte ** data,
uint32_t & length )
virtual

Implements Tools::ISerializable.

◆ touchesShape()

virtual bool SpatialIndex::LineSegment::touchesShape ( const IShape & in) const
virtual

Implements SpatialIndex::IShape.

Friends And Related Symbol Documentation

◆ operator<<

SIDX_DLL std::ostream & operator<< ( std::ostream & os,
const LineSegment & pt )
friend

◆ Point

friend class Point
friend

◆ Region

friend class Region
friend

Member Data Documentation

◆ m_dimension

uint32_t SpatialIndex::LineSegment::m_dimension

◆ m_pEndPoint

double* SpatialIndex::LineSegment::m_pEndPoint

◆ m_pStartPoint

double* SpatialIndex::LineSegment::m_pStartPoint

The documentation for this class was generated from the following file: