Skip to content

Commit 8dcc1de

Browse files
committed
Fixed bug with right and bottom edge image pyramid tiles not displaying
1 parent d722be4 commit 8dcc1de

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

source/FAST/Visualization/ImagePyramidRenderer/ImagePyramidRenderer.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,25 +321,31 @@ ImagePyramidRenderer::draw(Matrix4f perspectiveMatrix, Matrix4f viewingMatrix, f
321321
// Only process visible patches
322322
// Fully contained and partly
323323
if(!(
324+
// Completely inside
324325
(offset_x <= tile_offset_x * mCurrentTileScale &&
325326
offset_x + width > tile_offset_x * mCurrentTileScale + tile_width * mCurrentTileScale)
326327
||
328+
// Partially inside on left side
327329
(offset_x > tile_offset_x * mCurrentTileScale &&
328330
offset_x < (tile_offset_x + tile_width) * mCurrentTileScale)
329331
||
332+
// Partially inside on right side
330333
(offset_x + width > tile_offset_x * mCurrentTileScale &&
331-
offset_x + width < (tile_offset_x + tile_width) * mCurrentTileScale)
334+
offset_x + width <= (tile_offset_x + tile_width) * mCurrentTileScale)
332335
))
333336
continue;
334337
if(!(
338+
// Completely inside
335339
(offset_y <= tile_offset_y * mCurrentTileScale &&
336340
offset_y + height > tile_offset_y * mCurrentTileScale + tile_height * mCurrentTileScale)
337341
||
342+
// Partially inside top
338343
(offset_y > tile_offset_y * mCurrentTileScale &&
339344
offset_y < (tile_offset_y + tile_height) * mCurrentTileScale)
340345
||
346+
// Partially inside bottom
341347
(offset_y + height > tile_offset_y * mCurrentTileScale &&
342-
offset_y + height < (tile_offset_y + tile_height) * mCurrentTileScale)
348+
offset_y + height <= (tile_offset_y + tile_height) * mCurrentTileScale)
343349
))
344350
continue;
345351

source/FAST/Visualization/SegmentationRenderer/SegmentationRenderer.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,25 +363,31 @@ void SegmentationRenderer::drawPyramid(std::shared_ptr<SpatialDataObject> dataTo
363363
// Only process visible patches
364364
// Fully contained and partly
365365
if(!(
366+
// Completely inside
366367
(offset_x <= tile_offset_x * mCurrentTileScale &&
367368
offset_x + width > tile_offset_x * mCurrentTileScale + tile_width * mCurrentTileScale)
368369
||
370+
// Partially inside on left side
369371
(offset_x > tile_offset_x * mCurrentTileScale &&
370372
offset_x < (tile_offset_x + tile_width) * mCurrentTileScale)
371373
||
374+
// Partially inside on right side
372375
(offset_x + width > tile_offset_x * mCurrentTileScale &&
373-
offset_x + width < (tile_offset_x + tile_width) * mCurrentTileScale)
376+
offset_x + width <= (tile_offset_x + tile_width) * mCurrentTileScale)
374377
))
375378
continue;
376379
if(!(
380+
// Completely inside
377381
(offset_y <= tile_offset_y * mCurrentTileScale &&
378382
offset_y + height > tile_offset_y * mCurrentTileScale + tile_height * mCurrentTileScale)
379383
||
384+
// Partially inside top
380385
(offset_y > tile_offset_y * mCurrentTileScale &&
381386
offset_y < (tile_offset_y + tile_height) * mCurrentTileScale)
382387
||
388+
// Partially inside bottom
383389
(offset_y + height > tile_offset_y * mCurrentTileScale &&
384-
offset_y + height < (tile_offset_y + tile_height) * mCurrentTileScale)
390+
offset_y + height <= (tile_offset_y + tile_height) * mCurrentTileScale)
385391
))
386392
continue;
387393

0 commit comments

Comments
 (0)