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

Class FieldStatistics

openpgl/field/FieldStatistics.h:16–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14{
15
16struct FieldStatistics
17{
18 using SpatialStatistics = KDTreeStatistics;
19
20 size_t numCacheRegions{0};
21 size_t numCacheRegionsReserved{0};
22 size_t sizePerCacheRegions{0};
23 size_t sizeAllCacheRegionsUsed{0};
24 size_t sizeAllCacheRegionsReserved{0};
25
26 float timeLastUpdate{0.f};
27 float timeLastUpdateCopySamples{0.f};
28 float timeLastUpdateSpatialStructureUpdate{0.f};
29 float timeLastUpdateDirectionalDistriubtionUpdate{0.f};
30
31 SpatialStatistics spatialStructureStatistics;
32 DirectionalDistributionStatistics directionalDistributionStatistics;
33
34 std::string headerCSVString() const
35 {
36 const std::string separator = " , ";
37 std::stringstream ss;
38 ss << "FieldStatistics:" << separator;
39 ss << "numCacheRegions" << separator;
40 ss << "numCacheRegionsReserved" << separator;
41 ss << "sizePerCacheRegions(bs)" << separator;
42 ss << "sizeAllCacheRegionsUsed(Mbs)" << separator;
43 ss << "sizeAllCacheRegionsReserved(Mbs)" << separator;
44
45 ss << "timeUpdate(ms)" << separator;
46 ss << "timeCopySamples(ms)" << separator;
47 ss << "timeSpatialStructureUpdate(ms)" << separator;
48 ss << "timeDirectionalDistriubtionUpdate(ms)" << separator;
49
50 ss << spatialStructureStatistics.headerCSVString();
51 ss << directionalDistributionStatistics.headerCSVString();
52
53 return ss.str();
54 }
55
56 std::string toCSVString() const
57 {
58 const std::string separator = " , ";
59 std::stringstream ss;
60 ss << " " << separator;
61 ss << numCacheRegions << separator;
62 ss << numCacheRegionsReserved << separator;
63 ss << sizePerCacheRegions << separator;
64 ss << float(sizeAllCacheRegionsUsed) / 1024 / 1024 << separator;
65 ss << float(sizeAllCacheRegionsReserved) / 1024 / 1024 << separator;
66
67 ss << timeLastUpdate << separator;
68 ss << timeLastUpdateCopySamples << separator;
69 ss << timeLastUpdateSpatialStructureUpdate << separator;
70 ss << timeLastUpdateDirectionalDistriubtionUpdate << separator;
71
72 ss << spatialStructureStatistics.toCSVString();
73 ss << directionalDistributionStatistics.toCSVString();

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected