36 Region(
const double* pLow,
const double* pHigh, uint32_t dimension);
42 virtual bool operator==(
const Region&)
const;
52 uint32_t getByteArraySize()
override;
53 void loadFromByteArray(
const uint8_t* data)
override;
54 void storeToByteArray(uint8_t** data, uint32_t& length)
override;
59 bool intersectsShape(
const IShape& in)
const override;
60 bool containsShape(
const IShape& in)
const override;
61 bool touchesShape(
const IShape& in)
const override;
62 void getCenter(
Point& out)
const override;
63 uint32_t getDimension()
const override;
64 void getMBR(
Region& out)
const override;
65 double getArea()
const override;
66 double getMinimumDistance(
const IShape& in)
const override;
68 virtual bool intersectsRegion(
const Region& in)
const;
69 virtual bool containsRegion(
const Region& in)
const;
70 virtual bool touchesRegion(
const Region& in)
const;
71 virtual double getMinimumDistance(
const Region& in)
const;
73 virtual bool intersectsLineSegment(
const LineSegment& in)
const;
75 virtual bool containsPoint(
const Point& in)
const;
76 virtual bool touchesPoint(
const Point& in)
const;
77 virtual double getMinimumDistance(
const Point& in)
const;
79 virtual Region getIntersectingRegion(
const Region& r)
const;
80 virtual double getIntersectingArea(
const Region& in)
const;
81 virtual double getMargin()
const;
83 virtual void combineRegion(
const Region& in);
84 virtual void combinePoint(
const Point& in);
85 virtual void getCombinedRegion(
Region& out,
const Region& in)
const;
87 virtual double getLow(uint32_t index)
const;
88 virtual double getHigh(uint32_t index)
const;
90 virtual void makeInfinite(uint32_t dimension);
91 virtual void makeDimension(uint32_t dimension);
94 void initialize(
const double* pLow,
const double* pHigh, uint32_t dimension);
97 uint32_t m_dimension{0};
98 double* m_pLow{
nullptr};
99 double* m_pHigh{
nullptr};
Tools::PoolPointer< Region > RegionPtr
SIDX_DLL std::ostream & operator<<(std::ostream &os, const Ball &ball)