mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 03:07:55 -06:00
TriangleSelector: backend is aware of divided triangles
This commit is contained in:
parent
0756a7e4b3
commit
3b91d11ddf
5 changed files with 33 additions and 13 deletions
|
@ -512,6 +512,25 @@ void TriangleSelector::perform_split(int facet_idx, FacetSupportType old_state)
|
|||
}
|
||||
|
||||
|
||||
|
||||
indexed_triangle_set TriangleSelector::get_facets(FacetSupportType state) const
|
||||
{
|
||||
indexed_triangle_set out;
|
||||
for (const Triangle& tr : m_triangles) {
|
||||
if (tr.valid && ! tr.is_split() && tr.get_state() == state) {
|
||||
stl_triangle_vertex_indices indices;
|
||||
for (int i=0; i<3; ++i) {
|
||||
out.vertices.emplace_back(m_vertices[tr.verts_idxs[i]].v);
|
||||
indices[i] = out.vertices.size() - 1;
|
||||
}
|
||||
out.indices.emplace_back(indices);
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::map<int, std::vector<bool>> TriangleSelector::serialize() const
|
||||
{
|
||||
// Each original triangle of the mesh is assigned a number encoding its state
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue