Wildmeshing Toolkit
Loading...
Searching...
No Matches
MappableContainer.hpp
Go to the documentation of this file.
1#pragma once
2#include "Mappable.hpp"
3
4namespace wmtk::multimesh {
6{
7public:
8 MappableContainer(const Mesh& m);
13 ~MappableContainer() = default;
14
15
16 virtual std::vector<std::shared_ptr<Mappable>> mappables() = 0;
17
18 void add(std::shared_ptr<Mappable> mappable);
19
20 const std::shared_ptr<Mappable>& get(int64_t index) const;
21 int64_t size() const;
22 bool empty() const;
23
24 std::map<Mesh const*, std::vector<std::shared_ptr<Mappable>>> get_map_mesh_to_invariants();
25
26private:
27 std::vector<std::shared_ptr<Mappable>> m_mappables;
28};
29
30} // namespace wmtk::multimesh
MappableContainer(const MappableContainer &)=default
MappableContainer(MappableContainer &&)=default
void add(std::shared_ptr< Mappable > mappable)
const std::shared_ptr< Mappable > & get(int64_t index) const
std::map< Mesh const *, std::vector< std::shared_ptr< Mappable > > > get_map_mesh_to_invariants()
MappableContainer & operator=(MappableContainer &&)
MappableContainer & operator=(const MappableContainer &)
virtual std::vector< std::shared_ptr< Mappable > > mappables()=0
std::vector< std::shared_ptr< Mappable > > m_mappables