11 #ifndef smtk_mesh_core_MeshSet_h
12 #define smtk_mesh_core_MeshSet_h
14 #include "smtk/CoreExports.h"
17 #include "smtk/mesh/core/CellSet.h"
18 #include "smtk/mesh/core/Component.h"
19 #include "smtk/mesh/core/Handle.h"
20 #include "smtk/mesh/core/PointSet.h"
21 #include "smtk/mesh/core/QueryTypes.h"
22 #include "smtk/mesh/core/TypeSet.h"
26 #include "smtk/common/UUID.h"
36 typedef std::vector<smtk::mesh::MeshSet> MeshList;
37 typedef std::set<smtk::mesh::MeshSet> MeshSets;
62 smtk::mesh::Handle handle,
63 const smtk::mesh::HandleRange& range);
66 smtk::mesh::Handle handle,
67 const smtk::mesh::HandleRange& range);
79 bool operator==(
const MeshSet& other)
const;
80 bool operator!=(
const MeshSet& other)
const;
81 bool operator<(
const MeshSet& other)
const;
92 bool append(
const MeshSet& other);
97 bool is_empty()
const;
100 std::string name()
const;
101 bool setName(
const std::string&);
104 std::size_t size()
const;
107 std::vector<smtk::mesh::Domain> domains()
const;
108 std::vector<smtk::mesh::Dirichlet> dirichlets()
const;
109 std::vector<smtk::mesh::Neumann> neumanns()
const;
128 std::vector<std::string> names()
const;
184 bool mergeCoincidentContactPoints(
double tolerance = 1.0e-6);
190 const std::string& name,
192 const smtk::mesh::FieldType& type,
193 const void* field =
nullptr);
195 std::set<smtk::mesh::CellField> cellFields()
const;
203 const std::string& name,
205 const smtk::mesh::FieldType& type,
206 const void* field =
nullptr);
208 std::set<smtk::mesh::PointField> pointFields()
const;
213 const smtk::mesh::HandleRange& range()
const {
return m_range; }
225 smtk::mesh::Handle m_handle{};
226 smtk::mesh::HandleRange m_range;