C++ plugin page template¶
Copy this page to docs/cpp/plugins/<plugin>.md, replace the
placeholders, and add it under C++ → Plugin API documentation in
mkdocs.yml.
<Plugin>¶
State what the library adds, its target name, the namespace it owns, and whether it is optional.
find_package(uLib CONFIG REQUIRED)
target_link_libraries(app PRIVATE mutomCore <plugin-target>)
Public headers and classes¶
| Header | Classes / enums / functions | Purpose |
|---|---|---|
<Plugin>/Feature.h |
Feature |
One-sentence public role. |
Document every installed header. Do not include internal helper types merely because they appear in a source file.
Minimal example¶
Use a small compiling example built against installed headers. If the object
is scene-visible, create it through an ObjectsContext:
#include <Core/ObjectsContext.h>
#include <Plugin>/Feature.h
uLib::ObjectsContext context;
auto *feature = context.CreateObject<uLib::Feature>("feature");
feature->Enabled.Set(true);
Scene and serialization behavior¶
Say whether the class is an Object, how it is registered, which
factory category it uses, and what external data is embedded or referenced.
Optional integrations¶
Document each integration that exists:
- VTK representation and
ULIB_REGISTER_PROP3Dlocation; - ROOT plotting/tree/file adapter;
- gcompose Python module and
PythonPluginRegistryregistrar; - external run-time library requirements;
- streaming input/output ports and their ownership/threading rules.
Validation¶
List the focused test target or example command used to validate the page's workflow. Link public behavior to tests where a short example would otherwise be ambiguous.