Specialized cases for cell-edge functions on polylines.

This commit is contained in:
Dave Pugmire 2019-05-29 09:53:09 -04:00
parent d310ec3aa6
commit fea18190f4
2 changed files with 14 additions and 1 deletions

@ -133,6 +133,15 @@ static inline VTKM_EXEC vtkm::IdComponent CellEdgeNumberOfEdges(vtkm::IdComponen
return numPoints;
}
static inline VTKM_EXEC vtkm::IdComponent CellEdgeNumberOfEdges(vtkm::IdComponent numPoints,
vtkm::CellShapeTagPolyLine,
const vtkm::exec::FunctorBase&)
{
(void)numPoints; // Silence compiler warnings.
VTKM_ASSUME(numPoints > 0);
return detail::CellEdgeTables{}.NumEdges(vtkm::CELL_SHAPE_POLY_LINE);
}
static inline VTKM_EXEC vtkm::IdComponent CellEdgeNumberOfEdges(
vtkm::IdComponent numPoints,
vtkm::CellShapeTagGeneric shape,
@ -142,6 +151,10 @@ static inline VTKM_EXEC vtkm::IdComponent CellEdgeNumberOfEdges(
{
return CellEdgeNumberOfEdges(numPoints, vtkm::CellShapeTagPolygon(), worklet);
}
else if (shape.Id == vtkm::CELL_SHAPE_POLY_LINE)
{
return CellEdgeNumberOfEdges(numPoints, vtkm::CellShapeTagPolyLine(), worklet);
}
else
{
return detail::CellEdgeTables{}.NumEdges(shape.Id);

@ -219,7 +219,7 @@ struct TestCellFacesFunctor
{
for (vtkm::IdComponent numPoints = 3; numPoints < 7; numPoints++)
{
this->TryShapeWithNumPoints(numPoints, vtkm::CellShapeTagPolygon());
this->TryShapeWithNumPoints(numPoints, vtkm::CellShapeTagPolyLine());
}
}