51 Ball::Ball(
double radius,
const double *pCoords, uint32_t dimension)
81 return new Ball(*
this);
96 memcpy(&
m_radius, data,
sizeof(
double));
101 uint32_t center_point_size;
104 *data =
new uint8_t[length];
105 uint8_t *ptr = *data;
109 ptr += center_point_size;
110 memcpy(ptr, &
m_radius,
sizeof(
double));
125 "Ball::containsShape: Shape has the wrong number of dimensions."
128 const Point *point =
dynamic_cast<const Point*
>(&in);
134 const Region *region =
dynamic_cast<const Region*
>(&in);
137 const Ball *ball =
dynamic_cast<const Ball*
>(&in);
141 "Ball::intersectsShape: Not implemented yet!"
148 std::numeric_limits<double>::epsilon();
190 sum += furthest * furthest;
void getMBR(SpatialIndex::Region &out) const override
bool touchesShape(const IShape &in) const override
virtual bool containsLineSegment(const SpatialIndex::LineSegment *line) const
void loadFromByteArray(const uint8_t *data) override
bool containsPoint(const Point *point) const
virtual bool operator==(const Ball &b) const
void getCenter(SpatialIndex::Point &out) const override
bool containsShape(const IShape &in) const override
void storeToByteArray(uint8_t **data, uint32_t &length) override
double getArea() const override
bool intersectsShape(const IShape &in) const override
bool containsBall(const Ball *ball) const
uint32_t getByteArraySize() override
uint32_t getDimension() const override
virtual Ball & operator=(const Ball &b)
virtual bool containsRegion(const SpatialIndex::Region *region) const
double getMinimumDistance(const IShape &in) const override
virtual double getMinimumDistance(const IShape &in) const =0
virtual uint32_t getDimension() const =0
uint32_t getByteArraySize() override
void storeToByteArray(uint8_t **data, uint32_t &length) override
void loadFromByteArray(const uint8_t *data) override
SIDX_DLL std::ostream & operator<<(std::ostream &os, const Ball &ball)