I've been looking through this thread and wish to give a huge bravo to all involved.
This has some incredible possibilities and I was thinking of some possible improvements:
First thought:
Has there been any thought to using a database for storage of the TIN utilizing something like the work that nullptr has done here
http://www.theswamp.org/index.php?topic=28286.0?
If a database was implemented could the TIN creation be faster and/or larger data sets?
Second thought:
(This may also be tied to the first)
What if the TIN was to utilize a simple attributed block for definition. The block could define the database file location, the display of the TIN (i.e triangles on/off, contours on/off, boundary on/off, contour increments, etc...)
I'm thinking the block could be placed into the drawing and then routines run against the block.
A user could then have a set of routines for, say, adding points, adding breaklines and updating the display.
Third thought:
If the TIN were to be defined in a block then I see two useful routines that could be created...
(GetElevation TIN P)
TIN = Handle of the TIN
P = 2D Point
Return = Elevation (or nil)
and
(GetSection TIN P1 P2)
TIN = Handle of TIN
P1 = 2D Start Point
P2 = 2D End Point
Return = List of 3D points starting at P1 and ending at P2 including all intersections of edges.