./README

* 
* Architecture independent README for IBM Visualization Data Explorer 
*      and IBM Visualization Data Explorer for Symmetric Multiprocessing (SMP) 
* 
* For architecture dependent information, see 'Platform-Specific 
* Considerations' in the on-line help, or see /usr/lpp/dx/README_"arch"  
* where arch is one of ibm6000, hp700, sun4, aviion, alphax,  
* solaris, or sgi. 
* 
* 
* 
  
  
The information contained in this file consists of hints for using the 
system, help with functions that may not be apparent, and last minute updates 
to the existing documentation.  It is advisable to review this file any time 
Data Explorer updates are applied. This README file is applicable to 
Data Explorer Version 3.1.4a. ***CHANGEME**** 
  
If you need assistance installing or using a purchased copy of Data Explorer, 
send email to [email protected], or call Data Explorer Support 
at 800-435-6813. 
  
======================================================================== 
  
CONTENTS 
  
    To go directly to an item, search for the item number beginning 
    at the left margin. 
  
     1. Installation Notes 
        A. The Configure Script 
        B. The DX Installation directory (DXROOT)  
        C. NetLS Licensing Problems  
     2. Getting Started  
        A. Tutorial 
        B. Sample Visual Programs and Scripts 
     3. Important Features not otherwise documented 
        A. Requirements on how Loops are used in Distributed Mode 
        B. Problems with F1 key and on-line help 
     4. Differences from version 3.1.2 of Data Explorer 
        A. New startup behavior 
        B. New Data Prompter 
        C. AutoAxes no longer scales the object  
        D. Images are now gamma corrected by default when written out 
        E. Get and Set modules replaced by Local and Global versions 
        F. Behavior of DXSHMEM has changed 
        G. startup behavior affects DXLink applications 
        H. Transmitters/Outputs, and Receivers/Inputs cannot share names  
        I. Changes to ReadImage in how images are stored internally  
        J. ReadImage stores images as delayed colors if possible by default  
     5. Differences from version 3.1.4 of Data Explorer 
        A. Streakline has an additional undocumented parameter 
        B. A new module, DXLOutputNamed, has been added 
        C. Fix in MapToPlane for handling of invalidity for regular data  
        D. Fix in Statistics for handling of invalidity  
        E. Fixes to ChangeGroupMember and ChangeGroupType 
        F. Fix to Morph when large filter specified 
        G. Fix for SelectorList interactor 
        H. Fix to allow dx.h to be used in C++ program 
        I. Fix for gamma correction in saved miff images 
        J. Fix for ReadImage on Solaris  
        K. "All" category has been moved  
        L. OpenGL and Solaris 
     6. User Interface Notes  
        A. Vectors can be float or integer vectors 
        B. Data-Driven Interactors 
        C. Misleading warning can appear when writing out PostScript images 
     7. Running Data Explorer 
        A. Specifying the Host Name for Remote Execution 
        B. Environment Variables in Script Mode for Remote Execution 
        C. Specifying Host Name for Distributed Execution 
        D. Distributed Execution when a Remote Host is Unavailable 
        E. Distributed Execution using Data Explorer SMP 
        F. Possible problem runing Data Explorer remotely 
     8. System Environment 
        A. Default Memory Size 
        B. Paging Space 
        C. Per Process Limits 
     9. Notes on the Hardware Rendering Option 
        A. Rendering shaded surfaces requires z-buffer capabilities 
        B. Fast mouse button transitions may go unnoticed 
        C. Arrow keys partially disabled during navigation 
        D. Button-down interaction disables visual program changes 
        E. Remote OpenGL 
    10. Import/Export 
        A. The External Data Format 
    11. Module Notes 
        A. Map Module 
        B. Grid Module 
        C. The Display module and the screen-saver 
        D. Slice Module limitation 
        E. Transformed Group Members 
        F. Print Module 
        G. Morph and Filter Modules 
        H. Error in Documentation for SuperviseWindow 
        I. Error in Documentation for ManageImageWindow 
        J. New parameter to Streakline, undocumented 
        K. New module, DXLOutputNamed, undocumented 
        L. Parameter option for CategoryStatistics, undocumented 
    12. X Colormap Interaction 
        A. 24 Bit Root Windows 
    13. Scripting Language 
    14. Hints 
        A. All of the Execute Options are Greyed Out 
        B. Faces/Loops/Edges   
    15. Notes on On-Line Help 
    16. Adding Modules 
        A. Building a Custom Executive 
        B. Outboard Modules 
        C. Modules written for Version 1 
        D. Asynchronous Modules 
        E. Error in documentation for starting sample modules 
    17. OSF/Motif Warning Messages 
  
======================================================================== 
  
  
1. Installation Notes 
  For a complete installation of Data Explorer, please use the 
installation instructions provided with the Data Explorer media. 
However, if you simply wish to install Data Explorer on a new host, 
then you need to do the following: 
  - duplicate (e.g. copy, NFS mount) the /usr/lpp/dx  directory on the new host 
  - use the Configure script to configure the new host 
  Note that you will need a license to run on the new host. If you 
have a floating license and the new host is on the same network as the 
license server, then the above procedure will work. However if you have 
a node-locked license, you will need to obtain a license for the new 
host.  
  Note that it is important that you be able to start Data Explorer 
simply by typing "dx". That is, you should not need to specify any 
path name to start Data Explorer. If you cannot start Data Explorer 
simply by typing "dx", the User Interface will not be able to start the executive portion of Data Explorer. 
  
A. The Configure Script 
  
The .../dx/bin/Configure script is run as follows, 
  
        Configure install    
  
and/or 
  
        Configure deinstall  
  
To see a list of options use the following, 
  
        Configure -help 
  
It installs/deinstalls (mostly) soft links  in standard places (i.e. 
/usr/local/bin, /usr/local/lib...) that point back to the DX 
installation tree.  Generally, Configure must be run on each 
workstation from which you expect to run Data Explorer.    
  
If you have problems with your installation, it may be because the file 
systems where the soft links are placed are NFS mounted and usually 
root is not allowed to write across the NFS mount.  Run Configure with 
the '-check' option to determine the links that are required on your system. 
  
  
B. The DX Installation Directory (DXROOT)  
  
Data Explorer is installed as a single directory tree that is referred 
to as the DX root directory.  As part of configuring Data Explorer, 
links are placed in the public filesystem that reference files within 
the DX root directory.  The default DX root directory is /usr/lpp/dx. 
If the root directory is moved after installation, Data Explorer should 
be reconfigured to use the new root directory with the following: 
  
        Configure -dxroot <new directory> 
  
In a networked environment, it is most convenient for users if all 
workstations have Data Explorer available through the same root 
directory.  This makes it easier to run the User Interface on one 
machine and the server on another.  However, if in this situation the 
two machines do not use the same root directory, the -dxroot option 
should be used when starting the remote server from within the User 
Interface. 
  
C. NetLS Licensing Problems  
1) If you receive the following error after receiving your permanent NetLS 
   licensing key: 
        Starting DX user interface 
        Data Explorer trial password file found 
        You are running an expired trial version of Data Explorer 
   - Verify that: 
      - The environment variables DXTRIALKEY and DXTRIALKEYFILE are not set. 
      - The file 'expiration' has been deleted from the dx install directory. 
2) If you receive the following error: 
	Starting DX user interface 
        IBM Visualization Data Explorer : No servers available for this 
        vendor (network license server/library) [1d020006] 
   - Verify that: 
      - the NetLS key been placed in the appropriate directory according 
        to the directions in the 'IBM Visualization Data Explorer Install- 
        ation and Configuration' document. 
      - the key generation report accurately reflects your DataExplorer 
        configuration.  Review the 'Product License Information' (key 
        generation report from KeyRegs) and verify that the information 
        it contains matches the output of /usr/lpp/dx/bin/NodeID. 
         - 'target' should equal the 'PREFERRED NetLS Target ID' 
         - 'version' should equal 'Version' 
         - 'license type' should equal 'License Usage' 
      - If there are inconsistencies in any of the above, a new key 
        that reflects the corrected information needs to be requested. 
    - For further diagnostic information, set the environment variable 
      DXTRACENETLS to 1.  This prints information about what type of license 
      DX is requesting and what type of licenses it finds.  For very detailed 
      diagnostic information at the socket/rpc level (useful for debugging 
      concurrent licenses) set the DXTRACENETLS variable to the value 2. 
3) If root is the only user who can run Data Explorer, and all other users 
   receive the following error: 
        IBM Visualization Data Explorer : License not found in database 
        (network license server/server) 
    - Ensure that /dev/lan0 and /dev/ls_targetid are writeable by everyone. 
  
2. Getting Started 
A. Tutorial 
   A tutorial is provided to help you get started using Data Explorer. 
The tutorial can be found in the Data Explorer Quick Start Guide. 
It can also be found on-line, either by  
typing 
   dx -tutor 
choosing the "Tutorial" option of the Help menu of any 
   Data Explorer window 
or from the "Tutorial" button of the Data Explorer startup window 
  
B. Sample Visual Programs and Scripts 
In the directory /usr/lpp/dx/samples/programs you will find a number 
of example visual programs which illustrate various aspects of Data Explorer. 
Each sample visual program has a comment associated with it which describes 
how to use the program. You can access the comment either from the Open 
File dialog (use the "Comments" button), or, once the Visual Program is 
opened, from the "Help on Visual Program" option in the Help menu. 
 
The samples are easily accessed from the "Samples" button of the Data 
Explorer startup window. 
  
There are a number of subdirectories in /usr/lpp/dx/samples/programs which 
contain subsets of the sample visual programs organized by topic. So, for 
example, in /usr/lpp/dx/samples/programs/2D_DATA, you will find a number of 
sample visual programs which visualize two dimensional data. When the 
filter for the Open dialog box of the Visual Program Editor is set to 
the directory /usr/lpp/dx/samples/programs, these subdirectories will  
appear on the left hand side of the dialog, under "Directories". Simply 
click on one and then press the Filter button to see the example programs 
in that directory.  
 
In the directory /usr/lpp/dx/samples/macros you will find a number of 
useful macros. 
  
In the directory /usr/lpp/dx/samples/tutorial you will find a number of 
example visual programs which are designed to be used with the Data Explorer 
tutorial. 
  
In the directory /usr/lpp/dx/samples/scripts you will find a number of 
example script files which illustrate the use of each module in script mode. 
  
In the directory /usr/lpp/dx/samples/program_guide you will find a number of 
example .c files which will help you in writing your own modules. These 
samples are designed to be used with the Programmer's Reference. 
  
In the directory /usr/lpp/dx/samples/dxlink you will find a number of 
example programs which illustrate the use of DXLink. 
  
In the directory /usr/lpp/dx/samples/callmodule you will find a number of 
example programs which illustrate the use of the DXCallModule interface to 
call Data Explorer modules from an external program. 
  
In the directory /usr/lpp/dx/samples/user you will find a number of 
example programs which illustrate how to compile your own module as 
runtime-loadable, inboard, or outboard. 
  
In the directory /usr/lpp/dx/samples/outboard you will find a number of 
example outboard modules. 
  
In the directory /usr/lpp/dx/samples/supervise you will find examples of 
custom user interactors for use with SuperviseWindow and SuperviseState  
 
  
3. Important Features not otherwise documented 
A. Requirements on how Loops are used in Distributed Mode 
There are limitations on how you can use looping in distributed mode. 
The entire contents of a loop must run on the same machine. This means 
that if you want to distribute a loop to a machine other than  
the master, you *must* put that loop in a macro, and place the macro 
in an execution group assigned to the other machine. 
  
B. Problems with F1 key and on-line help 
If the F1 key does not work for obtaining help-on-context in the User 
Interface, you may need to put the following line in your .motifbind 
file in your home directory: 
osfHelp                         :<Key>F1 
   
4. Differences from version 3.1.2 of Data Explorer 
A. New startup behavior 
Simply typing the command "dx" will start the Data Explorer  
startup window, which allows you to perform a number of different 
tasks, such as running a sample program, starting the data prompter, 
starting the tutorial, etc. To simply start the Data Explorer  
visual program editor (the previous default behavior) type dx -edit. 
 
B. New Data Prompter 
The Data Prompter now supports formats other than the General Array 
format, and provides a set of general purpose programs to reduce the 
"time to first picture"  
 
C. AutoAxes no longer scales the object  
In releases of Data Explorer prior to 3.1.4, AutoAxes reduced the 
size of the object to 85% of it's original size. This scaling 
has been removed 
  
D. Images are now gamma corrected by default when written out 
A gamma correction factor of 2 is applied to images by default 
when they are written out. Note that if you are writing out images 
for later use within Data Explorer, you should write out images 
with gamma=1 (see WriteImage, or the SaveImage dialog box) so that 
they are not doubly gamma-corrected when displayed.  
  
E. Get and Set modules replaced by Local and Global versions 
The Get and Set modules have been replaced by GetLocal and GetGlobal 
and SetLocal and SetGlobal. Visual programs which use Get and Set 
can still be run; Data Explorer will automatically use GetGlobal 
and SetGlobal instead. However, performance advantages may be possible 
by using GetLocal and SetLocal instead; please see the manual pages 
for these modules in the Data Explorer User Reference. The Visual 
Program Editor will help you change your networks; see the Edit 
menu Assign Get/Set scope option. 
 
F. Behavior of DXSHMEM has changed 
In versions of Data Explorer prior to 3.1.4, DXSHMEM, if set to 
anything, would force shared memory to be used. In version 3.1.4, 
DXSHMEM must be set to anything other than -1 for shared  
memory to be used; if set to -1, then the data segment will be  
extended, for architectures for which this is permissible. 
 
G. startup behavior affects DXLink applications 
Because the command "dx" now starts the Data Explorer startup window, 
DXLink applications will need to use either -image or -edit in 
the DXLStartDX command string. 
 
H. Transmitters/Outputs, and Receivers/Inputs cannot share names  
Version 3.1.4 prevents Transmitter and Output nodes, and Receiver and 
Input nodes from sharing names.  These name collisions were permitted 
in earlier versions and could lead to incorrect code generation.  Now 
an offending node will be renamed automatically and the user notified. 
 
I. Changes to ReadImage in how images are stored internally  
By default, all images read in by ReadImage are stored internally 
in bytes, rather than floating point. This will only affect visual  
programs in which you are manipulating colors and expect them to  
be floating point colors. You can use the "colortype" parameter to 
ReadImage or the DXPIXELTYPE environment variable to change the  
default behavior. See the ReadImage manual page.  
 
J. ReadImage stores images as delayed colors if possible by default  
For images in delayed color format (gif, some tiff and some miff), 
ReadImage will by default store the image with delayed colors. You 
can override this default behavior by using the "delayed" parameter 
to ReadImage or the DXDELAYEDCOLORS environment variable. See the 
ReadImage manual page. 
 
5. Differences from version 3.1.4 of Data Explorer 
 
A. Streakline has an additional undocumented parameter 
See 11 J below. 
 
B. A new module, DXLOutputNamed, has been added 
See 11 K below. 
 
C. Fix in MapToPlane for handling of invalidity for regular data  
In certain situations, MapToPlane was incorrectly handling regular/regular 
data which contained invalid data. This has been fixed. 
 
D. Fix in Statistics for handling of invalidity  
In certain unusual situations, Statistics was not handling invalid 
data correctly. This has been fixed. 
 
E. Fixes to ChangeGroupMember and ChangeGroupType 
ChangeGroupMember was sometimes incorrectly inserting/replacing 
objects into groups. ChangeGroupType was not correctly maintaining 
attributes at the top level object when changing the group type. 
These problems have been fixed. 
 
F. Fix to Morph when large filter specified 
If an especially large filter was specified to Morph, Morph could 
segfault. This has been fixed. 
 
G. Fix for SelectorList interactor 
Under certain circumstances the UI could segfault if particular 
entries were made in the SetAttributes dialog of the SelectorList 
interactor. This has been fixed. 
 
H. Fix to allow dx.h to be used in C++ program 
Necessary "extern C" lines added to certain .h files to allow 
dx.h to be used in C++ program 
 
I. Fix for gamma correction in saved miff images 
Images saved in miff format now correctly use specified gamma correction. 
 
J. Fix for ReadImage on Solaris  
There was a bug in reading gif format images on solaris. This has 
been fixed. 
 
K. "All" category has been moved  
The "All" category in the Visual Program Editor has been moved from the 
end of the list of categories to the beginning. This is to ensure that 
as more categories of modules are added (by Data Explorer development 
or by users), the "All" category always remains easily visible for 
new users. 
 
L. OpenGL and Solaris 
If you are interested in using OpenGL on the Solaris architecture, 
please contact Data Explorer support: [email protected] or 
1-800-435-6813 (US and Canada), or 914-784-5142. 
  
6. User Interface Notes  
  
A. Vectors can be float or integer vectors 
If you specify integral values for vector, either using a vector interactor 
or using a configuration dialog, an integer vector will be produced.   
Otherwise, the vector will be a floating point vector. 
  
B. Data-Driven Interactors 
Changing an interactor from data-driven to non-data-driven, and 
then back to data-driven may not result in the proper updating and execution 
of the visual program. After switching back to data-driven mode, 
you should reset the server (using "Reset Server" in the Connection menu)  
to enable proper execution of the visual program. 
 
C. Misleading warning can appear when writing out PostScript images 
Occasionally you may see a warning when writing out PostScript images 
that the image will not fit on the page, even though the page size 
as specified is correct. Ignore the warning. Apparently this only 
occurs if you have modified the PPI setting in the Save Image or 
Print Image dialog. Note that it is not typically necessary to set 
this field; it is typically better to just set the overall resolution 
of the image using the Input Image size field. Note that it is NOT 
necessary to set PPI to match the DPI of the printer. 
 
7. Running Data Explorer 
  
A. Specifying the Host Name for Remote Execution 
Be sure to specify the host name of the remote host as what is returned 
by "uname -n" on the remote host.  This ensures that Data Explorer 
finds the host correctly. 
  
B. Environment Variables in Script Mode for Remote Execution 
When running Data Explorer remotely in script mode using the command "dx 
-host hostname -script", local environment variables, such as DISPLAY, 
are not passed to the remote host. 
  
C. Specifying Host Name for Distributed Execution 
Distributed execution does not handle network addresses like 9.2.37.10. Specify  
the host name as what is returned by "uname -n" on the machine 
you wish to run on. 
  
D. Distributed Execution when a Remote Host is Unavailable 
If, from the Execution Group Assignment menu, you are trying to 
connect to a remote host and the connection times out, you may 
need to reread the visual program into the user interface in 
order to retry the connection. The connection may time 
out if, for example, the remote machine was down when you tried 
to connect, or you did not have your .rhosts file set up 
properly to allow remote shells to be executed. 
  
However, if you make any changes to the Execution Group 
Assignment menu, then the user interface will retry the 
connections. In this case, it is not necessary to reread the 
visual program. 
  
E. Distributed Execution using Data Explorer SMP 
When using both distributed execution and Data Explorer SMP, it is 
recommended that a single processor host be connected to by the 
User Interface, i.e. be used as the master. 
  
F. If you start the user interface on a machine with DX installed for a  
given architecture or version of DX, and then try to start an executive  
using the Start Server dialog box on a remote system that does not have  
DX installed in the same place as the local machine, then the executive  
will not be able to start on the remote machine.  This is because  
bin_$arch (where $arch is the architecture of the system the user  
interface is running on) is not present remotely.  This problem 
is much more subtle when you are starting up your own exec on 
the remote system.  The exec may start, but will not be able to 
execute bin_$arch/dxshadow. 
  
8. System Environment 
  
A. Default Memory Size 
Except where noted in the architecture specific README, by default, 
Data Explorer will be allowed to grow to use all but 8 megabytes of  
the physical memory when there is less than 64 megabytes of physical memory. 
If there is more than 64 megabytes of physical memory, then Data Explorer  
will, by default, be allowed to grow to 7/8 of the amount of physical  
memory. Users may wish to alter this default amount of memory by using the  
"-memory" parameter to the dx command, or the "Memory" field of the Connect  
to Server--Options dialog. 
  
B. Paging Space  
Since it is possible for DX to use a large amount of virtual memory,  
users should configure systems with paging space at least two or three times 
the total physical memory in their system. If you do not have enough 
paging space, the operating system may kill Data Explorer (or other 
processes), sometimes without warning, depending on the architecture. 
Run /etc/lsps -a to list all paging space.  If you have N megabytes of  
physical memory, (on most architectures) the first N megabytes of page space 
are reserved to back that, so the available page space is the total listed  
with lsps minus the physical you have. 
  
C. Per Process Limits 
Some systems may enforce per process limits on such things as  
data segment size, stack size and so forth.  These may need to be 
adjusted to run Data Explorer with large amounts of memory to avoid 
paging.  
  
  
9. Notes on the Hardware Rendering Option  
The behavior of Data Explorer differs in a few ways when using the  
hardware rendering option. 
  
A. Hardware rendering requires z-buffer capabilities. If hardware 
rendering is attempted without a z-buffer card, a warning will 
be given and the results are unpredictable unless otherwise specified 
in the architecture specific README files. 
  
B. Fast mouse button transitions may go unnoticed 
When mouse button interactions are used in the image window to 
perform rotate, navigate or roam, the image should be allowed to update 
before the next mouse interaction is performed.  Failure to do so may 
cause the interaction to be ignored. This also means that when using 
direct interaction in hardware rendering mode with `Execute-on-Change' 
enabled, a change in the view (with mouse button depressed) is not 
accepted until the current image is rendered.  Thus, when rotating 
complex objects cursor movements must be commensurate with rendering speed.   
Rendering approximation can be used to increase the effective rendering speed. 
  
C. Arrow keys partially disabled during navigation 
During navigate mode, the use of the arrow keys to change the 
'Motion' and 'Pivot' speeds is ignored until the mouse button is 
released. 
  
D. Button-down interaction disables visual program changes 
When using hardware rendering with direct interactors in execute-on-change 
mode, updates are ignored until the mouse button is released. This 
is noticeable when rotating a scene which contains axes from AutoAxes. 
The axes in the scene will not reflect the new camera position until the 
mouse button is released and the AutoAxes module is allowed to re-run. 
  
E. Remote OpenGL 
Remote OpenGL can be run from an architecture on which Data Explorer  
supports OpenGL (ibm6000, alpha, sgi) to another OpenGL capable  
architecture (ibm6000, alpha, sgi), assuming the following conditions 
are met: 
  The machine that the Data Explorer executive is running on must 
  have OpenGL support installed (i.e., /usr/lib/libGL.a is installed) 
  
  The machine the executive is displaying to must have OpenGL 
  suport installed (i.e., /usr/lib/libGL.a is installed) and the 
  X server must be configured to support OpenGL (i.e., the X server 
  must be started with the GLX extension).  
  
10. Import/Export  
  
A. The External Data Format  
When using the Data Explorer external data format as described in 
the User Guide,  you must define an object before you 
reference that object.  For example, you must define an array before  
you define the field in which the array will be placed, and you must  
define a field before you define the group in which the field will  
be placed.   
  
11. Module Notes  
  
A. Map Module  
Map invalidates points outside of the domain of the map.  Since Map is  
also called internally by Color, points with corresponding data values  
outside of the range of the colormap will be marked invalid.  Similarly, when 
an explicit gradient field is passed to the Isosurface module, the 
gradient field must completely encompass the resulting isosurface. 
  
B. Grid Module  
Grid method "ellipse" assumes that the two given vectors in "shape"  
are orthogonal. 
  
C. The Display module and the screen-saver 
If the screen-saver is on, Data Explorer will wait to display an image. 
  
D. Slice Module limitation 
The Slice module takes a slice from a grid, reducing the grid's  
dimensionality by 1. This is in contrast to the Slab module which takes  
a slice without reducing the dimensionality. 
  
The Slice module will produce correct results only when the data form 
an orthogonal grid with the first coordinate (x) varying the slowest, 
and the last coordinate (z in a three-dimensional coordinate system) 
varying the fastest.  For regular grids, the delta vectors must be 
                      a 0 0  
                      0 b 0  
                      0 0 c 
for any a, b, and c. For data which do not fit this description, you 
can use the Slab module instead to take a subset of the data, and then 
use Mark(object,"positions"), Compute, and Unmark(object,"positions") 
to remove the desired dimension from the object. 
  
E. Transformed Group Members 
It is recommended not to apply transforms to individual MultiGrid or Series 
group members.  In limited cases, this can cause abnormal termination. 
  
F. Print Module 
All values are printed in decimal format except for byte array data 
which is printed in hexadecimal. 
  
G. Morph and Filter Modules 
Morph and Filter replicate the boundary cells into the overlap 
region necessary to apply the filter. 
 
H. Error in Documentation for SuperviseWindow 
The manual page for SuperviseWindow indicates that the events output 
is an array of integer 4-vectors. It is in fact an array of 
integer 8-vectors. The first 4 integers in the 8-vector 
are as discussed in the documentation; the remaining 4 integers 
in the 8-vector are unused, and are reserved for future use. 
 
I. Error in Documentation for SuperviseWindow 
The manual page for ManageImageWindow says that you can pass 
the "window" (e.g. the "window" output of the Image tool)  
of the window to be managed to the "name" parameter 
of ManageImageWindow, if "how" is specified as "window". This is 
incorrect. "how" must be either "title" or "label". 
 
J. New parameter to Streakline, undocumented 
An undocumented parameter has been added to the Streakline module. 
Its name is "hold", and it defaults to 0 (false). If "hold" is set 
to 1 (true),  then Streakline uses the starting information (i.e. 
the starting points and times) ONLY for frame=0. Streakline 
will continue to use the values passed in for frame=0 for all 
other frames. This simplifies the use of Streakline for the 
case when vector fields are passed in one at a time, rather than 
as a series group all at once; you can be sure that each frame will 
use the same starting points and times, even if the values passed 
in to those parameters happen to change due to other changes in the 
visual program as the sequencer runs. 
 
K. New module, DXLOutputNamed, undocumented 
A new module has been added which is not included in the documentation. 
Its name is DXLOutputNamed, and it differs from DXLOutput in three 
ways. The first difference is that the name associated with the variable to be 
passed to a DXLink application can be specified via a direct  
input to the module, rather than by using the Notation field of 
the configuration dialog box as with DXLOutput. The second difference  
is that DXLOutputNamed can be placed inside a macro, while DXLOutput can not. 
The third difference is that the User Interface 
will not store the last value sent into/from DXLOutputNamed in the 
.net file, as it does with DXLOutput. This means that you cannot  
run the .net file without a DXLink connection and expect to see the 
same result, which you could if you were using DXLOutput. 
 
L. Parameter option for CategoryStatistics, undocumented 
In addition to the documented options for the "operation" parameter, 
"accum" is a valid option. The meanings of the various options are as 
follows: "count" determines the number of items in each  
category. "mean" determines the mean of the data values associated with 
each category. "sd" determines the standard deviation of the data 
values associated with each category. "var" determines the 
variance of the data values associated with each category. "min" 
and "max" determine the minimum and maximum respectively of the 
data values associated with each category. "accum" determines the 
accumulated value of all the data values associated with each 
category. 
  
12. X Colormap Interaction 
  
A. 24 Bit Root Windows 
By default, Data Explorer creates Image and Display windows of the same 
depth as the root window, and the depth of the window is stored when 
the visual program is saved.  Because many visual programs, including 
the supplied samples, are stored with 8 bit windows you may need to use 
the mouse to point to the image in order to see the correct colors. 
You can avoid this by using the Image Window Options menu to choose 
"Image Depth" and to select 24 bits. 
  
  
  
13. Scripting Language Lists cannot contain variables.   
All items in lists must be constants. 
  
  
  
14. Hints  
  
A. All of the Execute Options are Greyed Out   
This means that you are not connected to a Data Explorer executive. 
Go to the Connection menu on either the image window or the editor  
window.  Choose "Start Server...".  Type in the name of the machine  
on which you are running the executive software, if it's not already there. 
Press "Ok". 
  
B. Faces/Loops/Edges   
Some tools do not support faces, loops, and edges data. If you wish to use 
more tools on this type of data, then convert it to triangles using Refine. 
  
  
15. Notes on On-Line Help  
Figures have been omitted from On-Line Help.  Users are directed to the  
hard copy manual at appropriate points in the On-Line Help. Alternatively, 
you can use the html documentation available in /usr/lpp/dx/html. 
  
  
16. Adding Modules 
A. Building a Custom Executive 
The Makefiles in /usr/lpp/dx/samples/user provides an example of how to  
build a customized executive. Compiling a user defined module will  
require an ANSI compliant C compiler which can support function prototypes  
and the ellipsis notation (...) used in function declarations. 
  
B. Outboard Modules 
All outboard modules should link with the libraries "-lDXlite -lm". 
A number of examples of outboard modules, along with makefiles for 
each architecture and a README with more detailed information about 
outboard modules may be found in the directory 
  /usr/lpp/dx/samples/outboard. 
  
C. Modules written for Version 1 
In order to compile a module written for Version 1 you need to include 
 #include <dx/rel_1_bc.h>  
in your module.  
  
D. Asynchronous Modules 
By default, asynchronous modules by default are given a 
CACHE_LAST attribute for outputs. This means that only the last 
output of the module is cached. You can override this by 
specifying CACHE_NONE (this is done either in the configuration 
dialog box for the module or by using the Edit menu Output 
Cacheability option). If you set the output to  
CACHE_ALL, it will be reset to CACHE_LAST, since there is 
no value to specifying CACHE_ALL for an asynchronous module. 
It would be of value for users to also set the cacheability 
of all outputs of modules downstream of the asynchronous module  
to CACHE_LAST or CACHE_NONE. 
 
E. Error in documentation for starting sample modules 
The documentation tells you to start your custom module using 
a command such as 
     dx -mdf ./showpick.mdf -exec ./dxexec 
Because the default command dx now starts the startup ui, you 
must instead include -edit, -menubar, or -image in the startup line, 
for example 
     dx -edit -mdf ./showpick.mdf -exec ./dxexec 
 
  
17. OSF/Motif Warning Messages 
There are 3 groups of warning messages a user might see when Data Explorer  
starts.  Many of them appear when starting any OSF/Motif application. 
  
G R O U P    I: 
These messages will appear only from Data Explorer.  No other 
OSF/Motif program will make these. 
  
XtWarning:  
    Name: vpeDeleteOption 
    Class: XmPushButton 
    Illegal mnemonic character;  Could not convert X KEYSYM to a keycode 
  
XtWarning:  
    Name: endExecutionOption 
    Class: XmPushButton 
    Illegal mnemonic character;  Could not convert X KEYSYM to a keycode 
  
S O L U T I O N: 
The Edit/Delete and Execute/End Execution options on the menubar in  
Data Explorer require Delete and End keys respectively. 
After you make the following modifications to $HOME/.motifbind,  
restart your window manager if you're using mwm (or one of its cousins 
like vuewm or 4Dwm), otherwise run xmbind. 
  
For vpeDeleteOption add a line like this: 
osfDelete                :<Key>Delete 
  
For endExecutionOption add a line like this: 
osfEndLine               :<Key>End 
The 2 example lines above work for most machines although they 
depend on the configuration of the machine at which you sit. 
For hp700 workstations running hpux version 8 substitute 
DeleteChar for Delete. For hp700 workstations running hpux version 9 
substitute hpDeleteChar for Delete. 
  
  
G R O U P    II: 
These messages are not specific to Data Explorer. 
Those in Part A are common when displaying on an hp700 running  hpux 
version 9 or later.  Those in Part B usually come from a system running  
hpux 8 or earlier.  You would also see messages like these if you had 
a typographical error in $HOME/.motifbind. 
Part A: 
Warning: Cannot convert string "<Key>InsertChar" to type VirtualBinding 
Warning: Cannot convert string "<Key>DeleteChar" to type VirtualBinding 
  
Part B: 
Warning: Cannot convert string "<Key>hpInsertChar" to type VirtualBinding 
Warning: Cannot convert string "<Key>hpDeleteChar" to type VirtualBinding 
  
S O L U T I O N: 
  
Examine /usr/lib/X11/XKeysymDB on the machine 
on which you are executing (which may not be the machine at which you 
are sitting).  The key name in the error message is not in that file. 
Either modify the file, or find a substitute key to use in your  
$HOME/.motifbind. 
  
G R O U P    III: 
These messages are not specific to Data Explorer.  They will appear 
when running any OSF/Motif program. 
XtWarning: translation table syntax error: Unknown keysym name: osfActivate 
XtWarning: ... found while parsing '<Key>osfActivate:ManagerParentActivate()' 
XtWarning: translation table syntax error: Unknown keysym name: osfCancel 
XtWarning: ... found while parsing '<Key>osfCancel:ManagerParentCancel()' 
XtWarning: translation table syntax error: Unknown keysym name: osfSelect 
XtWarning: ... found while parsing '<Key>osfSelect:ManagerGadgetSelect()' 
  
S O L U T I O N: 
You must have a recent version of the file /usr/lib/X11/XKeysymDB in  
order to run OSF/Motif programs.  Most manufacturers provide one 
but older versions of SunOS with OpenWindows, machines 
with custom installations, and possibly a few other workstations  
will not have one.  With some releases of the X Window System it 
is acceptable to set the environment variable XKEYSYMDB to the  
path name of a valid XKeysymDB file.  (There is no way to tell 
if yours is among them other than to try it.) 
  
You could also add the following entries to your /usr/lib/X11/XKeysymDB: 
osfCopy                 :1004FF02 
osfCut                  :1004FF03 
osfPaste                :1004FF04 
osfBackTab              :1004FF07 
osfBackSpace            :1004FF08 
osfClear                :1004FF0B 
osfEscape               :1004FF1B 
osfAddMode              :1004FF31 
osfPrimaryPaste         :1004FF32 
osfQuickPaste           :1004FF33 
osfPageLeft             :1004FF40 
osfPageUp               :1004FF41 
osfPageDown             :1004FF42 
osfPageRight            :1004FF43 
osfActivate             :1004FF44 
osfMenuBar              :1004FF45 
osfLeft                 :1004FF51 
osfUp                   :1004FF52 
osfRight                :1004FF53 
osfDown                 :1004FF54 
osfEndLine              :1004FF57 
osfBeginLine            :1004FF58 
osfEndData              :1004FF59 
osfBeginData            :1004FF5A 
osfPrevMenu             :1004FF5B 
osfNextMenu             :1004FF5C 
osfPrevField            :1004FF5D 
osfNextField            :1004FF5E 
osfSelect               :1004FF60 
osfInsert               :1004FF63 
osfUndo                 :1004FF65 
osfMenu                 :1004FF67 
osfCancel               :1004FF69 
osfHelp                 :1004FF6A 
osfSelectAll            :1004FF71 
osfDeselectAll          :1004FF72 
osfReselect             :1004FF73 
osfExtend               :1004FF74 
osfRestore              :1004FF78 
osfDelete               :1004FFFF 
  
  
---------------------------------------------------------------------- 
  
The following trademarks apply to this information: 
  
IBM is a registered trademark of International Business Machines Corporation. 
IBM Visualization Data Explorer is a trademark of International 
    Business Machines Corporation. 
Motif is a trademark of Open Software Foundation, Inc. 
OSF and OSF/Motif are trademarks of Open Software Foundation, Inc. 
Sun is a registered trademark of Sun Microsystems, Inc. 
HP is a registered trademark of Hewlett-Packard Company. 
NFS is a registered trademark of Sun Microsystems, Inc. 
X Window System is a trademark of Massachusetts Institute of Technology. 
DGC is a trademark of the Data General Corporation. 
DEC 3000 APX is a registered trademark of Digital Equipment Corp.