![]() |
iVS3D v2.0.9
|
This page documents the iVS3D plugin contracts available in namespace PLUG and the visualization data model in namespace VIS.
The plugin interface module provides:
PLUG::IBasePLUG::ErrorPLUG::ErrorCodeVIS::Visualization and related overlay/view typesAll plugin APIs are designed for asynchronous execution with Qt signal/slot integration where needed.
PLUG::IBase is the main interface that all iVS3D plugins derive from. It defines:
getName())getSettingsWidget(), getSettings(), applySettings())activate(), deactivate())onInputLoaded(), onMetaDataLoaded(), onIndexChanged(), onSelectedImagesChanged())updatePreview, updateSelectedImages, updateProgress, encounteredError)The settings widget ownership is transferred to the core application via std::unique_ptr<QWidget>.
Provides asynchronous preview generation via:
generatePreview(const PreviewData&) -> VisualizationResultUse this for overlays and visual feedback in the player.
Provides binary mask generation via:
generateMask(const MaskData&) -> MaskResultMasks are typically exported together with sampled images.
Provides keyframe/image selection logic via:
selectImages(const SelectionData&, volatile bool& cancelFlag) -> SelectionResultUse cancelFlag for cooperative cancellation of long-running selection jobs.
Plugin-facing operations use tl::expected<..., PLUG::Error> for error reporting.
PLUG::ErrorCode classifies error type.PLUG::Error carries code + user-visible message.Preview rendering is represented by VIS::Visualization and related types (VIS::View, VIS::OverlayItem, VIS::RectOverlay, VIS::TextOverlay, VIS::ImageOverlay, ...).
These types are collected in Doxygen group Visualization.
Coordinates for overlays are generally expressed in normalized [0,1] space and projected to viewport/image dimensions by iVS3D.