Project OpenGeode
class VertexIdentifier
This class identifies groups of geometric component vertices as unique vertices. This is a only topological information.
Functions
VertexIdentifier
public void VertexIdentifier()
public void VertexIdentifier()
~VertexIdentifier
public void ~VertexIdentifier()
public void ~VertexIdentifier()
nb_unique_vertices
public index_t nb_unique_vertices()
public index_t nb_unique_vertices()
is_unique_vertex_isolated
public bool is_unique_vertex_isolated(index_t unique_vertex_id)
public bool is_unique_vertex_isolated(index_t unique_vertex_id)
component_mesh_vertices
public const std::vector<ComponentMeshVertex> & component_mesh_vertices(index_t unique_vertex_id)
public const std::vector<ComponentMeshVertex> & component_mesh_vertices(index_t unique_vertex_id)
Return the component vertices identified with an unique vertex.
unique_vertex_id [in] Indice of the unique vertex.
unique_vertex
public index_t unique_vertex(const ComponentMeshVertex & component_vertex)
public index_t unique_vertex(const ComponentMeshVertex & component_vertex)
Return the unique vertex index of a given component vertex.
component_vertex [in] Vertex index in a geometric component.
has_component_mesh_vertices
public bool has_component_mesh_vertices(index_t unique_vertex_id, const ComponentType & type)
public bool has_component_mesh_vertices(index_t unique_vertex_id, const ComponentType & type)
Return true if given unique vertex has at least one mesh component vertex of given component type
has_component_mesh_vertices
public bool has_component_mesh_vertices(index_t unique_vertex_id, const uuid & component_id)
public bool has_component_mesh_vertices(index_t unique_vertex_id, const uuid & component_id)
Return true if given unique vertex has at least one mesh component vertex of given component
save_unique_vertices
public void save_unique_vertices(basic_string_view directory)
public void save_unique_vertices(basic_string_view directory)
Save the VertexIdentifier into a file.
directory [in] Folder in which create the file.
register_mesh_component
public void register_mesh_component(const MeshComponent & component, BuilderKey )
public void register_mesh_component(const MeshComponent & component, BuilderKey )
Add a component in the VertexIdentifier
unregister_mesh_component
public void unregister_mesh_component(const MeshComponent & component, BuilderKey )
public void unregister_mesh_component(const MeshComponent & component, BuilderKey )
Remove a component from the VertexIdentifier and delete corresponding information (i.e. the attribute on component mesh).
create_unique_vertex
public index_t create_unique_vertex(BuilderKey )
public index_t create_unique_vertex(BuilderKey )
Create an empty unique vertex.
return Index of the created unique vertex.
create_unique_vertices
public index_t create_unique_vertices(index_t nb, BuilderKey )
public index_t create_unique_vertices(index_t nb, BuilderKey )
Create several empty unique vertices
return Index of the first created unique vertex
set_unique_vertex
public void set_unique_vertex(ComponentMeshVertex component_vertex_id, index_t unique_vertex_id, BuilderKey )
public void set_unique_vertex(ComponentMeshVertex component_vertex_id, index_t unique_vertex_id, BuilderKey )
Identify a component vertex to an existing unique vertex index.
component_vertex_id [in] Index of the vertex in the component.
unique_vertex_id [in] Unique vertex index.
unset_unique_vertex
public void unset_unique_vertex(const ComponentMeshVertex & component_vertex_id, index_t unique_vertex_id, BuilderKey )
public void unset_unique_vertex(const ComponentMeshVertex & component_vertex_id, index_t unique_vertex_id, BuilderKey )
Remove a component vertex to its unique vertex index.
component_vertex_id [in] Index of the vertex in the component.
unique_vertex_id [in] Unique vertex index.
update_unique_vertices
public void update_unique_vertices(const ComponentID & component_id, absl::Span<const index_t> old2new, BuilderKey )
public void update_unique_vertices(const ComponentID & component_id, absl::Span<const index_t> old2new, BuilderKey )
Remove a component vertex to its unique vertex index.
component_id [in] Component unique index used to filter returned vertices.
old2new [in] Mapping between mesh component old vertex indices to new ones. Deleted vertices new index is NO_ID.
load_unique_vertices
public void load_unique_vertices(basic_string_view directory, BuilderKey )
public void load_unique_vertices(basic_string_view directory, BuilderKey )
Load the VertexIdentifier from a file.
directory [in] Folder containing the file that stores VertexIdentifier information.
delete_isolated_vertices
public vector delete_isolated_vertices(BuilderKey )
public vector delete_isolated_vertices(BuilderKey )
Delete all unique vertices not associated with any component
VertexIdentifier
protected void VertexIdentifier(VertexIdentifier && other)
protected void VertexIdentifier(VertexIdentifier && other)
operator=
protected VertexIdentifier & operator=(VertexIdentifier && other)
protected VertexIdentifier & operator=(VertexIdentifier && other)