36 #include "geos/geom/Coordinate.h"
37 #include "geos/geom/MultiPolygon.h"
38 #include "geos/geom/CoordinateSequence.h"
173 void Create(
Cube &cube,
int sinc = 1,
int linc = 1,
174 int ss = 1,
int sl = 1,
int ns = 0,
int nl = 0,
int band = 1,
175 bool increasePrecision =
false);
178 int ns = 0,
int nl = 0,
int band = 1);
186 p_emission = emission;
194 p_incidence = incidence;
217 p_subpixelAccuracy = div;
246 bool SetImage(
const double sample,
const double line);
248 geos::geom::Coordinate FindFirstPoint();
250 geos::geom::Coordinate FindNextPoint(geos::geom::Coordinate *currentPoint,
251 geos::geom::Coordinate lastPoint,
252 int recursionDepth = 0);
254 double DistanceSquared(
const geos::geom::Coordinate *p1,
const geos::geom::Coordinate *p2);
256 void MoveBackInsideImage(
double &sample,
double &line,
double sinc,
double linc);
257 bool InsideImage(
double sample,
double line);
259 void FixPolePoly(std::vector<geos::geom::Coordinate> *crossingPoints);
262 geos::geom::Coordinate FindBestPoint(geos::geom::Coordinate *currentPoint,
263 geos::geom::Coordinate newPoint,
264 geos::geom::Coordinate lastPoint);
265 geos::geom::Coordinate FixCornerSkip(geos::geom::Coordinate *currentPoint,
266 geos::geom::Coordinate newPoint);
268 void FindSubpixel(std::vector<geos::geom::Coordinate> & points);
270 void calcImageBorderCoordinates();
277 geos::geom::CoordinateSequence *p_pts;
279 geos::geom::MultiPolygon *p_polygons;
281 std::string p_polyStr;
285 geos::geom::Coordinate *m_leftCoord;
286 geos::geom::Coordinate *m_rightCoord;
287 geos::geom::Coordinate *m_topCoord;
288 geos::geom::Coordinate *m_botCoord;
302 int p_subpixelAccuracy;