Material -> MaterialInfo
This commit is contained in:
parent
1cbad2da04
commit
d2b2655d7e
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue