X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/f567cc2cc693372bb3f920f0eb068cde3dffaa44..f61a5ebd00d4620af70c3780ba821f5af68def1c:/Model/src/union.cpp?ds=inline diff --git a/Model/src/union.cpp b/Model/src/union.cpp index 443cb2b..5f22ef5 100644 --- a/Model/src/union.cpp +++ b/Model/src/union.cpp @@ -8,9 +8,10 @@ Union::Union(const std::string &_name):Transport(_name) { in_slots = 2; out_slots = 1; - max_flow = actual_flow = 0.0f; + max_flow = 0.0f; in_on_zero = 0; in_ready = 0; + actual_flow = 999999; } Union::~Union() @@ -104,13 +105,27 @@ void Union::update(int dir) void Union::simulate() { + RGB c_in1, c_in2; + unsigned r,g,b; + if (!updated) { return; } + std::list::iterator i = in_list.begin(); + if (i != in_list.end()) { + PlantItem *o = (PlantItem *)(*i); + c_in1 = o->get_color(); + i++; + o = (PlantItem *)(*i); + c_in2 = o->get_color(); + } + r = ((c_in1.r()+c_in2.r())/2)%256; + g = ((c_in1.g()+c_in2.g())/2)%256; + b = ((c_in1.b()+c_in2.b())/2)%256; + set_color(RGB(r,g,b)); std::cout << name << "::Flujo actual = " << actual_flow << std::endl; updated = false; - actual_flow = 99999; in_on_zero = 0; in_ready = 0; }