OK, so one afterthought was that if this can be done with isosurface, then it can be done with dots. In fact, that was very easy. We now have a GENERIC "geodesic surface" calculator as well. The file structure now looks like this:
+---jmol | | Jmol.properties | | ... | +---atomdata | | AtomData.java | | AtomDataServer.java (interface) | | AtomIndexIterator.java (interface) | | ... | +---geodesic | | EnvelopeCalculation.java | | Geodesic.java | | ... | +---jvxl | | +---api | | | MeshDataServer.java (interface) | | | VertexDataServer.java (interface) | | | | | +---calc | | | MarchingCubes.java | | | MarchingSquares.java | | | | | +---data | | | JvxlData.java | | | MeshData.java | | | VolumeData.java | | | | | +---readers | | | ApbsReader.java | | | AtomDataReader.java | | | CubeReader.java | | | IsoFxyReader.java | | | IsoMepReader.java | | | IsoMOReader.java | | | IsoPlaneReader.java | | | IsoShapeReader.java | | | IsoSolventReader.java | | | JvxlReader.java | | | Parameters.java | | | SurfaceGenerator.java | | | VolumeDataReader.java | | | VolumeFileReader.java | | | VoxelReader.java Thus, the static class Geodesic3D is gone from org.jmol.g3d. It was *of use* to Normix3D, but it was not itself a graphical rendering object really. Since it's used by Normix, Dots, and Isosurface, it goes in its own subdirectory as org.jmol.geodesic.Geodesic, along with the calculation engine for surface dots, EnvelopeCalculation. This is pulled out of Viewer because it, too, is not really a "viewer" function but instead a generic calculation. Interestingly, it uses an AtomIterator, but that was a relatively inefficient one; I've written a new WithinAtomSetIterator in frame that does this without ever needing references to Atom by the calling method. The plan is to make it so that with just these packages: org.jmol.adapter org.jmol.atomdata org.jmol.geodesic org.jmol.jvxl you can build a full-fledged surface generator. This has the bonus of being able to feed any triangle-consuming application, so there could be a VMRL or POVRAY connection, for example, using this set of methods. No need for the viewer or g3d packages at all! Bob Miguel wrote: >>The good news is that the entire surface creation functionality of Jmol >>is now isolated from the Viewer class. That of course means that if ever >>anyone wants to use this code in other contexts, it should be quite >>straightforward. >> >> > >Excellent. > >[snip] > > >>So, overall, it feels great that this is a well-defined separate entity >>now -- a real "package" -- a "product" of the Jmol Project that is >>basically independent of Jmol itself. I'm not aware of anything out >>there quite like it. >> >> > >Very good. > > >Miguel > > >------------------------------------------------------------------------- >This SF.net email is sponsored by DB2 Express >Download DB2 Express C - the FREE version of DB2 express and take >control of your XML. No limits. Just data. Click to get it now. >http://sourceforge.net/powerbar/db2/ >_______________________________________________ >Jmol-developers mailing list >[email protected] >https://lists.sourceforge.net/lists/listinfo/jmol-developers > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Jmol-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jmol-developers
