mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-05 09:07:39 +00:00
PluginHostApi.cpp had grown into one TU holding the module entry point plus
three unrelated domains (presets, model/mesh graph, app access), and
PluginHostSlicing.cpp mixed ownable geometry value types with the
non-owning live print graph. Reorganize the orca.host surface into
plugin/host/ with one registrar per domain:
- PluginHost.hpp/.cpp entry point (replaces PluginHostApi)
- PluginHostBindings.hpp internal per-domain registrar declarations
- PluginHostGeometry.cpp BoundingBox, Point, Polygon, ExPolygon + ndarray parsing
- PluginHostMesh.hpp/.cpp TriangleMesh snapshot (own TU ahead of planned
mesh construct/mutate APIs)
- PluginHostPresets.cpp Preset, PresetCollection, PresetBundle
- PluginHostModel.cpp scene graph: Model, ModelObject, ModelInstance, ModelVolume
- PluginHostApp.cpp Plater + plater()/model()/preset_bundle() accessors
- PluginHostSlicing.cpp live print graph only, now with a single lifetime story
- PluginHostUi.hpp/.cpp moved unchanged
PluginBindingUtils.hpp stays at plugin/ root: it is shared with pluginTypes/
and tests, not host/-specific.
No Python-visible change: same submodules, class names and docstrings.
Verified with slic3rutils and fff_print suites.
18 lines
462 B
C++
18 lines
462 B
C++
#pragma once
|
|
|
|
#include <pybind11/pybind11.h>
|
|
|
|
namespace Slic3r {
|
|
|
|
// Entry point of the `orca.host` Python API surface. Each domain of the
|
|
// surface (geometry, mesh, presets, model, app access, ui, slicing graph)
|
|
// lives in its own translation unit in this directory; RegisterBindings
|
|
// creates the submodule and runs the per-domain registrars.
|
|
class PluginHost
|
|
{
|
|
public:
|
|
static void RegisterBindings(pybind11::module_& module);
|
|
};
|
|
|
|
} // namespace Slic3r
|