File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
 |
Isis 3 Programmer Reference
|
1 #ifndef ProcessRubberSheet_h
2 #define ProcessRubberSheet_h
11 #include "Transform.h"
12 #include "Interpolator.h"
14 #include "TileManager.h"
120 virtual void BandChange(
void (*funct)(
const int band));
122 virtual void ForceTile(
double Samp,
double Line) {
135 virtual void SetTiling(
long long start,
long long end) {
136 p_startQuadSize = start;
141 int samples,
int lines,
142 int sampleIncrement,
int lineIncrement);
162 void ProcessQuad(std::vector<Quad *> &quadTree,
Transform &trans,
163 std::vector< std::vector<double> > &lineMap,
164 std::vector< std::vector<double> > &sampMap);
166 void SplitQuad(std::vector<Quad *> &quadTree);
167 void SlowQuad(std::vector<Quad *> &quadTree,
Transform &trans,
168 std::vector< std::vector<double> > &lineMap,
169 std::vector< std::vector<double> > &sampMap);
170 double Det4x4(
double m[4][4]);
171 double Det3x3(
double m[3][3]);
178 bool useLastTileMap);
181 int eline,
int increment);
183 void (*p_bandChangeFunct)(
const int band);
185 void transformPatch (
double startingSample,
double endingSample,
186 double startingLine,
double endingLine,
189 void splitPatch (
double startingSample,
double endingSample,
190 double startingLine,
double endingLine,
193 void transformPatch (
double startingSample,
double endingSample,
194 double startingLine,
double endingLine);
196 void splitPatch (
double startingSample,
double endingSample,
197 double startingLine,
double endingLine);
200 std::vector< std::vector<double> > p_sampMap;
201 std::vector< std::vector<double> > p_lineMap;
206 long long p_startQuadSize;
207 long long p_endQuadSize;
209 int m_patchStartSample;
210 int m_patchStartLine;
213 int m_patchSampleIncrement;
214 int m_patchLineIncrement;
Buffer for containing a two dimensional section of an image.
ProcessRubberSheet(int startSize=128, int endSize=8)
Constructs a ProcessRubberSheet class with the default tile size range.
Base class for all cube processing derivatives.
virtual ~ProcessRubberSheet()
Destroys the RubberSheet object.
virtual void StartProcess(Transform &trans, Interpolator &interp)
Applies a Transform and an Interpolator to every pixel in the output cube.
Buffer manager, for moving through a cube in tiles.
virtual void StartProcess(void funct())
In the base class, this method will invoked a user-specified function exactly one time.
Buffer for containing a three dimensional section of an image.
virtual void setPatchParameters(int startSample, int startLine, int samples, int lines, int sampleIncrement, int lineIncrement)
This method allows the programmer to override the default values for patch parameters used in the pat...
bool TestLine(Transform &trans, int ssamp, int esamp, int sline, int eline, int increment)
This function walks a line (or rectangle) and tests a point every increment pixels.
virtual void BandChange(void(*funct)(const int band))
Registers a function to be called when the current output cube band number changes.
virtual void processPatchTransform(Transform &trans, Interpolator &interp)
Applies a Transform and an Interpolator to small patches.
Derivative of Process, designed for geometric transformations.
virtual void SetTiling(long long start, long long end)
This sets the start and end tile sizes for the rubber sheet; numbers are inclusive and must be powers...
This is free and unencumbered software released into the public domain.