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

Class GeometryCounts

kernels/common/geometry.h:18–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16 class Geometry;
17
18 struct GeometryCounts
19 {
20 __forceinline GeometryCounts()
21 : numFilterFunctions(0),
22 numTriangles(0), numMBTriangles(0),
23 numQuads(0), numMBQuads(0),
24 numBezierCurves(0), numMBBezierCurves(0),
25 numLineSegments(0), numMBLineSegments(0),
26 numSubdivPatches(0), numMBSubdivPatches(0),
27 numUserGeometries(0), numMBUserGeometries(0),
28 numInstancesCheap(0), numMBInstancesCheap(0),
29 numInstancesExpensive(0), numMBInstancesExpensive(0),
30 numInstanceArrays(0), numMBInstanceArrays(0),
31 numGrids(0), numMBGrids(0),
32 numSubGrids(0), numMBSubGrids(0),
33 numPoints(0), numMBPoints(0) {}
34
35 __forceinline size_t size() const {
36 return numTriangles + numQuads + numBezierCurves + numLineSegments + numSubdivPatches + numUserGeometries + numInstancesCheap + numInstancesExpensive + numInstanceArrays + numGrids + numPoints
37 + numMBTriangles + numMBQuads + numMBBezierCurves + numMBLineSegments + numMBSubdivPatches + numMBUserGeometries + numMBInstancesCheap + numMBInstancesExpensive + numMBInstanceArrays + numMBGrids + numMBPoints;
38 }
39
40 __forceinline unsigned int enabledGeometryTypesMask() const
41 {
42 unsigned int mask = 0;
43 if (numTriangles) mask |= 1 << 0;
44 if (numQuads) mask |= 1 << 1;
45 if (numBezierCurves+numLineSegments) mask |= 1 << 2;
46 if (numSubdivPatches) mask |= 1 << 3;
47 if (numUserGeometries) mask |= 1 << 4;
48 if (numInstancesCheap) mask |= 1 << 5;
49 if (numInstancesExpensive) mask |= 1 << 6;
50 if (numInstanceArrays) mask |= 1 << 7;
51 if (numGrids) mask |= 1 << 8;
52 if (numPoints) mask |= 1 << 9;
53
54 unsigned int maskMB = 0;
55 if (numMBTriangles) maskMB |= 1 << 0;
56 if (numMBQuads) maskMB |= 1 << 1;
57 if (numMBBezierCurves+numMBLineSegments) maskMB |= 1 << 2;
58 if (numMBSubdivPatches) maskMB |= 1 << 3;
59 if (numMBUserGeometries) maskMB |= 1 << 4;
60 if (numMBInstancesCheap) maskMB |= 1 << 5;
61 if (numMBInstancesExpensive) maskMB |= 1 << 6;
62 if (numMBInstanceArrays) maskMB |= 1 << 7;
63 if (numMBGrids) maskMB |= 1 << 8;
64 if (numMBPoints) maskMB |= 1 << 9;
65
66 return (mask<<8) + maskMB;
67 }
68
69 __forceinline GeometryCounts operator+ (GeometryCounts const & rhs) const
70 {
71 GeometryCounts ret;
72 ret.numFilterFunctions = numFilterFunctions + rhs.numFilterFunctions;
73 ret.numTriangles = numTriangles + rhs.numTriangles;
74 ret.numMBTriangles = numMBTriangles + rhs.numMBTriangles;
75 ret.numQuads = numQuads + rhs.numQuads;

Callers 1

commit_taskMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected