Isis 3 Programmer Reference
ProcessPolygons.h
1 #ifndef ProcessPolygons_h
2 #define ProcessPolygons_h
3 
4 #include <geos/geom/Coordinate.h>
5 #include <geos/geom/MultiPolygon.h>
6 #include <geos/geom/Polygon.h>
7 
8 #include "Brick.h"
9 #include "FileName.h"
10 #include "Process.h"
11 #include "ProjectionFactory.h"
12 
13 namespace Isis {
14 
42  class ProcessPolygons : public Isis::Process {
43 
44  public:
46 
47  void SetStatCubes(const QString &parameter, const int nsamps,
48  const int nlines, int nbands = 1);
49 
50  void SetStatCubes(const QString &avgFileName, const QString
51  &countFileName, Isis::CubeAttributeOutput &atts,
52  const int nsamps, const int nlines, int nbands = 1);
53  void SetIntersectAlgorithm(const bool useCenter);
54 
55  Isis::Cube *AppendOutputCube(const QString &avgFileName,
56  const QString &countFileName = "");
57 
58  void Rasterize(std::vector<double> &samples,
59  std::vector<double> &lines,
60  std::vector<double> &values);
61 
62  void Rasterize(std::vector<double> &samples,
63  std::vector<double> &lines,
64  int &band, double &value);
65 
66  void EndProcess();
67  void Finalize();
68 
69  private:
70  void FillPolygon(int Flag);
71  void GetPolygonCoords();
72 
73  bool m_useCenter;
74  std::vector<double> m_sampleVertices, m_lineVertices, m_dns;
75  int m_band;
76  Brick *m_average;
77  Brick *m_count;
78  geos::geom::Polygon *m_imagePoly;
79 
80  };
81 
82 };
83 
84 #endif
void SetIntersectAlgorithm(const bool useCenter)
Sets the algorithm for how output pixels are rasterized.
void Finalize()
Cleans up by closing cubes and freeing memory for owned cubes.
void FillPolygon(int Flag)
This method does the actuall reading and writing to the cube file.
void Rasterize(std::vector< double > &samples, std::vector< double > &lines, std::vector< double > &values)
Buffer for containing a three dimensional section of an image.
Definition: Brick.h:61
Isis::Cube * AppendOutputCube(const QString &avgFileName, const QString &countFileName="")
This gives the option to append to the cube.
void SetStatCubes(const QString &parameter, const int nsamps, const int nlines, int nbands=1)
Manipulate and parse attributes of output cube filenames.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Base class for all cube processing derivatives.
Definition: Process.h:158
IO Handler for Isis Cubes.
Definition: Cube.h:170