10 #ifndef smtk_markup_UnstructuredData_h
11 #define smtk_markup_UnstructuredData_h
13 #include "smtk/markup/DiscreteGeometry.h"
15 #include "smtk/markup/AssignedIds.h"
23 struct BoundariesToShapes;
32 template<
typename... Args>
38 template<
typename... Args>
40 const std::shared_ptr<AssignedIds>& pointIds,
41 const std::shared_ptr<AssignedIds>& cellIds,
44 , m_pointIds(pointIds)
54 std::shared_ptr<AssignedIds> sharedCellIds;
55 std::shared_ptr<AssignedIds> sharedPointIds;
59 void initialize(
const nlohmann::json& data, smtk::resource::json::Helper& helper)
override;
65 std::unordered_set<Domain*> domains()
const override;
74 void assignedIds(std::vector<AssignedIds*>& assignments)
const override;
77 bool setShapeData(vtkSmartPointer<vtkDataObject> mesh,
ShapeOptions& options);
78 vtkSmartPointer<vtkDataObject> shapeData()
const;
80 const AssignedIds& pointIds()
const {
return *m_pointIds; }
81 const AssignedIds& cellIds()
const {
return *m_cellIds; }
84 ArcEndpointInterface<arcs::BoundariesToShapes, ConstArc, OutgoingArc> parents()
const;
85 ArcEndpointInterface<arcs::BoundariesToShapes, NonConstArc, OutgoingArc> parents();
88 ArcEndpointInterface<arcs::BoundariesToShapes, ConstArc, IncomingArc> children()
const;
89 ArcEndpointInterface<arcs::BoundariesToShapes, NonConstArc, IncomingArc> children();
92 std::shared_ptr<AssignedIds> m_pointIds;
93 std::shared_ptr<AssignedIds> m_cellIds;
94 vtkSmartPointer<vtkDataObject> m_mesh;
100 #endif // smtk_markup_UnstructuredData_h