Chapter 3. Superficie data format

Table of Contents
Overview
Types of objects

Overview

Superficie understands five kind of objects : surfaces made of triangles or quadrilaterals, polygons, lines, points. Several objects can be grouped.

The file format is XML. This document describes all the valid tags and nodes.

This is a sample file:

<?xml version="1.0"?>
<sup:Scene xmlns:sup="http://www.linuxsupportline.com/~superficie/">
<sup:Objects>
<sup:Object Type="QUADS">
<sup:Common>
<sup:Vertex Length="1200"> -3.141592653589793 -3.141592653589793 0
-2.810898690054025 ...
</sup:Vertex>
</sup:Common>
<sup:Specific>
<sup:Index Length="1444"> 0 1 21 20 1 2 22 21 2 3 23 22 3 4 24 23 4 5
25 24 5 6 26 25 6 7 27 26 7 ...
</sup:Index>
</sup:Specific>
</sup:Object>
</sup:Objects>
</sup:Scene>

The root node is sup:Scene.

It contains one or more sup:Objects nodes. sup:Objects serves as a container for one or more objects. It has one attribute: Linked="True". If it isn't present, is assumed False.

In the future, you will be able to define properties for a group of objects by declaring properties of a sup:Objects group.

Each object is declared with sup:Object. The property Type contains the type of the object.

It can be one of:

Each sup:Object has two parts: sup:Common and sup:Specific.

sup:Common contains the data common for all the objects. Right now, It only contains sup:Vertex. The data of sup:Vertex is the vertex data for an object. It is a list of space separated numbers. New line characters are allowed. Valid symbols for a number are: 0123456789e-.

sup:Specific contains data specific for each object, and it is parsed in the object's class. For the moment the only additional data needed by some objects is sup:Index. All the nodes containing arrays must have the property Length="n" where n is the length of the array. Right now there are only two such nodes: sup:Vertex and sup:Index.