18#ifndef TRINITY_AREA_BOUNDARY_H
19#define TRINITY_AREA_BOUNDARY_H
32 explicit AreaBoundary(
bool isInverted) : _isInvertedBoundary(isInverted) { }
36 DoublePosition(
double x = 0.0,
double y = 0.0,
double z = 0.0,
float o = 0.0f)
37 :
Position(float(x), float(y), float(z), o), DoublePosX(x), DoublePosY(y), DoublePosZ(z) { }
40 :
Position(x, y, z, o), DoublePosX(x), DoublePosY(y), DoublePosZ(z) { }
43 :
Position(pos), DoublePosX(pos.m_positionX), DoublePosY(pos.m_positionY), DoublePosZ(pos.m_positionZ) { }
53 return (offX * offX) + (offY * offY);
58 m_positionX = float(DoublePosX);
59 m_positionY = float(DoublePosY);
60 m_positionZ = float(DoublePosZ);
79 RectangleBoundary(
float southX,
float northX,
float eastY,
float westY,
bool isInverted =
false);
82 bool IsWithinBoundaryArea(
Position const* pos)
const override;
85 float const _minX,
_maxX, _minY, _maxY;
95 bool IsWithinBoundaryArea(
Position const* pos)
const override;
108 bool IsWithinBoundaryArea(
Position const* pos)
const override;
121 bool IsWithinBoundaryArea(
Position const* pos)
const override;
125 double const _abx, _bcx, _cax, _aby, _bcy, _cay;
135 bool IsWithinBoundaryArea(
Position const* pos)
const override;
139 double const _abx, _dax, _aby, _day;
148 bool IsWithinBoundaryArea(
Position const* pos)
const override;
161 bool IsWithinBoundaryArea(
Position const* pos)
const override;
bool IsWithinBoundary(Position const *pos) const
bool IsWithinBoundary(Position const &pos) const
AreaBoundary(bool isInverted)
virtual bool IsWithinBoundaryArea(Position const *pos) const =0
AreaBoundary const *const _b1
AreaBoundary const *const _b2
DoublePosition const _center
DoublePosition const _center
double GetDoublePositionZ() const
double GetDoublePositionY() const
DoublePosition(Position const &pos)
DoublePosition(double x=0.0, double y=0.0, double z=0.0, float o=0.0f)
double GetDoublePositionX() const
DoublePosition(float x, float y=0.0f, float z=0.0f, float o=0.0f)
double GetDoubleExactDist2dSq(DoublePosition const &pos) const