Project OpenGeode
class SolidMeshBuilder
Interface class to represent the builder of a SolidMesh
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<dimension>
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<dimension>
Functions
~SolidMeshBuilder
public void ~SolidMeshBuilder<>()
public void ~SolidMeshBuilder<>()
create
public std::unique_ptr<SolidMeshBuilder<dimension> > create(SolidMesh<dimension> & mesh)
public std::unique_ptr<SolidMeshBuilder<dimension> > create(SolidMesh<dimension> & mesh)
Create the builder associated with a SolidMesh.
mesh [in] The SolidMesh to build/modify
edges_builder
public SolidEdgesBuilder<dimension> edges_builder()
public SolidEdgesBuilder<dimension> edges_builder()
facets_builder
public SolidFacetsBuilder<dimension> facets_builder()
public SolidFacetsBuilder<dimension> facets_builder()
create_point
public index_t create_point(Point<dimension> point)
public index_t create_point(Point<dimension> point)
Create a new point with associated coordinates.
point [in] The point to create
return the index of the created point
create_polyhedron
public index_t create_polyhedron(Span vertices, Span facets)
public index_t create_polyhedron(Span vertices, Span facets)
Create a new polyhedron from vertices and facets.
vertices [in] The vertices defining the polyhedron to create
facets [in] The list of ordered vertices defining all the facets of the polyhedron
return the index of the created polyhedron
set_polyhedron_vertex
public void set_polyhedron_vertex(const PolyhedronVertex & polyhedron_vertex, index_t vertex_id)
public void set_polyhedron_vertex(const PolyhedronVertex & polyhedron_vertex, index_t vertex_id)
Modify a polyhedron vertex.
polyhedron_vertex [in] The index of the polyhedron vertex to modify
vertex_id [in] Index of the mesh vertex to set as polyhedron vertex
replace_vertex
public void replace_vertex(index_t old_vertex_id, index_t new_vertex_id)
public void replace_vertex(index_t old_vertex_id, index_t new_vertex_id)
Replace old polygon vertices from a given vertex to another.
old_vertex_id [in] Index of the initial mesh vertex to modify
new_vertex_id [in] Index of the target mesh vertex to set as polyhedron vertex
set_polyhedron_adjacent
public void set_polyhedron_adjacent(const PolyhedronFacet & polyhedron_facet, index_t adjacent_id)
public void set_polyhedron_adjacent(const PolyhedronFacet & polyhedron_facet, index_t adjacent_id)
Set a polyhedron adgjacent through a facet.
polygon_facet [in] The index of the polygon facet
adjacent_id [in] Index of the adjacent polyhedron
unset_polyhedron_adjacent
public void unset_polyhedron_adjacent(const PolyhedronFacet & polyhedron_facet)
public void unset_polyhedron_adjacent(const PolyhedronFacet & polyhedron_facet)
Unset a polyhedron adjacency through a facet.
polygon_facet [in] The index of the polygon facet
compute_polyhedron_adjacencies
public void compute_polyhedron_adjacencies()
public void compute_polyhedron_adjacencies()
Compute all the adjacencies between the solid polyhedra
compute_polyhedron_adjacencies
public void compute_polyhedron_adjacencies(Span polyhedra_to_connect)
public void compute_polyhedron_adjacencies(Span polyhedra_to_connect)
Compute the adjacencies between the given solid polyhedra
polyhedra_to_connect [in] Set of polyhedra for which compute adjacencies
delete_polyhedra
public vector delete_polyhedra(const std::vector<bool> & to_delete)
public vector delete_polyhedra(const std::vector<bool> & to_delete)
Delete a set of solid polyhedra
to_delete [in] Vector of size solid_mesh_.nb_polyhedra(). If to_delete[i] is true the polyhedra of index i is deleted, else it is kept.
return the mapping between old polyhedron indices to new ones. Deleted polyhedra new index is NO_ID
permute_polyhedra
public vector permute_polyhedra(Span permutation)
public vector permute_polyhedra(Span permutation)
Permute polyhedra to match the given order.
permutation [in] Vector of size solid_mesh_.nb_polyhedra(). Each value corresponds to the destination position.
return the mapping between old polyhedron indices to new ones.
delete_isolated_vertices
public vector delete_isolated_vertices()
public vector delete_isolated_vertices()
Delete all the isolated vertices (not used as polyhedron vertices)
return the mapping between old vertex indices to new ones. Deleted vertices new index is NO_ID
associate_polyhedron_vertex_to_vertex
public void associate_polyhedron_vertex_to_vertex(const PolyhedronVertex & polyhedron_vertex, index_t vertex_id)
public void associate_polyhedron_vertex_to_vertex(const PolyhedronVertex & polyhedron_vertex, index_t vertex_id)
Set a polyhedron vertex to a given vertex.
polyhedron_vertex [in] PolyhedronVertex corresponding to the vertex.
vertex_id [in] Index of the vertex.
disassociate_polyhedron_vertex_to_vertex
public void disassociate_polyhedron_vertex_to_vertex(index_t vertex_id)
public void disassociate_polyhedron_vertex_to_vertex(index_t vertex_id)
Unset polyhedron vertex information to a given vertex.
vertex_id [in] Index of the vertex.
reset_polyhedra_around_vertex
public void reset_polyhedra_around_vertex(index_t vertex_id)
public void reset_polyhedra_around_vertex(index_t vertex_id)
copy
public void copy(const SolidMesh<dimension> & solid_mesh)
public void copy(const SolidMesh<dimension> & solid_mesh)
SolidMeshBuilder
protected void SolidMeshBuilder<>(SolidMesh<dimension> & mesh)
protected void SolidMeshBuilder<>(SolidMesh<dimension> & mesh)
update_polyhedron_info
protected void update_polyhedron_info(index_t polyhedron_id, Span vertices)
protected void update_polyhedron_info(index_t polyhedron_id, Span vertices)
class SolidMeshBuilder
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<3U>
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<3U>