10 #ifndef vtk_m_cont_CellSet_h
11 #define vtk_m_cont_CellSet_h
13 #include <vtkm/cont/vtkm_cont_export.h>
36 virtual vtkm::Id GetNumberOfCells()
const = 0;
38 virtual vtkm::Id GetNumberOfFaces()
const = 0;
40 virtual vtkm::Id GetNumberOfEdges()
const = 0;
42 virtual vtkm::Id GetNumberOfPoints()
const = 0;
48 virtual std::shared_ptr<CellSet> NewInstance()
const = 0;
49 virtual void DeepCopy(
const CellSet* src) = 0;
51 virtual void PrintSummary(std::ostream&)
const = 0;
53 virtual void ReleaseResourcesExecution() = 0;
67 using U =
typename std::remove_pointer<T>::type;
68 using type =
typename std::is_base_of<vtkm::cont::CellSet, U>::type;
71 #define VTKM_IS_CELL_SET(T) VTKM_STATIC_ASSERT(::vtkm::cont::internal::CellSetCheck<T>::type::value)
77 #endif //vtk_m_cont_CellSet_h