Go to the documentation of this file.
    8 package net.sf.geographiclib;
 
   69   private double _lat0, _lon0, _lat1, _lon1;
 
   70   private static int transit(
double lon1, 
double lon2) {
 
   78       lon1 <= 0 && lon2 > 0 && lon12 > 0 ? 1 :
 
   79       (lon2 <= 0 && lon1 > 0 && lon12 < 0 ? -1 : 0);
 
   89     lon1 = lon1 % 720.0; lon2 = lon2 % 720.0;
 
   90     return ( ((lon2 >= 0 && lon2 < 360) || lon2 < -360 ? 0 : 1) -
 
   91              ((lon1 >= 0 && lon1 < 360) || lon1 < -360 ? 0 : 1) );
 
  121     _perimetersum.
Set(0);
 
  123     _lat0 = _lon0 = _lat1 = _lon1 = Double.NaN;
 
  141       _perimetersum.
Add(
g.s12);
 
  163       _perimetersum.
Add(
g.s12);
 
  168       _lat1 = 
g.lat2; _lon1 = 
g.lon2;
 
  211     if ((crossings & 1) != 0)
 
  226       else if (tempsum.
Sum() < 0)
 
  261     double perimeter = _perimetersum.
Sum();
 
  274                              i != 0 ? _lon0 : 
lon);
 
  281     if ((crossings & 1) != 0)
 
  282       tempsum += (tempsum < 0 ? 1 : -1) * 
_area0/2;
 
  291       else if (tempsum <= -
_area0/2)
 
  296       else if (tempsum < 0)
 
  329     double perimeter = _perimetersum.
Sum() + 
s;
 
  344       crossings += 
transit(
g.lon2, _lon0);
 
  347     if ((crossings & 1) != 0)
 
  348       tempsum += (tempsum < 0 ? 1 : -1) * 
_area0/2;
 
  357       else if (tempsum <= -
_area0/2)
 
  362       else if (tempsum < 0)
 
  
GeodesicData Direct(double lat1, double lon1, double azi1, double s12)
static int transit(double lon1, double lon2)
GeodesicData Inverse(double lat1, double lon1, double lat2, double lon2)
const EIGEN_DEVICE_FUNC SignReturnType sign() const
PolygonArea(Geodesic earth, boolean polyline)
static final int LONGITUDE
static Pair AngDiff(double x, double y)
static double AngNormalize(double x)
Point3 cross(const Point3 &p, const Point3 &q, OptionalJacobian< 3, 3 > H1, OptionalJacobian< 3, 3 > H2)
cross product
PolygonResult TestPoint(double lat, double lon, boolean reverse, boolean sign)
static final int LATITUDE
static final int LONG_UNROLL
void g(const string &key, int i)
void AddPoint(double lat, double lon)
PolygonResult TestEdge(double azi, double s, boolean reverse, boolean sign)
void AddEdge(double azi, double s)
void reverse(const MatrixType &m)
static final int DISTANCE
PolygonResult Compute(boolean reverse, boolean sign)
static int transitdirect(double lon1, double lon2)
gtsam
Author(s): 
autogenerated on Wed May 28 2025 03:02:35