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) { }
52 return (offX * offX) + (offY * offY);
57 m_positionX = float(DoublePosX);
58 m_positionY = float(DoublePosY);
59 m_positionZ = float(DoublePosZ);
78 RectangleBoundary(
float southX,
float northX,
float eastY,
float westY,
bool isInverted =
false);
81 bool IsWithinBoundaryArea(
Position const* pos)
const override;
84 float const _minX,
_maxX, _minY, _maxY;
94 bool IsWithinBoundaryArea(
Position const* pos)
const override;
107 bool IsWithinBoundaryArea(
Position const* pos)
const override;
120 bool IsWithinBoundaryArea(
Position const* pos)
const override;
124 double const _abx, _bcx, _cax, _aby, _bcy, _cay;
134 bool IsWithinBoundaryArea(
Position const* pos)
const override;
138 double const _abx, _dax, _aby, _day;
147 bool IsWithinBoundaryArea(
Position const* pos)
const override;
160 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