21 #ifndef bempp_grid_segment_hpp
22 #define bempp_grid_segment_hpp
24 #include "../common/common.hpp"
25 #include "../common/shared_ptr.hpp"
27 #include <boost/array.hpp>
78 const std::set<int>& excludedEntitiesCodim0,
79 const std::set<int>& excludedEntitiesCodim1,
80 const std::set<int>& excludedEntitiesCodim2,
81 const std::set<int>& excludedEntitiesCodim3,
95 int entityCountCodim1,
96 int entityCountCodim2,
97 int entityCountCodim3,
98 const std::set<int>& excludedEntitiesCodim0,
99 const std::set<int>& excludedEntitiesCodim1,
100 const std::set<int>& excludedEntitiesCodim2,
101 const std::set<int>& excludedEntitiesCodim3);
105 bool contains(
int codim,
int index)
const;
117 int mark = -1)
const;
148 boost::array<int, 4> m_entityCounts;
149 boost::array<std::set<int>, 4> m_excludedEntities;
GridSegment(const Grid &grid, const std::set< int > &excludedEntitiesCodim0, const std::set< int > &excludedEntitiesCodim1, const std::set< int > &excludedEntitiesCodim2, const std::set< int > &excludedEntitiesCodim3, int level=0)
Constructor.
Definition: grid_segment.cpp:59
GridSegment difference(const GridSegment &other) const
Return the difference of this GridSegment and the GridSegment other.
Definition: grid_segment.cpp:249
GridSegment intersection(const GridSegment &other) const
Return the intersection of this GridSegment and the GridSegment other.
Definition: grid_segment.cpp:255
Abstract wrapper of a grid.
Definition: grid.hpp:50
void markExcludedEntities(int codim, std::vector< int > &marks, int mark=-1) const
Mark array elements corresponding to entities that do not belong to this GridSegment.
Definition: grid_segment.cpp:202
bool contains(int codim, int index) const
Return true if the segment contains the entity of codimension codim and index index, false otherwise.
Definition: grid_segment.cpp:192
static GridSegment closedDomain(const Grid &grid, int domain, int level=0)
Return a GridSegment representing a closed domain of a grid.
Definition: grid_segment.cpp:148
GridSegment union_(const GridSegment &other) const
Return the union of this GridSegment and the GridSegment other.
Definition: grid_segment.cpp:233
Segment of a grid.
Definition: grid_segment.hpp:46
GridSegment complement() const
Return the complement of this grid segment.
Definition: grid_segment.cpp:215
static GridSegment openDomain(const Grid &grid, int domain, int level=0)
Return a GridSegment representing an open domain of a grid.
Definition: grid_segment.cpp:105
static GridSegment wholeGrid(const Grid &grid, int level=0)
Return a GridSegment representing the whole grid grid at a given level (level = -1 for leafView)...
Definition: grid_segment.cpp:99