MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / init_boundary_nodes

Method init_boundary_nodes

tools/Assembler/Mesh/TriangleMesh.cpp:178–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176}
177
178void TriangleMesh::init_boundary_nodes(const BoundaryPtr& bd) {
179 const size_t num_vertices = m_mesh->get_num_vertices();
180 const size_t num_boundaries = bd->get_num_boundaries();
181 std::set<size_t> boundary_vertices;
182 for (size_t i=0; i<num_boundaries; i++) {
183 VectorI bd_edge = bd->get_boundary(i);
184 boundary_vertices.insert(bd_edge.data(), bd_edge.data() + 2);
185 }
186
187 m_boundary.resize(boundary_vertices.size());
188 std::copy(boundary_vertices.begin(), boundary_vertices.end(),
189 m_boundary.data());
190
191 m_boundary_idx = VectorI::Ones(num_vertices);
192 m_boundary_idx *= -1;
193 const size_t num_boundary_vertices = m_boundary.size();
194 for (size_t i=0; i<num_boundary_vertices; i++) {
195 m_boundary_idx[m_boundary[i]] = i;
196 }
197}
198
199void TriangleMesh::init_boundary_edges(const BoundaryPtr& bd) {
200 m_boundary_edges = bd->get_boundaries();

Callers

nothing calls this directly

Calls 7

get_num_verticesMethod · 0.45
get_num_boundariesMethod · 0.45
get_boundaryMethod · 0.45
insertMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected