Ubuntu18 + vtk6测试通过
处理NDT地图的时候要对NDT地图可视化 借助VTK实现,先从话一个椭球体开始
#include <iostream>
#include <vtkSmartPointer.h>
#include <vtkSphereSource.h>
#include <vtkActor.h>
#include <vtkConeSource.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderWindowInteractor.h>
#include<vtkLight.h>
#include <vtkParametricEllipsoid.h>
#include <vtkParametricFunctionSource.h>
#include <vtkTransform.h>
#define vtkSPtr vtkSmartPointer
#define vtkSPtrNew(Var, Type) vtkSPtr<Type> Var = vtkSPtr<Type>::New();
using namespace std;
int main()
{
vtkSPtrNew( ellipsoid, vtkParametricEllipsoid );
//三轴长度
ellipsoid->SetXRadius(2);
ellipsoid->SetXRadius(3);
ellipsoid->SetXRadius(4);
vtkSPtrNew( source, vtkParametricFunctionSource );
source->SetParametricFunction(ellipsoid);
vtkSPtrNew( mapper, vtkPolyDataMapper );
mapper->SetInputConnection( source->GetOutputPort() );
vtkSPtrNew( actor, vtkActor );
actor->SetMapper( mapper );
vtkSPtrNew( renderer, vtkRenderer );
renderer->AddActor(actor);
renderer->SetBackground( 0, 0, 0 );
vtkSPtrNew( renderWindow, vtkRenderWindow );
renderWindow->AddRenderer( renderer );
vtkSPtrNew( renderWindowInteractor, vtkRenderWindowInteractor );
renderWindowInteractor->SetRenderWindow( renderWindow );
renderer->ResetCamera();
renderWindow->Render();
renderWindowInteractor->Start();
return 0;
}
效果