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;
62 void assignedIds(std::vector<AssignedIds*>& assignments)
const override;
65 bool setShapeData(vtkSmartPointer<vtkDataObject> mesh,
ShapeOptions& options);
66 vtkSmartPointer<vtkDataObject> shapeData()
const;
68 const AssignedIds& pointIds()
const {
return *m_pointIds; }
69 const AssignedIds& cellIds()
const {
return *m_cellIds; }
72 ArcEndpointInterface<arcs::BoundariesToShapes, ConstArc, OutgoingArc> parents()
const;
73 ArcEndpointInterface<arcs::BoundariesToShapes, NonConstArc, OutgoingArc> parents();
76 ArcEndpointInterface<arcs::BoundariesToShapes, ConstArc, IncomingArc> children()
const;
77 ArcEndpointInterface<arcs::BoundariesToShapes, NonConstArc, IncomingArc> children();
80 std::shared_ptr<AssignedIds> m_pointIds;
81 std::shared_ptr<AssignedIds> m_cellIds;
82 vtkSmartPointer<vtkDataObject> m_mesh;
88 #endif // smtk_markup_UnstructuredData_h