23 AreaBoundary(isInverted), _minX(southX), _maxX(northX), _minY(eastY), _maxY(westY) { }
36 AreaBoundary(isInverted), _center(center), _radiusSq(radius*radius) { }
38 AreaBoundary(isInverted), _center(center), _radiusSq(_center.GetDoubleExactDist2dSq(pointOnCircle)) { }
48 AreaBoundary(isInverted), _center(center), _radiusYSq(radiusY*radiusY), _scaleXSq(_radiusYSq / (radiusX*radiusX)) { }
58 AreaBoundary(isInverted), _a(pointA), _b(pointB), _c(pointC), _abx(_b.GetDoublePositionX()-_a.GetDoublePositionX()), _bcx(_c.GetDoublePositionX()-_b.GetDoublePositionX()), _cax(_a.GetDoublePositionX() - _c.GetDoublePositionX()), _aby(_b.GetDoublePositionY()-_a.GetDoublePositionY()), _bcy(_c.GetDoublePositionY()-_b.GetDoublePositionY()), _cay(_a.GetDoublePositionY() - _c.GetDoublePositionY()) { }
67 return ((sign1 == sign2) && (sign2 == sign3));
72 AreaBoundary(isInverted), _a(cornerA), _b(cornerB), _d(cornerD), _c(
DoublePosition(_d.GetDoublePositionX() + (_b.GetDoublePositionX() - _a.GetDoublePositionX()), _d.GetDoublePositionY() + (_b.GetDoublePositionY() - _a.GetDoublePositionY()))), _abx(_b.GetDoublePositionX() - _a.GetDoublePositionX()), _dax(_a.GetDoublePositionX() - _d.GetDoublePositionX()), _aby(_b.GetDoublePositionY() - _a.GetDoublePositionY()), _day(_a.GetDoublePositionY() - _d.GetDoublePositionY()) { }
82 return ((sign1 == sign2) && (sign2 == sign3) && (sign3 == sign4));
bool IsWithinBoundary(Position const *pos) const
BoundaryUnionBoundary(AreaBoundary const *b1, AreaBoundary const *b2, bool isInverted=false)
AreaBoundary const *const _b1
bool IsWithinBoundaryArea(Position const *pos) const override
virtual ~BoundaryUnionBoundary()
AreaBoundary const *const _b2
CircleBoundary(Position const ¢er, double radius, bool isInverted=false)
DoublePosition const _center
bool IsWithinBoundaryArea(Position const *pos) const override
bool IsWithinBoundaryArea(Position const *pos) const override
DoublePosition const _center
EllipseBoundary(Position const ¢er, double radiusX, double radiusY, bool isInverted=false)
ParallelogramBoundary(Position const &cornerA, Position const &cornerB, Position const &cornerD, bool isInverted=false)
bool IsWithinBoundaryArea(Position const *pos) const override
bool IsWithinBoundaryArea(Position const *pos) const override
RectangleBoundary(float southX, float northX, float eastY, float westY, bool isInverted=false)
bool IsWithinBoundaryArea(Position const *pos) const override
TriangleBoundary(Position const &pointA, Position const &pointB, Position const &pointC, bool isInverted=false)
ZRangeBoundary(float minZ, float maxZ, bool isInverted=false)
bool IsWithinBoundaryArea(Position const *pos) const override
double GetDoublePositionY() const
double GetDoublePositionX() const
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetPositionZ() const