Trait AttribAccess

Source
pub trait AttribAccess:
    Sealed
    + Clone
    + Default
    + Send
    + Sized
    + 'static {
    // Required methods
    fn storage() -> StorageType;
    fn storage_array() -> StorageType;
    fn get(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        buffer: &mut Vec<Self>,
    ) -> Result<()>;
    fn get_async(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        buffer: &mut Vec<Self>,
    ) -> Result<JobId>;
    fn set(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        data: &[Self],
        start: i32,
        len: i32,
    ) -> Result<()>;
    fn set_async(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part: i32,
        data: &[Self],
        start: i32,
        len: i32,
    ) -> Result<JobId>;
    fn set_unique(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        data: &[Self],
        start: i32,
    ) -> Result<()>;
    fn set_unique_async(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        data: &[Self],
        start: i32,
    ) -> Result<JobId>;
    fn get_array(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part: i32,
    ) -> Result<DataArray<'static, Self>>
       where [Self]: ToOwned<Owned = Vec<Self>>;
    fn get_array_async(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        data: &mut [Self],
        sizes: &mut [i32],
        part: i32,
    ) -> Result<JobId>;
    fn set_array(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part: i32,
        data: &[Self],
        sizes: &[i32],
    ) -> Result<()>
       where [Self]: ToOwned<Owned = Vec<Self>>;
    fn set_array_async(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part: i32,
        data: &[Self],
        sizes: &[i32],
    ) -> Result<JobId>;
}

Required Methods§

Source

fn storage() -> StorageType

Source

fn storage_array() -> StorageType

Source

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, len: i32, ) -> Result<()>

Source

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], start: i32, len: i32, ) -> Result<JobId>

Source

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, ) -> Result<()>

Source

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, ) -> Result<JobId>

Source

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], sizes: &[i32], ) -> Result<JobId>

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 AttribAccess for f32

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f32], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f32], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[f32], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[f32], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f32], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f32], sizes: &[i32], ) -> Result<JobId>

Source§

impl AttribAccess for f64

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f64], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f64], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[f64], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[f64], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f64], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[f64], sizes: &[i32], ) -> Result<JobId>

Source§

impl AttribAccess for i8

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i8], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i8], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i8], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i8], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i8], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i8], sizes: &[i32], ) -> Result<JobId>

Source§

impl AttribAccess for i16

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i16], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i16], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i16], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i16], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i16], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i16], sizes: &[i32], ) -> Result<JobId>

Source§

impl AttribAccess for i32

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i32], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i32], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i32], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i32], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i32], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i32], sizes: &[i32], ) -> Result<JobId>

Source§

impl AttribAccess for i64

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i64], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i64], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i64], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[i64], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i64], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[i64], sizes: &[i32], ) -> Result<JobId>

Source§

impl AttribAccess for u8

Source§

fn storage() -> StorageType

Source§

fn storage_array() -> StorageType

Source§

fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<()>

Source§

fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, buffer: &mut Vec<Self>, ) -> Result<JobId>

Source§

fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[u8], start: i32, len: i32, ) -> Result<()>

Source§

fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[u8], start: i32, len: i32, ) -> Result<JobId>

Source§

fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[u8], start: i32, ) -> Result<()>

Source§

fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[u8], start: i32, ) -> Result<JobId>

Source§

fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>

Source§

fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[u8], sizes: &[i32], ) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>,

Source§

fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[u8], sizes: &[i32], ) -> Result<JobId>

Implementors§