Isis Developer Reference
ProcessPolygons.h
Go to the documentation of this file.
1#ifndef ProcessPolygons_h
2#define ProcessPolygons_h
8/* SPDX-License-Identifier: CC0-1.0 */
9#include <geos/geom/Coordinate.h>
10#include <geos/geom/MultiPolygon.h>
11#include <geos/geom/Polygon.h>
12
13#include "Brick.h"
14#include "FileName.h"
15#include "Process.h"
16#include "ProjectionFactory.h"
17
18namespace Isis {
19
48
49 public:
51
52 void SetStatCubes(const QString &parameter, const int nsamps,
53 const int nlines, int nbands = 1);
54
55 void SetStatCubes(const QString &avgFileName, const QString
56 &countFileName, Isis::CubeAttributeOutput &atts,
57 const int nsamps, const int nlines, int nbands = 1);
58 void SetIntersectAlgorithm(const bool useCenter);
59
60 Isis::Cube *AppendOutputCube(const QString &avgFileName,
61 const QString &countFileName = "");
62
63 void Rasterize(std::vector<double> &samples,
64 std::vector<double> &lines,
65 std::vector<double> &values);
66
67 void Rasterize(std::vector<double> &samples,
68 std::vector<double> &lines,
69 int &band, double &value);
70
71 void EndProcess();
72 void Finalize();
73
74 private:
75 void FillPolygon(int Flag);
76 void GetPolygonCoords();
77
78 bool m_useCenter;
79 std::vector<double> m_sampleVertices, m_lineVertices, m_dns;
80 int m_band;
81 Brick *m_average;
82 Brick *m_count;
83 geos::geom::Polygon *m_imagePoly;
84
85 };
86
87};
88
89#endif
Buffer for containing a three dimensional section of an image.
Definition Brick.h:45
Manipulate and parse attributes of output cube filenames.
Definition CubeAttribute.h:473
IO Handler for Isis Cubes.
Definition Cube.h:168
Base class for all cube processing derivatives.
Definition Process.h:143
Definition ProcessPolygons.h:47
void SetIntersectAlgorithm(const bool useCenter)
Sets the algorithm for how output pixels are rasterized.
Definition ProcessPolygons.cpp:379
ProcessPolygons()
Definition ProcessPolygons.cpp:27
Isis::Cube * AppendOutputCube(const QString &avgFileName, const QString &countFileName="")
This gives the option to append to the cube.
Definition ProcessPolygons.cpp:274
void EndProcess()
Definition ProcessPolygons.cpp:244
void Rasterize(std::vector< double > &samples, std::vector< double > &lines, std::vector< double > &values)
Definition ProcessPolygons.cpp:43
void SetStatCubes(const QString &parameter, const int nsamps, const int nlines, int nbands=1)
Definition ProcessPolygons.cpp:354
void Finalize()
Cleans up by closing cubes and freeing memory for owned cubes.
Definition ProcessPolygons.cpp:257
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16