more refactoring
This commit is contained in:
@@ -172,10 +172,40 @@ namespace cv
|
||||
friend class Viz3d;
|
||||
};
|
||||
|
||||
template<typename _Tp> bool isNan(const _Tp* data)
|
||||
template<typename _Tp> inline bool isNan(const _Tp* data)
|
||||
{
|
||||
return isNan(data[0]) || isNan(data[1]) || isNan(data[2]);
|
||||
}
|
||||
|
||||
inline vtkSmartPointer<vtkPolyData> getPolyData(const Widget3D& widget)
|
||||
{
|
||||
vtkSmartPointer<vtkProp> prop = WidgetAccessor::getProp(widget);
|
||||
vtkSmartPointer<vtkMapper> mapper = vtkActor::SafeDownCast(prop)->GetMapper();
|
||||
return vtkPolyData::SafeDownCast(mapper->GetInput());
|
||||
}
|
||||
|
||||
struct VtkUtils
|
||||
{
|
||||
template<class Filter>
|
||||
static inline void SetInputData(vtkSmartPointer<Filter> filter, vtkPolyData *polydata)
|
||||
{
|
||||
#if VTK_MAJOR_VERSION <= 5
|
||||
filter->SetInput(polydata);
|
||||
#else
|
||||
filter->SetInputData(polydata);
|
||||
#endif
|
||||
}
|
||||
|
||||
template<class Filter>
|
||||
static inline void AddInputData(vtkSmartPointer<Filter> filter, vtkPolyData *polydata)
|
||||
{
|
||||
#if VTK_MAJOR_VERSION <= 5
|
||||
filter->AddInput(polydata);
|
||||
#else
|
||||
filter->AddInputData(polydata);
|
||||
#endif
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -305,9 +305,7 @@ void cv::viz::writeTrajectory(InputArray _traj, const String& files_format, int
|
||||
|
||||
void cv::viz::computeNormals(const Mesh3d& mesh, OutputArray _normals)
|
||||
{
|
||||
vtkSmartPointer<vtkProp> prop = WidgetAccessor::getProp(WMesh(mesh));
|
||||
vtkSmartPointer<vtkMapper> mapper = vtkActor::SafeDownCast(prop)->GetMapper();
|
||||
vtkSmartPointer<vtkPolyData> polydata = vtkPolyData::SafeDownCast(mapper->GetInput());
|
||||
vtkSmartPointer<vtkPolyData> polydata = getPolyData(WMesh(mesh));
|
||||
|
||||
vtkSmartPointer<vtkPolyDataNormals> normal_generator = vtkSmartPointer<vtkPolyDataNormals>::New();
|
||||
#if VTK_MAJOR_VERSION <= 5
|
||||
|
Reference in New Issue
Block a user