Почему приложение C++ Open3D не может «найти каталог ресурсов»?C++

Программы на C++. Форум разработчиков
Anonymous
 Почему приложение C++ Open3D не может «найти каталог ресурсов»?

Сообщение Anonymous »

Я использую Open3D (0.18.0+) из C++, и у меня возникли проблемы с настройкой свойств в ViewControl.
Я использую open3d::visualization:: Visualizer — который, очевидно, считается «устаревшим» — в отличие, скажем, open3d::visualization::gui::Application. Я бы предпочел использовать более новый класс Application, но и с этим у меня проблемы.
Этот код, использующий устаревший визуализатор, работает, показывая окно с красный шарик в центре:

Код: Выделить всё

void test()
{
open3d::PrintOpen3DVersion();
auto vis = open3d::visualization::Visualizer();
vis.CreateVisualizerWindow();
auto ball = open3d::geometry::TriangleMesh::CreateSphere(5);
ball->ComputeVertexNormals();
ball->PaintUniformColor({1, 0, 0});
vis.AddGeometry(ball);
vis.Run();
}
Хотя примеров кода Open3D на C++ очень мало, на Python его достаточно. Большая часть из них использует современный класс Application. Не желая идти против течения, я попробовал нечто подобное, используя новый класс:

Код: Выделить всё

void test2()
{

open3d::PrintOpen3DVersion();
open3d::visualization::gui::Application::GetInstance().Initialize();
auto vis = open3d::visualization::visualizer::O3DVisualizer("name", 500, 500);
auto ball = open3d::geometry::TriangleMesh::CreateSphere(5);
ball->ComputeVertexNormals();
ball->PaintUniformColor({1, 0, 0});
vis.AddGeometry("ball", {ball});
open3d::visualization::gui::Application::GetInstance().Run();
}
Появляется сообщение «Не удалось найти каталог ресурсов»:

Код: Выделить всё

libc++abi: terminating due to uncaught exception of type std::runtime_error:
[Open3D Error] (std::string (anonymous namespace)::FindResourcePath(int,
const char **))
/Users/cwr/Documents/code/Open3D/cpp/open3d/visualization/gui/
Application.cpp:96: Could not find resource directory.
Что такое каталог ресурсов, что в нем должно быть и как его настроить?
Было бы очень полезно увидеть современный пример кода C++ с использованием класса Application.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -directory

Вернуться в «C++»