|
1 | | -// Tools Library |
| 1 | +// Spatial Index Library |
2 | 2 | // |
3 | 3 | // Copyright (C) 2004 Navel Ltd. |
4 | 4 | // |
|
19 | 19 | // Email: |
20 | 20 | // mhadji@gmail.com |
21 | 21 |
|
22 | | -#ifndef __tools_geometry_linesegment_h |
23 | | -#define __tools_geometry_linesegment_h |
| 22 | +#pragma once |
24 | 23 |
|
25 | | -namespace Tools |
| 24 | +namespace SpatialIndex |
26 | 25 | { |
27 | | - namespace Geometry |
| 26 | + class SIDX_DLL LineSegment : public Tools::IObject, public virtual IShape |
28 | 27 | { |
29 | | - class LineSegment : public IObject, public virtual IShape |
30 | | - { |
31 | | - public: |
32 | | - LineSegment(); |
33 | | - LineSegment( const double* startPoint, const double* endPoint, unsigned long dimension ); |
34 | | - LineSegment( const Point& startPoint, const Point& endPoint ); |
35 | | - LineSegment( const LineSegment& l ); |
36 | | - virtual ~LineSegment(); |
| 28 | + public: |
| 29 | + LineSegment(); |
| 30 | + LineSegment( const double* startPoint, const double* endPoint, uint32_t dimension ); |
| 31 | + LineSegment( const Point& startPoint, const Point& endPoint ); |
| 32 | + LineSegment( const LineSegment& l ); |
| 33 | + virtual ~LineSegment(); |
37 | 34 |
|
38 | | - virtual LineSegment& operator=( const LineSegment& p ); |
39 | | - virtual bool operator==( const LineSegment& p ) const; |
| 35 | + virtual LineSegment& operator=( const LineSegment& p ); |
| 36 | + virtual bool operator==( const LineSegment& p ) const; |
40 | 37 |
|
41 | | - // |
42 | | - // IObject interface |
43 | | - // |
44 | | - virtual LineSegment* clone(); |
| 38 | + // |
| 39 | + // IObject interface |
| 40 | + // |
| 41 | + virtual LineSegment* clone(); |
45 | 42 |
|
46 | | - // |
47 | | - // ISerializable interface |
48 | | - // |
49 | | - virtual unsigned long getByteArraySize(); |
50 | | - virtual void loadFromByteArray( const byte* data ); |
51 | | - virtual void storeToByteArray( byte** data, unsigned long& length ); |
| 43 | + // |
| 44 | + // ISerializable interface |
| 45 | + // |
| 46 | + virtual uint32_t getByteArraySize(); |
| 47 | + virtual void loadFromByteArray( const byte* data ); |
| 48 | + virtual void storeToByteArray( byte** data, uint32_t& length ); |
52 | 49 |
|
53 | | - // |
54 | | - // IShape interface |
55 | | - // |
56 | | - virtual bool intersectsShape( const IShape& in ) const; |
57 | | - virtual bool containsShape( const IShape& in ) const; |
58 | | - virtual bool touchesShape( const IShape& in ) const; |
59 | | - virtual void getCenter( Point& out ) const; |
60 | | - virtual unsigned long getDimension() const; |
61 | | - virtual void getMBR( Region& out ) const; |
62 | | - virtual double getArea() const; |
63 | | - virtual double getMinimumDistance( const IShape& in ) const; |
| 50 | + // |
| 51 | + // IShape interface |
| 52 | + // |
| 53 | + virtual bool intersectsShape( const IShape& in ) const; |
| 54 | + virtual bool containsShape( const IShape& in ) const; |
| 55 | + virtual bool touchesShape( const IShape& in ) const; |
| 56 | + virtual void getCenter( Point& out ) const; |
| 57 | + virtual uint32_t getDimension() const; |
| 58 | + virtual void getMBR( Region& out ) const; |
| 59 | + virtual double getArea() const; |
| 60 | + virtual double getMinimumDistance( const IShape& in ) const; |
64 | 61 |
|
65 | | - virtual double getMinimumDistance( const Point& p ) const; |
66 | | - //virtual double getMinimumDistance(const Region& r) const; |
67 | | - virtual double getRelativeMinimumDistance( const Point& p ) const; |
68 | | - virtual double getRelativeMaximumDistance( const Region& r ) const; |
69 | | - virtual double getAngleOfPerpendicularRay(); |
| 62 | + virtual double getMinimumDistance( const Point& p ) const; |
| 63 | + //virtual double getMinimumDistance(const Region& r) const; |
| 64 | + virtual double getRelativeMinimumDistance( const Point& p ) const; |
| 65 | + virtual double getRelativeMaximumDistance( const Region& r ) const; |
| 66 | + virtual double getAngleOfPerpendicularRay(); |
70 | 67 |
|
71 | | - virtual void makeInfinite( unsigned long dimension ); |
72 | | - virtual void makeDimension( unsigned long dimension ); |
| 68 | + virtual void makeInfinite( uint32_t dimension ); |
| 69 | + virtual void makeDimension( uint32_t dimension ); |
73 | 70 |
|
74 | | - public: |
75 | | - unsigned long m_dimension; |
76 | | - double* m_pStartPoint; |
77 | | - double* m_pEndPoint; |
| 71 | + public: |
| 72 | + uint32_t m_dimension; |
| 73 | + double* m_pStartPoint; |
| 74 | + double* m_pEndPoint; |
78 | 75 |
|
79 | | - friend class Region; |
80 | | - friend class Point; |
81 | | - friend std::ostream& operator<<( std::ostream& os, const LineSegment& pt ); |
82 | | - }; // Point |
| 76 | + friend class Region; |
| 77 | + friend class Point; |
| 78 | + friend SIDX_DLL std::ostream& operator<<( std::ostream& os, const LineSegment& pt ); |
| 79 | + }; // Point |
83 | 80 |
|
84 | | - std::ostream& operator<<( std::ostream& os, const LineSegment& pt ); |
85 | | - } |
| 81 | + SIDX_DLL std::ostream& operator<<( std::ostream& os, const LineSegment& pt ); |
86 | 82 | } |
87 | 83 |
|
88 | | -#endif /*__tools_geometry_linesegment_h*/ |
0 commit comments