File: DisplayList3dPrivate.mesa
Author: Eric Bier on August 6, 1983 3:04 pm
Last edited by Bier on August 6, 1983 3:39 pm
Contents: List Auxiliaries for use by DisplayList3d Procedures
DIRECTORY
DisplayList3d,
Rope,
Shading;
DisplayList3dPrivate: DEFINITIONS =
BEGIN
DisplayList Types
Databases, Scenes, Assemblies, and Lightsources
Scene: TYPE = REF SceneObj;
SceneObj: TYPE = DisplayList3d.SceneObj;
Assembly: TYPE = REF AssemblyObj;
AssemblyObj: TYPE = DisplayList3d.AssemblyObj;
AssemblyList: TYPE = REF AssemblyListObj;
AssemblyListObj: TYPE = DisplayList3d.AssemblyListObj;
LightSourceList: TYPE = Shading.LightSourceList; -- LIST OF LightSource;
LightSource: TYPE = REF LightSourceObj;
LightSourceObj: TYPE = Shading.LightSourceObj;
Master Object Types
MasterObject: TYPE = REF MasterObjectRec;
MasterObjectRec: TYPE = DisplayList3d.MasterObjectRec;
MasterObjectList: TYPE = LIST OF MasterObject;
Delete Parts of the Scene Tree
In DisplayList3dImplB.mesa
TemporaryRemoveFromAssemblyList: PROC [a: Assembly, al: AssemblyList, scene: Scene] RETURNS [newAl: AssemblyList, success: BOOL];
Find Scene Entities from their Names
FindMasterObjectAndNeighborsFromName: PROC [moName: Rope.ROPE, moList: MasterObjectList] RETURNS [beforeMo, mo, afterMo: MasterObjectList, found: BOOL];
FindLightSourceAndNeighborsFromName: PROC [lsName: Rope.ROPE, lsList: LightSourceList] RETURNS [beforeLS, ls, afterLS: LightSourceList];
LightSourceNotFound: SIGNAL;
List Append Auxiliaries For the Add Procedures
AppendToMasterObjects: PROC [mo: MasterObject, list: MasterObjectList] RETURNS [MasterObjectList];
Other List Auxiliaries
In DisplayList3dImplB.mesa
RemoveDuplicateMOs: PROC [moList: MasterObjectList] RETURNS [uniqueList: MasterObjectList];
MoListMinusMoList: PROC [moList1, moList2: MasterObjectList] RETURNS [moList1MinusmoList2: MasterObjectList];
CopyMasterObjectList: PROC [moList: MasterObjectList] RETURNS [copy: MasterObjectList];