2016-05-31 9 views
0

C 3D Reconstruction Libraryを使用して、Tangoデバイスからメッシュを取得しようとしています。 Mesh Building Functionsには、使用するフローの概要があります。これは、Tango3DR_update関数を何度か呼び出してから、Tango3DR_extractFullMeshを呼び出してメッシュを取得する必要があることを示しています。Project Tango - 3D Reconstruction

Tango3DR_updateは、私がどうやって得るかわからないTango3DR_PointCloudオブジェクトが必要です。 Tango3DR_PointCloud_createを使用して空のTango3DR_PointCloudを作成することはできますが、実際のデータでどのように記入するかはわかりません。

誰でもこのオブジェクトを取得する方法を知っていますか? このライブラリを使用しているサンプル/サンプルコードがあるかどうかは知っていますか?私は何も見つかりませんでした。

おかげで、 オレン

答えて

2

あなたはOnXYZijAvailableRouterで受け取るTangoXYZijからTango3DR_PointCloudを埋める必要があります。ポーズ構造体の場合と同じことです。

// -- point cloud 
Tango3DR_PointCloud cloud; 
cloud.num_points = xyz_ij->xyz_count; 
cloud.points = new Tango3DR_Vector4[cloud.num_points]; 
for (int i = 0; i < cloud.num_points; ++i) { 
    cloud.points[i][0] = xyz_ij->xyz[i][0]; 
    cloud.points[i][1] = xyz_ij->xyz[i][1]; 
    cloud.points[i][2] = xyz_ij->xyz[i][2]; 
    // last is confidence 
    cloud.points[i][3] = 1; 
} 
cloud.timestamp = xyz_ij->timestamp; 

(設定が完了したら、delete [] cloud.pointsに忘れないでください)

私は見つけることができる唯一の公式例はUnity examplesです。彼らはC APIを使用しますが、C#から呼び出されます。