Edgebreaker file formats

The Edgebreaker software uses 4 file types. For debugging purposes and increased flexibility, the files CLERS, VERTICES, HANDLES can be used as BINARY or ASCII (see examples of files)

OVTable file format

An OVTable stores connectivity and geometry of the triangular mesh. OVTable files are used as input to EBCompression and are produced by EBDecompression. All values are stored as ASCII floats or integers.

T

# integer number of triangles. There are 3T lines, one per corner. Corners of the same triangle are consecutive.

V1      O1     

# two integers separated by a space or tab, the first one references a vertex, the second one the opposite corner.

V2      O2   

# same thing for the second corner of the same triangle

V3      O3   

# same thing for the third corner

V4      O4   

# same thing for the first corner of the second triangle

V

# integer number of vertices. V is usually roughly twice smaller than T

X1  Y1  Z1

# (x,y,z) coordinates of the first vertex represented as ASCII floats separated by a space or tab

X2  Y2  Z2

# (x,y,z) coordinates of the second vertex

X3  Y3  Z3

# (x,y,z) coordinates of the third vertex

 Popular formats may be converted into the OV file format using 3D Object Converter.

CLERS file format

A CLERS file stores an encoding of the CLERS string (a sequence of symbols in the set {C,L,E,R,S}) produced by Edgebreaker’s compression. In ASCII it contains these corresponding letters, which may be further compressed by external file compression or entropy techniques. In binary, it contains a simple encoding: C=0, L=110, R=101, S=100, E=111.

ASCII:

TYPE 

# mesh type (MANIFOLD, TPATCH, INTERIOR_TPATCH, or HOLES) stored as a string

N

# integer number of triangles incident upon the first vertex

clers

# string of ASCII characters in the set {C,L,E,R,S} ending with the first E that does not match a prior S

BINARY:

TYPE 

# 2 bits specifying the mesh type (MANIFOLD - 00, TPATCH - 01, INTERIOR_TPATCH - 10, HOLES - 11)

N

# 32-bit integer number of incident triangles upon the first vertex

clers

# variable length encoding of the CLERS symbols: 0 is C , 110 is L, 111 is E, 101 is R, 100 is S

 

VERTICES file format

ASCII:

A VERTICES file contains the compression’s encoding of the corrective vectors for the vertex coordinates. The file is a sequence of triplets stored as floats (ASCII) representing the x, y, and z coordinates of the corrective vectors.

BINARY:

Max (X,Y,Z)

# Three 32 bit values spesifying maximum (x, y, z) coordinates used to quantize coordinates of the corrective vectors.

Min (X,Y,Z)

# Three 32 bit values spesifying minimum (x, y, z) coordinates used to quantize coordinates of the corrective vectors.

BITS

# Number of bits used to quantize coordinates of the corrective vectors.

Corrective Vectors

# Sequence of triplets stored as 32bit values representing the x, y, and z coordinates of the corrective vectors.

 

 

HANDLES file format

A HANDLES file stores pairs of corner identifiers indicating pairs of bounding edges that decompression should glue to form handles. It is stored as a sequence of pairs of integers representing pairs of opposite corners in the mesh.