Isis 3 Programmer Reference
ProcessPolygons.h
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.
IO Handler for Isis Cubes.
Definition Cube.h:168
Base class for all cube processing derivatives.
Definition Process.h:143
void SetIntersectAlgorithm(const bool useCenter)
Sets the algorithm for how output pixels are rasterized.
void FillPolygon(int Flag)
This method does the actuall reading and writing to the cube file.
Isis::Cube * AppendOutputCube(const QString &avgFileName, const QString &countFileName="")
This gives the option to append to the cube.
void Rasterize(std::vector< double > &samples, std::vector< double > &lines, std::vector< double > &values)
void SetStatCubes(const QString &parameter, const int nsamps, const int nlines, int nbands=1)
void Finalize()
Cleans up by closing cubes and freeing memory for owned cubes.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16