Exact incremental affiliation across frames. More...
#include <cage_affiliation.hpp>
Public Member Functions | |
| AffiliationUpdater () | |
| ~AffiliationUpdater () | |
| AffiliationUpdater (AffiliationUpdater &&) noexcept | |
| AffiliationUpdater & | operator= (AffiliationUpdater &&) noexcept |
| AffiliationUpdater (const AffiliationUpdater &)=delete | |
| AffiliationUpdater & | operator= (const AffiliationUpdater &)=delete |
| const CageAffiliation & | update (const std::vector< std::vector< int > > &rings, const std::vector< std::vector< int > > &nList) |
| int | lastReclassified () const |
Exact incremental affiliation across frames.
Diffs the six-ring set (by canonical ring key) and the neighbour rows against the previous frame, recomputes affiliation inside the locality closure of the changes, and carries stored answers elsewhere. The result is identical to cageAffiliation on the new frame. The neighbour graph should come from SkinNeighborList (default: mutual four-nearest, the TUM v2 graph).
Definition at line 81 of file cage_affiliation.hpp.
| ring::AffiliationUpdater::AffiliationUpdater | ( | ) |
| ring::AffiliationUpdater::~AffiliationUpdater | ( | ) |
|
noexcept |
|
delete |
|
nodiscard |
Rings reclassified by the last update (the dirty closure); the first call reports every ring.
|
noexcept |
|
delete |
| const CageAffiliation & ring::AffiliationUpdater::update | ( | const std::vector< std::vector< int > > & | rings, |
| const std::vector< std::vector< int > > & | nList ) |
Classify the frame, reusing the previous frame's answers outside the locality closure of what changed. The reference stays valid until the next update call.