Skip to content

Commit

Permalink
Write up strategy in UpdateNotes
Browse files Browse the repository at this point in the history
  • Loading branch information
dtarb committed May 28, 2018
1 parent 2c4b93e commit 4a81843
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions UpdateNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
5/27/18 Decided to tackle the issue in https://github.com/dtarb/TauDEM/issues/154#issuecomment-392370212 that while a warning on a PC is an error for some and seems to be a structural problem best addressed.

Web search for "invalid use of incomplete type" leads to https://stackoverflow.com/questions/20013901/im-getting-an-error-invalid-use-of-incomplete-type-class-map which explains forward declaration concepts.

In TauDEM the cause seems to be tiffio.cpp includes tiffio.h
tiffio.h includes commonlib.h
commonlib.h includes linearpart.h
linearpart.h includes partition.h
partition.h has a function savedxdyc that uses a reference to tiffIO, but because the #include to commonlib.h is in tiffIO.h before tiffIO class is defined there is the invalid use of type error/warning.

Strategy for solution.
Rather than linearpart.h be included as part of commonlib.h, include linearpart.h independently and after tiffio.h. Order includes commonlib.h, tiffio.h, linearpart.h. That way tiffio is defined when linearpart.h is parsed. However this requires that commonlib.h not include linearpart.h. The only function in commonlib that uses linearpart is pointsToMe. PointsToMe is only used in DropAnalysis and streamnet, so decided to copy code out of commonlib and put at the top of each of these functions.

11/10/17

Identified a problem with flow direction conditioning not working due to no data values not being robustly handled.
Expand Down

0 comments on commit 4a81843

Please sign in to comment.