#include <LODMapping.h>
◆ LODMapping()
23 :
26}
Vector< std::uint16_t > lods
Definition: dna/LODMapping.h:52
Matrix< std::uint16_t > indices
Definition: dna/LODMapping.h:53
◆ addIndices()
void dna::LODMapping::addIndices |
( |
std::uint16_t |
index, |
|
|
const std::uint16_t * |
source, |
|
|
std::uint16_t |
count |
|
) |
| |
◆ associateLODWithIndices()
void dna::LODMapping::associateLODWithIndices |
( |
std::uint16_t |
lod, |
|
|
std::uint16_t |
index |
|
) |
| |
◆ cleanupIndices()
void dna::LODMapping::cleanupIndices |
( |
| ) |
|
|
private |
56 {
57 for (std::size_t i =
indices.size(); i > 0ul; --i) {
58 const auto idx = (i - 1ul);
59 if (std::find(
lods.begin(),
lods.end(), idx) ==
lods.end()) {
61 for (
auto& l2i :
lods) {
62 if (l2i > idx) {
63 --l2i;
64 }
65 }
66 }
67 }
68}
TIterator advanced(TIterator source, TDistance distance)
Definition: utils/Extd.h:128
References extd::advanced(), indices, and lods.
Referenced by discardLODs().
◆ clearIndices()
void dna::LODMapping::clearIndices |
( |
std::uint16_t |
index | ) |
|
83 {
86 } else {
88 }
89}
References indices.
◆ discardLODs()
void dna::LODMapping::discardLODs |
( |
const LODConstraint & |
lodConstraint | ) |
|
◆ filterIndices()
void dna::LODMapping::filterIndices |
( |
std::function< bool(std::uint16_t)> |
filterer | ) |
|
107 {
109 for (auto it = row.begin(); it != row.end();) {
110 if (filterer(*it)) {
111 ++it;
112 } else {
113 it = row.erase(it);
114 }
115 }
116 }
117}
References indices.
◆ getCombinedDistinctIndices()
129 {
130 UnorderedSet<std::uint16_t> distinctIndices{memRes};
131 for (
const auto& row :
indices) {
132 distinctIndices.insert(row.begin(), row.end());
133 }
134 return distinctIndices;
135}
References indices.
Referenced by dna::FilteredInputArchive::process().
◆ getIndexListCount()
std::uint16_t dna::LODMapping::getIndexListCount |
( |
| ) |
const |
79 {
80 return static_cast<std::uint16_t
>(
indices.size());
81}
References indices.
◆ getIndices()
ConstArrayView< std::uint16_t > dna::LODMapping::getIndices |
( |
std::uint16_t |
lod | ) |
const |
◆ getLODCount()
std::uint16_t dna::LODMapping::getLODCount |
( |
| ) |
const |
28 {
29 return static_cast<std::uint16_t
>(
lods.size());
30}
References lods.
◆ mapIndices()
void dna::LODMapping::mapIndices |
( |
std::function< std::uint16_t(std::uint16_t)> |
mapper | ) |
|
◆ reset()
void dna::LODMapping::reset |
( |
| ) |
|
◆ resetIndices()
void dna::LODMapping::resetIndices |
( |
| ) |
|
◆ resetLODs()
void dna::LODMapping::resetLODs |
( |
| ) |
|
◆ setLODCount()
void dna::LODMapping::setLODCount |
( |
std::uint16_t |
lodCount | ) |
|
◆ indices
Matrix<std::uint16_t> dna::LODMapping::indices |
|
protected |
Referenced by addIndices(), associateLODWithIndices(), cleanupIndices(), clearIndices(), filterIndices(), getCombinedDistinctIndices(), getIndexListCount(), getIndices(), mapIndices(), reset(), resetIndices(), dna::RawLODMapping::serialize(), and setLODCount().
◆ lods
Vector<std::uint16_t> dna::LODMapping::lods |
|
protected |
The documentation for this class was generated from the following files: