pub struct PosPluginProcessor { /* private fields */ }Expand description
NDPosPlugin processor: attaches position metadata to arrays from a position list.
Implementations§
Source§impl PosPluginProcessor
impl PosPluginProcessor
pub fn new(mode: PosMode) -> Self
Sourcepub fn load_positions_json(&self, json_str: &str) -> Result<usize, Error>
pub fn load_positions_json(&self, json_str: &str) -> Result<usize, Error>
Load positions from a JSON string.
Sourcepub fn load_positions_xml(&self, xml_str: &str) -> Result<usize, String>
pub fn load_positions_xml(&self, xml_str: &str) -> Result<usize, String>
Load positions from an XML string (C++ NDPosPlugin pos_layout format).
Sourcepub fn load_positions_auto(&self, content: &str) -> Result<usize, String>
pub fn load_positions_auto(&self, content: &str) -> Result<usize, String>
Load positions from a string, auto-detecting format.
pub fn missing_frames(&self) -> usize
pub fn duplicate_frames(&self) -> usize
pub fn remaining_positions(&self) -> usize
Trait Implementations§
Source§impl NDPluginProcess for PosPluginProcessor
impl NDPluginProcess for PosPluginProcessor
Source§fn process_array(&self, array: &NDArray, _pool: &NDArrayPool) -> ProcessResult
fn process_array(&self, array: &NDArray, _pool: &NDArrayPool) -> ProcessResult
Process one array. Return output arrays and param updates. Read more
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Plugin type name for PLUGIN_TYPE param.
Source§fn register_params(&mut self, base: &mut PortDriverBase) -> AsynResult<()>
fn register_params(&mut self, base: &mut PortDriverBase) -> AsynResult<()>
Register plugin-specific params on the base. Called once during construction.
Source§fn on_param_change(
&self,
reason: usize,
params: &PluginParamSnapshot,
) -> ParamChangeResult
fn on_param_change( &self, reason: usize, params: &PluginParamSnapshot, ) -> ParamChangeResult
Called when a param changes. Reason is the param index.
Return param updates to be written back to the port driver.
Source§fn compression_aware(&self) -> bool
fn compression_aware(&self) -> bool
Whether this plugin can process compressed (
codec != None) arrays
(C++ compressionAware_, G3). Defaults to false: a plugin that
operates on raw pixels must not be handed compressed bytes — the
runtime drops compressed input and counts it into DroppedArrays.
A codec/file plugin that understands compressed data overrides this.Source§fn does_array_callbacks(&self) -> bool
fn does_array_callbacks(&self) -> bool
Whether this plugin delivers arrays to downstream plugins, i.e. the
initial
NDArrayCallbacks param value. Defaults to true: most plugins
do array callbacks. Terminal plugins that never deliver downstream
(NDPluginStdArrays, NDPluginAttribute, every NDPluginFile writer)
override this to false so the param reflects the behaviour, matching C
(e.g. NDPluginFile.cpp:948 setIntegerParam(NDArrayCallbacks, 0)).Auto Trait Implementations§
impl !Freeze for PosPluginProcessor
impl !RefUnwindSafe for PosPluginProcessor
impl Send for PosPluginProcessor
impl Sync for PosPluginProcessor
impl Unpin for PosPluginProcessor
impl UnsafeUnpin for PosPluginProcessor
impl UnwindSafe for PosPluginProcessor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more