Bookshelf Contents Previous Next Glossary Index Search

Introduction

The Alias API provides developers with access to Alias' internal data. This is done through two products based on the Alias API, OpenModel and OpenAlias. Alias OpenModel (OM) provides a programmer's interface to the Alias wire file (our proprietary data files), while OpenAlias (OA) provides a programmer's interface to the Alias application.

What is the Alias API?

The Alias API is a set of C++ classes that define an interface to the data structures in an Alias wire file (OpenModel) or within Alias (OpenAlias).

The Alias API is written in C++ and is supplied as C++ classes. Most of the discussion in this document is intended for C++ programmers, and we assume that you understand the C++ concepts of classes and inheritance, and have a familiarity with the Alias interactive software.

The components of the API are:

It is particularly important to read the API specific release notes to learn what changes have occurred in the API since the last release.

What Can the Alias API Do?

A brief list of some of the possibilities includes

Plug-ins can be written using OpenAlias, which can read or write new file formats and can interactively generate geometry, lights, and shaders. Many standalone OpenModel applications can be easily converted into OpenAlias plug-ins.

What Can't the Alias API Do?

The Alias API does not give access to all functions in Alias. You do not have access to functions such as birail. However, with each release we provide more functionality to the API programmer. Note that new classes and new methods within existing classes are listed at the end of this document.

Who needs OpenModel?

The Alias wire file format is a binary format and is therefore not modifiable without proprietary knowledge of Alias data structures. We have therefore provided a library that insulates developers from the details of the file format and from any future changes in the file format. Since a library is available to read, write, and query wire files, developers do not need to make software changes to accommodate wire file changes. Re-linking with a new wire file library is sufficient.

With this library, you can:

Who needs OpenAlias?

If C++ developers want to interact with data internal to the interactive Alias package, then OpenAlias is for them. With OpenAlias it is possible to:

OpenModel versus OpenAlias

Deciding whether to use OpenModel or OpenAlias is largely a simple matter of deciding whether instantaneous response is a concern. OpenModel allows for the development of stand-alone applications which can operate on several files one after another, or can be launched from a script, and therefore requiring little interaction with a user.

OpenAlias on the other hand is meant for developers who need instant feedback or wish to integrate new custom features into Alias. The results of using a plug-in appear immediately on the screen.

Still unsure? If so, then it is likely best to start developing plug-ins. OpenAlias generally provides a tighter integration with Alias providing a greater number of possible solutions to design decisions.

General Usage of This Document

The body of this document assumes a knowledge of the Alias interactive software. The Alias package is far too complex to explain adequately in these pages, so the Alias manual should be at hand for any unfamiliar terms.

Where do I start?

Within the API there is an object called the "Universe", which contains all geometry, lights, cameras and clusters for a model, as well as animation and rendering data. Developers can use the Alias API to change the universe and its contents.

Understanding the Alias universe and the class hierarchy is the best way to get started.

Documentation Notes

In the documentation, the characters "<", ">" and "|" are used to indicate how an argument is used by a method.

< indicates that an argument is used as input into the method

> indicates that an argument is used as output

| indicates that an argument is used for both input and output by a method.



Bookshelf Contents Previous Next Glossary Index Search

[email protected]
Copyright © 1998, Alias|Wavefront, a division of Silicon Graphics Limited. All rights reserved.