chrono_batch_render/
Coverage:
low: ≥ 0%
medium: ≥ 75.0%
high: ≥ 90.0%
Lines:
17 / 20
85.0%
Branches:
224 / 679
33.0%
Functions:
7 / 8, 1 excl
87.5%

stage/views/view.h
Line Branch Exec Source
1 // SPDX-License-Identifier: BSD-3-Clause
2 #pragma once
3
4 #include <cstdint>
5 #include <memory>
6 #include <string_view>
7 #include <vector>
8
9 #include <dlpack/dlpack.h>
10
11 #include "chrono_batch_render/device/operation.h"
12 #include "chrono_batch_render/device/stream.h"
13 #include "chrono_batch_render/device/tensor.h"
14 #include "chrono_batch_render/export.h"
15 #include "chrono_batch_render/stage/schema/schema.h"
16 #include "chrono_batch_render/util/span.h"
17
18 namespace chrono::batch_render {
19
20 class Structure;
21
22 enum class QuaternionOrder : uint8_t { Xyzw, Wxyz };
23
24 class UntypedAttribute;
25 class ViewState;
26 struct PrimBlock;
27 template <class T> class Attribute;
28 template <class T> class ArrayAttribute;
29
30
224/679
✓ Branch 0 taken 6 times.
✓ Branch 0 taken 711 times.
✗ Branch 1 not taken.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 450 times.
✓ Branch 2 taken 11 times.
✓ Branch 3 taken 28 times.
✓ Branch 3 taken 1 time.
✗ Branch 4 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 4 taken 1752 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 time.
✓ Branch 5 taken 1 time.
✓ Branch 5 taken 18 times.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✓ Branch 6 taken 1 time.
✓ Branch 6 taken 187 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 7 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✓ Branch 8 taken 5 times.
✓ Branch 8 taken 1152 times.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✓ Branch 9 taken 3 times.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✓ Branch 10 taken 1 time.
✓ Branch 10 taken 1 time.
✓ Branch 10 taken 10 times.
✗ Branch 11 not taken.
✓ Branch 11 taken 1 time.
✓ Branch 11 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✓ Branch 12 taken 1 time.
✓ Branch 12 taken 7 times.
✓ Branch 12 taken 676 times.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✓ Branch 14 taken 1 time.
✓ Branch 14 taken 4 times.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 time.
✓ Branch 15 taken 1 time.
✓ Branch 15 taken 1 time.
✓ Branch 15 taken 2 times.
✗ Branch 15 not taken.
✗ Branch 15 not taken.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✓ Branch 16 taken 1 time.
✗ Branch 16 not taken.
✓ Branch 16 taken 8 times.
✓ Branch 16 taken 604 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 17 not taken.
✗ Branch 17 not taken.
✓ Branch 17 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 19 not taken.
✓ Branch 19 taken 2 times.
✓ Branch 19 taken 5 times.
✗ Branch 19 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 20 taken 1 time.
✗ Branch 20 not taken.
✓ Branch 20 taken 128 times.
✓ Branch 20 taken 1 time.
✓ Branch 20 taken 531 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 21 not taken.
✓ Branch 21 taken 6 times.
✓ Branch 21 taken 1 time.
✗ Branch 21 not taken.
✗ Branch 21 not taken.
✓ Branch 21 taken 2 times.
✗ Branch 22 not taken.
✓ Branch 22 taken 1 time.
✗ Branch 22 not taken.
✓ Branch 22 taken 1 time.
✓ Branch 22 taken 4 times.
✓ Branch 22 taken 1 time.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 23 not taken.
✓ Branch 23 taken 103 times.
✗ Branch 23 not taken.
✗ Branch 23 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✓ Branch 24 taken 1 time.
✓ Branch 24 taken 1 time.
✗ Branch 24 not taken.
✓ Branch 24 taken 950 times.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 25 not taken.
✓ Branch 25 taken 1 time.
✗ Branch 25 not taken.
✓ Branch 25 taken 1 time.
✗ Branch 25 not taken.
✓ Branch 25 taken 7 times.
✓ Branch 26 taken 1 time.
✗ Branch 26 not taken.
✓ Branch 26 taken 103 times.
✓ Branch 26 taken 1 time.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✓ Branch 27 taken 1 time.
✓ Branch 27 taken 4 times.
✗ Branch 27 not taken.
✓ Branch 27 taken 5 times.
✗ Branch 27 not taken.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✓ Branch 28 taken 8 times.
✗ Branch 28 not taken.
✓ Branch 28 taken 1 time.
✓ Branch 28 taken 3100 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 29 taken 106 times.
✓ Branch 29 taken 1 time.
✓ Branch 29 taken 1 time.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✓ Branch 30 taken 2 times.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 31 not taken.
✓ Branch 31 taken 103 times.
✗ Branch 31 not taken.
✓ Branch 31 taken 1 time.
✓ Branch 31 taken 1 time.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 time.
✓ Branch 32 taken 2 times.
✗ Branch 32 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 32 not taken.
✓ Branch 32 taken 1620 times.
✗ Branch 33 not taken.
✗ Branch 33 not taken.
✗ Branch 33 not taken.
✓ Branch 33 taken 1 time.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 time.
✓ Branch 34 taken 103 times.
✓ Branch 34 taken 1 time.
✓ Branch 34 taken 1 time.
✓ Branch 34 taken 1 time.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 35 not taken.
✗ Branch 35 not taken.
✗ Branch 35 not taken.
✗ Branch 35 not taken.
✗ Branch 35 not taken.
✗ Branch 35 not taken.
✓ Branch 35 taken 2 times.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✓ Branch 36 taken 1 time.
✓ Branch 36 taken 2 times.
✓ Branch 36 taken 1 time.
✓ Branch 36 taken 365 times.
✗ Branch 37 not taken.
✗ Branch 37 not taken.
✗ Branch 37 not taken.
✗ Branch 37 not taken.
✗ Branch 37 not taken.
✗ Branch 37 not taken.
✓ Branch 38 taken 1 time.
✗ Branch 38 not taken.
✓ Branch 38 taken 1 time.
✓ Branch 38 taken 1 time.
✗ Branch 38 not taken.
✓ Branch 38 taken 2 times.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✗ Branch 39 not taken.
✗ Branch 39 not taken.
✗ Branch 39 not taken.
✓ Branch 39 taken 1 time.
✓ Branch 39 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 time.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✓ Branch 40 taken 1 time.
✗ Branch 40 not taken.
✓ Branch 40 taken 1389 times.
✗ Branch 41 not taken.
✓ Branch 41 taken 1 time.
✓ Branch 41 taken 1 time.
✓ Branch 41 taken 1 time.
✗ Branch 41 not taken.
✗ Branch 41 not taken.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✓ Branch 42 taken 1 time.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✓ Branch 42 taken 2 times.
✗ Branch 42 not taken.
✗ Branch 43 not taken.
✓ Branch 43 taken 1 time.
✗ Branch 43 not taken.
✓ Branch 43 taken 2 times.
✓ Branch 43 taken 1 time.
✗ Branch 43 not taken.
✗ Branch 43 not taken.
✗ Branch 43 not taken.
✓ Branch 44 taken 1 time.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✓ Branch 44 taken 2 times.
✓ Branch 44 taken 66 times.
✗ Branch 45 not taken.
✗ Branch 45 not taken.
✗ Branch 45 not taken.
✗ Branch 45 not taken.
✓ Branch 45 taken 2 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 1 time.
✓ Branch 46 taken 1 time.
✓ Branch 46 taken 1 time.
✗ Branch 46 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✓ Branch 47 taken 1 time.
✓ Branch 47 taken 1 time.
✗ Branch 47 not taken.
✗ Branch 47 not taken.
✓ Branch 47 taken 1 time.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✓ Branch 48 taken 1 time.
✓ Branch 48 taken 3 times.
✓ Branch 48 taken 1 time.
✗ Branch 48 not taken.
✓ Branch 48 taken 81 times.
✗ Branch 49 not taken.
✗ Branch 49 not taken.
✗ Branch 49 not taken.
✗ Branch 49 not taken.
✗ Branch 49 not taken.
✓ Branch 49 taken 1 time.
✓ Branch 49 taken 4 times.
✓ Branch 49 taken 1 time.
✓ Branch 50 taken 1 time.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 51 not taken.
✓ Branch 51 taken 1 time.
✗ Branch 51 not taken.
✗ Branch 51 not taken.
✗ Branch 51 not taken.
✗ Branch 51 not taken.
✗ Branch 51 not taken.
✗ Branch 51 not taken.
✓ Branch 52 taken 1 time.
✗ Branch 52 not taken.
✓ Branch 52 taken 202 times.
✓ Branch 52 taken 2 times.
✓ Branch 52 taken 1 time.
✓ Branch 52 taken 662 times.
✗ Branch 53 not taken.
✗ Branch 53 not taken.
✗ Branch 53 not taken.
✗ Branch 53 not taken.
✗ Branch 53 not taken.
✓ Branch 53 taken 1 time.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✗ Branch 55 not taken.
✓ Branch 55 taken 1 time.
✗ Branch 55 not taken.
✓ Branch 55 taken 1 time.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✓ Branch 56 taken 1 time.
✗ Branch 56 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✓ Branch 58 taken 1 time.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✗ Branch 59 not taken.
✓ Branch 59 taken 1 time.
✓ Branch 59 taken 1 time.
✗ Branch 59 not taken.
✗ Branch 59 not taken.
✓ Branch 60 taken 1 time.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✓ Branch 60 taken 1 time.
✓ Branch 60 taken 404 times.
✓ Branch 60 taken 389 times.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✓ Branch 61 taken 1 time.
✗ Branch 61 not taken.
✓ Branch 62 taken 1 time.
✓ Branch 62 taken 1 time.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✗ Branch 63 not taken.
✓ Branch 63 taken 1 time.
✓ Branch 63 taken 1 time.
✗ Branch 63 not taken.
✗ Branch 63 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 65 not taken.
✗ Branch 65 not taken.
✗ Branch 65 not taken.
✗ Branch 65 not taken.
✓ Branch 65 taken 1223 times.
✓ Branch 66 taken 1 time.
✗ Branch 66 not taken.
✓ Branch 66 taken 1 time.
✗ Branch 66 not taken.
✓ Branch 66 taken 1 time.
✗ Branch 67 not taken.
✗ Branch 67 not taken.
✗ Branch 67 not taken.
✗ Branch 67 not taken.
✗ Branch 67 not taken.
✗ Branch 67 not taken.
✓ Branch 68 taken 1 time.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 69 not taken.
✗ Branch 69 not taken.
✗ Branch 69 not taken.
✗ Branch 69 not taken.
✗ Branch 69 not taken.
✗ Branch 70 not taken.
✓ Branch 70 taken 1 time.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 71 not taken.
✗ Branch 71 not taken.
✗ Branch 71 not taken.
✗ Branch 71 not taken.
✓ Branch 71 taken 1 time.
✗ Branch 72 not taken.
✗ Branch 72 not taken.
✓ Branch 72 taken 1 time.
✗ Branch 73 not taken.
✓ Branch 73 taken 2 times.
✗ Branch 73 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 75 not taken.
✗ Branch 75 not taken.
✗ Branch 75 not taken.
✗ Branch 76 not taken.
✗ Branch 76 not taken.
✓ Branch 76 taken 1 time.
✓ Branch 76 taken 1 time.
✓ Branch 77 taken 2 times.
✗ Branch 77 not taken.
✗ Branch 77 not taken.
✓ Branch 78 taken 1 time.
✗ Branch 78 not taken.
✓ Branch 78 taken 1 time.
✗ Branch 79 not taken.
✗ Branch 79 not taken.
✗ Branch 79 not taken.
✗ Branch 79 not taken.
✗ Branch 80 not taken.
✓ Branch 80 taken 84 times.
✗ Branch 81 not taken.
✓ Branch 81 taken 1 time.
✓ Branch 81 taken 1 time.
✗ Branch 82 not taken.
✓ Branch 82 taken 1 time.
✓ Branch 82 taken 1 time.
✗ Branch 83 not taken.
✗ Branch 83 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✓ Branch 84 taken 1 time.
✗ Branch 85 not taken.
✓ Branch 86 taken 1 time.
✗ Branch 86 not taken.
✗ Branch 86 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 87 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 89 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✓ Branch 90 taken 1 time.
✗ Branch 90 not taken.
✓ Branch 91 taken 1 time.
✗ Branch 91 not taken.
✗ Branch 91 not taken.
✗ Branch 92 not taken.
✗ Branch 92 not taken.
✗ Branch 93 not taken.
✗ Branch 94 not taken.
✗ Branch 94 not taken.
✗ Branch 94 not taken.
✗ Branch 95 not taken.
✗ Branch 95 not taken.
✗ Branch 95 not taken.
✗ Branch 96 not taken.
✗ Branch 96 not taken.
✓ Branch 96 taken 286 times.
✗ Branch 97 not taken.
✗ Branch 97 not taken.
✓ Branch 98 taken 1 time.
✗ Branch 98 not taken.
✗ Branch 98 not taken.
✗ Branch 99 not taken.
✗ Branch 99 not taken.
✗ Branch 100 not taken.
✗ Branch 100 not taken.
✗ Branch 101 not taken.
✗ Branch 101 not taken.
✓ Branch 102 taken 1 time.
✗ Branch 103 not taken.
✗ Branch 103 not taken.
✗ Branch 104 not taken.
✗ Branch 105 not taken.
✗ Branch 106 not taken.
✓ Branch 106 taken 1 time.
✓ Branch 107 taken 1 time.
✗ Branch 107 not taken.
✗ Branch 108 not taken.
✓ Branch 109 taken 1 time.
✓ Branch 110 taken 1 time.
✗ Branch 110 not taken.
✗ Branch 111 not taken.
✓ Branch 111 taken 1 time.
✗ Branch 112 not taken.
✗ Branch 112 not taken.
✗ Branch 113 not taken.
✗ Branch 113 not taken.
✗ Branch 114 not taken.
✗ Branch 114 not taken.
✗ Branch 115 not taken.
✓ Branch 115 taken 1 time.
✓ Branch 116 taken 1 time.
✗ Branch 116 not taken.
✗ Branch 117 not taken.
✓ Branch 118 taken 1 time.
✓ Branch 119 taken 1 time.
✓ Branch 120 taken 1 time.
✗ Branch 121 not taken.
✗ Branch 121 not taken.
✗ Branch 122 not taken.
✓ Branch 123 taken 1 time.
✓ Branch 123 taken 1 time.
✗ Branch 124 not taken.
✗ Branch 125 not taken.
✓ Branch 125 taken 1 time.
✗ Branch 126 not taken.
✗ Branch 126 not taken.
✓ Branch 127 taken 1 time.
✗ Branch 127 not taken.
✗ Branch 128 not taken.
✓ Branch 128 taken 1 time.
✓ Branch 129 taken 1 time.
✗ Branch 129 not taken.
✗ Branch 130 not taken.
✗ Branch 130 not taken.
✗ Branch 131 not taken.
✗ Branch 132 not taken.
✗ Branch 132 not taken.
✗ Branch 133 not taken.
✗ Branch 133 not taken.
✗ Branch 134 not taken.
✗ Branch 134 not taken.
✗ Branch 135 not taken.
✓ Branch 135 taken 6 times.
✓ Branch 136 taken 1 time.
✗ Branch 136 not taken.
✗ Branch 137 not taken.
✗ Branch 137 not taken.
✗ Branch 138 not taken.
✓ Branch 139 taken 1 time.
✓ Branch 139 taken 1 time.
✗ Branch 140 not taken.
✗ Branch 140 not taken.
✗ Branch 142 not taken.
✓ Branch 142 taken 1 time.
✗ Branch 143 not taken.
✗ Branch 143 not taken.
✗ Branch 144 not taken.
✗ Branch 144 not taken.
✗ Branch 145 not taken.
✗ Branch 145 not taken.
✗ Branch 146 not taken.
✗ Branch 146 not taken.
✗ Branch 147 not taken.
✗ Branch 147 not taken.
✗ Branch 148 not taken.
✓ Branch 149 taken 1 time.
✗ Branch 149 not taken.
✗ Branch 150 not taken.
✗ Branch 151 not taken.
✓ Branch 151 taken 1 time.
✗ Branch 152 not taken.
✗ Branch 152 not taken.
✓ Branch 153 taken 1 time.
✗ Branch 154 not taken.
✗ Branch 154 not taken.
✗ Branch 155 not taken.
✓ Branch 156 taken 1 time.
✗ Branch 156 not taken.
✗ Branch 157 not taken.
✗ Branch 157 not taken.
✗ Branch 159 not taken.
✗ Branch 159 not taken.
✗ Branch 160 not taken.
✗ Branch 160 not taken.
✗ Branch 161 not taken.
✓ Branch 161 taken 1 time.
✗ Branch 162 not taken.
✗ Branch 162 not taken.
✓ Branch 163 taken 1 time.
✗ Branch 164 not taken.
✓ Branch 164 taken 1 time.
✗ Branch 165 not taken.
✗ Branch 165 not taken.
✓ Branch 166 taken 1 time.
✗ Branch 166 not taken.
✓ Branch 167 taken 1 time.
✗ Branch 167 not taken.
✗ Branch 168 not taken.
✗ Branch 168 not taken.
✗ Branch 169 not taken.
✗ Branch 169 not taken.
✓ Branch 170 taken 1 time.
✓ Branch 170 taken 1 time.
✓ Branch 171 taken 1 time.
✗ Branch 171 not taken.
✗ Branch 172 not taken.
✓ Branch 173 taken 1 time.
✗ Branch 174 not taken.
✗ Branch 175 not taken.
✗ Branch 175 not taken.
✗ Branch 176 not taken.
✗ Branch 176 not taken.
✗ Branch 177 not taken.
✓ Branch 177 taken 1 time.
✗ Branch 178 not taken.
✗ Branch 178 not taken.
✗ Branch 179 not taken.
✓ Branch 179 taken 1 time.
✓ Branch 180 taken 1 time.
✗ Branch 180 not taken.
✗ Branch 181 not taken.
✗ Branch 181 not taken.
✗ Branch 182 not taken.
✗ Branch 183 not taken.
✗ Branch 183 not taken.
✗ Branch 184 not taken.
✗ Branch 184 not taken.
✓ Branch 185 taken 114 times.
✓ Branch 185 taken 1 time.
✗ Branch 186 not taken.
✗ Branch 186 not taken.
✗ Branch 187 not taken.
✗ Branch 187 not taken.
✗ Branch 188 not taken.
✗ Branch 188 not taken.
✓ Branch 189 taken 1 time.
✗ Branch 190 not taken.
✗ Branch 192 not taken.
✗ Branch 193 not taken.
✓ Branch 194 taken 1 time.
✗ Branch 195 not taken.
✗ Branch 196 not taken.
✓ Branch 197 taken 1 time.
✓ Branch 198 taken 1 time.
✗ Branch 199 not taken.
✗ Branch 201 not taken.
✗ Branch 202 not taken.
✗ Branch 203 not taken.
✗ Branch 204 not taken.
✓ Branch 205 taken 1 time.
✗ Branch 206 not taken.
✗ Branch 208 not taken.
✗ Branch 209 not taken.
✓ Branch 211 taken 1 time.
✗ Branch 212 not taken.
✗ Branch 214 not taken.
✗ Branch 215 not taken.
✗ Branch 216 not taken.
✗ Branch 217 not taken.
✗ Branch 218 not taken.
✗ Branch 219 not taken.
35401 class CHRONO_BATCH_RENDER_API View {
31 public:
32 ✗ View() = default;
33 View(Structure& structure, SchemaId schema, std::vector<uint32_t> prims);
34 View(Structure& structure, SchemaId schema, std::vector<uint32_t> prims,
35 std::string_view instance);
36 View(Structure& structure, SchemaId schema, const PrimBlock& block, uint32_t index = 0);
37
38 uint32_t PrimCount() const;
39 SchemaId Schema() const;
40 bool Dense(SchemaId table) const;
41 Span<const uint32_t> Prims() const;
42 View World(uint32_t world) const;
43
44 ColumnRef Column(std::string_view field) const;
45 UntypedAttribute Get(ColumnRef column) const;
46 UntypedAttribute Get(std::string_view field) const;
47 template <class T> Attribute<T> Get(ColumnRef column) const;
48 template <class T> ArrayAttribute<T> GetArray(ColumnRef column) const;
49 template <class T> auto Get(Field<T> field) const;
50
51 78 template <class T> Attribute<T> Get(std::string_view field) const {
52 78 return Get<T>(Column(field));
53 }
54
55 7 template <class T> ArrayAttribute<T> GetArray(std::string_view field) const {
56 7 return GetArray<T>(Column(field));
57 }
58
59 device::Operation WritePoses(const DLTensor& source, Stream producer = Stream::None(),
60 QuaternionOrder order = QuaternionOrder::Xyzw,
61 const DLTensor* rows = nullptr,
62 const DLTensor* mask = nullptr) const;
63 device::Operation WritePoses(const DLTensor& translation, const DLTensor& rotation,
64 Stream producer = Stream::None(),
65 QuaternionOrder order = QuaternionOrder::Xyzw,
66 const DLTensor* rows = nullptr,
67 const DLTensor* mask = nullptr) const;
68 device::Operation WritePoses(const device::Tensor& source, Stream producer = Stream::None(),
69 QuaternionOrder order = QuaternionOrder::Xyzw,
70 const device::Tensor& rows = {},
71 const device::Tensor& mask = {}) const;
72 device::Operation WritePoses(const device::Tensor& translation, const device::Tensor& rotation,
73 Stream producer = Stream::None(),
74 QuaternionOrder order = QuaternionOrder::Xyzw,
75 const device::Tensor& rows = {},
76 const device::Tensor& mask = {}) const;
77 device::Tensor ReadPoses(device::DType type = device::DType::Float32,
78 Stream consumer = Stream::Host(),
79 QuaternionOrder order = QuaternionOrder::Xyzw) const;
80
81 device::Operation WriteWorldPoses(const DLTensor& source, Stream producer = Stream::None(),
82 QuaternionOrder order = QuaternionOrder::Xyzw,
83 const DLTensor* rows = nullptr,
84 const DLTensor* mask = nullptr) const;
85 device::Operation WriteWorldPoses(const DLTensor& translation, const DLTensor& rotation,
86 Stream producer = Stream::None(),
87 QuaternionOrder order = QuaternionOrder::Xyzw,
88 const DLTensor* rows = nullptr,
89 const DLTensor* mask = nullptr) const;
90 device::Operation WriteWorldPoses(const device::Tensor& source,
91 Stream producer = Stream::None(),
92 QuaternionOrder order = QuaternionOrder::Xyzw,
93 const device::Tensor& rows = {},
94 const device::Tensor& mask = {}) const;
95 device::Operation
96 WriteWorldPoses(const device::Tensor& translation, const device::Tensor& rotation,
97 Stream producer = Stream::None(), QuaternionOrder order = QuaternionOrder::Xyzw,
98 const device::Tensor& rows = {}, const device::Tensor& mask = {}) const;
99 device::Tensor ReadWorldPoses(device::DType type = device::DType::Float32,
100 Stream consumer = Stream::Host(),
101 QuaternionOrder order = QuaternionOrder::Xyzw) const;
102 device::Tensor ReadWorldScales(device::DType type = device::DType::Float32,
103 Stream consumer = Stream::Host()) const;
104
105 const std::shared_ptr<ViewState>& State() const {
106 return m_state;
107 }
108
109 private:
110 std::shared_ptr<ViewState> m_state;
111 };
112
113 }
114