70      _earth.GenInverse(_lat1, _lon1, lat, lon, _mask,
 
   71                        s12, t, t, t, t, t, S12);
 
   75        _crossings += transit(_lon1, lon);
 
   77      _lat1 = lat; _lon1 = lon;
 
 
   85      real lat, lon, S12, t;
 
   86      _earth.GenDirect(_lat1, _lon1, azi, 
false, s, _mask,
 
   87                       lat, lon, t, t, t, t, t, S12);
 
   91        _crossings += transitdirect(_lon1, lon);
 
   93      _lat1 = lat; _lon1 = lon;
 
 
  100                                           real& perimeter, real& area)
 const 
  110      perimeter = _perimetersum();
 
  113    _earth.GenInverse(_lat1, _lon1, _lat0, _lon0, _mask,
 
  114                      s12, t, t, t, t, t, S12);
 
  115    perimeter = _perimetersum(s12);
 
  118    int crossings = _crossings + transit(_lon1, _lon0);
 
  119    AreaReduce(tempsum, crossings, reverse, sign);
 
  120    area = 
real(0) + tempsum();
 
 
  126                                             bool reverse, 
bool sign,
 
  127                                             real& perimeter, real& area)
 const 
  135    perimeter = _perimetersum();
 
  136    real tempsum = _polyline ? 0 : _areasum();
 
  137    int crossings = _crossings;
 
  138    unsigned num = _num + 1;
 
  139    for (
int i = 0; i < (_polyline ? 1 : 2); ++i) {
 
  141      _earth.GenInverse(i == 0 ? _lat1 : lat, i == 0 ? _lon1 : lon,
 
  142                        i != 0 ? _lat0 : lat, i != 0 ? _lon0 : lon,
 
  143                        _mask, s12, t, t, t, t, t, S12);
 
  147        crossings += transit(i == 0 ? _lon1 : lon,
 
  148                             i != 0 ? _lon0 : lon);
 
  155    AreaReduce(tempsum, crossings, reverse, sign);
 
  156    area = 
real(0) + tempsum;
 
 
  162                                            bool reverse, 
bool sign,
 
  163                                            real& perimeter, real& area)
 const 
  171    unsigned num = _num + 1;
 
  172    perimeter = _perimetersum() + s;
 
  176    real tempsum =  _areasum();
 
  177    int crossings = _crossings;
 
  179      real lat, lon, s12, S12, t;
 
  180      _earth.GenDirect(_lat1, _lon1, azi, 
false, s, _mask,
 
  181                       lat, lon, t, t, t, t, t, S12);
 
  183      crossings += transitdirect(_lon1, lon);
 
  184      _earth.GenInverse(lat, lon, _lat0, _lon0, _mask,
 
  185                        s12, t, t, t, t, t, S12);
 
  188      crossings += transit(lon, _lon0);
 
  191    AreaReduce(tempsum, crossings, reverse, sign);
 
  192    area = 
real(0) + tempsum;