Layer File (.LAY) Specification (for MindRender (TM) Products) (c) Themekit Ltd., 1997 This information is given freely by Themekit Ltd and may be used to support the LAY data files for third party applications. The LAY data file allows layer information for a polygonal model to be represented. The LAY file complements and refers to the ODT file which contains the actual model architecture information. The layer information allows groups of surfaces to be assembled into a named layer which can then be enabled or disabled from within MindFormer to simplify the object under construction or to illustrate various sections of a complex object. It is planned that layers will be controllable by actions from within MindSetter and MindViewer. For example, layers would be controllable as part of the interaction mechanism (various parts of a car could become visible or invisible when a switch is pressed, for example). It is also planned that the surfaces within layers will be subject to attribute changes from within all of the VREK tools. For example, it would be possible to switch an entire layer into transparent rendering to enable visibility of parts internal to that layer. You may be able to find other uses for the information in the layer file. Note that layer names are independent of surface labels (names) and hence a surface can have the same name as a label without losing data integrity. File Format: The first line of the LAY file is the file version specifier: #MINDRENDER 1.1 Next the number of layers is specified: For each layer the following information is specified: The name of the layer enclosed between curly brackets: <{layer_name}> A numerical flag indicating whether the layer is enabled (1) or disabled (0) The number of surfaces in the layer is specified next: For each surface in the layer the following information is specified: The label (name) of the surface enclosed between curly brackets: <{surface label}> End of file format. Examples of LAY Files: Example 1 : A simple cube with one layer containing 1 surface. #MINDRENDER 1.1 1 {whole_object} 1 1 {box} This describes a single layered object, as follows: A layer called 'whole_object' is enabled and contains 1 surface called 'box'. Example 2 : A complex object which is #MINDRENDER 1.1 5 {warpcore} 1 1 {outside} {jet} 0 0 {inside} 1 3 {bottle} {landlights} {inside} {outside} 1 1 {outside} {canopy} 1 1 {cockpit} This describes a 5 layered spaceship object, as follows: A layer called 'warpcore' is enabled and contains 1 surface called 'outside'. A layer called 'jet' is disabled and contains no surfaces. A layer called 'inside' is enabled and contains 3 surfaces called 'bottle', 'landlights' and 'inside'. A layer called 'outside' is enabled and contains 1 surface called 'outside'. A layer called 'canopy' is enabled and contains 1 surface called 'canopy'.