A cluster is defined by an integer which represent the cluster id, one string which is the name of the cluster(Two clusters can have the same name). Then it is define with a list of nodes and a list of edges. To define a subcluster we use the same method. One important point is that the id zero is reserved for the root graph (thus it cannot be used).

layout : This type enables to store nodes position in 3D. The position of nodes is defined by a set of 3 doubles (x_coord,y_coord,z_coord). The position of edges is a list of 3D points. These points are the bends of edges. ((x_coord1,y_coord1,z_coord1)(x_coord2,y_coord2,z_coord2))

size : This type enables to store the size of elements. The size is defined with a sequence of three double. (width,heigth,depth)

color : This type enables to store the color of elements. The color is defined with a sequence of four integer from 0 to 255. (red,green,blue,alpha)