Как мне получить каждую ось от каждой вершины в OpenSG? Например, я хочу получить значение оси X «1,5» из «1,5, 3, 2».
Я предполагаю, что вы уже знаете, как получить вершины, и вам трудно только читать отдельные компоненты. Также я предполагаю, что вы используете OpenSG 2, хотя я думаю, что те же функции доступны и в OpenSG 1.8.
Классы OpenSG Point и Vector предлагают x()
, y()
, z()
а также w()
функция для доступа к первому, второму, третьему и четвертому векторному компоненту соответственно.
Вы также можете получить доступ к базовому массиву, который хранит векторные данные с getValues()
, Используя индекс в массиве, вы получаете n-й векторный компонент позиции вашей вершины.
OSG::Pnt3f p(1.5, 3, 2);
// prints
// The x-component is: 1.5
std::cout << "The x-component is: " << p.x() << "\n";
// prints
// Component 0 is: 1.5
// Component 1 is: 3
// Component 2 is: 2
for (unsigned int i = 0; i < 3; i++)
{
std::cout << "Component " << i << " is: " << p.getValues()[i] << "\n";
}
Заметка В StackOverflow не так много пользователей OpenSG. Вы, вероятно, получите лучшую помощь, если напишите Список рассылки пользователей OpenSG.
Других решений пока нет …