SoProfilingReportGenerator(3)
π SoProfilingReportGenerator(3) π
okay bestie, welcome to the Coin manual, and specifically to SoProfilingReportGenerator β yes that's a whole mouthful, we're gonna call it the report generator, and it is genuinely so useful. Sit down, grab a boba, we're doing profiling reports today. π§β¨
πΈ NAME πΈ
SoProfilingReportGenerator β convenience report generator functionality. that's it, that's the whole vibe. it makes reports for you so you don't have to. π
β¨ SYNOPSIS β¨
#include <Profiler/tools/SoProfilingReportGenerator.h>
π Public Types
enum Column { NAME, TYPE, COUNT, TIME_SECS, TIME_SECS_MAX, TIME_SECS_AVG, TIME_MSECS, TIME_MSECS_MAX, TIME_MSECS_AVG, TIME_PERCENT, TIME_PERCENT_MAX, TIME_PERCENT_AVG, MEM_BYTES, MEM_KILOBYTES, GFX_MEM_BYTES, GFX_MEM_KILOBYTES }enum SortOrder { TIME_ASC, TIME_DES, TIME_MAX_ASC, TIME_MAX_DES, TIME_AVG_ASC, TIME_AVG_DES, COUNT_ASC, COUNT_DES, ALPHANUMERIC_ASC, ALPHANUMERIC_DES, MEM_ASC, MEM_DES, GFX_MEM_ASC, GFX_MEM_DES }enum DataCategorization { TYPES, NAMES, NODES }enum CallbackResponse { CONTINUE, STOP }typedef CallbackResponse ReportCB(void *userdata, int entrynum, const char *text)
π¦ Static Public Member Functions
static void init (void)static SbProfilingReportSortCriteria * getReportSortCriteria (const SbList< SortOrder > &order)static SbProfilingReportSortCriteria * getDefaultReportSortCriteria (DataCategorization category)static SbProfilingReportPrintCriteria * getReportPrintCriteria (const SbList< Column > &order)static SbProfilingReportPrintCriteria * getDefaultReportPrintCriteria (DataCategorization category)static void freeCriteria (SbProfilingReportSortCriteria *criteria)static void freeCriteria (SbProfilingReportPrintCriteria *criteria)static void generate (const SbProfilingData &data, DataCategorization categorization, SbProfilingReportSortCriteria *sort, SbProfilingReportPrintCriteria *print, int count, SbBool addheader, ReportCB *reportcallback, void *userdata)static CallbackResponse stdoutCB (void *userdata, int entrynum, const char *text)static CallbackResponse stderrCB (void *userdata, int entrynum, const char *text)
π Detailed Description π
Convenience report generator functionality.
so the whole point, bestie: this is a static class, and with it you can conveniently produce a profiling data report from an SbProfilingData object. no cap, that's the entire job. you hand it data, it hands you a report. iconic behaviour fr fr. π
Since Coin 3.0 β she's been serving since 3.0, respect the elders. π
π Member Function Documentation π
void SoProfilingReportGenerator::init (void ) [static]
Allocates mutexes and other such infrastructure constructs that the report generator needs to do its thing. basically setting the stage before the main character (that's the report) walks in. β¨
SbProfilingReportSortCriteria * SoProfilingReportGenerator::getReportSortCriteria (const SbList< SortOrder > & order) [static]
Hands you back a sorting criteria setting object that will make generate() sort the results based on the argument list you gave it β in that exact left-to-right priority order, so first one in the list wins first. π
β οΈ bestie. listen. Always end the argument list with TERMINATE_ARGLIST. don't forget it, don't skip it, it's the periodt of the argument list. π
See also: freeCriteria
SbProfilingReportSortCriteria * SoProfilingReportGenerator::getDefaultReportSortCriteria (DataCategorization category) [static]
Returns a sensible default sorting criteria that you can use for a given profiling data categorization. when you don't wanna hand-pick anything, she's got you. π«Ά
SbProfilingReportPrintCriteria * SoProfilingReportGenerator::getReportPrintCriteria (const SbList< Column > & order) [static]
Returns a printing criteria setting object that will make generate() send a formatted string as the text argument, based on the argument list you gave it.
and ooh, cute detail: if you force TERMINATE_ARGLIST into the first argument, the text string will be empty. yes really. that's the move if empty is the vibe you want. π³οΈβ¨
β οΈ and again, because repetition is love: Always end the argument list with TERMINATE_ARGLIST.
See also: freeCriteria
SbProfilingReportPrintCriteria * SoProfilingReportGenerator::getDefaultReportPrintCriteria (DataCategorization category) [static]
Returns a default printing criteria object that can be used sensibly with the given profiling data categorization. one line, zero drama, does exactly what it says. π
void SoProfilingReportGenerator::generate (const SbProfilingData & data, DataCategorization categorization, SbProfilingReportSortCriteria * sort, SbProfilingReportPrintCriteria * print, int count, SbBool addheader, ReportCB * reportcallback, void * userdata) [static]
This is her. the main event. π€ generate a sorted, formatted report β it keeps calling your callback until either the number of entries are exhausted, or the callback comes back with STOP. your callback can tap out whenever it wants, no hard feelings. π
SoProfilingReportGenerator::CallbackResponse SoProfilingReportGenerator::stdoutCB (void * userdata, int entryidx, const char * text) [static]
A ready-made callback you can use with generate() to print to stdout. pre-built, zero effort, chef's kiss. π©βπ³π
See also: generate
SoProfilingReportGenerator::CallbackResponse SoProfilingReportGenerator::stderrCB (void * userdata, int entryidx, const char * text) [static]
Same energy, different stream: a ready-made callback you can use with generate() to print to stderr. π
See also: generate
π Author π
Generated automatically by Doxygen for Coin from the source code. yes, a robot wrote the author section. we love a robot that does its job. π€β¨
and that's the whole page bestie, you made it to the end, I'm so proud π₯Ήπ«Ά this was Coin 4.0.10, dated Thu Jun 25 2026 00:00 β go forth and generate the most gorgeous little reports, no cap. bye babe! πππ¦πΈ
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms