#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(clippy::enum_variant_names)]
use bitflags::bitflags;
use std::os::raw::c_int;
mod c_api {
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
}
pub use c_api::{
NSI_ALL_ATTRIBUTES, NSI_ALL_NODES, NSI_SCENE_GLOBAL, NSI_SCENE_ROOT,
NSI_VERSION, NSIContext, NSIErrorHandler, NSIErrorLevel, NSIHandle,
NSIParam, NSIProcedural, NSIProceduralExecute, NSIProceduralLoad,
NSIProceduralUnload, NSIRenderStopped, NSIReport, NSIStoppingStatus,
NSIType,
};
#[cfg(not(feature = "omit_functions"))]
pub use c_api::{
NSIBegin, NSIConnect, NSICreate, NSIDelete, NSIDeleteAttribute,
NSIDisconnect, NSIEnd, NSIEvaluate, NSIRenderControl, NSISetAttribute,
NSISetAttributeAtTime,
};
bitflags! {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct NSIParamFlags: c_int {
const InterpolateLinear = c_api::NSIParamInterpolateLinear as _;
const IsArray = c_api::NSIParamIsArray as _;
const PerFace = c_api::NSIParamPerFace as _;
const PerVertex = c_api::NSIParamPerVertex as _;
}
}
impl From<i32> for NSIErrorLevel {
fn from(level: i32) -> Self {
match level {
0 => NSIErrorLevel::Message,
1 => NSIErrorLevel::Info,
2 => NSIErrorLevel::Warning,
_ => NSIErrorLevel::Error,
}
}
}