add bits_object generation to wall
This commit is contained in:
parent
cf2b86899d
commit
fd0a9546f6
|
@ -23,7 +23,7 @@ mut:
|
|||
|
||||
//struct ObjectPart {
|
||||
struct MaterialPart {
|
||||
mut:
|
||||
pub mut:
|
||||
name string
|
||||
elem &Elem
|
||||
bits_size int
|
||||
|
@ -34,28 +34,28 @@ mut:
|
|||
// PartsInfo
|
||||
//struct PartsInfo {
|
||||
struct MaterialInfo {
|
||||
mut:
|
||||
pub mut:
|
||||
//elems map[string]&Elem
|
||||
//elems map[string]&MaterialElem
|
||||
elems map[string]&MaterialPart
|
||||
}
|
||||
|
||||
fn new_material_info() &MaterialInfo {
|
||||
pub fn new_material_info() &MaterialInfo {
|
||||
mi := &MaterialInfo{}
|
||||
|
||||
return mi
|
||||
}
|
||||
|
||||
fn (mi &MaterialInfo) has_elem(elem &Elem) bool {
|
||||
pub fn (mi &MaterialInfo) has_elem(elem &Elem) bool {
|
||||
return !isnil(mi.elems[elem.name])
|
||||
}
|
||||
|
||||
fn (mi &MaterialInfo) has_elem_name(elem_name string) bool {
|
||||
pub fn (mi &MaterialInfo) has_elem_name(elem_name string) bool {
|
||||
return !isnil(mi.elems[elem_name])
|
||||
}
|
||||
|
||||
// Add elem record
|
||||
fn (mut mi MaterialInfo) add_elem(bits_size int, elem &Elem) {
|
||||
pub fn (mut mi MaterialInfo) add_elem(bits_size int, elem &Elem) {
|
||||
|
||||
pt := &MaterialPart{
|
||||
elem: elem,
|
||||
|
@ -65,7 +65,7 @@ fn (mut mi MaterialInfo) add_elem(bits_size int, elem &Elem) {
|
|||
}
|
||||
|
||||
// Get part by elem name
|
||||
fn (mi &MaterialInfo) get_elem_name(elem_name string) &MaterialPart {
|
||||
pub fn (mi &MaterialInfo) get_elem_name(elem_name string) &MaterialPart {
|
||||
|
||||
pt := mi.elems[elem_name]
|
||||
|
||||
|
@ -79,7 +79,7 @@ fn (mi &MaterialInfo) get_elem_name(elem_name string) &MaterialPart {
|
|||
//fn (mut mi MaterialInfo) add_elem_from_size(size [3]f32, elem &Elem) {
|
||||
//fn (mut pi PartsInfo) add_elem_from_size(size []f32, elem &Elem) {
|
||||
// println("PartsInfo add_elem_from_size: $size, elem.name: $elem.name")
|
||||
fn (mut mi MaterialInfo) add_elem_from_size(mx, my, mz f32, elem &Elem) {
|
||||
pub fn (mut mi MaterialInfo) add_elem_from_size(mx, my, mz f32, elem &Elem) {
|
||||
println("MaterialInfo add_elem_from_size: mx: $mx, my: $my, mz: $mz, elem.name: $elem.name")
|
||||
|
||||
/*
|
||||
|
@ -97,7 +97,7 @@ fn (mut mi MaterialInfo) add_elem_from_size(mx, my, mz f32, elem &Elem) {
|
|||
}
|
||||
|
||||
|
||||
fn (mi &MaterialInfo) elems_list() []&MaterialPart {
|
||||
pub fn (mi &MaterialInfo) elems_list() []&MaterialPart {
|
||||
mut ret := []&MaterialPart{}
|
||||
for k in mi.elems.keys() {
|
||||
v := mi.elems[k]
|
||||
|
|
|
@ -9,7 +9,7 @@ struct ObjectBit {
|
|||
}
|
||||
|
||||
struct Object {
|
||||
mut:
|
||||
pub mut:
|
||||
name string
|
||||
|
||||
// Dimentions in bits
|
||||
|
@ -42,8 +42,8 @@ mut:
|
|||
//bits [10][10]ObjectBit
|
||||
}
|
||||
|
||||
fn new_object() &Object {
|
||||
println("new_object()")
|
||||
pub fn new_object() &Object {
|
||||
println("bits: new_object()")
|
||||
|
||||
o := &Object{
|
||||
//elem: &Elem(0),
|
||||
|
@ -58,7 +58,7 @@ fn new_object() &Object {
|
|||
}
|
||||
|
||||
// Calc total volume in bits
|
||||
fn (o &Object) bits_volume() int {
|
||||
pub fn (o &Object) bits_volume() int {
|
||||
//return o.dim_x * o.dim_y * o.dim_z
|
||||
//return o.bits_size
|
||||
|
||||
|
@ -71,12 +71,12 @@ fn (o &Object) bits_volume() int {
|
|||
}
|
||||
|
||||
// Calc total volume in m3
|
||||
fn (o &Object) volume() f32 {
|
||||
pub fn (o &Object) volume() f32 {
|
||||
return bits_to_m3(o.bits_volume())
|
||||
}
|
||||
|
||||
// Calc total mass in kg
|
||||
fn (o &Object) mass() f32 {
|
||||
pub fn (o &Object) mass() f32 {
|
||||
|
||||
mut total_mass := 0
|
||||
|
||||
|
@ -123,7 +123,7 @@ fn (mut o Object) set_size(mx, my, mz f32) {
|
|||
*/
|
||||
|
||||
// Get size in m3
|
||||
fn (o &Object) size() f32 {
|
||||
pub fn (o &Object) size() f32 {
|
||||
return o.volume()
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ fn main() {
|
|||
println("main()")
|
||||
|
||||
bits.bits_main()
|
||||
pp(2)
|
||||
//pp(2)
|
||||
|
||||
// XXX init context
|
||||
//mut ctx := new_context()
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
module main
|
||||
|
||||
import bits
|
||||
|
||||
struct Wall {
|
||||
mut:
|
||||
obj &Obj // Embed
|
||||
bits_obj &bits.Object
|
||||
|
||||
// Map obj
|
||||
//cx int
|
||||
//cy int
|
||||
|
||||
h int
|
||||
// Size
|
||||
sx int
|
||||
sy int
|
||||
sz int
|
||||
|
||||
view &WallView
|
||||
}
|
||||
|
@ -16,14 +22,26 @@ mut:
|
|||
fn new_wall() &Wall {
|
||||
println("new_wall()")
|
||||
|
||||
w := &Wall{
|
||||
mut w := &Wall{
|
||||
obj: new_obj(),
|
||||
bits_obj: &bits.Object(0),
|
||||
|
||||
h: 6, // units/tiles/steps?
|
||||
sx: 1,
|
||||
sy: 1,
|
||||
sz: 6, // units/tiles/steps?
|
||||
|
||||
view: &WallView(0),
|
||||
}
|
||||
|
||||
// Bits Object
|
||||
{
|
||||
mut bo := bits.new_object()
|
||||
bo.name = "wall"
|
||||
|
||||
bo.mat_info.add_elem_from_size(w.sx, w.sy, w.sz, bits_ctx.elem_lib["stone"])
|
||||
w.bits_obj = bo
|
||||
}
|
||||
|
||||
return w
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue