MCPcopy Create free account
hub / github.com/RenderKit/embree / print_bvh4_triangle4v

Function print_bvh4_triangle4v

tutorials/bvh_access/bvh_access.cpp:133–176  ·  view source on GitHub ↗

prints the bvh4.triangle4v data structure */

Source from the content-addressed store, hash-verified

131
132 /* prints the bvh4.triangle4v data structure */
133 void print_bvh4_triangle4v(BVH4::NodeRef node, size_t depth)
134 {
135 if (node.isAABBNode())
136 {
137 BVH4::AABBNode* n = node.getAABBNode();
138
139 std::cout << "AABBNode {" << std::endl;
140 for (size_t i=0; i<4; i++)
141 {
142 for (size_t k=0; k<depth; k++) std::cout << " ";
143 std::cout << " bounds" << i << " = " << n->bounds(i) << std::endl;
144 }
145
146 for (size_t i=0; i<4; i++)
147 {
148 if (n->child(i) == BVH4::emptyNode)
149 continue;
150
151 for (size_t k=0; k<depth; k++) std::cout << " ";
152 std::cout << " child" << i << " = ";
153 print_bvh4_triangle4v(n->child(i),depth+1);
154 }
155 for (size_t k=0; k<depth; k++) std::cout << " ";
156 std::cout << "}" << std::endl;
157 }
158 else
159 {
160 size_t num;
161 const Triangle4v* tri = (const Triangle4v*) node.leaf(num);
162
163 std::cout << "Leaf {" << std::endl;
164 for (size_t i=0; i<num; i++) {
165 for (size_t j=0; j<tri[i].size(); j++) {
166 for (size_t k=0; k<depth; k++) std::cout << " ";
167 std::cout << " Triangle { v0 = (" << tri[i].v0.x[j] << ", " << tri[i].v0.y[j] << ", " << tri[i].v0.z[j] << "), "
168 "v1 = (" << tri[i].v1.x[j] << ", " << tri[i].v1.y[j] << ", " << tri[i].v1.z[j] << "), "
169 "v2 = (" << tri[i].v2.x[j] << ", " << tri[i].v2.y[j] << ", " << tri[i].v2.z[j] << "), "
170 "geomID = " << tri[i].geomID(j) << ", primID = " << tri[i].primID(j) << " }" << std::endl;
171 }
172 }
173 for (size_t k=0; k<depth; k++) std::cout << " ";
174 std::cout << "}" << std::endl;
175 }
176 }
177
178 /* prints the triangle BVH of a scene */
179 void print_bvh(RTCScene scene)

Callers 1

print_bvhFunction · 0.85

Calls 8

isAABBNodeMethod · 0.80
getAABBNodeMethod · 0.80
leafMethod · 0.80
boundsMethod · 0.45
childMethod · 0.45
sizeMethod · 0.45
geomIDMethod · 0.45
primIDMethod · 0.45

Tested by

no test coverage detected