Voxel  0.5.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Voxel SDK API Documentation

Voxel Library is meant to be a platform to interface one or more depth cameras, with a common higher-level API. The higher level API is explained here. For installation instructions and overall documentation of Voxel library, see https://github.com/3dtof/voxelsdk/wiki.

Coding Conventions

All public API elements are enclosed in namespace Voxel.

Naming Conventions

  1. All class names are in title case. E.g.: Voxel::EnumParameter
  2. All function names and variable names are also in title case, except that the first character is always in lower case. E.g.: breakLines()
  3. All protected/private member begin with underscore, and public members do not. E.g.: Voxel::DepthCamera::_addParameters()

Common Data-structures

Several common STL data-structures such std::vector, std::list, std::thread, etc. are used in Voxel library. However, they have been wrapped in typedefs and template aliases for ease of replacement later if necessary. All replacement typedefs are defined in Common.h, and follows naming discussed in Section Naming Conventions.

libvoxel API Structure

Two primary API classes which will be used by most of the users, are Voxel::CameraSystem and Voxel::DepthCamera.

API structure of TI's Depth Camera Support Library

Voxel::TI::ToFCameraBase is the main abstract class which partially implements Voxel::DepthCamera. Voxel::TI::ToFCameraBase is not TI specific, but makes an assumption about ToF type depth cameras. Voxel::TI::ToFCamera is the main abstract class which is TI specific, and it is derived from Voxel::TI::ToFCameraBase. Voxel::TI::ToFHaddockCamera is further derived from Voxel::TI::ToFCamera and adds Haddock generation specific support including parameters. However, this does not have board-specific details. Voxel::TI::Voxel14Camera is an example of board-specific class for Voxel-14 board, inherited from Voxel::TI::ToFHaddockCamera. Voxel::TI::Voxel14Camera defines board-specific versions of Voxel::Streamer, Voxel::Downloader and Voxel::RegisterProgrammer.

The rest of the classes in Voxel SDK are used to handle various individual functionalities. See Modules to know about these classes.