vtk-m2/vtkm/cont/CellSetStructured.h

62 lines
1.4 KiB
C
Raw Normal View History

2015-04-15 16:43:12 +00:00
#ifndef vtk_m_cont_CellSetStructured_h
#define vtk_m_cont_CellSetStructured_h
#include <vtkm/cont/CellSet.h>
#include <vtkm/RegularConnectivity.h>
#include <vtkm/RegularStructure.h>
2015-04-15 16:43:12 +00:00
namespace vtkm {
namespace cont {
template<vtkm::IdComponent Dimension>
class CellSetStructured : public CellSet
2015-04-15 16:43:12 +00:00
{
2015-05-15 17:15:11 +00:00
public:
CellSetStructured(const std::string &n)
: CellSet(n,Dimension)
{
}
virtual vtkm::Id GetNumCells()
{
return structure.GetNumberOfCells();
}
vtkm::RegularConnectivity<vtkm::cont::NODE,vtkm::cont::CELL,Dimension>
2015-05-15 17:15:11 +00:00
GetNodeToCellConnectivity()
{
vtkm::RegularConnectivity<vtkm::cont::NODE,vtkm::cont::CELL,Dimension> regConn;
regConn.SetNodeDimension(structure.nodeDims[0],
structure.nodeDims[1],
structure.nodeDims[2]);
return regConn;
}
vtkm::RegularConnectivity<vtkm::cont::CELL,vtkm::cont::NODE,Dimension>
GetCellToNodeConnectivity()
{
vtkm::RegularConnectivity<vtkm::cont::CELL,vtkm::cont::NODE,Dimension> regConn;
regConn.SetNodeDimension(structure.nodeDims[0],
structure.nodeDims[1],
structure.nodeDims[2]);
2015-05-15 17:15:11 +00:00
return regConn;
}
2015-05-20 19:26:10 +00:00
virtual void PrintSummary(std::ostream &out)
{
out<<" StructuredCellSet: "<<name<<" dim= "<<dimensionality<<std::endl;
structure.PrintSummary(out);
}
2015-05-15 17:15:11 +00:00
public:
vtkm::RegularStructure<Dimension> structure;
2015-04-15 16:43:12 +00:00
};
}
} // namespace vtkm::cont
#endif //vtk_m_cont_CellSetStructured_h