Changes between Version 3 and Version 4 of MindSeer_Package_Guide

09/26/06 14:02:48 (12 years ago)



  • MindSeer_Package_Guide

    v3 v4  
    1717The core comprises the central classes for ensuring that MindSeer works.  These include most communication links, the client UI, the Viewport, MindSeer specific Data Set classes (the generic classes are in the vault package) and the security protocol. 
    19 === client === 
     19=== core .client === 
    2020This includes the Client Manager (which manages communication and acts as a central hub), the callback mechanism, and the client UI (the menus and the base class for Layout Managers). 
    2626Concrete implementations of Layout Managers and helper files live here. 
    28 === display === 
     28=== core .display === 
    2929These classes extract user displayable names for objects in trees and lists. 
    31 === files === 
     31=== core .files === 
    3232Files contain the MindSeer specific data set details.  These refer to the Data Set as a Workspace and include details on creating a tree for the data set. 
    34 === security === 
     34=== core .security === 
    3535The security files contain the details on establishing and enforcing permissions for users and groups.  This delves heavily into the Java security model.  Most of these are package private for security purposes. 
    37 === server === 
     37=== core .server === 
    3838These classes include details on communication with the client, launching the server itself and such important classes as the SessionImpl and Viewport. 
    4949This packages is probably a bit too generic for its own good as it became complex enough to make incorporating into external programs difficult, but is probably managable if the Controllers are moved into a different package. 
     51== helper == 
     52These are supposed to be classes that ease the problem of developing plugins.  Currently only Helper and LongTask are useful and Helper has '''many''' unimplemented methods. 
     54== icons == 
     55These are all sorts of helpful icons (they implement Icon) for displaying things in a Swing UI.  They are compiled into the client.  Many of these would probably be useful in other programs. 
     57==  image == 
     58This holds the details for decoding and encoding images into MindSeer and creating Data objects for them.   
     60''This is a very good place to look for examples on implementing Encoders, Decoders and Data objects''. 
     62== map == 
     63This holds the details for decoding and encoding maps into MindSeer and creating Data objects for them.  Maps have locations and attributes. 
     65== model ==   
     66This includes all of the details for loading, saving and generating data for 3D surfaces.  It also includes some helper classes for a 3D scene and the Surface Data Model handles alot of Java3D details.  Objects need to implement Surface3DView to be displayable in a Surface Data Model. 
     68== plugin.plaintext == 
     69Peter developed a plugin for text files in order to learn the system. 
     71== remoteutil == 
     72In here are contained almost all of the information for synchronizing client and server by using observers. 
     74== shared == 
     75This package exists to eliminate circular dependencies.  It contains a single interface that encapsulates details on units and transforms.  The feature that this exposes (changing units and converting objects between coordinate systems on the fly) was never fully implemented. 
     77== shwing == 
     78These are mostly wrapper classes for swing objects and data models to create a transparent client/server system. 
     80=== shwing.event === 
     81These are the GUI events used by shwing classes. 
     83=== shwing.swing === 
     84These are custom swing objects that are used by shwing classes to display themselves in swing. 
     86== util == 
     87Util contains an eclectic collection of helper classes, and you will need to look at the javadoc.  Of note in here are the observerables package and the RemoteImage* classes for shipping images from the server to the client. 
     89=== util.files === 
     90These are classes to help with files, most deal with the custom file chooser that can handle client / server. 
     92=== util.observables === 
     93This is a '''very''' important set of classes for collections that implement the [ observer pattern] so that changes may be watched.  These classes are central to semi transparent client-server. 
     95Use ObserverableCollections to create observable collections. 
     97== view == 
     98These are a set of simple viewports that don't deserve their own package.  They include the Image Viewport and the Map Viewport. 
     100== view3D == 
     101This package has the Model 3D Viewport as well as all of the Data Views that are supported by the Model 3D Viewport.  It also contains Viewport Controllers and Peter's code. 
     103== viewvolume == 
     104This package has the Volume Viewport as well as all of the Data Views that are supported by theVolume Viewport.  It also contains Viewport Controllers and helper classes. 
     106== volume == 
     107This contains the Data objects (Volume Data), file types, encoders and decoders as well as several helper classes. 
     109== volumesurface == 
     110These classes deal with converting volumes to surfaces (right now just isosurface extraction). 
    51112= edu.washington.biostr.sig.vault =