class ring::AffiliationUpdater¶
Overview¶
Exact incremental affiliation across frames. More…
#include <cage_affiliation.hpp>
class AffiliationUpdater {
public:
// construction
AffiliationUpdater();
AffiliationUpdater(AffiliationUpdater&&);
AffiliationUpdater(const AffiliationUpdater&);
~AffiliationUpdater();
// methods
AffiliationUpdater& operator=(AffiliationUpdater&&);
AffiliationUpdater& operator=(const AffiliationUpdater&);
const CageAffiliation& update(const std::vector<std::vector<int>>& rings, const std::vector<std::vector<int>>& nList);
int lastReclassified() const;
};
Detailed Documentation¶
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).
Methods¶
const CageAffiliation& 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.
int lastReclassified() const
Rings reclassified by the last update (the dirty closure); the first call reports every ring.