hapi_rs::attribute

Trait AttribAccess

Source
pub trait AttribAccess:
    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<i32>;
    fn set(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        data: &[Self],
        start: i32,
        len: i32,
    ) -> Result<()>;
    fn set_unique(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part_id: i32,
        data: &[Self],
        start: i32,
    ) -> Result<()>;
    fn get_array(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part: i32,
    ) -> Result<DataArray<'static, Self>>
       where [Self]: ToOwned<Owned = Vec<Self>>;
    fn set_array(
        name: &CStr,
        node: &HoudiniNode,
        info: &AttributeInfo,
        part: i32,
        data: &[Self],
        sizes: &[i32],
    ) -> Result<()>
       where [Self]: ToOwned<Owned = Vec<Self>>;
}

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<i32>

Source

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

Source

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

Source

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

Source

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

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<i32>

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§