Codebase list dx / 67f73069-ffc4-47eb-ab2c-648f69055561/main doc
67f73069-ffc4-47eb-ab2c-648f69055561/main

Tree @67f73069-ffc4-47eb-ab2c-648f69055561/main (Download .tar.gz)

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
*
* 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.4b.
 
If you need assistance installing or using a purchased copy of Data Explorer,
send email to dxsupp@watson.ibm.com, 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.4a of Data Explorer
        A. Ten new fonts
        B. New module: Pie
        C. New runtime-loadable module: BSpline
        D. New samples in samples/callmodule and samples/dxlink directories
        E. New member, kstate, of events structure for Supervise modules
        F. A fix for the SGI architecture for users with lots of memory
        G. A fix to Histogram for partitioned data
        H. A fix to the licensing code for runtime users
        I. Hardware rendering fixes
     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. 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 
     7. 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
     8. 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
     9. System Environment
        A. Default Memory Size
        B. Paging Space
        C. Per Process Limits
     10. 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
    11. Import/Export
        A. The External Data Format
    12. 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/Changes 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
        M. Additional Control over VRML output using Export 
    13. X Colormap Interaction
        A. 24 Bit Root Windows
    14. Scripting Language
    15. Hints
        A. All of the Execute Options are Greyed Out
        B. Faces/Loops/Edges  
    16. Notes on On-Line Help
    17. 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
    18. 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.4a of Data Explorer
A. Ten new fonts
In /usr/lpp/dx/fonts are 10 new fonts, all filled fonts, rather
than line fonts. These include a variety of "swiss style" fonts
(san-serif), italic, plain, bold, and condensed (thinner), an
italic and plain "dutch style" (similar to Times Roman), a
monospace font, a symbol font, and a "casual" font (dom). These
fonts can be specified for any module for which a font may be
specified (AutoAxes, Caption, Plot, etc.)

B. New module: Pie
A new module has been added to this release of Data Explorer. This module
does not have a manual page in the User Reference.  See Pie.man in this
directory. See also /usr/lpp/dx/samples/programs/ExamplePieChart.net.

C. New runtime-loadable module: BSpline
You can find a runtime-loadable module BSpline in /usr/lpp/dx/bin_arch,
where arch is one of ibm6000, hp700, solaris, sgi, or alphax. The
mdf file for bspline can be found in /usr/lpp/dx/lib. See the
comments in bspline.mdf for more information.

D. New samples in samples/callmodule and samples/dxlink directories
Several new samples of example applications built using dxlink
and dxcallmodule have been added to these directories. See the
Readme files in the respective directories for more information.
Also check our home page (http://www.almaden.ibm.com/dx) for
extensive new documentation on the subject of application building.
This documentation discusses the samples in the callmodule
and dxlink directories.

E. New member, kstate, of events structure for Supervise modules
See item 12H for more information.

F. A fix for the SGI architecture for users with lots of memory
SGI users with large amounts of memory were sometimes having difficulty
starting dx. This has been fixed.

G. A fix to Histogram for partitioned data
The "sum" output was being incorrectly computed for partitioned data.

H. A fix to the licensing code for runtime users
Runtime dx users can now start up a dx session from the startup ui menu.

I. Hardware rendering fixes
There is a fix in OpenGL to fix a problem with getting a depth buffer. 
This solves a problem with getting "bad triangles" in your image. 
There is also a fix in GL for drawing points.

5. Differences from version 3.1.4 of Data Explorer
A. Streakline has an additional undocumented parameter
See 12 J below.

B. A new module, DXLOutputNamed, has been added
See 12 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: dxsupp@watson.ibm.com or
1-800-435-6813 (US and Canada), or 914-784-5142.
 
6. 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.

7. 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.

8. 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.
 
9. 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. 
 
 
10. 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). 
 
11. 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.  
 
12. 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/Changes 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 last three integers
in the 8-vector are unused, and are reserved for future use.
The fifth integer is described as follows (this was recently
added, so the definition of the events structure differs from
what is in the documentation):

The handling of keypress events has been altered to make it possible
to handle modifier keys correctly.  In this version, pressing the control,
shift or alt keys will no longer trigger an event.  Instead, the state of
these keys affects other events that occur while these keys are pressed. 
Thus, when the user presses the control key and, while it is being held, 
strikes another key, a single event will be triggered.  (In the past, 
pressing the control key would have triggered its own event, returning a
character code of 0.)  The character code generated for the event will be
the control version of the pressed key - eg. control-k or capital-K,
when the k key is pressed with the control key or shift key.
 
In addition, a field has been added to each DXEvent structure that contains
information about the current mouse and button state at the time of the event.
By looking at this structure element the user can determine whether the 
modifier keys are being held down when the event is generated, thereby 
differentiating between mouse interactions that occur with or without
these modifiers.  This enables the user to implement a much wider range of
interactions within a single interaction mode.

In each DXEvent structure, the additional field occupies a place that was
previously reserved; therefore, the structure size does not change, nor does
the width of the event tuples produced by the events outputs of SuperviseWindow 
and SuperviseState.  The structures are currently:

typedef struct {			typedef struct {
	int event;			int event;
	int x;				int x;
	int y;				int y;
	int state; 			int key;
	int kstate;			int kstate;
	} DXMouseEvent;		} DXKeyPressEvent;

The event tuples are integer 8-vectors, with the above structures occupying
the first 5 positions.  The kstate fields contain the following bit flags:

    ShiftMask	  0x0001
    LockMask	  0x0002
    ControlMask	  0x0004
    Mod1Mask	  0x0008
    Mod2Mask	  0x0010
    Mod3Mask	  0x0020
    Mod4Mask	  0x0040
    Mod5Mask	  0x0080
    Button1Mask	  0x0100
    Button2Mask	  0x0200
    Button3Mask	  0x0400
    Button4Mask	  0x0800
    Button5Mask	  0x1000

For more information regarding these state flags, see the Xlib documentation.


I. Error in Documentation for ManageImageWindow
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.

M. Additional Control over VRML output using Export 
There are a set of attributes which can be attached to an object to
control aspects of the vrml export of that object. These attributes
are the following: 
"VRML Insert First Child Node" (Specifies a string which will be placed
   into the VRML file as the first child Node of the overall group. 
   This attribute must be placed at the top level of the exported object. 
   For example, you may want to insert a TouchSensor to detect mouse 
   clicks. See the VRML specification for more information.), 
"VRML Set NavigationInfo type" (Specifies a string which will be
   inserted into the vrml object as the type field of the NavigationInfo node.
   See the VRML specification for more information.), 
"VRML use data as height" (Specifies a floating point value. If
   specified, an ElevationGrid node will be created in the VRML output 
   instead of an IndexFaceSet. The "data" component is used as the 
   height field in the ElevationGrid node.  The value of the 
   attribute is multiplied by each data value. This attribute must be
   attached to the 2D regular field.), 
"VRML font style" (the font style for the object. This can be applied
   either to the entire object or to a field within an object. If you
   set FontStyle for a field within a larger object, the field-level
   font style overrides the object-level font style. If you do not
   specify a font style, a default style will be used. See the VRML
   specification for more information.).
"VRML text as string" (By default, labels on autoaxes and plots, 
   as well as text glyphs using AutoGlyph and Glyph, are 
   exported as geometry. This can amount to a large amount of data. 
   You can specify that labels and text glyphs be exported as 
   strings instead by setting this attribute to 1.)
A macro (ExportVRML.net) is provided in /usr/lpp/dx/samples/macros to
make setting these attributes easier.
Captions exported in VRML must be viewport relative.

13. 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.
 
 
 
14. Scripting Language Lists cannot contain variables.  
All items in lists must be constants.
 
 
 
15. 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.
 
 
16. 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.
 
 
17. 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

 
18. 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.