kinect-viewer / KVDepthView.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.

#import <Cocoa/Cocoa.h>
#import <OpenGL/gl.h>
#import <OpenGL/glext.h>
#import <OpenGL/glu.h>

#import "types.h"

@class KVRenderer;

typedef struct {
  vec3f_t pos;
  vec3f_t target;
  vec3f_t up;
  vec3f_t pivot;
  GLdouble fov;
  GLint viewWidth, viewHeight;
} camera_t;

@interface KVDepthView : NSOpenGLView {
  camera_t camera;
  BOOL usingTrackball;
  GLfloat trackballRotation[4];
  GLfloat worldRotation[4];
  GLfloat spinY, spinX;
  NSColor *deviceWhite;  

@property(retain) KVRenderer *renderer;

@property(assign) BOOL frozen;
@property(assign, nonatomic) BOOL anaglyph;
@property(assign, nonatomic) BOOL textured;
@property(nonatomic) BOOL recording;

@property (assign) NSData *latestDepthSamples;
@property (assign) NSData *latestColorSamples;

- (IBAction) toggleDepthFieldUpdates: sender;
- (IBAction) toggleAnaglyph: sender;
- (IBAction) toggleTextures: sender;