eos 1.4.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Friends | List of all members
eos::morphablemodel::EdgeTopology Struct Reference

A struct containing a 3D shape model's edge topology. More...

#include <EdgeTopology.hpp>

Public Member Functions

template<class Archive >
void serialize (Archive &archive)
 

Public Attributes

std::vector< std::array< int, 2 > > adjacent_faces
 num_edges x 2 matrix storing faces adjacent to each edge
 
std::vector< std::array< int, 2 > > adjacent_vertices
 num_edges x 2 matrix storing vertices adjacent to each edge
 

Friends

class cereal::access
 

Detailed Description

A struct containing a 3D shape model's edge topology.

This struct contains all edges of a 3D mesh, and for each edge, it contains the two faces and the two vertices that are adjacent to that edge. This is used in the iterated closest edge fitting (ICEF).

Note: The indices are 1-based, so 1 needs to be subtracted before using them as mesh indices. An index of 0 as first array element means that it's an edge that lies on the mesh boundary, i.e. they are only adjacent to one face. We should explore a less error-prone way to store this data, but that's how it is done in Matlab by the original code.

adjacent_faces.size() is equal to adjacent_vertices.size().

Member Function Documentation

◆ serialize()

template<class Archive >
void eos::morphablemodel::EdgeTopology::serialize ( Archive &  archive)
inline

Serialises this class using cereal.

Parameters
[in]archiveThe archive to serialise to (or to serialise from).

The documentation for this struct was generated from the following file: