OpenABF 2.1.0
Loading...
Searching...
No Matches
Public Attributes | List of all members
OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::ExtractedComponent Struct Reference

One element of extract_connected_components()'s output. More...

#include <OpenABF/OpenABF.hpp>

Public Attributes

Pointer mesh
 
std::vector< std::size_t > vertex_map
 
std::vector< std::size_t > face_map
 

Detailed Description

template<typename T, std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
struct OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::ExtractedComponent

One element of extract_connected_components()'s output.

Holds an extracted sub-mesh and the two index maps callers need to relate sub-mesh elements back to the source mesh. The mapping is 1-to-1 in both directions for a manifold input — every source vertex/face is in exactly one component.

Member Data Documentation

◆ face_map

template<typename T , std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
std::vector<std::size_t> OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::ExtractedComponent::face_map

face_map[sub_idx] == original_idx.

◆ mesh

template<typename T , std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
Pointer OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::ExtractedComponent::mesh

Deep copy of the connected component as an independent mesh.

◆ vertex_map

template<typename T , std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
std::vector<std::size_t> OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::ExtractedComponent::vertex_map

vertex_map[sub_idx] == original_idx.