fixed a couple of things. Adding MaterialPropertyString

This commit is contained in:
David Golembiowski 2020-05-01 17:32:55 -04:00
parent e6837f7394
commit a286506c23
1 changed files with 27 additions and 3 deletions

View File

@ -1,13 +1,16 @@
pub const MAXLEN: u32 = 1024;
pub const MAXLEN: usize = 1024;
/// Want to consider replacing `Vec<char>`
/// with a comparable definition at
/// https://doc.rust-lang.org/src/alloc/string.rs.html#415-417
#[derive(Clone, Debug)]
struct Str {
length: u32,
length: usize,
data: Vec<char>
}
impl Str {
pub fn new(len_u32: u32, data_string: String) -> Str {
pub fn new(len_u32: usize, data_string: String) -> Str {
Str {
length: len_u32,
data: data_string.chars().collect()
@ -15,3 +18,24 @@ impl Str {
}
}
/// MaterialPropertyStr
/// The size of length is truncated to 4 bytes on a 64-bit platform when used as a
/// material property (see MaterialSystem.cpp, as aiMaterial::AddProperty() ).
#[derive(Clone, Debug)]
struct MaterialPropertyStr {
length: usize,
data: Vec<char>
}
impl MaterialPropertyStr {
pub fn new(len_u32: usize, data_string: String) -> MaterialPropertyStr {
MaterialPropertyStr {
length: len_u32,
data: data_string.chars().collect()
}
}
}