Encapsulates the retrieval, data access and storage of Alias Wire Files. 
         
            
            Synopsis 
            
            
            
#include <AlUniverse.h>
class AlUniverse : public AlMessage
enum AlFileType {
	kUnknown,	// File type is unknown and will be ignored by ::retrieve().
	kWire,	// Autodesk Wire File
	kIges,	// Initial Graphics Exchange Standard
	kVdais,	// Verband Der Automobilindustrie IGES Subset
	kC4x,	// EDS/GM format.
	kJamais,	// Japan Automobile Manufacturers Association IGES Subset.
	kVdafs,	// Verband Der Automobilindustrie Freeform Surface Interface.
	kDxf,	// Drawing Exchange Format
	// The file types below are available only in OpenAlias.
	kDes,	// EDS/GM Data Exchange Standard
	kTri,	// Autodesk Object Separated Triangle Format
	kQuad,	// Autodesk Object Separated Quad Format
	kProRender,	// Pro/Engineer Render File Format.
	kInventor,	// OpenInventor Metafile Subset V1.0
	kStl,	// 3D Systems SLA Format
	kObj,	// Autodesk TAV format.
	kEpsf,	// Adobe Encapsulated Postscript v2.x
	kIllustrator,	// Illustrator Format.
	kSlc	// 3D Systems Slice Format.
};
// Project subdirectory types.
// These indicate the subdirectories where different types of files are
// located.
enum AlDirectoryType {
kAnimData,	// Animation data (Save Anim / Retrieve Anim)
kCanvasData,	// Paint canvas files
kDepthData,	// Depth files
kEnvironmentData,	// Environment files (saved/retrieved via
							//					  multi-lister)
kLightData,			// Light files (saved/retrieved via multi-lister)
kMaskData,			// Mask files
kMiscData,			// Miscellaneous data files: color, window and so on.
kOptionData,		// UI option files
kPixData,			// Image files for file textures, image planes and so on.
kPlotData,			// Plot files
kRibData,			// Pixar RIB files
kSlaData,			// Stereo Lithography files (.stl, .slc, .tri)
kSdlData,			// Scene Description Files
kShaderData,		// Shader files (saved/retrieved via multi-lister)
kStageData,			// Wire files representing stages.
kTextureData,		// Texture files (saved/retrieved via multi-lister)
kWireData			// Wire files an CAD files (for example, IGES, DXF, and so on.)
};
enum AlApplicationMode
{
kOpenModel,
kOpenAlias
};
enum AlLayerSortMode{
kLayerNumber,
kLayerName		
};
static statusCode			initialize( AlCoordinateSystem = kZUp,
boolean initProjectEnv = FALSE  );
static boolean	isInitialized();
static AlCoordinateSystem	coordinateSystem ();
static statusCode	expandFileName( char[], const char *,
AlDirectoryType directoryType );
static boolean	isWireFile( const char *, char * );
static boolean AlUniverse::isOldWireFile( const char *fileName );
static statusCode	wireFileWindowSize( int &sizeX, int &sizeY );
static statusCode	setWireFileWindowSize( int sizeX, int sizeY );
static AlFileType	fileType( const char * );
static statusCode	retrieveOptions( AlRetrieveOptions& );
static statusCode	setRetrieveOptions( const AlRetrieveOptions& );
static statusCode	retrieve( const char * );
static statusCode	retrieve( const char *, void(*)(int) );
static const char*	lastWireFileRetrieved();
static const char*	lastFileSaved();
static statusCode	store( const char *, AlDagNode* = NULL );
static statusCode	storeActive( const char * );
static AlDagNode*	firstDagNode();
static AlSet*	firstSet();
static AlCluster*	firstCluster();
static const char*	currentStage( void );
static statusCode	setCurrentStage( const char* );
static statusCode	mergeStage( const char* );
static statusCode	mergeAllStages( void );
static statusCode	deleteStage( const char* );
static statusCode	deleteAllStages( void );
static statusCode	stageVisibility( const char *, boolean& );
static statusCode	setStageVisibility( const char *, boolean );
static const char*	stageWindowSource( void );
static statusCode	setStageWindowSource( const char * );
static const char*	stageBackgroundSource( void );
static statusCode	setStageBackgroundSource( const char * );
static statusCode	renameStage( const char *, const char * );
static AlList*	stageNames( void );
static statusCode	createNewStage( const char *, char*& );
static statusCode	retrieveStageSet( const char *,boolean );
static statusCode	saveStageSet( const char *);
static statusCode	setStageWireFileName( const char *, const char * );
static const char*	stageWireFileName( const char * );
static AlWindow*	firstWindow();
static AlWindow*	currentWindow();
static AlWindow*	sbdWindow();
static AlImagePlane*	firstImagePlane();
static statusCode	blindData( int, long&, const char*& );
static statusCode	blindData( int, int, long&, const char*& );
static statusCode	setBlindData( int, long, const char* );
static statusCode	removeBlindData( int );
static statusCode	removeBlindData( int, int );
static AlChannel*	firstChannel();
static AlChannel*	nextChannel(AlChannel *);
static statusCode	nextChannelD( AlChannel *);
static AlAction*	firstAction();
static AlAction*	nextAction(AlAction *);
static AlShader*	firstShader();
static AlShader*	nextShader( AlShader* );
static statusCode	nextShaderD( AlShader* );
static AlEnvironment*	firstEnvironment();
static AlLayer*	firstLayer();
static AlLayer*	nextLayer( AlLayer* );
static statusCode	nextLayerD( AlLayer* );
static AlLayer*	layerByNumber(int);
static AlLayer*	creationLayer();
static statusCode	setCreationLayer(AlLayer *);
static boolean	layersEnabled();
static statusCode	setLayersEnabled( boolean );
static statusCode	sortLayersInLayersBar(AlLayerSortMode);
static AlPerspectiveCamera*	firstCamera();
static AlPerspectiveCamera*	nextCamera( AlPerspectiveCamera* );
static statusCode	nextCameraD( AlPerspectiveCamera* );
static AlLocator*	firstLocator();
static AlLocator*	nextLocator(AlLocator *);
static statusCode	deleteAll();
static statusCode	deleteAllLocators();
static AlConstructionEntity*	firstConstructionEntity();
static AlConstructionEntity*	nextConstructionEntity(AlConstructionEntity *);
static statusCode	nextConstructionEntityD(AlConstructionEntity *);
static statusCode       	deleteAllConstructionEntities();
static statusCode	importCloudFile( const char *, int );
static AlCloud	*firstCloud();
static int	numberOfClouds();
static AlBlendCurve*	firstBlendCurve();
static int	numberOfBlendCurves();
static statusCode	redrawScreen( unsigned int flags = kRedrawInactive | kRedrawActive );
static statusCode	applyIteratorToImagePlanes( AlIterator*, int& );
static statusCode	applyIteratorToWindows( AlIterator *, int& );
static statusCode	applyIteratorToDagNodes( AlIterator *, int& );
static statusCode	applyIteratorToActions( AlIterator *, int& );
static statusCode	applyIteratorToChannels( AlIterator *, int& );
static statusCode	applyIteratorToSets( AlIterator *, int& );
static statusCode	applyIteratorToClusters( AlIterator *, int& );
static statusCode	applyIteratorToShaders( AlIterator *, int& );
static statusCode	applyIteratorToLocators(AlIterator *, int &);
static statusCode	applyIteratorToLayers(AlIterator *, int &);
static statusCode	applyIteratorToClouds(AlIterator *, int &);
static statusCode	applyIteratorToBlendCurves(AlIterator *, int &);
static statusCode	writeSDLNoAnimation( const char *, boolean );
static statusCode	writeSDL( const char *, boolean, double, double, double );
static statusCode	frameRange(AlFrameRangeType, double&, double&, double&);
static double	currentTime();
static statusCode	doUpdates( boolean = TRUE );
static boolean	updatesOn()	
static AlApplicationMode	applicationMode();
static statusCode	userPrefColor( int, int&, int&, int& );
static statusCode	setUserPrefColor( int, int, int, int );
static boolean	constructionPlaneInEffect();
static statusCode	constructionPlaneTransform( AlTM& );
static AlCategory	*firstCategory();
static AlCategory	*nextCategory(AlCategory *);
 
         
            
            Description 
            
            
            This is a static class in that all of its member functions are static. It provides the foundation on which to interface with
               Alias Wire Files (OpenModel) or with Alias directly (via OpenAlias). 
            
            
            In Alias, there is the concept of a ’stage’, an independent entity that encapsulates all the top-level information about a modeling
               environment. The stage effectively represents the running version of an individual Wire file. In the interactive package,
               stages can be controlled through the Stage Editor. The identical control also exists in the AlUniverse class, via the Stage
               functions. These let you switch between stages, create and destroy stages, merge stages, and alter their features. 
            
            
            OpenAlias and OpenModel use object data that defines, among other things, transformations, curve and surface geometry, cameras,
               and lights. Transformations are kept in objects called "DAG nodes". DAG nodes can be connected to other DAG nodes to form
               a list of DAG nodes. There are particular types of DAG nodes which refer specifically to geometry, cameras, lights, or refer
               to another list of DAG nodes to form a hierarchical structure. Together, these different types of DAG nodes can be used to
               build a list of hierarchical structures which is collectively called a directed acyclic graph or "DAG". 
            
            
            The AlUniverse class gives access to the first DAG node in the DAG, and from that DAG node, the list of all DAG nodes in the
               universe can be traversed. 
            
            
            The object data may also contain animation information on various animatable items, such as a DAG node or a piece of geometry.
               The animation information can be accessed through the item that is animated. The AlUniverse class also gives access to animation
               data through global lists. 
            
            
            Geometry also contains shading information. Each surface or face (a particular kind of curve) contains a list of shaders.
               The AlUniverse class also gives access to a global list of all shaders in the universe, as well as the single environment
               class. 
            
            
            The AlUniverse class also gives access to the list of sets in the universe via the firstSet() method. Similarly, the firstCluster()
               method gives access to all the clusters in the universe. However, clusters are also accessible through methods in the classes
               that can belong to clusters (that is, AlDagNode, AlCurveCV and AlSurfaceCV). A cluster is an object in the DAG that has a
               collection of DAG nodes and/or CVs. The transformations in the DAG nodes above the cluster are applied to the CVs in the cluster
               after the latter’s own transformations have been applied. 
            
            
            AlUniverse provides base access to the ImagePlane list and the Window list through firstImagePlane(), firstWindow() and related
               functions. 
            
            
            Whenever a new Alias object of any kind is created, it is added to the appropriate place in the universe. For example, if a DAG node is created,
               it is traversable through the AlUniverse::firstDagNode() method. If a new animation action is created, it is accessible by
               walking the list of actions via AlUniverse::firstAction()/nextAction(). 
            
            
            However, there are a few exceptions. The AlCurve, AlFace, AlSurface and AlKeyframe classes can all be created and will not
               be part of the universe initially. They will become part of the universe when they are added to other objects. For example,
               an AlCurve becomes part of the universe when its AlCurveNode is created. An AlKeyframe becomes part of the universe when its
               AlParamAction is created. If a class is not part of the universe, this means that if AlUniverse::store() is called, that class
               will not be stored. If an OpenAlias plug-in exits without making an object part of the universe, then the data will be lost
               and wasted memory will result. 
            
            
            The initialize method must be called before any other AlUniverse method is called. A Alias AlObject cannot be created until the initialize method is called. 
            
            
          
         
            
            statusCode AlUniverse::doUpdates( boolean newState )
            
            
            
               
               Description
               
               
                Notifies the system that you are finished performing. If this flag is TRUE, then it is equivalent to sending out a ’geometry
                  modified’ message to the rest of the system. When the system receives the update message, then operations such as construction
                  history, and so on are done. If the previous state of the flag was FALSE and the new state is TRUE, then an update will be
                  done now and on each subsequent DAG modification. 
               
               
             
            
          
         
            
            boolean AlUniverse::isInitialized()
            
            
            
               
               Description
               
               
                Returns TRUE if the initialize method has been called. 
               
             
            
          
         
            
            statusCode AlUniverse::initialize( AlCoordinateSystem up, boolean initProjectEnv )
            
            
            
               
               Description
               
               
                Initializes the OpenAlias/OpenModel environment so that Alias object data can be retrieved, created, and/or stored. The world space coordinate system of the Universe can be oriented so
                  that either the positive Y-axis or positive Z-axis is considered the "up" direction. This method will do nothing if called
                  more than once. By default OpenModel applications are not aware of the Alias project environment (for example, user_data/demo/wire etc). By passing TRUE as the second argument, the OpenModel application
                  will become aware of the Alias project environment, expect such an environment to exist, and will use it for locating files. The .Alias* setup files will
                  be read and processed. However, unlike Alias, when the OpenModel application starts, if the project environment does not exist, it will not be created, and the application
                  will proceed in the default manner. Note that the arguments have no effect when initialization occurs under OpenAlias. That
                  is, the world space coordinate system and the project environment are determined by the running Alias application. 
               
               
             
            
            
               
               Arguments
               
               
               < up - indicates whether the y-axis (kYUp) or z-axis (kZUp) should be the up direction. If no argument is specified, the default
                  is kZUp. This parameter has no effect when using OpenAlias. 
               
               
               < initProjectEnv - indicates whether the OpenModel application is to be aware of the Alias project environment or not. The default if FALSE. 
               
               
             
            
            
               
               Return Codes
               
               
               sSuccess - universe initialized
               
               sAlreadyCreated - the universe is already initialized
               
               sInsufficientMemory - not enough memory to initialize
               
               sFailure - could not initialize
               
               sNoProjectEnvironment - this will be the case if initProjEnv is TRUE and Alias project environment does not exist.
               
               
             
            
          
         
            
            boolean AlUniverse::isOldWireFile( const char *fileName )
            
            
            
               
               Description
               
               
               Determine if a file is an old Alias wire file.
               
             
            
            
               
               Return values
               
               
               TRUE - the indicated file is a valid Wire file
               
               FALSE - one of the arguments was invalid or the file was not a Wire file.
               
             
            
          
         
            
            AlCoordinateSystem AlUniverse::coordinateSystem()
            
            
            
               
               Description
               
               
                Returns the current world space coordinate system of the Universe. Note that once AlUniverse::initialize has been called,
                  or while running under OpenAlias, the coordinate system will never change during "this" session. 
               
               
             
            
            
               
               Return values
               
               
               kYUp - positive Y-axis is "up"
               
               kZUp - positive Z-axis is "up"
               
             
            
          
         
            
            statusCode AlUniverse::expandFileName( char expandedName[], const char *fileName, AlDirectoryType directoryType )
            
            
            
               
               Description
               
               
                Given a filename, expands to an absolute pathname based on the file’s type and Alias project environment. 
               
               
             
            
            
               
               Arguments
               
               
               > expandedName - location to return expanded filename. 
               
               < fileName - name of the file to locate within the project environment. Must not contain leading slashes or dots. 
               
               < directoryType - the type of project subdirectory where the file is located. (See AlUniverse.h for possible values. 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the fully expanded name was successfully constructed and the file exists
               
               sInvalidArguments - the passed filename is already absolute (contains leading ’/’), or is relative (contains
               
               leading ’..’), or the directory type is invalid
               
               sNoProjectEnvironment - the returned path does not exist. This may be because the Alias project environment does not exist in whole or in part.
               
               
               SFailure - either or both passed names were NULL
               
             
            
          
         
            
            statusCode AlUniverse::wireFileWindowSize( int &sizeX, int &sizeY )
            
            
            
               
               Description
               
               
                Gets the window size that was retrieved on the previous call to AlUniverse::retrieve. This method is available only under
                  OpenModel and fails under OpenAlias. 
               
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the store size was set
               
               sFailure - OpenAlias is in use
               
               sInvalidArgument - sizeX <=0 or sizeY <=0
               
             
            
          
         
            
            statusCode AlUniverse::setWireFileWindowSize( int sizeX, int sizeY )
            
            
            
               
               Description
               
               
                Sets the window size that is written to the next call of AlUniverse::store.
               
               Note that these values are changed whenever a call to AlUniverse::retrieve is called. 
               
               This method is available only under OpenModel and fails under OpenAlias. 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the store size was set
               
               sFailure - OpenAlias is in use
               
               sInvalidArgument - sizeX <=0 or sizeY <=0
               
             
            
          
         
            
            boolean AlUniverse::isWireFile( const char *fileName, char * vbuf )
            
            
            
               
               Description
               
               
                Determines if a file is an Alias wire file and finds the version number. 
               
               Note: vbuf must be allocated and at least 8 characters. 
               
             
            
            
               
               Arguments
               
               
               < filename - the name of the file to check
               
               > vbuf - if the file is an Alias wire file then this buffer will contain the version string
               
             
            
            
               
               Return values
               
               
               TRUE - the indicated file is a valid Wire file
               
               FALSE - one of the arguments was invalid or the file was not a Wire file
               
             
            
          
         
            
            AlUniverse::AlFileType AlUniverse::fileType( const char *fileName )
            
            
            
               
               Description
               
               
                Determine a file’s type. 
               
             
            
            
               
               Arguments
               
               
               < fileName - the name of the file to type check 
               
             
            
            
               
               Return values
               
               
               kUnknown - file type is unknown and will be ignored by ::retrieve().
               
               The file types listed below are available for import in both OpenModel and OpenAlias.
               
               
                  
                     
                        
                        
                     
                     
                        |  | Autodesk Wire File  | 
                     
                        |  | Initial Graphics Exchange Standard  | 
                     
                        |  | Verband Der Automobilindustrie IGES Subset | 
                     
                        |  | EDS/GM format | 
                     
                        |  | Japan Automobile Manufacturers Association IGES Subset | 
                     
                        |  | Verband Der Automobilindustrie Freeform Surface Interface | 
                     
                        |  | Drawing Exchange Format | 
                     
                        |  | 3D Systems SLA Format | 
                  
                
               
               The file types listed below are available for import only in OpenAlias.
               
               
                  
                     
                        
                        
                     
                     
                        |  |  EDS/GM Data Exchange Standard | 
                     
                        |  | Autodesk Object Separated Triangle Format | 
                     
                        |  | Autodesk Object Separated Quad Format | 
                     
                        |  | Pro/Engineer Render File Format | 
                     
                        |  | OpenInventor Metafile Subset V1.0 | 
                     
                        |  | Autodesk TAV format | 
                     
                        |  | Adobe Encapsulated Postscript | 
                     
                        |  | Illustrator Format | 
                     
                        |  | 3D Systems Slice Format | 
                  
                
               
             
            
          
         
            
            statusCode AlUniverse::retrieveOptions( AlRetrieveOptions &options )
            
            
            
               
               Description
               
               
                Gets the options used by AlUniverse::retrieve(). 
               
             
            
            
               
               Arguments
               
               
               > options - options that ::retrieve() will use when retrieving files
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the options were returned successfully
               
               sInvalidArgument - ’options’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::setRetrieveOptions( const AlRetrieveOptions &options )
            
            
            
               
               Description
               
               
                Sets the options used by AlUniverse::retrieve(). 
               
             
            
            
               
               Arguments
               
               
               < options - options that AlUniverse::retrieve() will use when retrieving files
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the options were set correctly
               
               sInvalidArgument - ’options’ was NULL, or a parameter in ’options’ was out of range
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::retrieve( const char *fileName )
            
            
            
               
               Description
               
               
                Retrieves an Alias Wire file and adds the objects stored in the file to the list of Alias AlDagNode objects. If fileName is NULL the file is read from stdin. 
               
               
               Note that if sInvalidWireFile is returned you are likely trying to retrieve a newer wire file than your application recognizes.
                  In this case you should link your application with the OpenModel library distributed with the newer Alias. 
               
               
             
            
            
               
               Arguments
               
               
               < fileName - the name of the file to be retrieved 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the file was retrieved successfully
               
               sInsufficientMemory - not enough memory
               
               sFailure - the wire file could not be retrieved properly
               
               sInvalidWireFile - the file was not a compatible Alias wire file
               
               
             
            
          
         
            
            statusCode AlUniverse::retrieve( const char *fileName,void(*progressCallback)(int) )
            
            
            
               
               Description
               
               
               This method is a variation of the AlUniverse::retrieve(const char *) method with the addition that it allows a retrieve progress
                  callbackto be set.
               
               
               NOTES:
               
               1. The function progressCallback() should be in the C name space within an extern "C" block.
               
               2. The ’int’ number passed to the progress callback is expressed as a percentage value between 0 and 100. This number is a
                  close approximation of the retrieval progress and will not be exact due to compression usedin the Alias wire file format.
               
               
             
            
            
               
               Arguments:
               
               
               < fileName - the name of the file to be retrieved
               
             
            
            
               
               Return Codes:
               
               
               sSuccess - the file was retrieved successfully
               
               sInsufficientMemory - not enough memory
               
               sFailure - the wire file could not be retrieved properly
               
               sInvalidWireFile - the file was not a compatible Alias wire file.
               
               sInvalidArgument - NULL parameter passed to method
               
             
            
          
         
            
            const char* AlUniverse::lastWireFileRetrieved()
            
            
            
               
               Description
               
               
               Returns the last wire file retrieved either by the API or by Alias. Note that the file name will not change to NULL if a delete all is done. NULL is returned if no files have been retrieved
                  or if the function fails.
               
               
             
            
          
         
            
            const char* AlUniverse::lastFileSaved()
            
            
            
               
               Description
               
               
               Returns the name of the last file saved within Alias. If no file has been saved or the function failed, NULL will be returned. Also note that if the DT options are changed, this
                  function will return NULL until after the next save.
               
               
               Note: this method will fail and always return NULL in OpenModel.
               
             
            
          
         
            
            statusCode AlUniverse::store( const char * fileName, AlDagNode* dagNode )
            
            
            
               
               Description
               
               
                If the AlDagNode argument is absent or NULL then this method stores all the AlObjects in the universe to a file as an Alias
                  Wire file. If the AlDagNode argument is not NULL then only the model below the AlDagNode is stored. If the AlDagNode is in
                  the middle of a hierarchy, the AlDagNodes above the argument will also be stored so as to preserve transformations on the
                  model. 
               
               
             
            
            
               
               Arguments
               
               
               fileName - the name of the file to be stored 
               
               dagNode - see description 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the file was stored successfully
               
               sFailure - the wire file could not be stored properly
               
             
            
          
         
            
            statusCode AlUniverse::storeActive( const char * fileName )
            
            
            
               
               Description
               
               
                Allows the user to store only those objects which are on the pick list.
               
             
            
            
               
               Arguments
               
               
               fileName - the name of the file to be stored 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the file was stored successfully
               
               sFailure - the wire file could not be stored properly
               
             
            
          
         
            
            AlDagNode* AlUniverse::firstDagNode()
            
            
            
               
               Description
               
               
               Returns the first AlDagNode in the list of Alias AlDagNode objects (the DAG). NULL is returned if the list is empty. 
               
               
             
            
          
         
            
            AlSet* AlUniverse::firstSet()
            
            
            
               
               Description
               
               
                Returns a pointer to the first set in this universe. Returns NULL if there are no sets in this universe. 
               
             
            
          
         
            
            AlCluster* AlUniverse::firstCluster()
            
            
            
               
               Description
               
               
                Returns a pointer to the first cluster in this universe. Returns NULL if there are no clusters in this universe. 
               
             
            
          
         
            
            AlChannel* AlUniverse::firstChannel()
            
            
            
               
               Description
               
               
                Returns the first channel in the list of all channels in the universe. This list is not in any particular order, although
                  channels animating the same item will appear consecutively in the list. This method returns NULL if nothing in the universe
                  is animated. 
               
               
             
            
          
         
            
            const char* AlUniverse::currentStage( void )
            
            
            
               
               Description
               
               
                Returns the name of the current stage. 
               
             
            
          
         
            
            statusCode AlUniverse::setCurrentStage( const char* name )
            
            
            
               
               Description
               
               
                Switches the current stage to the stage with the indicated name. 
               
             
            
            
               
               Arguments
               
               
               name - the name of the stage to switch to 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was set to the indicated stage
               
               sFailure - the stage with the given name could not be found
               
             
            
          
         
            
            statusCode AlUniverse::mergeStage( const char *name )
            
            
            
               
               Description
               
               
                Merges the current stage with another stage. 
               
             
            
            
               
               Arguments
               
               
               name - the name of the stage to merge with 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was successfully merged
               
               sFailure - a stage with the given name could not be found or the merge operation failed
               
             
            
          
         
            
            statusCode AlUniverse::mergeAllStages( void )
            
            
            
               
               Description
               
               
                Merges all of the stages into a single stage. The current stage is switched to the merged stage. 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - all of the stages were successfully merged
               
               sFailure - the merge operation failed or there were no stages to merge
               
             
            
          
         
            
            statusCode AlUniverse::deleteStage( const char *name )
            
            
            
               
               Description
               
               
                Deletes the stage with the given name. Under OpenAlias, this operation will not delete the last stage if there is only one
                  stage remaining. 
               
               
             
            
            
               
               Arguments
               
               
               name - the name of the stage to delete 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was successfully deleted
               
               sFailure - there was no stage with the given name or the delete operation failed
               
             
            
          
         
            
            statusCode AlUniverse::deleteAllStages( void )
            
            
            
               
               Description
               
               
                Deletes all stages. This operation will fail if there is only one stage remaining. 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - all of the stages were successfully deleted
               
               sFailure - the delete operation failed
               
             
            
          
         
            
            statusCode AlUniverse::stageVisibility( const char *name, boolean& on_or_off )
            
            
            
               
               Description
               
               
                Returns the visibility status of the indicated stage. 
               
             
            
            
               
               Arguments
               
               
               < name - the name of the stage to examine 
               
               > on_or_off - the variable to return the status in 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was found and its visibility status was returned
               
               sFailure - there was no stage with the given name
               
             
            
          
         
            
            statusCode AlUniverse::setStageVisibility( const char *name, boolean on_or_off )
            
            
            
               
               Description
               
               
                Sets the visibility status of the indicated stage. 
               
             
            
            
               
               Arguments
               
               
               name - the name of the stage to alter 
               
               on_or_off - TRUE if the stage is visible 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was found and its visibility status was set
               
               sFailure - there was no stage with the given name
               
             
            
          
         
            
            const char *AlUniverse::stageWindowSource( void )
            
            
            
               
               Description
               
               
                Returns the name of the currently active application window universe. 
               
             
            
          
         
            
            statusCode AlUniverse::setStageWindowSource( const char *name )
            
            
            
               
               Description
               
               
                Sets the window universe to the indicated stage. The window universe contains the windows you are looking through to see the
                  objects in the current universe. 
               
               
             
            
            
               
               Arguments
               
               
               name - the name of the stage to set the window universe to 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was found and the window universe was set
               
               sFailure - there was no stage with the given name
               
             
            
          
         
            
            const char *AlUniverse::stageBackgroundSource( void )
            
            
            
               
               Description
               
               
                Returns the name of the current background source. 
               
             
            
          
         
            
            statusCode AlUniverse::setStageBackgroundSource( const char *name )
            
            
            
               
               Description
               
               
                Chooses which stage to take the background source from (the environment shader) that is used for rendering. 
               
             
            
            
               
               Arguments
               
               
               name - the name of the stage to use
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was found
               
               sFailure - there was no stage with the given name
               
             
            
          
         
            
            statusCode AlUniverse::renameStage( const char* oldName, const char *newName )
            
            
            
               
               Description
               
               
                Renames the stage with the name ’oldName’ to ’newName’. If NULL is specified for oldName, then the current stage is renamed.
                  
               
               
             
            
            
               
               Arguments
               
               
               oldName - the name of the stage to rename 
               
               newName - the new name for the stage 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the stage was renamed
               
               sNameChangedToUniqueOne - the stage was renamed, but the newName was altered to be unique
               
               sInvalidArgument - the newName was NULL
               
               sFailure - the indicated stage could not be found
               
             
            
          
         
            
            AlList* AlUniverse::stageNames( void )
            
            
            
               
               Description
               
               
                Returns an AlList (of AlNameItems) containing the names of all of the stages that are present. 
               
             
            
          
         
            
            statusCode AlUniverse::createNewStage( const char* name, char*& stagename )
            
            
            
               
               Description
               
               
                 Creates a new stage and sets the current stage to the new stage. The name assigned to the stage is returned in stagename.
                  Access to stagename is important when stage names are reused and a new unique name is selected. Note that stagename will be
                  assigned to something that can change through calls in the API. So caution must be taken when using stagename in future calls.
               
               
               In addition, what stagename points to must not be modified since it is internal Alias data. 
               
               
             
            
            
               
               Arguments
               
               
               < name - the name of the stage to create 
               
               > stagename - pointer to created name 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - a new stage with the name ’name’ was created
               
               sNameChangedToUniqueOne - a new stage was created, although the newName was altered to be unique
               
               sFailure - a new stage could not be created
               
             
            
          
         
            
            statusCode AlUniverse::retrieveStageSet( const char *stageSet, boolean deleteStages )
            
            
            
               
               Description
               
               
                Retrieves a stage set file.
               
             
            
            
               
               Arguments
               
               
               > stageSet - the name of the stage set file to be retrieved
               
               > deleteStages - if true, any existing stages will be deleted
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the method succeeded in retrieving the stage set
               
               sFailure - the method failed
               
               sInvalidArgument - stageSet is NULL
               
             
            
          
         
            
            statusCode AlUniverse::saveStageSet( const char *stageSet )
            
            
            
               
               Description
               
               
                Saves a stage set file. This method saves out all of the stages and their associated wire file names.
               
               If a stage has an associated wire file name that is NULL, this routines fails.
               
             
            
            
               
               Arguments
               
               
               > stageSet - the name (with path) of the stage set file to be created
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the method succeeded in saving the stage set
               
               sFailure - the method failed
               
               sInvalidArgument - stageSet is NULL
               
             
            
          
         
            
            statusCode AlUniverse::setStageWireFileName( const char *stageName, const char *wireFileName )
            
            
            
               
               Description
               
               
                Sets the wire file name that is to be used for the stage when the stage set is written out using the saveStageSet() call.
               
               Note that this function will change the default name of the wire file in the store and retrieve dialog boxes in Alias.
               
               
             
            
            
               
               Arguments
               
               
               > stageName - the name of the stage
               
               > wireFileName - the name of the wire file
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the method succeeded in setting the wire file for the stage
               
               sFailure - not a valid stage name or the setting of the wire file name failed
               
               sInvalidArgument - stageSet or wireFileName are NULL
               
             
            
          
         
            
            const char* AlUniverse::stageWireFileName( const char *stageName )
            
            
            
               
               Description
               
               
                Returns the wire file name of stage 'stageName'. NULL is returned if the wire file is not set or if an error occurred.
               
             
            
            
               
               Arguments
               
               
               > stageName - the name of the stage
               
             
            
          
         
            
            AlWindow *AlUniverse::firstWindow( void )
            
            
            
               
               Description
               
               
                Returns the first window layer. 
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToWindows( AlIterator *iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each window. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each window
               
               sInvalidArgument - ’iter’ was NULL
               
             
            
          
         
            
            AlImagePlane* AlUniverse::firstImagePlane( void )
            
            
            
               
               Description
               
               
                Returns the first image plane. 
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToImagePlanes( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each image plane. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each image plane
               
               sInvalidArgument - ’iter’ was NULL
               
             
            
          
         
            
            AlWindow* AlUniverse::currentWindow( void )
            
            
            
               
               Description
               
               
                Returns the currently active window. 
               
             
            
          
         
            
            AlWindow* AlUniverse::sbdWindow( void )
            
            
            
               
               Description
               
               
                Returns the current SBD window. 
               
             
            
          
         
            
            statusCode AlUniverse::blindData( int type, long& size, const char*& ptr )
            
            
            
               
               Description
               
               
                Retrieves the blind data for the universe. If there is no data, the size will be 0 and the pointer will be NULL.
               
             
            
            
               
               Arguments
               
               
               < type - the blind data type to find 
               
               > size - the size of the blind data if found 
               
               > ptr - a pointer to the blind data if found 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the blind data type was found
               
               sFailure - the blind data type was not found
               
             
            
          
         
            
            statusCode AlUniverse::blindData( int type, int index, long& size, const char*& ptr )
            
            
            
               
               Description
               
               
                Retrieves the blind data for the universe. If there is no data, the size will be 0 and the pointer will be NULL
               
               NOTE: If universes are merged then the resulting universe will have blind data for both universes. If there are two or more
                  blind data packets with the same "type", the parameter 'index' can be used to access them.
               
               
             
            
            
               
               Arguments
               
               
               < type - the blind data type to find
               
               < index - the index of the blind data packet
               
               > size - the size of the blind data if found
               
               > ptr - a pointer to the blind data if found
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the blind data type was found
               
               sFailure - the blind data type was not found
               
               sInvalidArgument - index was negative
               
             
            
          
         
            
            statusCode AlUniverse::setBlindData( int type, long size, const char* ptr )
            
            
            
               
               Description
               
               
                Associates a block of data with the object. If a block of data is already associated with this object and this user_type,
                  the old block is replaced by a reference to the new block. The old block of data is not deleted. 
               
               
             
            
            
               
               Arguments
               
               
               type - the type of the blind data to set 
               
               size - the size of the blind data 
               
               ptr - a pointer to the blind data 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the blind data was set
               
             
            
          
         
            
            statusCode AlUniverse::removeBlindData( int type )
            
            
            
               
               Description
               
               
                Removes the blind data from the universe with the indicated type. Note that the user is still responsible for the memory associated
                  with this block of data.
               
               
             
            
            
               
               Arguments
               
               
               type - the blind data type to remove 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the type was found and removed
               
               sFailure - the indicated type could not be found
               
             
            
          
         
            
            statusCode AlUniverse::removeBlindData( int type, int index )
            
            
            
               
               Description
               
               
                Removes the blind data from the universe with the indicated type and index.
               
             
            
            
               
               Arguments
               
               
               < type - the blind data type to remove
               
               < index - the index of the blind data packet
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the type was found and removed
               
               sFailure - the indicated type could not be found
               
               sInvalidArgument - index was negative
               
             
            
          
         
            
            AlChannel* AlUniverse::nextChannel(AlChannel *curChannel )
            
            
            
               
               Description
               
               
                Returns the next channel in the global list of all channels that appears after the given channel ’curChannel’. 
               
             
            
            
               
               Arguments
               
               
               < curChannel - the channel in the list to obtain the next channel from 
               
             
            
          
         
            
            statusCode AlUniverse::nextChannelD(AlChannel *curChannel )
            
            
            
               
               Description
               
               
                Destructively points ’curChannel’ to the next channel in the global list of all channels that appear after the given channel.
                  sFailure is returned if there is no next channel.
               
               
             
            
            
               
               Arguments
               
               
               < curChannel - the channel in the list to obtain the next channel from 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - ’curChannel’ now points to the next channel
               
               sFailure - the universe is not initialized or there is no next channel
               
               sInvalidArgument - ’curChannel’ is invalid or NULL
               
             
            
          
         
            
            AlAction* AlUniverse::firstAction()
            
            
            
               
               Description
               
               
                Returns the first action in the list of all actions in the universe. This list is not in any particular order, and in particular,
                  if an action is added to or deleted from the universe, this list may be reordered. Returns NULL if there are no actions in
                  this universe. 
               
               
             
            
          
         
            
            AlAction* AlUniverse::nextAction( AlAction *curAction )
            
            
            
               
               Description
               
               
                Returns the next action in the global list of all actions that appears after the given action ’curAction’. This list is not
                  in any particular order, and in particular, if an action is added to or deleted from the universe, this list may be reordered.
                  
               
               
             
            
            
               
               Arguments
               
               
               < curAction - the action in the list to obtain the next action from
               
             
            
          
         
            
            AlLayer* AlUniverse::firstLayer()
            
            
            
               
               Description
               
               
                Returns the first layer which refers to the default layer. This layer is always valid in the universe. NULL is returned if
                  the universe is not initialized.
               
               
             
            
          
         
            
            AlLayer* AlUniverse::nextLayer(AlLayer *curLayer)
            
            
            
               
               Description
               
               
                Returns the layer following curLayer in the list of Alias AlLayer objects. NULL is returned if curLayer has no next layer.
               
               
             
            
            
               
               Arguments
               
               
               < curLayer - layer from which to walk forward
               
             
            
          
         
            
            statusCode AlUniverse::nextLayerD(AlLayer *curLayer)
            
            
            
               
               Description
               
               
                Destructively points 'curLayer' to the AlLayer following curLayer in the list of Alias layer objects.
               
               
             
            
            
               
               Arguments
               
               
               < curLayer - layer from which to walk forward
               
             
            
            
               
               Return Codes
               
               
               sSuccess - curLayer now points to the next layer
               
               sFailure - there is no next layer
               
               sInvalidArgument - curLayer was invalid
               
             
            
          
         
            
            AlLayer *AlUniverse::layerByNumber(int layerID)
            
            
            
               
               Description
               
               
                Returns a layer object for a given layer number. NULL is returned if the layerID does not exist.
               
             
            
            
               
               Arguments
               
               
               < layerID - the number of the layer
               
             
            
          
         
            
            boolean AlUniverse::layersEnabled()
            
            
            
               
               Description
               
               
                Checks if the layer functionality is enabled. True is returned if the functionality is enabled and false otherwise.
               
             
            
          
         
            
            statusCode AlUniverse::setLayersEnabled(boolean enable)
            
            
            
               
               Description
               
               
                Enables or disables the layer functionality temporarily. In the disabled state, the layers are only temporarily disabled.
                  Their attributes and assignment of AlDagNodes restored with enabling layers. While disabling the layers, no information about
                  layers is permanently lost.
               
               
             
            
            
               
               Arguments
               
               
               < enable - a value of true enables the layers and false disables it
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the layer was enabled or disabled
               
               sFailure - the layer could not be disabled or enabled
               
             
            
          
         
            
            AlShader* AlUniverse::firstShader()
            
            
            
               
               Description
               
               
                Returns the first AlShader in the list of Alias AlShader objects. NULL is returned if the list is empty. 
               
               
             
            
          
         
            
            AlShader* AlUniverse::nextShader( AlShader* curShader )
            
            
            
               
               Description
               
               
                Returns the AlShader following curShader in the list of Alias AlShader objects. NULL is returned if curShader has no next shader. 
               
               
             
            
            
               
               Arguments
               
               
               < curShader - shader from which to walk forward 
               
             
            
          
         
            
            statusCode AlUniverse::nextShaderD( AlShader* curShader )
            
            
            
               
               Description
               
               
                Destructively points ’curShader’ to the AlShader following curShader in the list of Alias AlShader objects. 
               
               
             
            
            
               
               Arguments
               
               
               < curShader - shader from which to walk forward 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - curShader now points to the next shader
               
               sFailure - there is no next shader
               
               sInvalidArgument - curShader was invalid
               
             
            
          
         
            
            AlPerspectiveCamera* AlUniverse::firstCamera( void )
            
            
            
               
               Description
               
               
                Returns the first perspective camera.
               
             
            
          
         
            
            AlPerspectiveCamera* AlUniverse::nextCamera( AlPerspectiveCamera* curCamera )
            
            
            
               
               Description
               
               
                Returns the next perspective camera following curCamera in the list of all cameras. NULL is returned if curCamera has no next
                  perspective camera.
               
               
             
            
            
               
               Arguments
               
               
               < curCamera - the camera in the list to obtain the next camera from
               
             
            
          
         
            
            statusCode AlUniverse::nextCameraD( AlPerspectiveCamera* curCamera )
            
            
            
               
               Description
               
               
                Destructively points 'curCamera' to the AlPerspectiveCamera following curCamera in the list of perspective cameras.
               
             
            
            
               
               Arguments
               
               
               < curCamera - the camera in the list to obtain the next camera from
               
             
            
            
               
               Return Codes
               
               
               sSuccess - curCamera now points to the next camera
               
               sFailure - there is no next camera
               
               sInvalidArgument - curCamera was invalid
               
             
            
          
         
            
            AlLocator* AlUniverse::firstLocator()
            
            
            
               
               Description
               
               
                Returns the first AlLocator in the list of Alias AlLocator objects. NULL is returned if the list is empty.
               
               
             
            
          
         
            
            AlLocator* AlUniverse::nextLocator(AlLocator *curLocator)
            
            
            
               
               Description
               
               
                Returns the AlLocator following curLocator in the list of Alias AlLocator objects. NULL is returned if curLocator has no next locator.
               
               
             
            
            
               
               Arguments
               
               
               < curLocator - locator from which to walk forward
               
             
            
          
         
            
            AlEnvironment* AlUniverse::firstEnvironment()
            
            
            
               
               Description
               
               
                Returns the first AlEnvironment in the list of Alias AlEnvironment objects. NULL is returned if the list is empty. 
               
               
             
            
          
         
            
            statusCode AlUniverse::deleteAll()
            
            
            
               
               Description
               
               
                Deletes all objects in the universe. After this operation ALL references to ALL objects will be invalid. 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - everything was successfully deleted
               
               sFailure - the universe was not initialized or the deletion failed
               
             
            
          
         
            
            statusCode AlUniverse::deleteAllLocators()
            
            
            
               
               Description
               
               
                Deletes all locators. After this operation ALL references to ALL AlLocators will be invalid.
               
             
            
            
               
               Return Codes
               
               
               sSuccess - everything was successfully deleted
               
               sFailure - the universe was not initialized or the deletion failed
               
             
            
          
         
            
            AlConstructionEntity* AlUniverse::firstConstructionEntity()
            
            
            
               
               Description
               
               
               Returns the first AlConstructionEntity in the list of Alias AlConstructionEntity objects. NULL is returned if the list is empty.
               
               
             
            
          
         
            
            AlConstructionEntity* AlUniverse::nextConstructionEntity(AlConstructionEntity *curConstructionEntity)
            
            
            
               
               Description
               
               
               Returns the AlConstructionEntity following curConstructionEntity in the list of Alias AlConstructionEntity objects. NULL is returned if curConstructionEntity has no next locator.
               
               
               Arguments:
               
               < curConstructionEntity - Construction Entity from which to walk forward
               
             
            
          
         
            
            statusCode AlUniverse::nextConstructionEntityD(AlConstructionEntity *ce)
            
            
            
               
               Description:
               
               
               Destructively points ’ce’ to the AlConstructionEntity following ce in the list of Alias AlConstructionEntity objects.
               
               
             
            
            
               
               Arguments
               
               
               < ce - construction entity from which to walk forward
               
             
            
            
               
               Return Codes
               
               
               sSuccess - ce now points to the next AlConstructionEntity
               
               sFailure - there is no next AlConstructionEntity
               
               sInvalidArgument - ce was invalid
               
             
            
          
         
            
            statusCode AlUniverse::deleteAllConstructionEntities()
            
            
            
               
               Description
               
               
               Deletes all construction entities. After this operation ALL references to ALL AlConstructionEntities will be invalid.
               
             
            
            
               
               Return Codes
               
               
               sSuccess - everything was successfully deleted.
               
               sFailure - the universe was not initialized or the deletion failed.
               
             
            
          
         
            
            AlLayer* AlUniverse::firstLayer()
            
            
            
               
               Description
               
               
                Returns the first layer which refers to the default layer. This layer is always valid in the universe. NULL is returned if
                  the universe is not initialized.
               
               
             
            
          
         
            
            AlLayer* AlUniverse::nextLayer(AlLayer *curLayer)
            
            
            
               
               Description
               
               
                Returns the layer following curLayer in the list of Alias AlLayer objects. NULL is returned if curLayer has no next layer.
               
               
             
            
            
               
               Arguments
               
               
               < curLayer - layer from which to walk forward
               
             
            
          
         
            
            statusCode AlUniverse::nextLayerD(AlLayer *curLayer)
            
            
            
               
               Description
               
               
                Destructively points 'curLayer' to the AlLayer following curLayer in the list of Alias layer objects.
               
               
             
            
            
               
               Arguments
               
               
               < curLayer - layer from which to walk forward
               
             
            
            
               
               Return Codes
               
               
               sSuccess - curLayer now points to the next layer
               
               sFailure - there is no next layer
               
               sInvalidArgument - curLayer was invalid
               
             
            
          
         
            
            AlLayer *AlUniverse::layerByNumber(int layerID)
            
            
            
               
               Description
               
               
                Returns a layer object for a given layer number. NULL is returned if the layerID does not exist.
               
             
            
            
               
               Arguments
               
               
               < layerID - the number of the layer
               
             
            
          
         
            
            AlLayer * AlUniverse::creationLayer()
            
            
            
               
               Description
               
               
                Returns the layer object of the creation layer. NULL is returned if the universe if not initialized.
               
             
            
          
         
            
            statusCode AlUniverse::setCreationLayer(AlLayer *layer)
            
            
            
               
               Description
               
               
               Makes the layer a creation layer. When a layer is made a creation layer, all its attributes temporarily become similar to
                  the default layer. For example, an invisible layer becomes visible till it is a creation layer.
               
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the layer was set as a creation layer
               
               sFailure - the layer was not set because either the layer functionality is disabled or the universe is not initialized.
               
               sInvalidArgument - the layer object is not valid.
               
             
            
          
         
            
            boolean AlUniverse::layersEnabled()
            
            
            
               
               Description
               
               
                Checks if the layer functionality is enabled. True is returned if the functionality is enabled and false otherwise.
               
             
            
          
         
            
            statusCode AlUniverse::setLayersEnabled(boolean enable)
            
            
            
               
               Description
               
               
                Enables or disables the layer functionality temporarily. In the disabled state, the layers are only temporarily disabled.
                  Their attributes and assignment of AlDagNode is restored with enabling layers. While disabling the layers, no information
                  about layers is permanently lost.
               
               
             
            
            
               
               Arguments
               
               
               < enable - a value of true enables the layers and false disables it
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the layer was enabled or disabled
               
               sFailure - the layer could not be disabled or enabled
               
             
            
          
         
            
            statusCode AlUniverse::sortLayersInLayersBar(AlLayerSortMode sortMode)
            
            
            
               
               Description
               
               
                Sorts the position of layer buttons in the layer bar in the increasing order.
               
             
            
            
               
               Arguments
               
               
               < sortMode
               
                  - kLayerNumber - sort the buttons by their layer number
- kLayerName - sort the buttons by their layer name in the lexicographically increasing order
 
            
            
               
               Return Codes
               
               
               sSuccess - the layer buttons were sorted
               
               sInvalidArgument - the value of sortMode is not valid
               
               sFailure - the universe is not initialized
               
             
            
          
         
            
            statusCode AlUniverse::importCloudFile( const char *fileName, int samplingFactor)
            
            
            
               
               Description
               
               
                Imports a cloud file.
               
             
            
            
               
               Arguments
               
               
               < fileName - the name of the cloud file to process
               
               < samplingFactor - controls the sample rate of cloud (a value from 1 to 100)
               
             
            
            
               
               Return Codes
               
               
               sInvalidArgument - sampling factor is not from 1 to 100, or fileName is NULL
               
               sSuccess - the cloud file was successfully imported
               
               sFailure - the operation failed or the universe has not been initialized
               
             
            
          
         
            
            AlCloud *AlUniverse::firstCloud()
            
            
            
               
               Description
               
               
                Returns the first cloud in the universe. NULL is returned if the method failed. This method would always fail if the universe
                  has not been initialized.
               
               
             
            
          
         
            
            int AlUniverse::numberOfClouds()
            
            
            
               
               Description
               
               
                Returns the number of clouds in the universe. The universe must be initialized first for this method to work.
               
             
            
          
         
            
            AlBlendCurve* AlUniverse::firstBlendCurve()
            
            
            
               
               Description
               
               
                Returns the first blend curve in the universe. The universe must be initialized before this method will work.
               
             
            
          
         
            
            int AlUniverse::numberOfBlendCurves()
            
            
            
               
               Description
               
               
                Returns the number of blend curves in the universe. The universe must be initialized first for this method to work
               
             
            
          
         
            
            statusCode AlUniverse::redrawScreen( unsigned int flags )
            
            
            
               
               Description
               
               
                Redraws the modeling windows. Use it after you have completed an operation to see the results. Different parts of the display
                  can be selectively updated by performing a bitwise OR of the following flags:
               
               
                  - kRedrawInactive - redraw the inactive objects
- kRedrawActive - redraw the active objects
- kRedrawTemplate - redraw templated objects
- kRedrawWindows - OBSELETE 
- kRedrawListers - redraw any open editors
- kRedrawNone - method will exit without performing any operations
To redraw everything use the following flag:
               
                  - kRedrawAll = (kRedrawInactive | kRedrawActive | kRedrawTemplate | kRedrawWindows | kRedrawListers )
This routine succeeds in OpenAlias and fails in OpenModel. 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - able to redraw
               
               sInvalidArgument - flags are out of range
               
               sFailure - unable to redraw (this always occurs in OpenModel)
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToDagNodes( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to all DAG nodes. This does not recursively go down the DAG. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each dagNode
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToActions( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each action. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each action
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToChannels( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each channel. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each channel
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToSets( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each set. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each set
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToClusters( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each cluster. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each cluster
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToShaders( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to each shader. 
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply 
               
               > rc - the return value of the last application of the iterator 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each shader
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToLocators(AlIterator *iter, int &rc)
            
            
            
               
               Description
               
               
                Applies an iterator to each AlLocator defined in Alias.
               
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply
               
               > rc - the return value of the last application of the iterator
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each locator
               
               sInvalidArgument - 'iter' was NULL
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToLayers( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
               Applies an iterator to all layers.
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply
               
               > rc - the return value of the last application of the iterator
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each layer
               
               sInvalidArgument - 'iter' was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToClouds( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to all clouds.
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply
               
               > rc - the return value of the last application of the iterator
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the iterator was successfully applied to each cloud
               
               sInvalidArgument - 'iter' was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::applyIteratorToBlendCurves( AlIterator* iter, int& rc )
            
            
            
               
               Description
               
               
                Applies an iterator to all blend curves.
               
             
            
            
               
               Arguments
               
               
               < iter - the iterator to apply
               
               > rc - the return value of the last application of the iterator
               
             
            
            
               
               Return Codes:
               
               
               sSuccess - the iterator was successfully applied to each blend curve
               
               sInvalidArgument - ’iter’ was NULL
               
               sFailure - AlUniverse was not initialized
               
             
            
          
         
            
            statusCode AlUniverse::writeSDLNoAnimation( const char *filename, boolean store_active )
            
            
            
               
               Description
               
               
                This method outputs an SDL file for the entire universe if store_active is FALSE. If it is TRUE, then only the active objects
                  in the current universe will be output to a file. In either case no animation will be output; the scene is evaluated at the
                  current view frame which can be set using the AlViewFrame class methods.
               
               
             
            
            
               
               Arguments
               
               
               < filename - the base name of the SDL file to write to (including path if appropriate) 
               
               < store_active - as described above
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the file(s) was/were successfully written
               
               sFailure - it was not possible to write the SDL file
               
               sInvalidArgument - the filename was NULL
               
             
            
          
         
            
            statusCode AlUniverse::writeSDL( const char *filename, boolean store_active, double start, double end, double by )
            
            
            
               
               Description
               
               
                This method outputs an SDL file for the entire universe if store_active is FALSE. If it is TRUE, then only the active objects
                  in the current universe will be output to a file. Animation will be written to the SDL file for the frame range given. If
                  'by' is zero then only a single frame will be output.
               
               
             
            
            
               
               Arguments
               
               
               < filename - the base name of the SDL file to write to (including path if appropriate) 
               
               < store_active - as described above
               
               < start - the frame to start the animation at 
               
               < end - the frame to end the animation at 
               
               < by - the increment to get from start to end 
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the file(s) was/were successfully written
               
               sFailure - it was not possible to write the SDL file
               
               sInvalidArgument - the filename was NULL
               
             
            
          
         
            
            double AlUniverse::currentTime()
            
            
            
               
               Description
               
               
                Used during playback to return the value of the current frame. 
               
             
            
          
         
            
            statusCode AlUniverse::frameRange(AlFrameRangeType rangeType, double &start, double &end, double &by)
            
            
            
               
               Description
               
               
                Determines the frame range for the current universe. The range type can be one of kFromPreviewWindow (gets the value from
                  the Preview window, either kMinMax or kGlobal; based on the choice in the preview window - this is undefined for OpenModel),
                  kMinMax (gets the actual start and end as defined by the animaiton on the objects), and kGlobal (gets the values entered by
                  the user - again, undefined for OpenModel). 
               
               
             
            
            
               
               Arguments
               
               
               rangeType - as described above
               
               start - frame at which the animation starts 
               
               end - frame at which the animation ends 
               
               by - the amount by which frames are incremented
               
             
            
            
               
               Return Codes
               
               
               sSuccess - the frame range was successfully determined
               
               sInvalidArgument - rangeType was not one of the legal values
               
               AlUniverse::AlApplicationMode AlUniverse::applicationMode()
               
             
            
          
         
            
            AlUniverse::AlApplicationMode AlUniverse::applicationMode()
            
            
            
               
               Description
               
               
                Returns the current mode that the Alias API is running in (kOpenModel or kOpenAlias). This is useful when writing code that is shared between OpenModel and OpenAlias.
                  
               
               
             
            
          
         
            
            statusCode AlUniverse::userPrefColor( int colorField, int &r, int &g, int &b)
            
            
            
               
               Description
               
               
                Returns RGB values for the given color field. Color field constants are defined in AlUserColors.h. This method always fails
                  in OpenModel.
               
               
             
            
            
               
               Arguments
               
               
               < colorField - color field
               
               > r - red RGB value
               
               > g - green RGB value
               
               > b - blue RGB value
               
             
            
            
               
               Return Codes
               
               
               sSuccess - normal completion
               
               sFailure - an error occurred
               
             
            
          
         
            
            statusCode AlUniverse::setUserPrefColor( int colorField, int r, int g, int b)
            
            
            
               
               Description
               
               
                Sets RGB values for the given color field. Color field constants are defined in AlUserColors.h. This method always fails in
                  OpenModel.
               
               
             
            
            
               
               Arguments
               
               
               < colorField - color field
               
               < r - red RGB value
               
               < g - green RGB value
               
               < b - blue RGB value
               
             
            
            
               
               Return Codes
               
               
               sSuccess - normal completion
               
               sFailure - an error occurred
               
             
            
          
         
            
            boolean AlUniverse::constructionPlaneInEffect()
            
            
            
               
               Description
               
               
                Returns TRUE if there is a construction plane in effect.
               
             
            
          
         
            
            statusCode AlUniverse::constructionPlaneTransform( AlTM &tm )
            
            
            
               
               Description
               
               
                Returns the transformation matrix of the construction plane. This matrix will map a point in the construction plane to a point
                  in world space.
               
               
             
            
            
               
               Arguments
               
               
               > tm - matrix where construction plane is returned
               
             
            
            
               
               Return Codes
               
               
               sFailure - method failed, or there is no construction plane in effect
               
               sSuccess - the method succeeded
               
             
            
          
         
            
            AlCategory* AlUniverse::firstCategory()
            
            
            
               
               Description
               
               
                Returns the head of the Category structure which is attached to the universe.
               
               This function will return NULL if,
               
               a) The universe is not initialized
               
               b) Layers are not initialized
               
               c) There are no categories
               
             
            
          
         
            
            AlCategory* AlUniverse::nextCategory(AlCategory *curCategory)
            
            
            
               
               Description
               
               
                This method returns the next category in the global list of all categories that appears after the given category ’curCategory’.
               
             
            
            
               
               Arguments
               
               
               < curCategory - Category in the list to obtain the next category from