MCPcopy Create free account
hub / github.com/OpenPathGuidingLibrary/openpgl / isValid

Function isValid

openpgl/data/SampleData.h:28–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26};
27
28inline bool isValid(const SampleData &dsd)
29{
30 bool valid = true;
31 valid = valid && embree::isvalid(dsd.position.x);
32 valid = valid && embree::isvalid(dsd.position.y);
33 valid = valid && embree::isvalid(dsd.position.z);
34 OPENPGL_ASSERT(valid);
35 pgl_vec3f d = dsd.direction;
36 valid = valid && embree::isvalid(d.x);
37 valid = valid && embree::isvalid(d.y);
38 valid = valid && embree::isvalid(d.z);
39 OPENPGL_ASSERT(valid);
40 valid = valid && embree::isvalid(dsd.weight);
41 valid = valid && dsd.weight >= 0.f;
42 OPENPGL_ASSERT(valid);
43 valid = valid && embree::isvalid(dsd.pdf);
44 valid = valid && dsd.pdf > 0.f;
45 OPENPGL_ASSERT(valid);
46 valid = valid && embree::isvalid(dsd.distance);
47 valid = valid && dsd.distance > 0.f;
48 OPENPGL_ASSERT(valid);
49
50#ifdef OPENPGL_RADIANCE_CACHES
51 pgl_vec3f radianceIn = dsd.radianceIn;
52 valid = valid && embree::isvalid(radianceIn.x);
53 valid = valid && radianceIn.x >= 0.f;
54 valid = valid && embree::isvalid(radianceIn.y);
55 valid = valid && radianceIn.y >= 0.f;
56 valid = valid && embree::isvalid(radianceIn.z);
57 valid = valid && radianceIn.z >= 0.f;
58 OPENPGL_ASSERT(valid);
59 valid = valid && embree::isvalid(dsd.radianceInMISWeight);
60 valid = valid && dsd.radianceInMISWeight > 0.f;
61 OPENPGL_ASSERT(valid);
62 d = dsd.directionOut;
63 valid = valid && embree::isvalid(d.x);
64 valid = valid && embree::isvalid(d.y);
65 valid = valid && embree::isvalid(d.z);
66 OPENPGL_ASSERT(valid);
67 pgl_vec3f radianceOut = dsd.radianceOut;
68 valid = valid && embree::isvalid(radianceOut.x);
69 valid = valid && radianceOut.x >= 0.f;
70 valid = valid && embree::isvalid(radianceOut.y);
71 valid = valid && radianceOut.y >= 0.f;
72 valid = valid && embree::isvalid(radianceOut.z);
73 valid = valid && radianceOut.z >= 0.f;
74 OPENPGL_ASSERT(valid);
75#endif
76 return valid;
77}
78
79inline bool isInsideVolume(const SampleData &sd)
80{

Callers 13

addSampleMethod · 0.70
mergeMethod · 0.70
addSampleMethod · 0.70
mergeMethod · 0.70
validateMethod · 0.70
addSampleMethod · 0.70
validateSamplesMethod · 0.70
validateSegmentsMethod · 0.70
toStringMethod · 0.70
sampleMethod · 0.50
pdfMethod · 0.50
samplePdfMethod · 0.50

Calls 1

isvalidFunction · 0.50

Tested by

no test coverage detected