kinect-viewer / types.h

 * Copyright 2010 Cliff L. Biffle.  All Rights Reserved.
 * Use of this source code is governed by the Apache License 2.0,
 * which can be found in the LICENSE file.

#ifndef __types_h__
#define __types_h__

typedef struct {
  float x, y, z;
} vec3f_t;

typedef struct {
  float x, y;
} vec2f_t;

typedef struct {
  uint16_t samples[480][640];
} depth_t;

// A single-precision Z buffer.  Roughly in meters.
typedef struct {
  float z[480][640];
} linear_depth_t;

typedef struct {
  uint8_t r, g, b;
} rgb_t;

typedef struct {
  rgb_t pixels[480][640];
} colors_t;

// Describes how to map color data from one frustum
// onto depth data from another.
typedef struct {
  // Offset of the color frustum's focal point, in
  // pixels from the depth frustum's focal point.
  vec3f_t offset;
  // Ratios of the horizontal and vertical fields of
  // view of the color camera to the corresponding
  // parameters of the depth camera.  Corrects for
  // differences in field-of-view.
  vec2f_t scale;
} projective_transform_t;

#endif __types_h__