//基礎輪講2014　2週目Kinectについて 中山祐介
//
//このコードはM1の松本さんが作ったKinectクラスを基礎輪講の課題用に書き換えたものです．
//Kinectクラスのメンバ関数を利用すれば簡単にKinectから情報を得ることができます．
//
//課題は，ShowImage関数とSavePointcloud関数を作成することです．
//ShowImage()関数は実行すると，Kinectから得たカラー画像と距離画像をリアルタイムに表示し続けます．
//またキーボードの"s"を押すと，押した瞬間のカラー画像の保存と
//距離とカラーのデータを持った3次元点群のpcdファイルへの保存を行います．
//この3次元点群の保存をするのがSavePointcloud関数です．
//詳しいことはKinectクラスのShowImage()とSavePointcloud()の中に書いてあるので誘導にしたがってコードの続きを書いてみてください．
//以下，課題の理解に必要な最低限のクラスの説明．
//（ほかにも便利なクラスや機能がPCLやOpneNIには実装されているので調べてみてください！）

// xn::context（Kinectの初期化など）
// xn::ImageGenerator（カラー画像の生成）
// xn::DepthGenerator（距離の検出）
// xn::ImageMetaData（カラー画像の実データ）
// xn::DepthMetaData（距離の実データ）




#include"Kinect.h"

int main(){

	SingleKinect kinect;

	//カラー画像と距離画像を表示
	//"s"を押してpcdファイルに保存後，関数を抜ける
	kinect.ShowImage();

	//作成したpcdファイルを可視化
	kinect.VisualizationPcdFile("./input_points.pcd");

	return 0;

}