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.