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(&mut self, json_str: &str) -> Result<usize, Error>
pub fn load_positions_json(&mut self, json_str: &str) -> Result<usize, Error>
Load positions from a JSON string.
Sourcepub fn load_positions_xml(&mut self, xml_str: &str) -> Result<usize, String>
pub fn load_positions_xml(&mut self, xml_str: &str) -> Result<usize, String>
Load positions from an XML string (C++ NDPosPlugin format).
Expected XML format:
<positions>
<position index="0">value1</position>
<position index="1">value2</position>
</positions>Each <position> element becomes a single-entry HashMap with key “position”
mapped to the parsed f64 value. If the value cannot be parsed as f64,
the position is skipped.
Sourcepub fn load_positions_auto(&mut self, content: &str) -> Result<usize, String>
pub fn load_positions_auto(&mut self, content: &str) -> Result<usize, String>
Load positions from a string, auto-detecting format.
If the content starts with ‘<’ (after trimming whitespace), it is treated as XML. Otherwise, it is treated as JSON.
Sourcepub fn load_positions(&mut self, positions: Vec<HashMap<String, f64>>)
pub fn load_positions(&mut self, positions: Vec<HashMap<String, f64>>)
Load positions directly.
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(
&mut self,
array: &NDArray,
_pool: &NDArrayPool,
) -> ProcessResult
fn process_array( &mut self, array: &NDArray, _pool: &NDArrayPool, ) -> ProcessResult
Process one array. Return output arrays and param updates.
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,
) -> Result<(), AsynError>
fn register_params( &mut self, _base: &mut PortDriverBase, ) -> Result<(), AsynError>
Register plugin-specific params on the base. Called once during construction.
Source§fn on_param_change(
&mut self,
_reason: usize,
_params: &PluginParamSnapshot,
) -> ParamChangeResult
fn on_param_change( &mut 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.
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