30 #ifndef GRALE_GRIDFUNCTION_H
32 #define GRALE_GRIDFUNCTION_H
34 #include "graleconfig.h"
47 int numX = 512,
int numY = 512,
bool abs =
true);
49 int numX,
int numY,
bool deleteValues =
true);
51 int numX = 512,
int numY = 512,
bool abs =
true,
bool fast =
true,
int resampleSize = 1);
54 const double *getValues()
const {
return m_pValues; }
55 int getWidth()
const {
return m_numX; }
56 int getHeight()
const {
return m_numY; }
60 double getValue(
int x,
int y)
const {
return m_pValues[x+y*m_numX]; }
73 PixelValue(
int x,
int y,
double value) { m_x = x; m_y = y; m_value = value; }
74 int getX()
const {
return m_x; }
75 int getY()
const {
return m_y; }
76 double getValue()
const {
return m_value; }
85 MinMaxValue() { m_set =
false; }
86 void process(
int x,
double value)
110 bool isSet()
const {
return m_set; }
111 int getMinX()
const {
return m_minX; }
112 int getMaxX()
const {
return m_maxX; }
113 double getMinValue()
const {
return m_minValue; }
114 double getMaxValue()
const {
return m_maxValue; }
118 double m_minValue, m_maxValue;
121 void drawTriangle(
const Triangle2DPlus<double> &triangle,
int *pPixelCount);
122 void drawIntTriangle(
const int *pX,
const int *pY,
const double *pZ,
int *pPixelCount);
123 void processLine(
int x1,
int y1,
double z1,
int x2,
int y2,
double z2, std::vector<PixelValue> &pixelValues);
127 double m_xStep, m_yStep;
136 int xpos = (int)((diff.getX()/m_xStep)+0.5);
137 int ypos = (int)((diff.getY()/m_yStep)+0.5);
144 #endif // GRALE_GRIDFUNCTION_H