22#include "geos/geom/Coordinate.h" 
   23#include "geos/geom/MultiPolygon.h" 
   24#include "geos/geom/CoordinateSequence.h" 
  161      void Create(
Cube &cube, 
int sinc = 1, 
int linc = 1,
 
  162          int ss = 1, 
int sl = 1, 
int ns = 0, 
int nl = 0, 
int band = 1,
 
  163          bool increasePrecision = 
false);
 
  165      void Create(std::vector<std::vector<double>> polyCoordinates);
 
  168                        int ns = 0, 
int nl = 0, 
int band = 1);
 
  176        p_emission = emission;
 
 
  184        p_incidence = incidence;
 
 
  207        p_subpixelAccuracy = div;
 
 
  234        return p_pts->getSize();
 
 
  242      bool SetImage(
const double sample, 
const double line);
 
  244      geos::geom::Coordinate FindFirstPoint();
 
  246      geos::geom::Coordinate FindNextPoint(geos::geom::Coordinate *currentPoint,
 
  247                                           geos::geom::Coordinate lastPoint,
 
  248                                           int recursionDepth = 0);
 
  250      double DistanceSquared(
const geos::geom::Coordinate *p1, 
const geos::geom::Coordinate *p2);
 
  252      void MoveBackInsideImage(
double &sample, 
double &line, 
double sinc, 
double linc);
 
  253      bool InsideImage(
double sample, 
double line);
 
  255      void FixPolePoly(std::vector<geos::geom::Coordinate> *crossingPoints);
 
  258      geos::geom::Coordinate FindBestPoint(geos::geom::Coordinate *currentPoint,
 
  259                                           geos::geom::Coordinate newPoint,
 
  260                                           geos::geom::Coordinate lastPoint);
 
  261      geos::geom::Coordinate FixCornerSkip(geos::geom::Coordinate *currentPoint,
 
  262                                           geos::geom::Coordinate newPoint);
 
  264      void FindSubpixel(std::vector<geos::geom::Coordinate> & points);
 
  266      void calcImageBorderCoordinates();
 
  273      geos::geom::CoordinateSequence *p_pts; 
 
  275      geos::geom::MultiPolygon *p_polygons;  
 
  277      std::string p_polyStr; 
 
  281      geos::geom::Coordinate *m_leftCoord; 
 
  282      geos::geom::Coordinate *m_rightCoord; 
 
  283      geos::geom::Coordinate *m_topCoord; 
 
  284      geos::geom::Coordinate *m_botCoord; 
 
  298      int p_subpixelAccuracy; 
 
 
Buffer for containing a three dimensional section of an image.
Definition Brick.h:45
 
IO Handler for Isis Cubes.
Definition Cube.h:168
 
Create cube polygons, read/write polygons to blobs.
Definition ImagePolygon.h:153
 
double validSampleDim()
Retuns the maximum valid sample width of the cube set with either initCube() or Create()
Definition ImagePolygon.cpp:553
 
void EllipsoidLimb(bool ellip)
If a limb is detected, use un ellipsoid shape model if true.
Definition ImagePolygon.h:193
 
void Create(Cube &cube, int sinc=1, int linc=1, int ss=1, int sl=1, int ns=0, int nl=0, int band=1, bool increasePrecision=false)
Create a Polygon from given cube.
Definition ImagePolygon.cpp:216
 
int getLinc() const
Return the line increment used the create this polygon.
Definition ImagePolygon.h:229
 
ImagePolygon()
Constructs a Polygon object, setting the polygon name.
Definition ImagePolygon.cpp:38
 
void Emission(double emission)
Set the maximum emission angle ( light refleted to camera )
Definition ImagePolygon.h:175
 
Camera * initCube(Cube &cube, int ss=1, int sl=1, int ns=0, int nl=0, int band=1)
Create a Polygon from given cube.
Definition ImagePolygon.cpp:120
 
geos::geom::MultiPolygon * Polys()
Return a geos Multipolygon.
Definition ImagePolygon.h:211
 
ImagePolygon(const ImagePolygon &other)
 
~ImagePolygon()
Destroys the Polygon object.
Definition ImagePolygon.cpp:85
 
std::string polyStr() const
Return a geos Multipolygon.
Definition ImagePolygon.h:216
 
double validLineDim()
Retuns the maximum valid line width of the cube set with either initCube() or Create()
Definition ImagePolygon.cpp:568
 
Blob toBlob() const
Serialize the ImagePolygon to a Blob.
Definition ImagePolygon.cpp:1351
 
int numVertices() const
Definition ImagePolygon.h:233
 
void SubpixelAccuracy(int div)
The subpixel accuracy to use.
Definition ImagePolygon.h:206
 
int getSinc() const
Return the sample increment used the create this polygon.
Definition ImagePolygon.h:224
 
void Incidence(double incidence)
Set the maximum incidence angle ( light contacting the planet )
Definition ImagePolygon.h:183
 
Universal Ground Map.
Definition UniversalGroundMap.h:69
 
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16