38 #ifndef BGEOT_MESH_H__ 39 #define BGEOT_MESH_H__ 55 typedef bgeot::mesh_structure::ind_cv_ct ind_cv_ct;
56 typedef bgeot::mesh_structure::ind_set ind_set;
61 <PT_TAB::const_iterator, ind_cv_ct::const_iterator> ref_mesh_pt_ct;
63 <PT_TAB::const_iterator, ind_pt_face_ct::const_iterator>
72 dal::bit_vector trans_exists;
76 dim_type dim()
const {
return pts.dim(); }
82 GMM_ASSERT1(trans_exists[ic],
83 "No geometric transformation or nonexisting element");
87 const PT_TAB &points()
const {
return pts; }
90 ref_mesh_pt_ct points_of_convex(
size_type ic)
const {
92 return ref_mesh_pt_ct(pts.begin(), rct.begin(), rct.end());
95 inline void points_of_convex(
size_type ic, base_matrix &G)
const {
100 for (
size_type i = 0; i < Np; ++i, it += N) {
101 const base_node &P = pts[rct[i]];
102 std::copy(P.begin(), P.end(), it);
115 const scalar_type tol=scalar_type(0),
116 bool remove_duplicated_nodes =
true) {
117 return pts.add_node(pt, tol, remove_duplicated_nodes);
125 gtab[i] = pgt; trans_exists[i] =
true;
130 size_type ipt[2]; ipt[0] = a; ipt[1] = b;
131 return add_convex(simplex_geotrans(1, 1), &(ipt[0]));
135 size_type ipt[3]; ipt[0] = a; ipt[1] = b; ipt[2] = c;
136 return add_convex(simplex_geotrans(2, 1), &(ipt[0]));
141 size_type ipt[4]; ipt[0] = a; ipt[1] = b; ipt[2] = c; ipt[3] = d;
142 return add_convex(simplex_geotrans(3, 1), &(ipt[0]));
146 typedef basic_mesh *pbasic_mesh;
Geometric transformations on convexes.
indexed array reference (given a container X, and a set of indexes I, this class provides a pseudo-co...
Structure which dynamically collects points identifying points that are nearer than a certain very sm...
size_t size_type
used as the common size type in the library
Mesh structure definition.
size_type add_convex(pconvex_structure cs, ITER ipts, bool *present=0)
Insert a new convex in the mesh_structure.
Store a set of points, identifying points that are nearer than a certain very small distance...
Mesh structure definition.
const ind_cv_ct & ind_points_of_convex(size_type ic) const
Return a container to the list of points attached to convex ic.
std::shared_ptr< const bgeot::geometric_trans > pgeometric_trans
pointer type for a geometric transformation