FrameStreamConfig

Struct FrameStreamConfig 

Source
#[repr(C)]
pub struct FrameStreamConfig { pub stream_conf: StreamConfig, pub frame_hz: u32, pub enable_optimisations: bool, pub enable_draw_reorder: bool, pub interpolation_conf: InterpolationConfig, }
Expand description

A set of stream configuration parameters unique to Frame streams.

Fields§

§stream_conf: StreamConfig§frame_hz: u32

The rate at which the stream will attempt to present images via the DAC. This value is used in combination with the DAC’s point_hz in order to determine how many points should be used to draw each frame. E.g.

let points_per_frame = point_hz / frame_hz;

This is simply used as a minimum value. E.g. if some very simple geometry is submitted, this allows the DAC to spend more time creating the path for the image. However, if complex geometry is submitted that would require more than the ideal points_per_frame, the DAC may not be able to achieve the desired frame_hz when drawing the path while also taking the distance_per_point and radians_per_point into consideration.

§enable_optimisations: bool

Enable or disable frame optimisations.

By default, optimisations are enabled. This includes path re-interpolation, as re-interpolation is only possible using a euler circuit which is created during the optimisation pass.

Read more about the kinds of optimisations applied at the lasy API documentation.

Returns true on success or false if the communication channel was closed.

§enable_draw_reorder: bool

Enable or disable draw path reordering.

When true, the optimisation pass will attempt to find a more optimal path for the drawing of each line segment before performing interpolation. This is achieved by constructing a euler graph with the minimum number of blanks required to complete the path, and then finding a euler circuit through the path that minimises the number of sharp angles.

When false, the draw order will follow the order in which segments were submitted via the Frame.

By default, this value is true.

§interpolation_conf: InterpolationConfig

Configuration options for eulerian circuit interpolation.

Trait Implementations§

Source§

impl Clone for FrameStreamConfig

Source§

fn clone(&self) -> FrameStreamConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FrameStreamConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.