I just completed my first code review of the JTin SoC project that Chris Demars has been working on. I wanted to include the mailing list on my comments to Chris, as I know there are more experienced programmers listening that can offer Chris there own suggestions on his design.
I must say that Chris took an interesting approach to the design of JTin, and one that was a lot different from the approach I would have taken. However, I think Chris' design will be much quicker and more memory efficient. His professional programming background is evident in the work. I tend to get lazy when I program, creating objects for every little thing. JTin looks like it was written by a C programmer. All the data structures are concise and fairly low-level. Here are some of my questions and comments for Chris: - I like that the TinFace objects, braklines, and boundaries in ImmutableTin points to a common Coordinate array to eliminated duplicated Coordinate references. Did you think about using a CoordinateSequence instead of a Coordinate array? - Why did we choose STRtree and not QuadTree for the spatial index? I know very little about both classes, and STRtree may indeed be the better choice. Maybe Martin Davis will take a few minutes to educate me. - Is the int in the first element of the int[][] triTable argument for the ImmutableTin class constructor the identifier of the Tin Face, while the in in the second element is the ID of the vertex? - I'm not sure about storing the nieghbor TinFaces in the actual TinFace object. I almost wonder if having a separate class to manage TIN topology would be better. For example, how do you set references to a TinFace object's neighbors when creating the first TinFace in an ImmutableTin? I guess you could go back and set the neighbors for each TinFace after the TIN was constructed, but it looks like your only constructor for this class requires int arguments identifying the neighbors. You probably have good reason for this design, I just didn't pick up on it. - Let's get that JTF format documented in JTFLayout class into an external document, prefereably PDF or HTML. We can then introduce the rest of the FOSS GIS community to the format. This will encourage broad adoption of the format. Chris has done great work. I didn't go trough his code with a fine tooth comb, as there is quite a bit of material there, but I look forward to learning more about the library as I work with it. If others have a time to browse the JTin source I know that Chris and I would both appreciate it. Please feel free to respond to my questions and comments for Chris in this e-mail. Landon ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel