2016-05-31 1 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; 

내가 찾을 수있는 유일한 공식 예제는 Unity examples에 (이 완료되면 delete [] cloud.points하는 것을 잊지 마세요). 그들은 C API를 사용하지만 C#에서 호출됩니다.