Я довольно новичок в ВТК, и мне очень нравится использовать его.VTK - Взаимодействие с несколькими объектами
Теперь я хочу взаимодействовать с несколькими объектами независимо. Например, если у меня есть 5 объектов в окне рендеринга, я хочу только перемещать, вращать и взаимодействовать с одним выбранным объектом; в то время как остальные 4 объекта остаются там, где они есть.
В настоящий момент камера выполняет магию, и когда я поворачиваю независимый объект, другие объекты движутся одновременно, и я не хочу, чтобы это произошло.
Я также хочу сохранить все объекты в памяти.
Я намерен использовать C++.
Это мой вид классовой структуры ...
class ScreenObjects
{
vtkActor (LinkedList); // I intend on using a linkedlist to store all the actors
public:
ScreenObjects(); // Constructor. Initializes vtkActor to null.
void readSTLFile(); // Reads the STL File
bool setObject(); // Sets current object, so you can only interact with the selected object
}
мне не хватает довольно много функций и подробно в своем классе, так как я не знаю, что еще включать в себя, что бы использования , Я также думал о соединении двух объектов вместе, но опять же, я не знаю, как включить это в мой класс; любая информация об этом будет оценена по достоинству.
Было бы очень признательно, если бы мне дали идеи. Это для меня что-то большое, и это действительно значило бы для меня много, и я имею в виду это глубоко от моего сердца.
Darko, спасибо за предложение :), это много значит. Что касается взаимодействия с vtkActor с помощью vtkInteractorStyleTrackballActor, как бы я мог использовать матрицы? В идеале, я хочу использовать матрицы для вращения и преобразования vtkActors? Кроме того, с точки зрения хранения в памяти, я думал о наличии класса, который принимает несколько экземпляров класса vtkActor. Я хочу идеально хранить несколько актеров в памяти, чтобы их можно было увидеть в окне рендеринга. –
Вы можете поместить vtkActors в std :: vector или что-то в этом роде без проблем. Чтобы использовать матрицу преобразования, вы можете использовать vtkProp3D :: SetUserTransform (доступный для vtkActor *, потому что vtkActor получен из vtkProp3D) http://www.vtk.org/doc/nightly/html/classvtkProp3D.html#aac7f621f0a3666a29d21b5087919797a –