pub trait AttribAccess: Sized + 'static {
fn storage() -> StorageType;
fn get(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
stride: i32,
start: i32,
len: i32
) -> Result<Vec<Self>>;
fn set(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
data: &[Self],
start: i32,
len: 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>>;
}