chrono_batch_render/
Coverage:
low: ≥ 0%
medium: ≥ 75.0%
high: ≥ 90.0%
Lines:
14 / 14
100.0%
Branches:
37 / 121
30.6%
Functions:
-
-%

stage/types.h
Line Branch Exec Source
1 // SPDX-License-Identifier: BSD-3-Clause
2 #pragma once
3
4 #include <array>
5 #include <cstddef>
6 #include <cstdint>
7 #include <map>
8 #include <memory>
9 #include <string>
10 #include <string_view>
11 #include <vector>
12
13 #include "chrono_batch_render/device/operation.h"
14 #include "chrono_batch_render/export.h"
15 #include "chrono_batch_render/stage/schema/ids.h"
16 #include "chrono_batch_render/stage/schema/types.h"
17
18 namespace chrono::batch_render {
19
20
1/2
✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
4 struct ComposedWorldDesc {
21 std::vector<uint32_t> worlds;
22 std::vector<Double3> offsets;
23 bool global = true;
24 bool stageLights = true;
25 };
26
27 12 struct IdLabel {
28 std::string path;
29 std::map<std::string, std::vector<std::string>> labels;
30 };
31
32 using IdMap = std::map<std::array<uint32_t, 4>, IdLabel>;
33 using IdTexts = std::map<std::array<uint32_t, 4>, std::string>;
34
35 using Ordinal = uint64_t;
36 using FileBytes = std::shared_ptr<const std::vector<std::byte>>;
37
38 struct CHRONO_BATCH_RENDER_API CloneDesc {
39 bool moveSource = false;
40 bool attachable = false;
41 };
42
43 struct CHRONO_BATCH_RENDER_API BatchDesc {
44 bool attachable = false;
45 };
46
47 struct CHRONO_BATCH_RENDER_API PrimRange {
48 uint32_t firstPrim = kNoPrim;
49 uint32_t count = 0;
50 uint32_t copies = 0;
51 uint32_t firstWorld = kGlobalWorld;
52 uint32_t worldsPerCopy = 0;
53
54 513 uint32_t Index(uint32_t copy, uint32_t index) const {
55
2/3
<unknown function 20>:
✓ Branch 1 taken 510 times.
<unknown function 54>:
✗ Branch 1 not taken.
✓ Branch 3 taken 1 time.
513 return firstPrim + copy * count + index;
56 }
57
58 10 uint32_t Size() const {
59
5/5
<unknown function 20>:
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 3 times.
✓ Branch 4 taken 2 times.
<unknown function 54>:
✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
10 return count * copies;
60 }
61 };
62
63 114 struct CHRONO_BATCH_RENDER_API Box {
64 Float3 lower;
65 Float3 upper;
66 };
67
68
29/111
<unknown function 20>:
✓ Branch 0 taken 3805 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 4 taken 3804 times.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 time.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 time.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 time.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
<unknown function 54>:
✗ Branch 0 not taken.
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 time.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
<unknown function 68>:
✓ Branch 0 taken 32 times.
✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 time.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✓ Branch 16 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✓ Branch 18 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 time.
✗ Branch 34 not taken.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✓ Branch 39 taken 1 time.
✗ Branch 40 not taken.
✓ Branch 41 taken 1 time.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 time.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✓ Branch 51 taken 1 time.
✗ Branch 52 not taken.
✓ Branch 53 taken 1 time.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✗ Branch 57 not taken.
✗ Branch 58 not taken.
✓ Branch 59 taken 1 time.
✗ Branch 60 not taken.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
15333 struct CHRONO_BATCH_RENDER_API Snapshot {
69 Ordinal ordinal = 0;
70 device::Operation ready;
71 uint64_t tables = 0;
72 std::shared_ptr<const void> pinned;
73
74 uint64_t Version() const;
75 uint64_t Version(std::string_view table) const;
76 };
77
78 }
79