more refactoring
This commit is contained in:
parent
4833976a0c
commit
38c9fa4a92
@ -45,14 +45,6 @@
|
|||||||
|
|
||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
|
|
||||||
namespace cv
|
|
||||||
{
|
|
||||||
namespace viz
|
|
||||||
{
|
|
||||||
template<typename _Tp> Vec<_Tp, 3>* vtkpoints_data(vtkSmartPointer<vtkPoints>& points);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
/// line widget implementation
|
/// line widget implementation
|
||||||
cv::viz::WLine::WLine(const Point3d &pt1, const Point3d &pt2, const Color &color)
|
cv::viz::WLine::WLine(const Point3d &pt1, const Point3d &pt2, const Color &color)
|
||||||
@ -350,7 +342,7 @@ cv::viz::WCoordinateSystem::WCoordinateSystem(double scale)
|
|||||||
polydata->GetPointData()->SetScalars(colors);
|
polydata->GetPointData()->SetScalars(colors);
|
||||||
|
|
||||||
vtkSmartPointer<vtkTubeFilter> tube_filter = vtkSmartPointer<vtkTubeFilter>::New();
|
vtkSmartPointer<vtkTubeFilter> tube_filter = vtkSmartPointer<vtkTubeFilter>::New();
|
||||||
VtkUtils::SetInputData(tube_filter, polydata);
|
tube_filter->SetInputConnection(polydata->GetProducerPort());
|
||||||
tube_filter->SetRadius(axes->GetScaleFactor() / 50.0);
|
tube_filter->SetRadius(axes->GetScaleFactor() / 50.0);
|
||||||
tube_filter->SetNumberOfSides(6);
|
tube_filter->SetNumberOfSides(6);
|
||||||
|
|
||||||
@ -445,11 +437,7 @@ namespace cv { namespace viz { namespace
|
|||||||
|
|
||||||
// Extract the edges so we have the grid
|
// Extract the edges so we have the grid
|
||||||
vtkSmartPointer<vtkExtractEdges> filter = vtkSmartPointer<vtkExtractEdges>::New();
|
vtkSmartPointer<vtkExtractEdges> filter = vtkSmartPointer<vtkExtractEdges>::New();
|
||||||
#if VTK_MAJOR_VERSION <= 5
|
|
||||||
filter->SetInputConnection(grid->GetProducerPort());
|
filter->SetInputConnection(grid->GetProducerPort());
|
||||||
#else
|
|
||||||
filter->SetInputData(grid);
|
|
||||||
#endif
|
|
||||||
filter->Update();
|
filter->Update();
|
||||||
return filter->GetOutput();
|
return filter->GetOutput();
|
||||||
}
|
}
|
||||||
@ -461,11 +449,7 @@ cv::viz::WGrid::WGrid(const Vec2i &dimensions, const Vec2d &spacing, const Color
|
|||||||
vtkSmartPointer<vtkPolyData> grid = GridUtils::createGrid(dimensions, spacing);
|
vtkSmartPointer<vtkPolyData> grid = GridUtils::createGrid(dimensions, spacing);
|
||||||
|
|
||||||
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
|
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
|
||||||
#if VTK_MAJOR_VERSION <= 5
|
|
||||||
mapper->SetInputConnection(grid->GetProducerPort());
|
mapper->SetInputConnection(grid->GetProducerPort());
|
||||||
#else
|
|
||||||
mapper->SetInputData(grid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
|
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
|
||||||
actor->SetMapper(mapper);
|
actor->SetMapper(mapper);
|
||||||
|
@ -64,27 +64,6 @@ cv::Affine3d cv::viz::makeCameraPose(const Vec3d& position, const Vec3d& focal_p
|
|||||||
return makeTransformToGlobal(u, v, n, position);
|
return makeTransformToGlobal(u, v, n, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace cv { namespace viz
|
|
||||||
{
|
|
||||||
template<typename _Tp> Vec<_Tp, 3>* vtkpoints_data(vtkSmartPointer<vtkPoints>& points);
|
|
||||||
|
|
||||||
template<> Vec3f* vtkpoints_data<float>(vtkSmartPointer<vtkPoints>& points)
|
|
||||||
{
|
|
||||||
CV_Assert(points->GetDataType() == VTK_FLOAT);
|
|
||||||
vtkDataArray *data = points->GetData();
|
|
||||||
float *pointer = static_cast<vtkFloatArray*>(data)->GetPointer(0);
|
|
||||||
return reinterpret_cast<Vec3f*>(pointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<> Vec3d* vtkpoints_data<double>(vtkSmartPointer<vtkPoints>& points)
|
|
||||||
{
|
|
||||||
CV_Assert(points->GetDataType() == VTK_DOUBLE);
|
|
||||||
vtkDataArray *data = points->GetData();
|
|
||||||
double *pointer = static_cast<vtkDoubleArray*>(data)->GetPointer(0);
|
|
||||||
return reinterpret_cast<Vec3d*>(pointer);
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
/// VizStorage implementation
|
/// VizStorage implementation
|
||||||
|
|
||||||
@ -308,11 +287,7 @@ void cv::viz::computeNormals(const Mesh3d& mesh, OutputArray _normals)
|
|||||||
vtkSmartPointer<vtkPolyData> polydata = getPolyData(WMesh(mesh));
|
vtkSmartPointer<vtkPolyData> polydata = getPolyData(WMesh(mesh));
|
||||||
|
|
||||||
vtkSmartPointer<vtkPolyDataNormals> normal_generator = vtkSmartPointer<vtkPolyDataNormals>::New();
|
vtkSmartPointer<vtkPolyDataNormals> normal_generator = vtkSmartPointer<vtkPolyDataNormals>::New();
|
||||||
#if VTK_MAJOR_VERSION <= 5
|
normal_generator->SetInputConnection(polydata->GetProducerPort());
|
||||||
normal_generator->SetInput(polydata);
|
|
||||||
#else
|
|
||||||
normal_generator->SetInputData(polydata);
|
|
||||||
#endif
|
|
||||||
normal_generator->ComputePointNormalsOn();
|
normal_generator->ComputePointNormalsOn();
|
||||||
normal_generator->ComputeCellNormalsOff();
|
normal_generator->ComputeCellNormalsOff();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user