SKEL files represent collections of points and polylines, with
The conventional suffix for
SKEL files is .skel.
[C][n]SKEL [NDim] # Vertex dimension, present only if nSKEL NVertices NPolylines x y z # Vertices # if 4SKEL, each vertex has 4 components # if nSKEL, each vertex has NDim components # if C[n]SKEL vertex coordinates are # followed by an RGBA color specification ... x[NVertices-1] y[NVertices-1] z[NVertices-1] # Polylines # Nv = # vertices on this polyline (1 = point) # v ... v[Nv-1]: vertex indices # in range 0..NVertices-1 Nv v v ... v[Nv-1] [colorspec] ... # colorspec continues past v[Nv-1] # to end-of-line; may be nothing, or 3 or 4 numbers. # nothing: default color # 3 or 4 floats: RGB[A] values 0..1
The syntax resembles that of
OFF files, with a table of vertices
followed by a sequence of polyline descriptions, each referring to vertices
by index in the table. Each polyline has an optional color.
nSKEL objects, each vertex has NDim components.
4nSKEL objects, each vertex has NDim+1 components;
the final component is the homogeneous divisor.
A [n]SKEL BINARY format is accepted; See Binary format. It resembles the ASCII format in almost the way you'd expect, with 32-bit integers for all counters and vertex indices and 32-bit floats for vertex positions.
Exception: each polyline's vertex indices are followed by an integer indicating how many color components accompany it. Polyline color components must be floats, not integer values. Thus a colorless polyline with 3 vertices might be represented as
int int int int int 3 17 5 9 0
while the same polyline colored red might be
int int int int int float float float float 3 17 5 9 4 1.0 0.0 0.0 1.0