11 #ifndef smtk_mesh_core_ForEachTypes_h
12 #define smtk_mesh_core_ForEachTypes_h
14 #include "smtk/CoreExports.h"
17 #include "smtk/mesh/core/CellTypes.h"
18 #include "smtk/mesh/core/Handle.h"
51 bool wantsCoordinates()
const {
return m_wantsCoordinates; }
53 const smtk::mesh::Handle* pointIds()
const {
return m_pointIds; }
55 smtk::mesh::Handle pointId(
int index)
const {
return m_pointIds[index]; }
57 const std::vector<double>& coordinates()
const {
return *m_coords; }
63 void coordinates(std::vector<double>* coords) { m_coords = coords; }
67 void pointIds(
const smtk::mesh::Handle* ptIds) { m_pointIds = ptIds; }
75 const smtk::mesh::Handle* m_pointIds{
nullptr };
76 std::vector<double>* m_coords{
nullptr };
77 bool m_wantsCoordinates;
96 virtual void forPoints(
97 const smtk::mesh::HandleRange& pointIds,
98 std::vector<double>& xyz,
99 bool& coordinatesModified) = 0;