rafx-assets 0.0.16

Rendering framework built on an extensible asset pipeline
Documentation
#![allow(non_camel_case_types)]
#![allow(dead_code)]

use hydrate_data::*;
use hydrate_pipeline::{DataContainer, DataContainerRef, DataContainerRefMut, DataSetResult};
use std::cell::RefCell;
use std::rc::Rc;

include!("schema_codegen.rs");

impl Vec3Accessor {
    pub fn set_vec3(
        &self,
        data_container: &mut DataContainerRefMut,
        value: [f32; 3],
    ) -> DataSetResult<()> {
        self.x().set(data_container, value[0])?;
        self.y().set(data_container, value[1])?;
        self.z().set(data_container, value[2])?;
        Ok(())
    }

    pub fn get_vec3(
        &self,
        data_container: DataContainerRef,
    ) -> DataSetResult<[f32; 3]> {
        let x = self.x().get(data_container.clone())?;
        let y = self.y().get(data_container.clone())?;
        let z = self.z().get(data_container.clone())?;
        Ok([x, y, z])
    }
}

impl Vec4Accessor {
    pub fn set_vec4(
        &self,
        data_container: &mut DataContainerRefMut,
        value: [f32; 4],
    ) -> DataSetResult<()> {
        self.x().set(data_container, value[0])?;
        self.y().set(data_container, value[1])?;
        self.z().set(data_container, value[2])?;
        self.w().set(data_container, value[3])?;
        Ok(())
    }

    pub fn get_vec4(
        &self,
        data_container: DataContainerRef,
    ) -> DataSetResult<[f32; 4]> {
        let x = self.x().get(data_container.clone())?;
        let y = self.y().get(data_container.clone())?;
        let z = self.z().get(data_container.clone())?;
        let w = self.w().get(data_container.clone())?;
        Ok([x, y, z, w])
    }
}

impl<'a> Vec3Ref<'a> {
    pub fn get_vec3(&self) -> DataSetResult<[f32; 3]> {
        let x = self.x().get()?;
        let y = self.y().get()?;
        let z = self.z().get()?;
        Ok([x, y, z])
    }
}

impl<'a> Vec4Ref<'a> {
    pub fn get_vec4(&self) -> DataSetResult<[f32; 4]> {
        let x = self.x().get()?;
        let y = self.y().get()?;
        let z = self.z().get()?;
        let w = self.w().get()?;
        Ok([x, y, z, w])
    }
}

impl Vec3Record {
    pub fn set_vec3(
        &self,
        value: [f32; 3],
    ) -> DataSetResult<()> {
        self.x().set(value[0])?;
        self.y().set(value[1])?;
        self.z().set(value[2])?;
        Ok(())
    }

    pub fn get_vec3(&self) -> DataSetResult<[f32; 3]> {
        let x = self.x().get()?;
        let y = self.y().get()?;
        let z = self.z().get()?;
        Ok([x, y, z])
    }
}

impl Vec4Record {
    pub fn set_vec4(
        &self,
        value: [f32; 4],
    ) -> DataSetResult<()> {
        self.x().set(value[0])?;
        self.y().set(value[1])?;
        self.z().set(value[2])?;
        self.w().set(value[3])?;
        Ok(())
    }

    pub fn get_vec4(&self) -> DataSetResult<[f32; 4]> {
        let x = self.x().get()?;
        let y = self.y().get()?;
        let z = self.z().get()?;
        let w = self.w().get()?;
        Ok([x, y, z, w])
    }
}