c3d-utils
Utrecht University C3D library and applications

Introduction

uuc3d is a C++ library that allows reading and writing C3D files. The C3D file format is a binary format for recording 3d trajectories of markers. Look on c3d.org for more information on the C3D format.

The uuc3d library has a high level interface and a low level interface. The low level interface is close to the file format. A basic understanding of the C3D specification is necessary to understand it. We will describe the concepts necessary for understanding the high level interface below. Furthermore, there is a part that is more specific for Vicon Nexus files, where we deal with C3d labelling of subjects labelling of subjects.

High Level Interface

The main purpose of C3D files is to store trajectories of markers. Those data are ordered as frames. One frame is the situation at a specific moment. Apart from the trajectory data, a frame may also hold analog data. Interpretation of the analog data is up to the application.

The C3D file format can also hold a number of parameters, ordered in groups. The C3D format allows for arbitrary parameters, but if you want to have access to these, you will have to use the low level interface. In the high level interface you are restricted to the most common ones.

Every frame has the same size. That means that there is a fixed number of trajectories and analog data. The parameter section lists hoe many of these there are. In this section there can be labels for the trajectories.

The class UuIcsC3d::C3dFileInfo is used to store the data of the parameter section. The class UuIcsC3d::C3dFile gives access to the trajectory and analog data.

Limitations

The software has only been tested with C3D files generated by Vicon Nexus software. Especially, there is currently only support for the the Intel representation with floating point coordinate values. The design of the library is such that support for other representations can be added.

Author:
Geert-Jan Giezeman
 All Classes Namespaces Files Functions Variables Typedefs Enumerations