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

Method init_hash_grid

tools/MeshUtils/PointLocator.cpp:116–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114}
115
116void PointLocator::init_hash_grid() {
117 const size_t dim = m_mesh->get_dim();
118 const size_t num_elements = m_elements.size() / m_vertex_per_element;
119
120 Float cell_size = compute_cell_size();
121 m_grid = HashGrid::create(cell_size, dim);
122
123 MatrixF elem_vtx(m_vertex_per_element, dim);
124 for (size_t i=0; i<num_elements; i++) {
125 VectorI elem = m_elements.segment(i*m_vertex_per_element, m_vertex_per_element);
126 for (size_t j=0; j<m_vertex_per_element; j++) {
127 elem_vtx.row(j) = m_mesh->get_vertex(elem[j]);
128 }
129 m_grid->insert_bbox(i, elem_vtx);
130 }
131}
132
133Float PointLocator::compute_cell_size() const {
134 const size_t num_elements = m_elements.size() / m_vertex_per_element;

Callers

nothing calls this directly

Calls 4

insert_bboxMethod · 0.80
get_dimMethod · 0.45
sizeMethod · 0.45
get_vertexMethod · 0.45

Tested by

no test coverage detected