pub struct AttributeProcessor { /* private fields */ }Expand description
Processor that extracts multiple attribute values from each array.
Implementations§
Source§impl AttributeProcessor
impl AttributeProcessor
Sourcepub fn new(attr_name: &str, num_channels: usize) -> Self
pub fn new(attr_name: &str, num_channels: usize) -> Self
num_channels is C maxAttributes_ (the per-frame channel count, floored
to >=1; NDPluginAttribute.cpp:184). Channel 0 is seeded with attr_name.
pub fn set_ts_sender(&mut self, sender: TimeSeriesSender)
Sourcepub fn params(&self) -> &AttributeParams
pub fn params(&self) -> &AttributeParams
Access the registered param indices (populated after register_params).
Sourcepub fn reset(&self)
pub fn reset(&self)
Reset value and value_sum for all channels (C parity: resets all, not just one).
Sourcepub fn set_attr_name(&self, name: &str)
pub fn set_attr_name(&self, name: &str)
Set the attribute name for channel 0.
Trait Implementations§
Source§impl NDPluginProcess for AttributeProcessor
impl NDPluginProcess for AttributeProcessor
Source§fn does_array_callbacks(&self) -> bool
fn does_array_callbacks(&self) -> bool
C NDPluginAttribute.cpp:203 sets NDArrayCallbacks = 0: this plugin
extracts attribute time series and does not deliver arrays downstream.
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,
) -> 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(
&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.Auto Trait Implementations§
impl !Freeze for AttributeProcessor
impl !RefUnwindSafe for AttributeProcessor
impl Send for AttributeProcessor
impl Sync for AttributeProcessor
impl Unpin for AttributeProcessor
impl UnsafeUnpin for AttributeProcessor
impl UnwindSafe for AttributeProcessor
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