attach a widget (not working well yet)

This commit is contained in:
AndreaRigoni
2026-03-08 09:42:28 +00:00
parent 32a1104769
commit 2548582036
6 changed files with 309 additions and 169 deletions

View File

@@ -23,18 +23,16 @@
//////////////////////////////////////////////////////////////////////////////*/
#ifndef ULIBVTKVIEWER_H
#define ULIBVTKVIEWER_H
#include <iostream>
#include "uLibVtkInterface.h"
#include <iostream>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkCornerAnnotation.h>
#include <vtkOrientationMarkerWidget.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
class vtkProp;
class vtk3DWidget;
@@ -45,63 +43,56 @@ class vtkRenderer;
namespace uLib {
namespace Vtk {
template <class T>
class Tie {
template <class T> class Tie {
public:
void DoAction() {
std::cout << "Tie::DoAction -> generic Tie does nothing\n";
}
void DoAction() {
std::cout << "Tie::DoAction -> generic Tie does nothing\n";
}
};
class Viewer {
public:
Viewer();
~Viewer();
Viewer();
~Viewer();
void AddPuppet(Puppet &prop);
void AddPuppet(Puppet &prop);
void RemovePuppet(Puppet &prop);
void RemovePuppet(Puppet &prop);
void AddWidget(vtk3DWidget *widget);
void AddWidget(vtk3DWidget *widget);
void Reset();
void ZoomAuto();
void Reset();
void Start();
void Start();
vtkCornerAnnotation *GetAnnotation();
vtkCornerAnnotation *GetAnnotation();
vtkRenderer *GetRenderer();
vtkRenderer * GetRenderer();
vtkRenderWindowInteractor *GetInteractor();
vtkRenderWindowInteractor * GetInteractor();
void addProp(vtkProp *prop);
void addProp(vtkProp *prop);
void RemoveProp(vtkProp *prop);
void RemoveProp(vtkProp *prop);
private:
void InstallPipe();
void UninstallPipe();
void InstallPipe();
void UninstallPipe();
vtkRenderer *m_Renderer;
vtkRenderWindow *m_RenderWindow;
vtkCornerAnnotation *m_Annotation;
vtkOrientationMarkerWidget *m_Marker;
vtkRenderer *m_Renderer;
vtkRenderWindow *m_RenderWindow;
vtkCornerAnnotation *m_Annotation;
vtkOrientationMarkerWidget *m_Marker;
};
template <>
class Tie<Viewer> {
template <> class Tie<Viewer> {
public:
void DoAction() {
std::cout << " VIEWER TIE !!! \n";
}
void DoAction() { std::cout << " VIEWER TIE !!! \n"; }
};
} // vtk
} // uLib
} // namespace Vtk
} // namespace uLib
#endif // ULIBVTKVIEWER_H