IRIS Explorer Module Writer's Guide

Document Number: 007-1369-020

Front Matter

| List of Figures | List of Tables |


Table of Contents

Introduction
About This Guide
Contents of This Guide
Conventions Used in This Guide

1. Building a Module
Introduction to Module building
Creating the User Function
Setting up your Build Environment
Defining the Internal Structure
Defining the User Interface
Building the Module

2. Understanding the Module Builder
Creating a User Function
Running the Module Builder
The Main Window
Creating Ports
Defining Function Arguments
Creating File Prototypes
Using the Build Menu
Configuring the Build Environment
Examples of Simple Modules

3. Using the Lattice Data Type
Understanding Lattices
Manipulating Lattices
Limiting Lattice Values
Lattice Examples
The Data Type Declaration
The Lattice API Routines
Code Examples

4. Using the Pyramid Data Type
Understanding Pyramids
Finite Element Pyramids
Structure of a Dictionary
Pyramid Layer Connections
Chemistry Pyramids
Data Type Declaration
The Pyramid API Routines
Code Examples

5. Using the Geometry Data Type
Understanding Geometry
The Geometry Data Type
Understanding Scene Graphs
Creating Geometry Modules
Data Type Declaration
The Geometry API Routines
Code Examples

6. Using the Pick Data Type
Understanding the Picking Function
Using the Pick Data Type
The Data Type Declaration
The Pick API Routines
Code Examples

7. Using the Parameter Data Type
Understanding Parameters
The Data Type Declaration
Using the Parameter API
Code Example

8. Creating User-defined Data Types
Overview
Creating a Data Type
Using the ETL
Differences between ETL and C
Scoping
Summary of ETL Syntax
Building a Type Declaration
Visibility of Data Types in Explorer
Application Programming Interface
Crossing Machine Boundaries
Example of a User-defined Type

9. Advanced Module Writing
Controlling Module Functions
Sharing Module Executables
Building Loop Controller Modules
Installing Interpreter Modules
Hook Functions
Understanding Reference Counting
Extending the Power of Modules
Making Subdirectories for Module Development
Support for Multiprocessing Modules

10. Module Prototyping with Shape
Overview
The LatFunction Module
Prototyping on the Fly
Shape Language Particulars
Data Output from Shape
The Module Prelude and Postlude
Shape Function Tables
Sample Programs for LatFunction

A. Using Makefiles
Creating a Module
Generating Makefiles
Using Imake in Module Building
Using Generated Makefiles
Default Makefile Actions

B. The Firing Algorithm
Module Firing

Index