#ifndef __GRID_ELEMENTS_HPP__ #define __GRID_ELEMENTS_HPP__ #include "xios_spl.hpp" #include "array_new.hpp" #include "element.hpp" namespace xios { class CGridLocalView ; class CGridLocalConnector ; class CGridLocalElements : public std::enable_shared_from_this { private: std::vector> elements_ ; std::vector> views_= std::vector>(CElementView::numViewType_) ; std::map, shared_ptr> connectors_ ; vector localMask_ ; public: CGridLocalElements(vector > elements) : elements_(elements) {} CGridLocalElements(vector> elements, vector& localMask) : elements_(elements), localMask_(localMask) {} bool hasLocalMask() { return !localMask_.empty() ;} vector& getLocalMask(void) { return localMask_ ;} std::vector>& getElements(void) { return elements_ ; } shared_ptr getView(CElementView::type type) ; shared_ptr getConnector(CElementView::type srcType, CElementView::type dstType, bool withMask=false) ; } ; } #endif