00001 #include <esg/Statistics.h> 00002 00003 using namespace esg; 00004 00005 Statistics* Statistics::_instance = NULL; 00006 00007 const unsigned Statistics::NUM_OIDS = 11; 00008 const Statistic::OID Statistics::OID_BV_TESTS = 0; 00009 const Statistic::OID Statistics::OID_BV_TESTS_SUC = 1; 00010 const Statistic::OID Statistics::OID_PRIM_TESTS = 2; 00011 const Statistic::OID Statistics::OID_PRIM_TESTS_SUC = 3; 00012 const Statistic::OID Statistics::OID_SHADOW_TESTS = 4; 00013 const Statistic::OID Statistics::OID_SHADOW_TESTS_SUC = 5; 00014 const Statistic::OID Statistics::OID_REFLECTIONS = 6; 00015 const Statistic::OID Statistics::OID_REFRACTIONS = 7; 00016 const Statistic::OID Statistics::OID_RENDERING_TIME = 8; 00017 const Statistic::OID Statistics::OID_CPU_RENDERING_TIME = 9; 00018 const Statistic::OID Statistics::OID_PRIMARY_RAYS = 10; 00019 00020 Statistics::Statistics() 00021 { 00022 _stats[OID_BV_TESTS] = new Statistic(OID_BV_TESTS, 00023 "bounding volume - ray tests", 00024 new Counter); 00025 _stats[OID_BV_TESTS_SUC] = new Statistic(OID_BV_TESTS_SUC, 00026 "BV - ray tests succeeded", 00027 new Counter); 00028 _stats[OID_PRIM_TESTS] = new Statistic(OID_PRIM_TESTS, 00029 "primitive - ray tests", 00030 new Counter); 00031 _stats[OID_PRIM_TESTS_SUC] = new Statistic(OID_PRIM_TESTS_SUC, 00032 "primitive - ray tests succeeded", 00033 new Counter); 00034 _stats[OID_SHADOW_TESTS] = new Statistic(OID_SHADOW_TESTS, 00035 "shadow tests", 00036 new Counter); 00037 _stats[OID_SHADOW_TESTS_SUC] = new Statistic(OID_SHADOW_TESTS_SUC, 00038 "shadow tests succeeded", 00039 new Counter); 00040 _stats[OID_REFLECTIONS] = new Statistic(OID_REFLECTIONS, 00041 "reflections", 00042 new Counter); 00043 _stats[OID_REFRACTIONS] = new Statistic(OID_REFRACTIONS, 00044 "refractions", 00045 new Counter); 00046 _stats[OID_RENDERING_TIME] = new Statistic(OID_RENDERING_TIME, 00047 "rendering time (in sec.)", 00048 new Stopwatch); 00049 _stats[OID_CPU_RENDERING_TIME] = new Statistic(OID_CPU_RENDERING_TIME, 00050 "CPU rendering time (in sec.)", 00051 new StopwatchCPU); 00052 _stats[OID_PRIMARY_RAYS] = new Statistic(OID_PRIMARY_RAYS, 00053 "number of primary rays", 00054 new Counter); 00055 }