1
0
Fork 0

[terrafit] performance increased 2%

This commit is contained in:
Scott Giese 2019-04-22 20:29:29 -05:00
parent 93440e4acd
commit 6a00e62e08
2 changed files with 16 additions and 8 deletions

View file

@ -24,7 +24,7 @@ void TrackedTriangle::update(Subdivision& s)
GreedySubdivision::GreedySubdivision(Map *map) GreedySubdivision::GreedySubdivision(Map *map)
{ {
H = map; H = map;
heap = new Heap(16384); heap = new Heap(131072);
int w = H->width; int w = H->width;
int h = H->height; int h = H->height;

View file

@ -77,8 +77,10 @@ public:
explicit ArrayMap(TGArray& array) explicit ArrayMap(TGArray& array)
: array(array) : array(array)
{ {
depth = 32;
width = array.get_cols(); width = array.get_cols();
height = array.get_rows(); height = array.get_rows();
min = 30000; min = 30000;
max = -30000; max = -30000;
for (int i = 0; i < width; i++) { for (int i = 0; i < width; i++) {
@ -90,7 +92,6 @@ public:
max = v; max = v;
} }
} }
depth = 32;
} }
virtual ~ArrayMap() {} virtual ~ArrayMap() {}
@ -190,14 +191,21 @@ void fit_file(const SGPath& path)
gzprintf(fp, "%d\n", mesh.pointCount()); gzprintf(fp, "%d\n", mesh.pointCount());
for (int x = 0; x < DEM.width; x++) { double origin_x = inarray.get_originx();
for (int y = 0; y < DEM.height; y++) { double origin_y = inarray.get_originy();
double col_step = inarray.get_col_step();
double row_step = inarray.get_row_step();
for (int x = 0; x < DEM.width; ++x) {
double vx = (origin_x + x * col_step) / 3600.0;
for (int y = 0; y < DEM.height; ++y) {
if (mesh.is_used(x, y) != DATA_POINT_USED) if (mesh.is_used(x, y) != DATA_POINT_USED)
continue; continue;
double vx, vy, vz;
vx = (inarray.get_originx() + x * inarray.get_col_step()) / 3600.0; double vy = (origin_y + y * row_step) / 3600.0;
vy = (inarray.get_originy() + y * inarray.get_row_step()) / 3600.0; double vz = DEM.eval(x, y);
vz = DEM.eval(x, y);
gzprintf(fp, "%+03.8f %+02.8f %0.2f\n", vx, vy, vz); gzprintf(fp, "%+03.8f %+02.8f %0.2f\n", vx, vy, vz);
} }
} }