# defaults |
0|IRIS Explorer&#8482; Module Writer's Guide|sgi_html/index.html
1|Front Matter|sgi_html/front.html
1|Introduction|sgi_html/pr01.html
2|About This Guide|sgi_html/pr01.html#id5364501
2|Contents of This Guide|sgi_html/pr01.html#id5364597
2|Conventions Used in This Guide|sgi_html/pr01.html#id5364781
1|Chapter 1. Building a Module|sgi_html/ch01.html
2|Introduction to Module building|sgi_html/ch01.html#id5362669
2|Creating the User Function|sgi_html/ch01.html#id5362887
3|Designing the Example Module|sgi_html/ch01.html#id5362903
3|Writing the User Function|sgi_html/ch01.html#id5362933
4|Example Code and Modules|sgi_html/ch01.html#id5362992
4|The C User Function|sgi_html/ch01.html#id5363028
4|The Fortran User Function|sgi_html/ch01.html#id5363100
2|Setting up your Build Environment|sgi_html/ch01.html#id5363315
3|C or Fortran?|sgi_html/ch01.html#id5363433
3|Invoking the Module Builder|sgi_html/ch01.html#id5363470
3|Saving the Module Resources|sgi_html/ch01.html#id5363651
3|Quitting the Module Builder|sgi_html/ch01.html#id5363717
2|Defining the Internal Structure|sgi_html/ch01.html#id5363780
3|Creating an Input Port|sgi_html/ch01.html#id5363796
4|Defining the Data Type|sgi_html/ch01.html#id5363883
4|Defining the Parameters|sgi_html/ch01.html#id5364039
3|Creating an Output Port|sgi_html/ch01.html#id5435531
3|Defining the Function Arguments|sgi_html/ch01.html#id5435697
3|Connecting Ports and Function Arguments|sgi_html/ch01.html#id5436545
4|Making the Right Connections|sgi_html/ch01.html#id5436790
4|Using the Pseudoports|sgi_html/ch01.html#id5437041
2|Defining the User Interface|sgi_html/ch01.html#id5437232
3|Creating a Menu Item|sgi_html/ch01.html#id5437404
3|Testing the Menu Bar|sgi_html/ch01.html#id5437643
2|Building the Module|sgi_html/ch01.html#id5437689
3|Selecting Build Options|sgi_html/ch01.html#id5437699
3|Running the Build Command|sgi_html/ch01.html#id5437834
1|Chapter 2. Understanding the Module Builder|sgi_html/ch02.html
2|Creating a User Function|sgi_html/ch02.html#id5438082
3|Using the Explorer API|sgi_html/ch02.html#id5438191
4|Geometry Modules in Fortran|sgi_html/ch02.html#id5438245
4|The Scripting API|sgi_html/ch02.html#id5438266
2|Running the Module Builder|sgi_html/ch02.html#id5438309
3|Opening Modules|sgi_html/ch02.html#id5438341
3|Moving Around the Windows|sgi_html/ch02.html#id5438507
2|The Main Window|sgi_html/ch02.html#id5438685
3|The Module Name|sgi_html/ch02.html#id5438695
4|Naming Modules|sgi_html/ch02.html#id5438783
4|Modifying Existing Modules|sgi_html/ch02.html#id5438855
4|Saving Modules|sgi_html/ch02.html#id5438883
3|The User Function File|sgi_html/ch02.html#id5438930
4|Using Several Function Files|sgi_html/ch02.html#id5439024
4|Using Makefiles|sgi_html/ch02.html#id5439089
4|Writing Fortran User Functions|sgi_html/ch02.html#id5439144
3|The Include Files|sgi_html/ch02.html#id5439282
3|Associated Libraries|sgi_html/ch02.html#id5439401
3|User Makefiles|sgi_html/ch02.html#id5439736
2|Creating Ports|sgi_html/ch02.html#id5439924
3|Defining Input Ports|sgi_html/ch02.html#id5439952
4|Input Port Characteristics|sgi_html/ch02.html#id5440001
4|Firing Sequences|sgi_html/ch02.html#id5440332
3|Setting Lattice Constraints|sgi_html/ch02.html#id5440355
4|Defining Lattice Constraint Fields|sgi_html/ch02.html#id5440709
4|Automatic Type Coercion of Arrays|sgi_html/ch02.html#id5440995
4|Returning to the Port Window|sgi_html/ch02.html#id5441288
3|Setting Pyramid Constraints|sgi_html/ch02.html#id5441312
4|Defining Pyramid Constraint Fields|sgi_html/ch02.html#id5441416
4|Returning to the Port Window|sgi_html/ch02.html#id5441648
3|Defining Output Ports|sgi_html/ch02.html#id5441672
4|Defining Port Characteristics|sgi_html/ch02.html#id5441720
4|Checking the Port Status|sgi_html/ch02.html#id5441805
2|Defining Function Arguments|sgi_html/ch02.html#id5441912
3|Creating an Argument List|sgi_html/ch02.html#id5442021
4|Func Name|sgi_html/ch02.html#id5442076
4|Language|sgi_html/ch02.html#id5442121
4|Arg Name|sgi_html/ch02.html#id5442196
4|Type|sgi_html/ch02.html#id5442308
4|References|sgi_html/ch02.html#id5442630
4|Return Val?|sgi_html/ch02.html#id5442916
3|Connecting Arguments to Ports|sgi_html/ch02.html#id5442956
4|Understanding the Connections Menu|sgi_html/ch02.html#id5443155
4|Creating a Link|sgi_html/ch02.html#id5443362
4|Highlighted Connections|sgi_html/ch02.html#id5443464
4|Passing Default Values|sgi_html/ch02.html#id5443572
4|Using Pseudo Input Ports|sgi_html/ch02.html#id5443612
4|Mapping Rules|sgi_html/ch02.html#id5443938
4|Checking the State of Input Ports|sgi_html/ch02.html#id5444181
4|Copying Arrays|sgi_html/ch02.html#id5444252
4|Allocating Storage Space|sgi_html/ch02.html#id5444374
2|Creating File Prototypes|sgi_html/ch02.html#id5444510
3|The User Function Prototype|sgi_html/ch02.html#id5444575
3|Hook Function Prototypes|sgi_html/ch02.html#id5444720
3|The Help File|sgi_html/ch02.html#id5444801
2|Using the Build Menu|sgi_html/ch02.html#id5444944
3|Selecting Build Options|sgi_html/ch02.html#id5445035
3|Building and Installing Modules|sgi_html/ch02.html#id5445474
3|Updating the Module Resources|sgi_html/ch02.html#id5445620
2|Configuring the Build Environment|sgi_html/ch02.html#id5445719
3|Defining EXPLORERUSERHOME|sgi_html/ch02.html#id5445756
3|Setting Environment Variables|sgi_html/ch02.html#id5446064
3|Creating a Makefile|sgi_html/ch02.html#id5446345
3|Debugging a Module|sgi_html/ch02.html#id5446631
3|Profiling a Module|sgi_html/ch02.html#id5446804
4|Coping with Shared Libraries|sgi_html/ch02.html#id5446887
4|Using pixie|sgi_html/ch02.html#id5447118
2|Examples of Simple Modules|sgi_html/ch02.html#id5447358
3|The Pass-through Module|sgi_html/ch02.html#id5447378
4|C Version:|sgi_html/ch02.html#id5447389
4|Fortran Version:|sgi_html/ch02.html#id5447453
3|The Channel-select Module|sgi_html/ch02.html#id5447483
4|In C:|sgi_html/ch02.html#id5447490
4|Fortran Version:|sgi_html/ch02.html#id5447565
1|Chapter 3. Using the Lattice Data Type|sgi_html/ch03.html
2|Understanding Lattices|sgi_html/ch03.html#id5447636
3|The Lattice Data Type|sgi_html/ch03.html#id5447796
4|The Dimension Variables|sgi_html/ch03.html#id5448089
4|The cxData Structure|sgi_html/ch03.html#id5448264
4|The cxCoord Structure|sgi_html/ch03.html#id5447047
4|How Variables Interact|sgi_html/ch03.html#id5449678
2|Manipulating Lattices|sgi_html/ch03.html#id5449748
3|Storing Data Values|sgi_html/ch03.html#id5449859
3|Defining Primitive Values|sgi_html/ch03.html#id5450161
3|Storing Coordinate Values|sgi_html/ch03.html#id5450421
4|Uniform Lattices|sgi_html/ch03.html#id5450446
4|Changing the Aspect Ratio|sgi_html/ch03.html#id5450702
4|Perimeter Lattices|sgi_html/ch03.html#id5450743
4|Curvilinear Lattices|sgi_html/ch03.html#id5450992
2|Limiting Lattice Values|sgi_html/ch03.html#id5451516
2|Lattice Examples|sgi_html/ch03.html#id5451667
3|A Colormap Example|sgi_html/ch03.html#id5451690
3|A 2-D Image Example|sgi_html/ch03.html#id5451860
3|Preparing Your Data for Lattices|sgi_html/ch03.html#id5452000
2|The Data Type Declaration|sgi_html/ch03.html#id5452105
2|The Lattice API Routines|sgi_html/ch03.html#id5452276
2|Code Examples|sgi_html/ch03.html#id5453124
3|1-D Lattice|sgi_html/ch03.html#id5453182
4|C Version:|sgi_html/ch03.html#id5453247
4|Fortran Version:|sgi_html/ch03.html#id5453290
3|2-D Lattice|sgi_html/ch03.html#id5453378
4|C Version:|sgi_html/ch03.html#id5453400
4|Fortran Version:|sgi_html/ch03.html#id5453469
3|A 3-D Curvilinear Lattice|sgi_html/ch03.html#id5453614
4|C Version:|sgi_html/ch03.html#id5453652
4|Fortran Version:|sgi_html/ch03.html#id5453711
1|Chapter 4. Using the Pyramid Data Type|sgi_html/ch04.html
2|Understanding Pyramids|sgi_html/ch04.html#id5453840
3|The Structure of a Pyramid|sgi_html/ch04.html#id5453990
3|Pyramid Dictionaries|sgi_html/ch04.html#id5454344
3|A Pyramid Reader Module|sgi_html/ch04.html#id5454477
4|Reading Several Data Types|sgi_html/ch04.html#id5454682
3|Using the Dictionary Elements|sgi_html/ch04.html#id5454707
2|Finite Element Pyramids|sgi_html/ch04.html#id5455271
3|Setting up the Lattice Structure|sgi_html/ch04.html#id5455291
3|Contents of Layers|sgi_html/ch04.html#id5455412
3|Designing a Finite Element Mesh|sgi_html/ch04.html#id5455446
3|Creating a Tetrahedral Grid|sgi_html/ch04.html#id5455484
3|Using a Pyramid Dictionary|sgi_html/ch04.html#id5455703
4|Advantages|sgi_html/ch04.html#id5455937
4|Disadvantages|sgi_html/ch04.html#id5455953
2|Structure of a Dictionary|sgi_html/ch04.html#id5456012
2|Pyramid Layer Connections|sgi_html/ch04.html#id5456484
3|The Pyramid Layers|sgi_html/ch04.html#id5456516
3|The Pyramid Connections|sgi_html/ch04.html#id5456547
3|Connection List Components|sgi_html/ch04.html#id5456811
3|Creating a Connection List|sgi_html/ch04.html#id5456894
3|Using the Compressed Pyramid API|sgi_html/ch04.html#id5457132
4|Designing a Compressed Pyramid Module|sgi_html/ch04.html#id5457150
4|Dealing with Compressed Elements|sgi_html/ch04.html#id5457229
4|Handling Compression at Non-operational Levels|sgi_html/ch04.html#id5457311
4|A Practical Example|sgi_html/ch04.html#id5457351
2|Chemistry Pyramids|sgi_html/ch04.html#id5457616
2|Data Type Declaration|sgi_html/ch04.html#id5458142
2|The Pyramid API Routines|sgi_html/ch04.html#id5458263
2|Code Examples|sgi_html/ch04.html#id5459318
3|A Simple Example|sgi_html/ch04.html#id5459327
4|C Version:|sgi_html/ch04.html#id5459346
4|Fortran Version:|sgi_html/ch04.html#id5459533
3|More Complex Examples|sgi_html/ch04.html#id5459661
1|Chapter 5. Using the Geometry Data Type|sgi_html/ch05.html
2|Understanding Geometry|sgi_html/ch05.html#id5459723
2|The Geometry Data Type|sgi_html/ch05.html#id5459806
2|Understanding Scene Graphs|sgi_html/ch05.html#id5361078
3|Decoding and Recoding Scene Graphs|sgi_html/ch05.html#id5460338
2|Creating Geometry Modules|sgi_html/ch05.html#id5460534
3|Writing a Geometry Module|sgi_html/ch05.html#id5460579
3|An Example Geometry Module|sgi_html/ch05.html#id5460618
2|Data Type Declaration|sgi_html/ch05.html#id5462191
2|The Geometry API Routines|sgi_html/ch05.html#id5462272
2|Code Examples|sgi_html/ch05.html#id5463008
3|Creating Line Segments|sgi_html/ch05.html#id5463030
4|C++ Version:|sgi_html/ch05.html#id5463075
4|Fortran Version:|sgi_html/ch05.html#id5463104
3|Creating Modules with Inventor Code|sgi_html/ch05.html#id5463181
4|Texturing a Sphere|sgi_html/ch05.html#id5463193
4|A Simple Renderer|sgi_html/ch05.html#id5463246
4|Creating More Geometry|sgi_html/ch05.html#id5463490
4|C Version:|sgi_html/ch05.html#id5463514
4|Fortran Version:|sgi_html/ch05.html#id5463580
1|Chapter 6. Using the Pick Data Type|sgi_html/ch06.html
2|Understanding the Picking Function|sgi_html/ch06.html#id5463792
2|Using the Pick Data Type|sgi_html/ch06.html#id5463955
3|Modules that Read Pick Data|sgi_html/ch06.html#id5464124
3|Modules that Write Pick Data|sgi_html/ch06.html#id5464227
3|The cxPick Structure|sgi_html/ch06.html#id5464285
4|Terminology|sgi_html/ch06.html#id5464315
3|Getting Data on the Hit Object|sgi_html/ch06.html#id5464779
4|Labeling Items in Scene Graphs|sgi_html/ch06.html#id5465313
4|Gathering Shape Information.|sgi_html/ch06.html#id5465455
2|The Data Type Declaration|sgi_html/ch06.html#id5465613
2|The Pick API Routines|sgi_html/ch06.html#id5465741
2|Code Examples|sgi_html/ch06.html#id5466056
3|Reading Pick Data|sgi_html/ch06.html#id5466114
4|C Version:|sgi_html/ch06.html#id5466137
4|Fortran Version|sgi_html/ch06.html#id5466199
3|Writing Pick Data|sgi_html/ch06.html#id5466232
1|Chapter 7. Using the Parameter Data Type|sgi_html/ch07.html
2|Understanding Parameters|sgi_html/ch07.html#id5466375
3|Control Panel Widgets|sgi_html/ch07.html#id5466570
2|The Data Type Declaration|sgi_html/ch07.html#id5466606
3|Fortran Type Enumeration|sgi_html/ch07.html#id5466700
2|Using the Parameter API|sgi_html/ch07.html#id5466729
2|Code Example|sgi_html/ch07.html#id5467270
1|Chapter 8. Creating User-defined Data Types|sgi_html/ch08.html
2|Overview|sgi_html/ch08.html#id5467328
2|Creating a Data Type|sgi_html/ch08.html#id5467468
3|Type Declaration File|sgi_html/ch08.html#id5467525
3|Naming Files and Data Types|sgi_html/ch08.html#id5467717
2|Using the ETL|sgi_html/ch08.html#id5467765
3|Conventions|sgi_html/ch08.html#id5467818
3|Syntax|sgi_html/ch08.html#id5467952
3|Rules for Type Definitions|sgi_html/ch08.html#id5468459
3|Naming Conventions|sgi_html/ch08.html#id5468664
3|Scalar Types|sgi_html/ch08.html#id5468812
4|Signing Integer Types|sgi_html/ch08.html#id5469225
4|Signing Other Scalar Types|sgi_html/ch08.html#id5469256
3|Enumerated Constant Types|sgi_html/ch08.html#id5469449
3|Composition Rules|sgi_html/ch08.html#id5469555
4|Struct Structures|sgi_html/ch08.html#id5469611
4|Switch Structures|sgi_html/ch08.html#id5469731
3|Defining a New Type|sgi_html/ch08.html#id5469875
3|Including Other Type and Header Files|sgi_html/ch08.html#id5470118
3|Structures|sgi_html/ch08.html#id5470271
4|In-line Structures|sgi_html/ch08.html#id5470330
4|Reference-counted Structures|sgi_html/ch08.html#id5470440
4|Differences Between Structures|sgi_html/ch08.html#id5470606
4|Examples of Reference-counted Structures|sgi_html/ch08.html#id5470741
3|Structure Member Declaration|sgi_html/ch08.html#id5470890
3|Array Dimensioning|sgi_html/ch08.html#id5471289
3|Assigning Labels|sgi_html/ch08.html#id5471711
4|Constructing Labels|sgi_html/ch08.html#id5471998
3|Inserting Comments|sgi_html/ch08.html#id5472500
2|Differences between ETL and C|sgi_html/ch08.html#id5472563
3|No Separating Comma|sgi_html/ch08.html#id5472573
3|No Pointer Variables|sgi_html/ch08.html#id5472641
3|No Anonymous Structure Arrays|sgi_html/ch08.html#id5472683
2|Scoping|sgi_html/ch08.html#id5472906
3|Ordering Array Members|sgi_html/ch08.html#id5472928
4|Using Switch Discriminators|sgi_html/ch08.html#id5473097
3|The Resulting C Structure|sgi_html/ch08.html#id5473152
2|Summary of ETL Syntax|sgi_html/ch08.html#id5473425
2|Building a Type Declaration|sgi_html/ch08.html#id5474620
3|Building the Type and Related Files|sgi_html/ch08.html#id5474632
3|What the Files Do|sgi_html/ch08.html#id5474962
2|Visibility of Data Types in Explorer|sgi_html/ch08.html#id5475332
3|In the GUI|sgi_html/ch08.html#id5475346
3|Between Modules|sgi_html/ch08.html#id5475385
2|Application Programming Interface|sgi_html/ch08.html#id5475419
3|API Member Types and Functions|sgi_html/ch08.html#id5475575
4|Functions for All Members|sgi_html/ch08.html#id5475671
4|Functions for Reference-counted Structure|sgi_html/ch08.html#id5475695
4|Functions for Arrays|sgi_html/ch08.html#id5475800
4|Dimensioning arrays|sgi_html/ch08.html#id5475899
4|Functions for Members in a Switch|sgi_html/ch08.html#id5475928
4|Memory Handling|sgi_html/ch08.html#id5476000
3|Fortran Wrappers|sgi_html/ch08.html#id5476030
4|Suppressing char** Routines|sgi_html/ch08.html#id5476091
4|Fortran Bugs|sgi_html/ch08.html#id5476277
3|Location of API ManPages|sgi_html/ch08.html#id5476339
2|Crossing Machine Boundaries|sgi_html/ch08.html#id5476433
2|Example of a User-defined Type|sgi_html/ch08.html#id5476485
3|Test Module 1|sgi_html/ch08.html#id5476562
4|C Version:|sgi_html/ch08.html#id5476608
4|Fortran Version:|sgi_html/ch08.html#id5476681
3|Test Module 2|sgi_html/ch08.html#id5476774
4|C Version:|sgi_html/ch08.html#id5476793
4|Fortran Version:|sgi_html/ch08.html#id5476821
3|Auto-generated Modules|sgi_html/ch08.html#id5476855
1|Chapter 9. Advanced Module Writing|sgi_html/ch09.html
2|Controlling Module Functions|sgi_html/ch09.html#id5476921
3|The Module Wrappers|sgi_html/ch09.html#id5477030
4|Module Control Wrapper|sgi_html/ch09.html#id5477090
4|Module Data Wrapper|sgi_html/ch09.html#id5477167
4|The Generic Wrapper|sgi_html/ch09.html#id5477240
3|Working with Module Wrappers|sgi_html/ch09.html#id5477328
4|Modules Without MDW|sgi_html/ch09.html#id5477423
4|Using the X-MCW Option|sgi_html/ch09.html#id5477632
3|Examples Using X Widgets|sgi_html/ch09.html#id5478028
4|Graphics Library (GL) Example|sgi_html/ch09.html#id5478109
4|C Version:|sgi_html/ch09.html#id5478134
4|Fortran Version:|sgi_html/ch09.html#id5478226
4|XtGLArea Examples|sgi_html/ch09.html#id5478316
4|C Version:|sgi_html/ch09.html#id5478344
4|Fortran Version:|sgi_html/ch09.html#id5478407
2|Sharing Module Executables|sgi_html/ch09.html#id5478520
3|Types of Shared Executable|sgi_html/ch09.html#id5478594
3|Using an Alternate Executable|sgi_html/ch09.html#id5478917
2|Building Loop Controller Modules|sgi_html/ch09.html#id5479006
3|Using the Loop Controller API|sgi_html/ch09.html#id5479120
3|Using Generic Controller Modules|sgi_html/ch09.html#id5479233
4|The For Module|sgi_html/ch09.html#id5479519
3|The cxGeneric Data Type|sgi_html/ch09.html#id5479562
2|Installing Interpreter Modules|sgi_html/ch09.html#id5479671
2|Hook Functions|sgi_html/ch09.html#id5479944
3|Hook Function Calling Sequence|sgi_html/ch09.html#id5480093
3|Writing Hook Functions|sgi_html/ch09.html#id5480310
3|Examples|sgi_html/ch09.html#id5480548
2|Understanding Reference Counting|sgi_html/ch09.html#id5480608
3|Managing Data in Shared Memory|sgi_html/ch09.html#id5480651
3|How Reference Counting Works|sgi_html/ch09.html#id5480739
3|How Explorer Implements Reference Counting|sgi_html/ch09.html#id5480798
3|Reference-Counting Data Types|sgi_html/ch09.html#id5480886
4|Reference Counts for Contained Data Types|sgi_html/ch09.html#id5480941
4|Manipulating Reference Counts|sgi_html/ch09.html#id5481034
3|Shared Memory Arena|sgi_html/ch09.html#id5481071
4|Allocating Memory Efficiently|sgi_html/ch09.html#id5481095
4|Recovering from Memory Errors|sgi_html/ch09.html#id5481171
3|Examples of Memory Recovery|sgi_html/ch09.html#id5481255
4|Example 1|sgi_html/ch09.html#id5481278
4|Example 2|sgi_html/ch09.html#id5481368
4|Example 3|sgi_html/ch09.html#id5481437
4|Example 4|sgi_html/ch09.html#id5481519
4|Example 5|sgi_html/ch09.html#id5481645
2|Extending the Power of Modules|sgi_html/ch09.html#id5481774
3|Communicating with UNIX Processes|sgi_html/ch09.html#id5481820
4|An Example Module|sgi_html/ch09.html#id5481884
4|C Version:|sgi_html/ch09.html#id5481920
3|Timer Events|sgi_html/ch09.html#id5482015
3|Expanding Filenames|sgi_html/ch09.html#id5482154
2|Making Subdirectories for Module Development|sgi_html/ch09.html#id5482262
3|Creating the Directory|sgi_html/ch09.html#id5482385
3|Building Sample Explorer Modules|sgi_html/ch09.html#id5482545
3|Setting Up a Personal Module Tree|sgi_html/ch09.html#id5482748
2|Support for Multiprocessing Modules|sgi_html/ch09.html#id5483117
3|Building a Multiprocessing Module|sgi_html/ch09.html#id5483141
4|Controlling a Multiprocessing Module|sgi_html/ch09.html#id5483372
1|Chapter 10. Module Prototyping with Shape|sgi_html/ch10.html
2|Overview|sgi_html/ch10.html#id5483520
2|The LatFunction Module|sgi_html/ch10.html#id5483683
3|The Basic LatFunction Module|sgi_html/ch10.html#id5483754
3|The LatFunction-based Module|sgi_html/ch10.html#id5484069
4|Input Ports|sgi_html/ch10.html#id5484097
4|Output Ports|sgi_html/ch10.html#id5484290
3|Interfacing to Explorer Data Types|sgi_html/ch10.html#id5484636
3|Building a LatFunction-based Module|sgi_html/ch10.html#id5484768
2|Prototyping on the Fly|sgi_html/ch10.html#id5484914
2|Shape Language Particulars|sgi_html/ch10.html#id5485143
3|Resemblances to C|sgi_html/ch10.html#id5485160
3|Differences from C|sgi_html/ch10.html#id5485392
4|Lattice Manipulations|sgi_html/ch10.html#id5485410
4|The define Operator (:=)|sgi_html/ch10.html#id5486023
4|Promotion of Arrays|sgi_html/ch10.html#id5486371
4|Reduction of Arrays|sgi_html/ch10.html#id5486444
3|Other Operators|sgi_html/ch10.html#id5486607
3|Data Types|sgi_html/ch10.html#id5486736
3|Function Declaration Syntax|sgi_html/ch10.html#id5486894
3|Loop Syntax|sgi_html/ch10.html#id5487005
4|For Loop|sgi_html/ch10.html#id5487039
4|While Loop|sgi_html/ch10.html#id5487082
4|Continue and Break|sgi_html/ch10.html#id5487109
3|Issues of Scope|sgi_html/ch10.html#id5487125
3|Additional Features|sgi_html/ch10.html#id5487179
4|Copy|sgi_html/ch10.html#id5487278
4|Scatter and Gather|sgi_html/ch10.html#id5487371
4|Shape|sgi_html/ch10.html#id5487577
4|Allocate|sgi_html/ch10.html#id5487670
4|Slice|sgi_html/ch10.html#id5487915
4|Subshape|sgi_html/ch10.html#id5488178
4|Stack|sgi_html/ch10.html#id5488312
4|SendIndices|sgi_html/ch10.html#id5488411
4|Min and Max|sgi_html/ch10.html#id5488513
4|DotProduct (+.*)|sgi_html/ch10.html#id5488557
4|BitProduct (|.&amp;)|sgi_html/ch10.html#id5488717
4|Conditional Evaluation (?:)|sgi_html/ch10.html#id5488756
3|Changing Promotion and Reduction Order|sgi_html/ch10.html#id5488890
4|Inside|sgi_html/ch10.html#id5488915
4|Outside|sgi_html/ch10.html#id5489109
4|InsideOut|sgi_html/ch10.html#id5489181
2|Data Output from Shape|sgi_html/ch10.html#id5489249
3|Scalar_lattice_in and Scalar_lattice_out|sgi_html/ch10.html#id5489484
3|List Operators|sgi_html/ch10.html#id5489573
4|List|sgi_html/ch10.html#id5489853
4|List_first and List_rest|sgi_html/ch10.html#id5489935
4|Handling Perimeter Lattice Coordinates|sgi_html/ch10.html#id5489995
4|Map and Apply|sgi_html/ch10.html#id5490105
4|Pair_p and Null_p|sgi_html/ch10.html#id5490346
2|The Module Prelude and Postlude|sgi_html/ch10.html#id5490413
3|Prelude Set-up Functions|sgi_html/ch10.html#id5490481
3|Prelude Execution Functions|sgi_html/ch10.html#id5490692
3|Postlude Functions|sgi_html/ch10.html#id5490772
2|Shape Function Tables|sgi_html/ch10.html#id5490872
2|Sample Programs for LatFunction|sgi_html/ch10.html#id5495843
3|To Create a Test Volume|sgi_html/ch10.html#id5495854
3|To Carry Out a Color Transform|sgi_html/ch10.html#id5495969
3|To Generate a Heat Flux|sgi_html/ch10.html#id5496052
1|Appendix A. Using Makefiles|sgi_html/apa.html
2|Creating a Module|sgi_html/apa.html#id5496285
3|Installing a Module|sgi_html/apa.html#id5496405
3|Build and Installation Options|sgi_html/apa.html#id5496465
2|Generating Makefiles|sgi_html/apa.html#id5496721
3|Make Clean|sgi_html/apa.html#id5496788
3|The MODULES File|sgi_html/apa.html#id5496920
2|Using Imake in Module Building|sgi_html/apa.html#id5496953
2|Using Generated Makefiles|sgi_html/apa.html#id5497051
2|Default Makefile Actions|sgi_html/apa.html#id5497715
3|Installing Credit Files|sgi_html/apa.html#id5497818
1|Appendix B. The Firing Algorithm|sgi_html/apb.html
2|Module Firing|sgi_html/apb.html#id5497968
3|Handling Topology Changes|sgi_html/apb.html#id5498661
3|Using Frames for Data Ordering|sgi_html/apb.html#id5498696
3|Identifying Frames|sgi_html/apb.html#id5498879
4|Propagation of Frame IDs|sgi_html/apb.html#id5498977
4|Frame Ordering|sgi_html/apb.html#id5499055
3|Frame Construction|sgi_html/apb.html#id5499143
4|Setting Frame Dependences|sgi_html/apb.html#id5499327
3|Sending Data Downstream|sgi_html/apb.html#id5499380
3|Handling Fan-in Connections|sgi_html/apb.html#id5499651
3|Merging Frames on Input Ports|sgi_html/apb.html#id5499737
4|Disabled Modules|sgi_html/apb.html#id5499852
3|Incorporating Parameters|sgi_html/apb.html#id5499867
4|Setting Widgets|sgi_html/apb.html#id5499902
1|Index|sgi_html/ix01.html
# figures |
4|Figure 1-1. The Module Builder Window for C Users|sgi_html/ch01.html#id5363611
4|Figure 1-2. The Module Builder Window for Fortran Users|sgi_html/ch01.html#id5363633
4|Figure 1-3. Module Builder File Menu|sgi_html/ch01.html#id5363741
4|Figure 1-4. Input Ports Window|sgi_html/ch01.html#id5363859
5|Figure 1-5. The Lattice Constraints Window|sgi_html/ch01.html#id5364019
4|Figure 1-6. The Output Ports Window|sgi_html/ch01.html#id5435555
4|Figure 1-7. Lattice Constraints for the Output Port|sgi_html/ch01.html#id5435640
4|Figure 1-8. The Function Args Window for C Users|sgi_html/ch01.html#id5436448
4|Figure 1-9. The Function Args Window for Fortran Users|sgi_html/ch01.html#id5436528
4|Figure 1-10. The Connections Window|sgi_html/ch01.html#id5436654
4|Figure 1-11. Input Port Popup Menu|sgi_html/ch01.html#id5436744
5|Figure 1-12. Setting Storage Size for C Users|sgi_html/ch01.html#id5437179
5|Figure 1-13. Setting Storage Size for Fortran Users|sgi_html/ch01.html#id5437194
3|Figure 1-14. Control Panel Editor and Control Panel|sgi_html/ch01.html#id5437287
4|Figure 1-15. Menu Bar Editor|sgi_html/ch01.html#id5437521
4|Figure 1-16. Menu Editor|sgi_html/ch01.html#id5437623
4|Figure 1-17. Build Options Menu|sgi_html/ch01.html#id5437720
4|Figure 1-18. Build Menu Options|sgi_html/ch01.html#id5437915
4|Figure 2-1. Module Builder Main Window|sgi_html/ch02.html#id5438446
5|Figure 2-2. Input Ports Window|sgi_html/ch02.html#id5440015
4|Figure 2-3. Lattice Constraints Window|sgi_html/ch02.html#id5440406
5|Figure 2-4. Sequence of Type Coercions|sgi_html/ch02.html#id5441071
5|Figure 2-5. The Pyramid Constraints Window|sgi_html/ch02.html#id5441473
4|Figure 2-6. Output Port Window|sgi_html/ch02.html#id5441703
5|Figure 2-7. Function Arguments Window for a C Function|sgi_html/ch02.html#id5442178
5|Figure 2-8. Function Arguments Window for a Fortran Subroutine|sgi_html/ch02.html#id5442269
4|Figure 2-9. Connections Window|sgi_html/ch02.html#id5443108
5|Figure 2-10. Connections Menu for the &#8220;Molecule&#8221; Port|sgi_html/ch02.html#id5443340
5|Figure 2-11. Highlights in the Connections Window|sgi_html/ch02.html#id5443495
5|Figure 2-12. Setting a Constant Value for a Function Argument|sgi_html/ch02.html#id5443823
5|Figure 2-13. Copy Buttons|sgi_html/ch02.html#id5444291
3|Figure 2-14. The Prototypes Menu|sgi_html/ch02.html#id5444535
4|Figure 2-15. Function Prototype Window|sgi_html/ch02.html#id5444633
3|Figure 2-16. The Build Menu|sgi_html/ch02.html#id5445015
4|Figure 2-17. The Build Options Menu|sgi_html/ch02.html#id5445063
3|Figure 3-1. Data Flow Between Input and Output Lattices|sgi_html/ch03.html#id5447775
4|Figure 3-2. Schematic Structure of the Lattice Data Type|sgi_html/ch03.html#id5448049
5|Figure 3-3. Lattice Variables|sgi_html/ch03.html#id5449724
3|Figure 3-4. Storing a Lattice|sgi_html/ch03.html#id5449840
4|Figure 3-5. Array Neighbors|sgi_html/ch03.html#id5449904
4|Figure 3-6. Storing Data Values|sgi_html/ch03.html#id5449968
5|Figure 3-7. A 2-D Uniform Lattice Structure|sgi_html/ch03.html#id5450495
5|Figure 3-8. A 3-D Uniform Lattice Structure|sgi_html/ch03.html#id5450681
5|Figure 3-9. Data Set for a 2-D Perimeter Lattice|sgi_html/ch03.html#id5450813
5|Figure 3-10. Storing Perimeter Coordinates|sgi_html/ch03.html#id5450873
5|Figure 3-11. Example of a 3-D Perimeter Lattice|sgi_html/ch03.html#id5450942
5|Figure 3-12. Storing Curvilinear Coordinates|sgi_html/ch03.html#id5451087
5|Figure 3-13. A 1-D Curvilinear Lattice|sgi_html/ch03.html#id5451222
5|Figure 3-14. 2-DCurvilinear Lattice|sgi_html/ch03.html#id5451350
5|Figure 3-15. 3-Durvilinear Lattices|sgi_html/ch03.html#id5451493
3|Figure 3-16. Defining Lattice Constraints|sgi_html/ch03.html#id5451646
4|Figure 4-1. Pyramid Dictionary Reference Elements|sgi_html/ch04.html#id5454803
4|Figure 4-2. Memory Layout of a 2-D Lattice|sgi_html/ch04.html#id5455371
4|Figure 4-3. Layers in a Tetrahedral Grid|sgi_html/ch04.html#id5455516
4|Figure 4-4. Top and Bottom of Compressed Tetrahedral Grid|sgi_html/ch04.html#id5455656
4|Figure 4-5. Layers in a Compressed Grid|sgi_html/ch04.html#id5455875
4|Figure 4-6. Connections in a Tetrahedron|sgi_html/ch04.html#id5456863
5|Figure 4-7. Preprocessing a Pyramid Dictionary|sgi_html/ch04.html#id5457429
3|Figure 5-1. Schematic Structure of the Geometry Data Type|sgi_html/ch05.html#id5459978
3|Figure 5-2. Inventor Scene Graph|sgi_html/ch05.html#id5460247
4|Figure 5-3. Node Relationships|sgi_html/ch05.html#id5460512
4|Figure 5-4. Modifying a Color Node (Stage 1)|sgi_html/ch05.html#id5460098
4|Figure 5-5. Modifying a Color Node (Stage 2)|sgi_html/ch05.html#id5460163
4|Figure 5-6. Modifying a Color Node (Stage 3)|sgi_html/ch05.html#id5462169
5|Figure 5-7. Output from Geometry Example|sgi_html/ch05.html#id5463668
5|Figure 6-1. Schematic Structure of the Pick Data Type|sgi_html/ch06.html#id5464755
4|Figure 6-2. Schematic Structure of the PickHit Data Type|sgi_html/ch06.html#id5465292
5|Figure 6-3. The Pick Map|sgi_html/ch06.html#id5465396
3|Figure 7-1. Schematic Structure of the Parameter Type|sgi_html/ch07.html#id5466529
4|Figure 8-1. Explorer Types Information Flow|sgi_html/ch08.html#id5475310
3|Figure 9-1. Spectrum of Module Complexity|sgi_html/ch09.html#id5477011
4|Figure 9-2. The Module Structure|sgi_html/ch09.html#id5477070
5|Figure 9-3. Output from the XGLArea Routine|sgi_html/ch09.html#id5478473
4|Figure 9-4. The Hook Function Window|sgi_html/ch09.html#id5480469
4|Figure 10-1. The LatFunction Module Control Panel|sgi_html/ch10.html#id5483936
5|Figure 10-2. How Shape Assigns Variable Names|sgi_html/ch10.html#id5484449
4|Figure 10-3. LatFunction in the testVol Map|sgi_html/ch10.html#id5495922
4|Figure 10-4. Output from the color-xform Map|sgi_html/ch10.html#id5496031
4|Figure 10-5. Output from the heat-flux Map|sgi_html/ch10.html#id5496136
3|Figure B-1. Map Topology|sgi_html/apb.html#id5498632
4|Figure B-2. Multiple Firing in a Map|sgi_html/apb.html#id5498756
5|Figure B-3. Frame Identifiers|sgi_html/apb.html#id5499033
4|Figure B-4. Map Firings|sgi_html/apb.html#id5499166
4|Figure B-5. Frame Assembly|sgi_html/apb.html#id5499307
4|Figure B-6. Parallel Data Flows|sgi_html/apb.html#id5499580
4|Figure B-7. Data Handling in a Module|sgi_html/apb.html#id5499770
# tables |
4|Table 1-1. Function Arguments for the C Function|sgi_html/ch01.html#id5436001
4|Table 1-2. Function Arguments for the Fortran Subroutine|sgi_html/ch01.html#id5436221
4|Table 2-1. Colormap Lattice Constraints|sgi_html/ch02.html#id5440501
5|Table 2-2. Primitive Data Types in C and Fortran|sgi_html/ch02.html#id5442357
5|Table 2-3. Function Argument References|sgi_html/ch02.html#id5442727
4|Table 3-1. Lattice Primitive Types|sgi_html/ch03.html#id5450212
3|Table 3-2. Lattice Subroutines|sgi_html/ch03.html#id5362443
4|Table 4-1. Standard Dictionary Reference Elements|sgi_html/ch04.html#id5454871
3|Table 4-2. User-defined Values in the Chemistry Pyramid|sgi_html/ch04.html#id5457832
3|Table 4-3. Pyramid Subroutines|sgi_html/ch04.html#id5458420
3|Table 4-4. Pyramid Dictionary Subroutines|sgi_html/ch04.html#id5458896
3|Table 5-1. Geometry Subroutines|sgi_html/ch05.html#id5462333
3|Table 6-1. Pick Subroutines|sgi_html/ch06.html#id5465821
3|Table 7-1. Parameter Subroutines|sgi_html/ch07.html#id5466913
4|Table 8-1. Scalar Types in Explorer|sgi_html/ch08.html#id5468880
4|Table 8-2. A Simple-typed Member|sgi_html/ch08.html#id5471142
4|Table 8-3. Labels on Lattice Scalars|sgi_html/ch08.html#id5471793
3|Table 8-4. Member of a Data Type|sgi_html/ch08.html#id5475453
5|Table 9-1. X Window API Subroutines|sgi_html/ch09.html#id5477822
4|Table 9-2. While Module Ports|sgi_html/ch09.html#id5479364
3|Table 9-3. Interperter Module Files|sgi_html/ch09.html#id5479746
4|Table 10-1. Data Types in C and Shape|sgi_html/ch10.html#id5486802
3|Table 10-2. C-like Functions in Shape|sgi_html/ch10.html#id5490893
3|Table 10-3. Functions Specific to Shape|sgi_html/ch10.html#id5494231
3|Table A-1. User-definable make Variables|sgi_html/apa.html#id5497181
3|Table A-2. System-required Variables|sgi_html/apa.html#id5497527
3|Table B-1. Topology Influence Table for DisplayImg|sgi_html/apb.html#id5498234
# examples |
# procedures |
# helpids |

