fix segfault

This commit is contained in:
AndreaRigoni
2026-03-17 15:47:27 +00:00
parent e6e0bccffb
commit bc437a3913
2 changed files with 19 additions and 29 deletions

View File

@@ -1,36 +1,29 @@
#include "vtkViewport.h"
#include <vtkAxes.h>
#include <vtkAxesActor.h>
#include <vtkCamera.h>
#include <vtkCameraOrientationWidget.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkObjectFactory.h>
#include <vtkPlaneSource.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkSmartPointer.h>
#include <vtkNew.h>
#include <vtkTextProperty.h>
#include <vtkPolyDataMapper.h>
#include <vtkNamedColors.h>
#include <vtkProperty.h>
#include <vtkCallbackCommand.h>
#include <vtkMath.h>
#include <vtkActor.h>
#include <cmath>
namespace uLib {
namespace Vtk {
Viewport::Viewport()
: m_Renderer(vtkRenderer::New())
, m_Annotation(vtkCornerAnnotation::New())
, m_Marker(vtkOrientationMarkerWidget::New())
: m_Renderer(vtkSmartPointer<vtkRenderer>::New())
, m_Annotation(vtkSmartPointer<vtkCornerAnnotation>::New())
, m_Marker(vtkSmartPointer<vtkOrientationMarkerWidget>::New())
, m_CameraWidget(nullptr)
, m_Colors(vtkNamedColors::New())
, m_Colors(vtkSmartPointer<vtkNamedColors>::New())
{
}
@@ -38,14 +31,7 @@ Viewport::~Viewport()
{
if (m_Renderer) {
m_Renderer->RemoveAllViewProps();
m_Renderer->Clear();
}
if (m_Annotation) m_Annotation->Delete();
if (m_Marker) m_Marker->Delete();
if (m_CameraWidget) m_CameraWidget->Delete();
if (m_Renderer) m_Renderer->Delete();
if (m_Colors) m_Colors->Delete();
}
void Viewport::SetupPipeline(vtkRenderWindowInteractor* iren)
@@ -112,7 +98,7 @@ void Viewport::SetupPipeline(vtkRenderWindowInteractor* iren)
// Camera-orientation widget (VTK >= 9)
#if VTK_MAJOR_VERSION >= 9
m_CameraWidget = vtkCameraOrientationWidget::New();
m_CameraWidget = vtkSmartPointer<vtkCameraOrientationWidget>::New();
m_CameraWidget->SetParentRenderer(m_Renderer);
m_CameraWidget->SetInteractor(iren);
m_CameraWidget->On();