* Checks if a point is inside this region. * @param lon Longitude in radians. * @param lat Latitude in radians. * @return True if it's inside, false if it's outside. */
| 143 | * @return True if it's inside, false if it's outside. |
| 144 | */ |
| 145 | bool RuleRegion::insideRegion(double lon, double lat) const |
| 146 | { |
| 147 | for (size_t i = 0; i < _lonMin.size(); ++i) |
| 148 | { |
| 149 | bool inLon, inLat; |
| 150 | |
| 151 | if (_lonMin[i] <= _lonMax[i]) |
| 152 | inLon = (lon >= _lonMin[i] && lon < _lonMax[i]); |
| 153 | else |
| 154 | inLon = ((lon >= _lonMin[i] && lon < 6.283) || (lon >= 0 && lon < _lonMax[i])); |
| 155 | |
| 156 | inLat = (lat >= _latMin[i] && lat < _latMax[i]); |
| 157 | |
| 158 | if (inLon && inLat) |
| 159 | return true; |
| 160 | } |
| 161 | return false; |
| 162 | } |
| 163 | |
| 164 | /** |
| 165 | * Gets the list of cities contained in this region. |
no outgoing calls
no test coverage detected