Project OpenGeode
class SurfaceMeshBuilder
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<2U>
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<2U>
class SurfaceMeshBuilder
Interface class to represent the builder of a SurfaceMesh
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<dimension>
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<dimension>
Functions
~SurfaceMeshBuilder
public void ~SurfaceMeshBuilder<dimension>()
public void ~SurfaceMeshBuilder<dimension>()
create
public std::unique_ptr<SurfaceMeshBuilder<dimension> > create(SurfaceMesh<dimension> & mesh)
public std::unique_ptr<SurfaceMeshBuilder<dimension> > create(SurfaceMesh<dimension> & mesh)
Create the builder associated with a SurfaceMesh.
mesh [in] The SurfaceMesh to build/modify
edges_builder
public SurfaceEdgesBuilder<dimension> edges_builder()
public SurfaceEdgesBuilder<dimension> edges_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_polygon
public index_t create_polygon(Span vertices)
public index_t create_polygon(Span vertices)
Create a new polygon from vertices.
vertices [in] The ordered vertices defining the polygon to create
return the index of the created polygon
set_polygon_vertex
public void set_polygon_vertex(const PolygonVertex & polygon_vertex, index_t vertex_id)
public void set_polygon_vertex(const PolygonVertex & polygon_vertex, index_t vertex_id)
Modify a polygon vertex.
polygon_vertex [in] The index of the polygon vertex to modify
vertex_id [in] Index of the mesh vertex to set as polygon 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 polygon vertex
set_polygon_adjacent
public void set_polygon_adjacent(const PolygonEdge & polygon_edge, index_t adjacent_id)
public void set_polygon_adjacent(const PolygonEdge & polygon_edge, index_t adjacent_id)
Set a polygon adjacent through an edge.
polygon_edge [in] The index of the polygon edge
adjacent_id [in] Index of the adjacent polygon
unset_polygon_adjacent
public void unset_polygon_adjacent(const PolygonEdge & polygon_edge)
public void unset_polygon_adjacent(const PolygonEdge & polygon_edge)
Unset a polygon adjacency through an edge.
polygon_edge [in] The index of the polygon edge
compute_polygon_adjacencies
public void compute_polygon_adjacencies()
public void compute_polygon_adjacencies()
Compute all the adjacencies between the surface polygons
compute_polygon_adjacencies
public void compute_polygon_adjacencies(Span polygons_to_connect)
public void compute_polygon_adjacencies(Span polygons_to_connect)
Compute the adjacencies between the given surface polygons
polygons_to_connect [in] Set of polygons for which compute adjacencies
delete_polygons
public vector delete_polygons(const std::vector<bool> & to_delete)
public vector delete_polygons(const std::vector<bool> & to_delete)
Delete a set of surface polygons
to_delete [in] Vector of size surface_mesh_.nb_polygons(). If to_delete[i] is true the polygon of index i is deleted, else it is kept.
return the mapping between old polygon indices to new ones. Deleted polygons new index is NO_ID
permute_polygons
public vector permute_polygons(Span permutation)
public vector permute_polygons(Span permutation)
Permute polygons to match the given order.
permutation [in] Vector of size surface_mesh_.nb_polygons(). Each value corresponds to the destination position.
return the mapping between old polygon 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 polygon vertices)
return the mapping between old vertex indices to new ones. Deleted vertices new index is NO_ID
associate_polygon_vertex_to_vertex
public void associate_polygon_vertex_to_vertex(const PolygonVertex & polygon_vertex, index_t vertex_id)
public void associate_polygon_vertex_to_vertex(const PolygonVertex & polygon_vertex, index_t vertex_id)
Set a polygon vertex to a given vertex.
polygon_vertex [in] PolygonVertex corresponding to the vertex.
vertex_id [in] Index of the vertex.
disassociate_polygon_vertex_to_vertex
public void disassociate_polygon_vertex_to_vertex(index_t vertex_id)
public void disassociate_polygon_vertex_to_vertex(index_t vertex_id)
Unset polygon vertex information to a given vertex.
vertex_id [in] Index of the vertex.
reset_polygons_around_vertex
public void reset_polygons_around_vertex(index_t vertex_id)
public void reset_polygons_around_vertex(index_t vertex_id)
copy
public void copy(const SurfaceMesh<dimension> & surface_mesh)
public void copy(const SurfaceMesh<dimension> & surface_mesh)
SurfaceMeshBuilder
protected void SurfaceMeshBuilder<dimension>(SurfaceMesh<dimension> & mesh)
protected void SurfaceMeshBuilder<dimension>(SurfaceMesh<dimension> & mesh)
class SurfaceMeshBuilder
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<3U>
Inherits from VertexSetBuilder, CoordinateReferenceSystemManagersBuilder<3U>