Changes between Version 2 and Version 3 of MindSeer_ViewPort


Ignore:
Timestamp:
09/25/06 14:38:12 (11 years ago)
Author:
ebmoore
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MindSeer_ViewPort

    v2 v3  
    11These descriptions are largely taken from [wiki:LincolnSummary Peter Lincoln's summary]. 
    22 
    3 === Abstract Class Data === 
    4 The Data class is designed to store a single set of data; for example, an instance of the VolumeData class allocates a large array for storing volumetric data.  Data can be mutable or static; however, implementers must account for the fact that even if the data is used in multiple viewers or used by multiple users at a given instant, only one instance of the Data object exists for a given group of files.  Thus the data can be shared among multiple views.  This is done to reduce loading times and memory impact for repeated load requests. 
     3=== Abstract Class ViewPort<V extends DataView> === 
     4The ViewPort class is designed to provide a visual representation of a collection of data sets.  It creates and uses a DataModel, described below, to manage the storage of each of the data views present in the viewer.  In general, this class should only handle ViewPort-related events and rendering procedures. 
    55 
    6 === Interface DataView === 
    7 Implementations of the DataView interface handle the multi-user situation.  While only one instance of the Data object may exist for a given file group, each of the users’ viewers uses its own instance of the DataView.  DataViews are designed to provide a layer between the source data and the viewer.  They also handle changed parameter events and store any necessary rendering attributes.  The minimum implementation of a new visualization method of an existing data type will likely implement this interface. 
     6=== Interface DataModel<V extends DataView> === 
     7Implementations of the DataModel interface manage the storage of DataView instances.  It should also make appropriate calls upon the DataViews to tell them when they are added or removed from the model to ensure that proper initialization and cleanup occurs within the DataView.  The may assist the ViewPort in collecting some rendering information as it may be a more efficient.  In general, there is a one-to-one link between a ViewPort instance and a DataModel instance; DataModels are not shared among ViewPorts. 
    88 
    9 === Interface DataController === 
    10 Implementations of the DataController interface provide a user interface for manipulating the settings for a particular DataView instance.  These controls will appear on the Data tab.  GUI events are processed through the Listener interface’s method somethingHappened(Event) and, after processing, should be dispatched to the appropriate DataView.  Generally, controls for this type of controller should only manipulate the DataView instance.  If no such controls are to be presented to the user, then use an instance of NullController. 
     9=== Interface ViewPortController === 
     10Implementations of the ViewPortController interface provide a user interface for manipulating the settings for a particular ViewPort instance.  These controls will appear on the View tab.  GUI events are processed through the Listener interface’s method somethingHappened(Event) and, after processing, should be dispatched to the appropriate ViewPort.  Generally, controls for this type of controller should only manipulate the ViewPort instance.  If no such controls are to be presented, then no declaration of a class implementing ViewPortController is necessary. 
    1111