Trait Pack

Source
pub trait Pack {
    // Required methods
    fn size_int() -> usize;
    fn size_float() -> usize;
    fn pack_to(&self, buffer_int: &mut [i32], buffer_float: &mut [f32]);
}
Expand description

Something that could be packed to a pair of i32 and f32 buffers

Required Methods§

Source

fn size_int() -> usize

Size of integer part of an object.

Source

fn size_float() -> usize

Size of float part of an object.

Source

fn pack_to(&self, buffer_int: &mut [i32], buffer_float: &mut [f32])

Write an object into int and float buffers.

Buffers must be of size greater or equal to object’s one.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Pack for f32

Source§

fn size_int() -> usize

Source§

fn size_float() -> usize

Source§

fn pack_to(&self, _buffer_int: &mut [i32], buffer_float: &mut [f32])

Source§

impl Pack for f64

Source§

fn size_int() -> usize

Source§

fn size_float() -> usize

Source§

fn pack_to(&self, _buffer_int: &mut [i32], buffer_float: &mut [f32])

Source§

impl Pack for i32

Source§

fn size_int() -> usize

Source§

fn size_float() -> usize

Source§

fn pack_to(&self, buffer_int: &mut [i32], _buffer_float: &mut [f32])

Source§

impl Pack for u32

Source§

fn size_int() -> usize

Source§

fn size_float() -> usize

Source§

fn pack_to(&self, buffer_int: &mut [i32], _buffer_float: &mut [f32])

Source§

impl<T: Pack + Scalar> Pack for Matrix3<T>

Source§

fn size_int() -> usize

Source§

fn size_float() -> usize

Source§

fn pack_to(&self, buffer_int: &mut [i32], buffer_float: &mut [f32])

Source§

impl<T: Pack + Scalar> Pack for Vector3<T>

Source§

fn size_int() -> usize

Source§

fn size_float() -> usize

Source§

fn pack_to(&self, buffer_int: &mut [i32], buffer_float: &mut [f32])

Implementors§

Source§

impl<F: Map, S: Map> Pack for Chain<F, S>

Source§

impl<M: Material> Pack for Colored<M>

Source§

impl<O: Object, M: Map> Pack for ObjectMapper<O, M>

Source§

impl<S: Shape, M: Map> Pack for ShapeMapper<S, M>

Source§

impl<S: Shape, M: Material> Pack for Covered<S, M>