on the eclipse issue.

- leave them in separate projects.
- create a project just for your code...
- in the build path options for your project add the two projects (jts 
and jump)
- make also changes to the run option:

please have a look here:
http://openjump.org/wiki/show/Documentation

scroll down to the developer section (especially to "how to use and make 
own plugins"))
most of the stuff should be explained there (i.e. the use of a 
properties file, which I would recommend)

write again if you have problems.. so we do not loose time with that:

stefan

Sunburned Surveyor wrote:
> Chris,
> 
> It looks like you have been busy.
> 
> I will print your e-mail and review it tonight after work. Hopefully I
> can respond with comments tomorrow.
> 
> Landon
> 
> On Mon, May 5, 2008 at 12:30 PM, Christopher <[EMAIL PROTECTED]> wrote:
>> I spent most of last week continuing my reading about
>> the technical aspects of meshes, then spent the latter
>> part of the week delving into the OpenJUMP/JTS code
>> base to figure out how to best integrate TIN
>> functionality.
>>
>> I have things pretty much squared away in my mind
>> about where I'm going with the TIN module and how I'm
>> going to get there, but now that I'm beginning to
>> start the coding, I have begun to bang my head against
>> the eclipse IDE. I've never used eclipse before, and
>> I'm finding it impossible to do things that should be
>> simple like unite the jts cvs tree and the jump-pilot
>> svn tree into a project that I can build, run, and
>> modify without breaking dependencies left and right. I
>> have everything checked out and in the workspace, but
>> can't put it all into one project. And the eclipse
>> tutorials aren't helping one bit. I'm close to just
>> using a text editor, but in the long run, it would
>> make things much easier to use a good IDE and if I can
>> get the dependency hell figured out, eclipse would
>> make a good IDE. I have a message into
>> SunburnedSurveyer to see if we can meet this week and
>> do a quick in person eclipse orientation.
>>
>> So, instead of java interfaces and class stubs, I'll
>> lay out in longhand the specifics I have planned.
>>
>>
>>
>> tin Package:
>>
>> TriangulatedIrregularNetwork extends MultiPolygon (I'm
>> debating whether or not to directly inherit from
>> MultiPolygon or to add more interfaces to create a
>> MultiPolygon->Surface->PolygonalSurface->TIN hierarchy
>> that is closer to the Simple Features spec)
>>
>> In order for the TIN code to integrate seamlessly with
>> OpenJUMP, the interface to the in-memory
>> representation of the TIN should be as compatible as
>> possible with the JTS. By making the TIN a
>> MultiPolygon with the added restrictions that all
>> Polygons are non-overlapping, connected triangles, all
>> the code that works with GeometryCollections can be
>> made to easily work with TINs. Internally, the TIN
>> surface will be represented by a triangle-table which
>> is a simplified version of a quad-edge data structure.
>> Each record in the table represents a triangle and
>> contains the three vertex points and three table keys
>> that point to the bordering triangles within the
>> triangle table. The vertexes will be stored as raw
>> doubles and the lines inferred. When the class is
>> queried for a triangle or point, the returned geometry
>> object will be created on the fly from the internal
>> data structure. If this proves too slow, then it might
>> be worth the space tradeoff to store the vertexes as
>> Point Objects. This data structure is compact, fast
>> and can accomplish anything we would want to do with a
>> TIN.
>>
>> In addition to the inherited GeometryCollection
>> methods and the methods specified in the Simple
>> Features spec for Surfaces and PolyhedralSurfaces, the
>> TIN class should also have TIN specific methods like:
>> * extractContourBands: given a height increment and
>> baseline (default = 0), return a MultiLineString
>> containing the contour bands separated by the given
>> height increment.
>> * subset: given an envelope or even a linear ring,
>> return a TIN that contains all the triangles of the
>> current TIN that lie within the given boundary.
>>
>> I'm still not 100% clear on OpenJUMP's rendering
>> pipeline, but it looks like I will implement a new
>> instance of
>> com.vividsolutions.jump.workbench.ui.renderer.Renderer
>> that will work with TINs such that elevation color
>> bands and hillshades can be implemented by
>> coloring/shading each triangle on the fly. If this
>> winds up being too slow, I might have to add
>> pre-computed normals to the TIN's triangle-table.
>>
>>
>>
>> TinFactory
>> For efficiency sake, the TIN should be immutable, thus
>> a Factory will be needed to create a TIN fully formed.
>> This Factory would be analogous to the GeometryFactory
>> class. Various methods would take input lines and
>> points and output a fully constructed instance of a
>> TriangulatedIrregularNetwork. The first factory I'll
>> work on will take a MultiPoint set and use Chew's
>> algorithm found in
>> org.openjump.core.graph.delauneySimplexInsert. This
>> algorithm isn't the fastest, and doesn't deal with
>> breaklines, but it is already in the OpenJUMP code
>> base and will help to get the TIN pipeline working
>> faster. The next factory to be coded will take a
>> MultiPoint collection and a MultiLineString collection
>> and will use a constrained delaunay triangulation to
>> create the TIN. We may want to do a conforming
>> delaunay triangulation instead and add steiner points
>> on the breaklines in order to not have huge triangles
>> next to the breaklines. Steiner points are also the
>> reason why the TIN class should contain the copy of
>> it's breaklines, because the breaklines in the TIN
>> might be different than the breaklines that were
>> initially given to the factory (the TIN's breaklines
>> would have more points). Later on down the road, I
>> would also like to make a TinFactory that takes in a
>> MultiLineString of breaklines and a stream of Points,
>> then builds up the TIN until the stream closes. This
>> will be useful when we move beyond OpenJUMP's in
>> memory representation and embrace larger TINs.
>>
>>
>>
>> tin.io Package
>>
>> This package will contain classes that can turn
>> various types of input files into MultiPoint / point
>> streams and MultiLineString geometry to be input into
>> a TinFactory. There will also be classes that can
>> export a TIN to a file and then be read it back into a
>> TIN class. At first only Well Known Text input and
>> output will be implemented. Eventually various DEM
>> files will be supported for input and various 3D
>> formats supported for input and output (i.e. W3's
>> X3D).
>>
>>
>>
>>
>> tin.viewshed Package
>>
>> All the papers I've read about viewsheds use a
>> separate data structure for the viewshed that is built
>> from the TIN. This data structure is then queried. The
>> query could be a point or line with the return value
>> being a MultiPolygon containing regions that can be
>> seen from the input feature. The query could also be
>> two features with the return value being a boolean
>> indicating whether or not the features are visible
>> from each other. The downside to viewsheds is that
>> they have a big memory footprint: the most versatile
>> data structure has a table for each point that
>> contains a boolean value for every other point in the
>> TIN indicating if it is visible or not. Because of
>> this, viewsheds shouldn't be integrated into the TIN
>> class and should only be used when requested.
>>
>>
>>
>>
>> tin.watershed Package
>>
>> Much like the viewshed package, separate data
>> structures that are built using the TIN will be
>> needed.
>>
>>
>>
>>
>> tin.multitriangulation Package
>>
>> The classes in this package will implement a
>> multi-resolution triangulation model. The MT data
>> structure can return a TIN class with a specified
>> level of detail. The LOD can be constant over the
>> whole surface, or can be higher at specified locations
>> and coarser at others. This won't be of much use if
>> the TIN can fit in memory, but once the TIN gets
>> bigger, a multi-resolution data structure can use a
>> file or database backing and return a TIN in a
>> resolution that will fit in memory and cover the
>> points of interest at the required detail. This might
>> wind up being implemented solely within PostGIS/WMS,
>> so that OpenJUMP can simply issue a WMS query and
>> receive a TIN object as a reply.
>>
>>
>>
>>
>> Again, sorry for not coming bearing code today. I
>> haven't been slacking though; in addition to reading
>> more about about meshes and TINs than I ever imagined
>> existed and trying to wrap my head around the entire
>> OpenJUMP/JTS code base, the code structure laid out
>> above is the third or fourth revision I've come up
>> with. I think this layout will be the best balance
>> between OpenJUMP integration and ability to be used by
>> third parties. Previous designs had put more emphasis
>> on the TIN library being independent from OpenJUMP,
>> but those eventually broke down into a collection of
>> bad hacks when I tried to figure out how to integrate
>> it into OpenJUMP. I have since decided that OpenJUMP
>> will the the primary target and third party use will
>> be kept in the back of my mind. I'll try not to make
>> life harder than it needs to be for third party
>> developers, but when needs conflict, I'm siding with
>> the OpenJUMP way.
>>
>> Comments and suggestions appreciated,
>>
>> --Christopher
>>
>> PS I'm posting the meat of this message on the wiki.
>>
>>
>>      
>> ____________________________________________________________________________________
>> Be a better friend, newshound, and
>> know-it-all with Yahoo! Mobile.  Try it now.  
>> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
>> Don't miss this year's exciting event. There's still time to save $100.
>> Use priority code J8TL2D2.
>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
> Don't miss this year's exciting event. There's still time to save $100. 
> Use priority code J8TL2D2. 
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to