13 typedef std::array<RowVectorNd, 2>
BBox;
19 virtual bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const = 0;
21 virtual int id(
const size_t element_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const
31 static std::shared_ptr<Selection>
build(
32 const json &j_selections,
33 const BBox &mesh_bbox,
34 const std::string &root_path);
42 const json &j_selections,
43 const BBox &mesh_bbox,
44 const std::string &root_path);
63 const json &selection,
64 const BBox &mesh_bbox);
66 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
78 const json &selection,
79 const BBox &mesh_bbox);
81 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override
86 int id(
const size_t element_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
100 const json &selection,
101 const BBox &mesh_bbox);
103 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
116 const json &selection,
117 const BBox &mesh_bbox);
119 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
134 const json &selection,
135 const BBox &mesh_bbox);
137 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
150 const json &selection,
151 const BBox &mesh_bbox);
153 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
168 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override {
return true; }
177 const std::vector<int> &ids);
179 virtual bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override {
return true; }
181 virtual int id(
const size_t element_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
195 const std::string &file_path,
196 const int id_offset = 0);
198 bool inside(
const size_t p_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
199 int id(
const size_t element_id,
const std::vector<int> &vs,
const RowVectorNd &p)
const override;
202 std::vector<std::pair<int, std::vector<int>>>
data_;
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
int id(const size_t element_id, const std::vector< int > &vs, const RowVectorNd &p) const override
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
int id(const size_t element_id, const std::vector< int > &vs, const RowVectorNd &p) const override
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
std::vector< std::pair< int, std::vector< int > > > data_
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
static std::shared_ptr< Selection > build(const json &j_selections, const BBox &mesh_bbox, const std::string &root_path)
Build a selection objects from a JSON selection.
bool boundary_only() const
std::array< RowVectorNd, 2 > BBox
virtual bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const =0
virtual int id(const size_t element_id, const std::vector< int > &vs, const RowVectorNd &p) const
static std::vector< std::shared_ptr< utils::Selection > > build_selections(const json &j_selections, const BBox &mesh_bbox, const std::string &root_path)
Build a vector of selection objects from a JSON selection(s).
virtual bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
virtual int id(const size_t element_id, const std::vector< int > &vs, const RowVectorNd &p) const override
bool inside(const size_t p_id, const std::vector< int > &vs, const RowVectorNd &p) const override
Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > RowVectorNd