1
0
Fork 0

Material -> MaterialInfo

This commit is contained in:
coaljoe 2020-09-08 00:09:22 +03:00
parent 1cbad2da04
commit d2b2655d7e
2 changed files with 13 additions and 11 deletions

View File

@ -19,7 +19,9 @@ mut:
// XXX or 10% glass 90% concrete?
// XXX do we really need such materials?
struct Material {
// MaterialInfo information about materials in object
struct MaterialInfo {
mut:
name string
@ -27,23 +29,23 @@ mut:
elems map[string]&MaterialElem
}
fn new_material() &Material {
m := &Material{}
fn new_material_info() &MaterialInfo {
mi := &MaterialInfo{}
return m
return mi
}
// Add elem record
fn (mut m Material) add_elem(bits_size int, elem &Elem) {
fn (mut mi MaterialInfo) add_elem(bits_size int, elem &Elem) {
me := &MaterialElem{bits_size, elem}
m.elems[elem.name] = me
mi.elems[elem.name] = me
}
// Get elem record by name
fn (m &Material) get_elem_name(elem_name string) &MaterialElem {
fn (mi &MaterialInfo) get_elem_name(elem_name string) &MaterialElem {
me := m.elems[elem_name]
me := mi.elems[elem_name]
//if isnil(me) {
// panic(2)

View File

@ -21,7 +21,7 @@ mut:
// Material/Elem
//elem &Elem // XXX use id/enum
mat &Material
mat_info &MaterialInfo
// Position in the world
// XXX in map cells/coords?
@ -44,7 +44,7 @@ mut:
fn new_object() &Object {
o := &Object{
//elem: &Elem(0),
mat: &Material(0),
mat_info: &MaterialInfo(0),
//transform: new_transform(),
}
return o
@ -66,7 +66,7 @@ fn (o &Object) mass() f32 {
mut total_mass := 0
for _, me in o.mat.elems {
for _, me in o.mat_info.elems {
mat_density := me.elem.density
mat_volume := me.bits_size