chrono_batch_render/
Coverage:
low: ≥ 0%
medium: ≥ 75.0%
high: ≥ 90.0%
Lines:
37 / 37
100.0%
Branches:
38 / 42
90.5%
Functions:
1 / 1, 6 excl
100.0%

scene/tables/regions.h
Line Branch Exec Source
1 // SPDX-License-Identifier: BSD-3-Clause
2 #pragma once
3
4 #include <cstdint>
5 #include <span>
6 #include <vector>
7
8 namespace chrono::batch_render {
9
10
1/1
✓ Branch 1 taken 769 times.
769 class Regions {
11 public:
12 void Assign(std::vector<std::vector<uint32_t>> lists);
13 bool Replace(uint32_t region, std::span<const uint32_t> items);
14
15 6960 uint32_t Size() const {
16
11/13
<unknown function 10>:
✓ Branch 0 taken 1615 times.
✓ Branch 1 taken 2172 times.
✓ Branch 2 taken 6 times.
✓ Branch 3 taken 784 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 790 times.
✓ Branch 6 taken 928 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 181 times.
✓ Branch 9 taken 5 times.
✓ Branch 11 taken 331 times.
<unknown function 15>:
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 6 times.
6960 return uint32_t(m_counts.size());
17 }
18
19 2291 std::span<const uint32_t> Items() const {
20
5/5
<unknown function 10>:
✓ Branch 1 taken 140 times.
✓ Branch 4 taken 331 times.
<unknown function 15>:
✓ Branch 1 taken 311 times.
✓ Branch 4 taken 311 times.
✓ Branch 7 taken 311 times.
2152 return m_items;
21 }
22
23 1583 std::span<const uint32_t> Starts() const {
24
4/5
<unknown function 10>:
✓ Branch 1 taken 140 times.
✓ Branch 4 taken 331 times.
<unknown function 15>:
✓ Branch 2 taken 311 times.
<unknown function 23>:
✓ Branch 0 taken 649 times.
✗ Branch 1 not taken.
1583 return m_starts;
25 }
26
27 6750 std::span<const uint32_t> Counts() const {
28
12/13
<unknown function 10>:
✓ Branch 0 taken 833 times.
✓ Branch 0 taken 790 times.
✓ Branch 1 taken 70 times.
✓ Branch 1 taken 124 times.
✓ Branch 2 taken 22 times.
✓ Branch 3 taken 906 times.
✓ Branch 5 taken 140 times.
✓ Branch 8 taken 331 times.
<unknown function 15>:
✓ Branch 2 taken 311 times.
<unknown function 19>:
✓ Branch 1 taken 1 time.
<unknown function 23>:
✓ Branch 0 taken 649 times.
✗ Branch 1 not taken.
<unknown function 27>:
✓ Branch 1 taken 9 times.
6680 return m_counts;
29 }
30
31 1896 uint32_t Capacity(uint32_t region) const {
32
5/5
<unknown function 10>:
✓ Branch 0 taken 790 times.
✓ Branch 1 taken 264 times.
<unknown function 15>:
✓ Branch 2 taken 418 times.
<unknown function 31>:
✓ Branch 0 taken 279 times.
✓ Branch 1 taken 6 times.
1896 return m_starts[region + 1] - m_starts[region];
33 }
34
35 143 std::span<const uint32_t> Items(uint32_t region) const {
36 143 return std::span(m_items).subspan(m_starts[region], m_counts[region]);
37 }
38
39 private:
40 std::vector<uint32_t> m_items;
41 std::vector<uint32_t> m_starts;
42 std::vector<uint32_t> m_counts;
43 };
44
45 }
46